User Tools

Site Tools


Sidebar

General Lab Info (Mainly for Devs)

Hardware

Lab Infrastructure Services

Misc Admin Tasks
These are infrequently completed tasks that don't fit under any specific service

Production Services

OVH = OVH
RHEV = Sepia RHE instance
Baremetal = Host in Sepia lab

The Attic/Legacy Info

services:cobbler

This is an old revision of the document!


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
  6. ansible-playbook cobbler.yml --tags="settings"
# 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
  2. Create the profile
    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
  3. Run ansible-playbook cobbler.yml --tags="$NEW_PROFILE_TAG" where $NEW_PROFILE_TAG is the tag created in Step 1
  4. 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.1490737340.txt.gz · Last modified: 2017/03/28 21:42 by dgalloway