Deployment steps for setting up an environment to showcase
-
Cockpit console
-
leapp from RHEL8 → RHEL9
-
Cloud hosted Image Builder
-
AWS deployment of an Image Builder generated image.
This leverages the following parts of our core demo environment
-
Upgrade your RHEL environment via Leapp
This is the pre-work to setup the initial environment and assumes you’ve completed any of the pre-steps under the links above
sudo VM_NAME=RHEL8x ./deploy_vm.sh create rhel8
sudo VM_NAME=RHEL9 ./deploy_vm.sh create rhel9Add these hosts into your local ~/.ssh/config for and confirm you have SSH access. Here example entries where you will need to supply the correct IP address for your VMs.
Host rhel9 Hostname 192.168.XXX.YYY StrictHostKeyChecking no UserKnownHostsFile /dev/null User root Host rhel8x Hostname 192.168.XXX.ZZZ StrictHostKeyChecking no UserKnownHostsFile /dev/null User root
In addition you’ll require an Ansible inventory file hosts.demo with the following entries
[all] rhel8x rhel9 [leapp] rhel8x
Pull in any of our required roles from Ansible Galaxy
cd ansible
ansible-galaxy install -r requirements.yamlUsing the webinar-demo playbook make sure our RHEL Hosts
-
have appropriate hostnames
-
are subscribed to RHSM
-
have RH Insights enabled
-
that leapp is installed on the RHEL8 host
-
cockpit is enabled with correct firewall access on our RHEL9 host
ansible-playbook -i hosts.demo webinar-demo.yamlConfirm VMs are present in the Insights Cloud Console, and confirm you’re filtering on Data Collector : insights-client
Now perform a preupgrade run of leapp via SSH as our existing ansible playbook doesn’t support RHEL8 → 9 at this stage
ssh root@rhel8x
# Wait for login to complete
dnf check-update
dnf install -y leapp-upgrade cockpit-leapp
systemctl enable --now cockpit.socket
leapp preupgrade --target 9.0We need to define an initial demo tempate we can re-use during the demo.
-
Create a base image live-demo-example with packages httpd and postgresql
-
Target VM and AWS
-
Provide your AWS ID.
-
Pre-login to to your two cockpit session on rhel8 and rhel9 in addition to
-
AWS Console for cloud deployment
Show off the cockpit console on our RHEL 8 host
-
Overview
-
SSH access
-
upgrade report
Switch to our RHEL9 hosts and use that to jump into Insights
Or alternatively connect to the Insights Cloud Console
-
RHEL9 host
-
Overview → Advisor - We don’t recommend OpenSSH as root anymore
-
Vulnerabilty tab - already resolving new vulnerabilities for RHEL9
-
Click on a recent CVE
-
-
-
[Optional] RHEL8X host
-
Overview → Vulnerabilities.
-
-
Re-create image live-demo-example so we can add additional packages etc.
-
Show we can add additional targets
-
Try to avoid showing our AWS Id
-
Add an additional package - eg tmux
-
Click Create
-
-
Click on launch instance for an existing built image
-
Show we can leverage the instance easliy via the AWS console
-
Speak to adding to our AWS environment so we can use in multiple regions
-
I recommend you remove your RHSM and Insights entitlements before deleting any virtual machines
# Clean up all hosts in our inventory
ansible-playbook -i hosts.demo rhsm_unsubscribe.yaml
# Or for one specific host specify the hostname
ansible-playbook -i hosts.demo rhsm_unsubscribe.yaml -l rhel8xNow remove the virtual machines along with the QCOW2 working snapshots
sudo VM_NAME=RHEL8x ./deploy_vm.sh cleanup
sudo VM_NAME=RHEL9 ./deploy_vm.sh cleanup