With the ever changing landscape in IT, many enterprise environments are looking for ways to reduce or eliminate downtime, improve security, reduce footprint, and achieve application portability. Red Hat Enterprise Linux Atomic Host provides a way to achieve these goals. In this blog we cover the steps needed to setup Satellite 6 to deploy RHEL Atomic Hosts within your environment.
The lab environment consists of a single Satellite 6 server running an integrated capsule providing DNS, DHCP, TFTP, Puppet CA, Puppet, and Pulp services on a dedicated network. The Satellite 6 server is hosted as a VM on a Red Hat Enterprise Virtualization environment.
The Meat and Potatoes
Download the RHEL Atomic image from: https://access.redhat.com/downloads/content/271/ver=/rhel---7/7.1.1/x86_64/product-downloads
Mount the .iso on the Satellite server to /var/www/html/pub/atomicpxe:
mount -o loop /var/www/html/pub/rhel-atomic-installer-7.1-1.x86_64.iso /var/www/html/pub/atomicpxe/
Copy vmlinuz from the mounted .iso to /var/lib/tftpboot:
cp /var/www/html/pub/atomicpxe/images/pxeboot/vmlinuz /var/lib/tftpboot
Create new PXE and provisioning templates within Satellite 6 by navigating to Hosts> Provisioning templates . Click New Templatein the upper right. RHEL Atomic Kickstart is set to provision for Type and RHEL Atomic PXE is set to PXELinux for Type.
RHEL Atomic PXE:
RHEL Atomic PXE: DEFAULT pxeboot TIMEOUT 20 PROMPT 0 LABEL pxeboot kernel vmlinuz append initrd=http://10.19.12.248/pub/atomicpxe/isolinux/initrd.img repo=http://10.19.12.248/pub/atomicpxe ks=<%= foreman_url('provision')%> ksdevice=bootif network kssendmac IPAPPEND 2
RHEL Atomic kickstart:
<%# kind: provision name: RHEL Atomic Kickstart %> lang en_US.UTF-8 keyboard us timezone America/New_York rootpw <redacted> clearpart --all --initlabel part /boot --size=300 --fstype="ext4" part pv.01 --grow volgroup atomicos pv.01 logvol / --size=3000 --fstype="xfs" --name=root --vgname=atomicos bootloader --timeout=3 ostreesetup --nogpg --osname=rhel-atomic-host --remote=rhel-atomic-host --url=file:///install/ostree --ref=rhel-atomic-host/7/x86_64/standard services --disabled cloud-init,cloud-config,cloud-final,cloud-init-local %post ( # report success back to satellite # TODO: move to atomic register snippet curl -s -o /dev/null --insecure <%= foreman_url %> ) 2>&1 | tee /mnt/sysimage/root/install.post.log exit 0 %end reboot
Within the Satellite UI, select the organization and location under Any Context in the upper left. Navigate to Hosts> Installation Mediaand click New Medium.Provide a name and path to the install image.
For this environment the path is: http://
Associate the Operating system type as Red Hat.
Navigate to Hosts> Operating Systemsand select New Operating System. For the reference environment the following values are used:
- Name: RHELAtomic
- Partion Table: Kickstart default
- Installation Media: RHEL Atomic (created in Step 4)
- Templates: RHEL Atomic PXE and RHEL Atomic Kickstart (created in Step 3)
Provision a new baremetal host by navigating to Hosts > New Hosts. Supply the appropriate information for the environment and select the RHEL Atomic operating system and associated provisioning templates by clicking the Resolve button. (created in Step 5)
By following the listed steps you are now successfully able to provision RHEL Atomic Hosts from your Satellite 6 server. The hosts will register back to the server and be listed under Hosts> All hosts.
In some instances it may be necessary to re-build an already deployed host. To perform this step, navigate to Hosts > All hosts and select the desired host from the list. In the upper right select Build. Reboot the host and it will re-provision based on previous settings used.
In future releases of Satellite 6, additional support will be added for RHEL Atomic Hosts to include containerization of the katello-agent, ostree updates, and tighter integration for provisioning to name a few. Stay tuned!