User Tools

Site Tools


services:cobbler

This is an old revision of the document!


WIP - Cobbler

Summary

Cobbler is used to reimage testnodes in the lab. The Cobbler host is cobbler.front.sepia.ceph.com and is managed by Ansible. It's a VM in RHEV.

Access the Web UI at https://cobbler.front.sepia.ceph.com/cobbler_web/

Reimaging/Reinstalling a host

Creating a new user for Web UI access

  1. Generate a random password (mkpasswd -l 12)
  2. Generate the hashed password (htdigest -c /tmp/users.digest “Cobbler” $username)
    1. Paste the generated password when prompted
  3. Create a new branch named wip-username in the secrets repo
  4. Paste the output of cat /tmp/users.digest into a new line in ansible/inventory/group_vars/cobbler.yml under users_digest_lines
  5. git commit, git push the branch, and create a PR
# Example
$ mkpasswd -l 12
b39feiiSiuQ%

$ htdigest -c /tmp/users.digest "Cobbler" bob
Adding password for bob in realm Cobbler.
New password: 
Re-type new password: 

$ cat /tmp/users.digest 
bob:Cobbler:027abc2039e7495f72128d9c3c628686

# Add the user to the cobbler.yml secrets group_vars file
dgalloway@w541 ceph-sepia-secrets (wip-bob)$ git diff
diff --git a/ansible/inventory/group_vars/cobbler.yml b/ansible/inventory/group_vars/cobbler.yml
index 758427a..6968689 100644
--- a/ansible/inventory/group_vars/cobbler.yml
+++ b/ansible/inventory/group_vars/cobbler.yml
@@ -15,6 +15,7 @@ users_digest_lines:
  - "yuriw:Cobbler:XXXXX"
  - "vasu:Cobbler:XXXXX"
  - "dmick:Cobbler:XXXXX"
+ - "bob:Cobbler:027abc2039e7495f72128d9c3c628686"

Adding a new Distro

  1. Create an entry for the new distro in ceph-cm-ansible's root cobbler.yml
    1. If the distro's ISO is not publicly accessible (e.g., RHEL/inktank-rescue),
      1. Add a dummy entry (Distro name and blank iso var) to roles/cobbler_profile/defaults/main.yml
      2. Add to ansible/inventory/group_vars/cobbler.yml in the secrets repo
    2. Else if the distro's ISO is public (e.g., CentOS/Ubuntu), just add the iso path, sha256, etc. to roles/cobbler_profile/defaults/main.yml
  2. Run ansible-playbook cobbler.yml --tags="$NEW_PROFILE_TAG" where $NEW_PROFILE_TAG is the tag created in Step 1
  3. In cobbler web UI, go to Profiles
    1. Click Create New Sub-profile
    2. Name it $NEW_DISTRO_NAME-stock
    3. Set Parent Profile to $NEW_DISTRO_NAME
    4. Save
services/cobbler.1475604114.txt.gz · Last modified: by dgalloway