Katello provisioning setup
A role is included which will configure an all-on-one provisioning environment with Katello. It uses nested libvirt to make your virtual machine a hypervisor capable of running it's own VM's. It also sets up a private NAT network on the host.
How to configure
-
If necessary, enable nested virt on your phyiscal box (see in Checking if nested virtualization is supported). Essentially, add this line to kvm-intel.conf and reboot:
echo "options kvm-intel nested=1" | sudo tee /etc/modprobe.d/kvm-intel.conf
-
Build a box
-
Option 1: Use the
centos9-provision-nightly
box. -
Option 2: Use an existing Katello box (e.g. centos9-stream-katello-nightly) and run the provisioning playbook (it takes a while, as it syncs (on-demand) CentOS Stream 9, Puppet 7).
NOTE: If you are using Puppet 7 or higher, you need to increase the ram on the box, to something like 8096 otherwise candlepin crashes with OOM.ansible-playbook -l centos9-stream-katello-nightly playbooks/katello_provisioning.yml
-
-
Login and create a compute profile, because this isn't possible with hammer or the API.
- Click Infrastructure / Compute Resources
- Click "libvirt"
- Click Compute profiles
- Click 2-Medium
- increse ram to 2048MB (required for CentOS Stream 9)
- change network type to NAT, network name = provision
- Click Submit
- Configure Activation Key
- Content / Activation Keys
- Assign all available subscriptions to the activation key
- Configure / Host groups
- Edit Forklift CentOS 9
- Set Compute profile to be "2-Medium"
- Assign the
CentOS 9
activation key to the host group
-
You're good to go! Let's provision a box!
- Click Hosts / New Host
- Fill in:
- org, location, host group
- deploy on = libvirt
DONE! Click submit :tada:
-
If you want to view the console while it boots, make sure to trust the CA certificate in your browser, it's hosted at https://centos9-stream-katello-nightly.example.com/pub/katello-server-ca.crt, and you'll need to make sure you're accessing the katello via it's proper hostname (add an entry to /etc/hosts).