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 bare metal machine that used to be mira065.
Access the Web UI at https://cobbler.front.sepia.ceph.com/cobbler_web/
See testnodereimage
ceph-cm-ansible
repo, there is a tools/cobbler-access.sh
script. Run it.wip-username
in the ceph-sepia-secrets
repo------ String for cobbler.yml ------
into a new line in ansible/inventory/group_vars/cobbler.yml
under users_digest_lines
ansible-playbook cobbler.yml --tags="settings"
# Example $ ~/git/ceph/ceph-cm-ansible/tools/cobbler-access.sh Enter username: bob ------ String for cobbler.yml ------ bob:Cobbler:07a95ca759fd46e9416de672a5e2bb60 # 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:07a95ca759fd46e9416de672a5e2bb60"
cobbler.yml
roles/cobbler_profile/defaults/main.yml
ansible/inventory/group_vars/cobbler.yml
in the secrets reporoles/cobbler_profile/defaults/main.yml
ansible-playbook cobbler.yml --tags="$NEW_PROFILE_TAG"
where $NEW_PROFILE_TAG is the tag created in Step 1$NEW_DISTRO_NAME-stock
$NEW_DISTRO_NAME
Because RHEL ISOs are only available inside the Red Hat firewall, we can't add an http
URL to the secrets repo. To add a RHEL version:
scp
the ISO to cobbler.front.sepia.ceph.com:/iso
file:///iso/path
Cobbler keeps a list of supported distros in /var/lib/cobbler/distro_signatures.json
so it knows what defaults to apply to a distro/profile.
If a distro is brand-spankin' new, you may get an error like “No signature matched in /var/www/cobbler/ks_mirror/Ubuntu-17.10-server-x86_64”.
First try running cobbler signature update
. If it still doesn't show up in cobbler signature report
, you'll have to manually add an entry in the JSON.
/var/lib/cobbler/distro_signatures.json
service cobblerd restart
This would typically be done if a newer ISO (minor revision) of an OS is released. For example: if you wanted to import Ubuntu 16.04.3 in place of the original 16.04 image.
# Example: for host in $(cobbler system find --profile Ubuntu-16.04-server-x86_64); do cobbler system edit --name=$host --profile inktank-rescue; done
cat
these hosts to a file so you can set the profile back after cobbler system find --profile Ubuntu-16.04-server-x86_64 > currently_xenial.dgalloway for host in $(cat currently_xenial.dgalloway); do cobbler system edit --name=$host --profile inktank-rescue; done # Reimport distro for host in $(cat currently_xenial.dgalloway); do cobbler system edit --name=$host --profile Ubuntu-16.04-server-x86_64; done rm currently_xenial.dgalloway