-
Notifications
You must be signed in to change notification settings - Fork 12
Home
The goal behind the blog and the code is to model a methodology for automating the periodic publishing of Content Views and Composite Content Views in Red Hat Satellite and testing that content before promoting. Together these should provide a good starting point. They describe:
- the content model for Satellite
- an introduction to the redhat.satellite ansible collection and how to use it
- creating ansible automation platform (AAP) execution environments
- creating AAP inventories, projects, job templates and workflow templates
- managing a workflow in AAP
The result is a workflow in Ansible Automation Platform 2.1 that can be scheduled to perform monthly publishing of Standard Operating Environment content views and composite content views that have been tested against code that you will run in production. The workflow publishes the defined content, promotes it to the first defined Satellite lifecycle environment, creates test hosts using Satellite provisioning, takes snapshots of those systems (using vmware in this case), then builds three test environments on top of the SOEs. If tests of the software succeeds, it publishes the defined content views and composite content views to the next defined lifecycle environments and cleans up the snapshots. Follow the links below for a description and notes on each of the steps in the workflow.
This code assumes that you have a properly configured Satellite environment. The Satellite should be configured for provisioning on a hypervisor using one or more hostgroups. The project used vmware based on ubiquity in enterprise environments. You can libvirt, RHEV, KubeVirt or any other compute resource that Satellite supports - we are nicely abstracted through the Satellite API. Snapshots are then left for the user to implement. (You can even use bare metal and implement lvm mirroring if you like. Up to you.)
- ACM1PublishContent - Publish the content views and composite content views
- ACM2PromoteToDev - Promote the content views to the Dev satellite life cycle environment
- ACM3CreateTestEnv - Create the test hosts
- ACM4CreateSnaps - Create a snapshot of the test hosts
- ACM5.1.1BuildJBoss - Build a JBoss standalone app server
- ACM5.1.2TestJBoss - Test the JBoss standalone app server
- ACM5.2.1BuildLAMP - Build a LAMP stack server with application
- ACM5.2.2TestLAMP - Test the LAMP stack application
- ACM5.3.1BuildWordpress - Build a Wordpress server and publish a site
- ACM5.3.2TestWordpress - Test the Wordpress server and site
- ACM6PromoteToQA - If all tests succeed, promote the content views and composite content views
- ACM7DeleteSnaps - Clean up the snap shots
- ACMMonthlyContentPublish - This is the workflow template that pulls all the steps together