If you follow the below steps on greed field, configured, Red Hat CloudForms appliance(s), Hybrid Cloud Provisioning with Infrastructure Providers (RHEV, vCenter), Cloud Providers (AWS), a Configuration Management Provider (Satellite) and an Automation Provider (Ansible Tower) becomes a reality. Simply follow the steps listed below and "it just works".
- Red Hat CloudForms 4.5/4.6 up and running…
- Red Hat Satellite 6 configured…
- Ansible Tower setup (for post install configuration)...
- Cloud/Infra Providers and networking are in place.
- Each user, including the admin user, making provisioning requests must have an email address configured. Provisioning requests will fail if initiated by any user without a configured email address. The General Configuration document explains the process of creating users and editing users.
- Add Infrastructure, Cloud, Configuration and Automation Providers as prescribed in Managing Providers
- Connect VMware vCenter
- Connect RHEV
- Connect AWS Provider
- Add Red Hat Satellite Provider
- Connect Ansible Tower Provider
- The Git Repositories Owner Role is disabled by default on a newly installed CloudForms appliance. This role will need to be enabled in order to import the upstream Automate Domains. Follow the guidelines in General Configuration in order to complete these steps.
- Enable 'Git Repositories Owner' Server Role
- Promote 'Git Repositories Owner' Role to Primary if necessary
- Start the 'Git Repositories Role' if necessary
- Understanding the Automate Model - Creating a Domain covers the steps required to create a domain within the Automate model. The recommendation is to create a domain with a name of Configuration but the name of the domain is inconsequential. The ordering of the domains is important and that will be covered later in this document.
- Create Configuration Domain and Enable
- Override RedHatConsulting_Utilities/Infrastructure/Network/Configuration by copying the instance into your new configuration domain.
- Add a new instance for each provisioning and destination VLAN
- I.e.
- Name: ovirtmgmt
- (network purpose): [provisioning, destination]
- (network_address_space): 10.10.10.0/24
- (network_gateway): 10.10.10.1
- (network_nameservers: [10.10.10.2,10.10.10.3]
- (network_ddi_provider): satellite
- In order to modify the from email address, override each of the following and change from_email_address value:
- Copy the following instances into your Configuration domain from RedHatConsulting_Utilities/Infrastructure/VM/Provisioning/Email
- MiqProvision_Complete
- MiqProvision_Update
- MiqProvisionRequest_Approved
- MiqProvisionRequest_Denied
- MiqProvisionRequest_Pending
- Copy the following instance into your Configuration domain from RedHatConsulting_Utilities/Infrastructure/VM/Retirement/Email
- Vm_retirement_emails
- Copy the following instances into your Configuration domain from RedHatConsulting_Utilities/Infrastructure/VM/Provisioning/Email
- In order to stop Reconfigure notifications, override and blank all values in the following Instances
- Copy the following into your Configuration domain
- ManageIQ/Infrastructure/VM/Reconfigure/Email/VmReconfigureRequestApproved
- Copy the following instance into your Configuration domain
- ManageIQ/Infrastructure/VM/Reconfigure/Email/VmReconfigureTaskComplete
- Copy the following into your Configuration domain
- Understanding the Automate Model - Importing a Domain explains how to import the required Automate domains. The relevant repositories with links are included below. In order to control release, you may want to choose a specific branch or tag.
- Import miq-RedHat-Satellite6
- Import miq-Utilities
- Understanding the Automate Model - Changing Priority Order of Domains explains the process required in order to properly configure the priority of Automate Domains. The following is the necessary priority required for this configuration.
- Configuration
- RedHatConsulting_Satellite6
- RedHatConsulting_Utilities
- A pre-configured catalog and associated service dialog are provided as part of the miq-RedHat-Satellite6 project on Github. Complete the following steps to import these items.
- Clone miq-RedHat-Satellite6 repository
git clone https://github.com/RedHatOfficial/miq-RedHat-Satellite6.git
- Import Service Dialog
miqimport service_dialogs miq-RedHat-Satellite6/Dialogs/<version>
- Import Catalog
miqimport service_catalogs miq-RedHat-Satellite6/Catalogs/<version>
- Delete environment Tag Category
- Recreate environment Tag Category
- Name: environment
- Description: Environment
- Long Description: Environment
- Show in Console: Yes
- Single Value: No
- Create os Tag Category
- Name: os
- Description: Operating System
- Long Description: Operating System
- Show in Console: Yes
- Single Value: Yes
- In order to auto-populate some of the tags, you can simply open the service dialog at this point. Once the dialog has opened, simply close the dialog and continue with tagging. This will create the appropriate environment and location tags based on your Satellite configuration.
- Create Tag for each Operating System Supported
- i.e. name: rhel6, description: RHEL 6
- i.e. name: rhel7, description: RHEL 7
- Infrastructure Providers require a multitude of tags based on your organization's configuration and design. The providers being used for automated provisioning need the following tags applied appropriate to your organization's goals.
- Location Tags
- Tag each Provider with appropriate location tag
- Environment Tags
- Tag each Provider with appropriate environment tag(s)
- Provisioning Scope: All
- Tag Hosts as appropriate
- Tag Datastores as appropriate
- Tag Templates
- Navigate to Compute / Infrastructure / Virtual Machines
- Select Templates
- Select the template(s) to be tagged
- Select Policy / Edit Tags
- Apply appropriate Operating System Tag
- Save
-
The following example lists the steps necessary to tag and utilize a public image.
-
Tagging of AWS Images
- Public_images_filters (Advanced Settings)
- If you wanted to download public images and filter the images downloaded, you could make the following modifications to your Advanced Settings of your appliance(s). This example limits public images to the current RHEL 7 image.
-
Change
:ec2: :get_public_images: false :public_images_filters: - :name: image-type :values: - machine
-
To
:ec2: :get_public_images: true :public_images_filters: - :name: image-id :values: - ami-6871a115
-
- If you wanted to download public images and filter the images downloaded, you could make the following modifications to your Advanced Settings of your appliance(s). This example limits public images to the current RHEL 7 image.
- Public_images_filters (Advanced Settings)
-
Tag the Image
- Navigate to Compute / Clouds / Instances / Images by Provider
- Select the image(s) to be tagged
- Select Policy / Edit Tags
- Apply appropriate Operating System Tag
- Save
- Now is the time to test your configuration. Ensure you have your logs open in case of configuration errors.
- Open the Service Dialog
- If any script errors exist, refer to logs to determine the issue
- Populate the Dialog
- The lower portion of the form will change as entries are populated. Use this box to verify your selections.
- Submit the Order
- Watch the Requests and the Logs
- Rejoice as you see your Hybrid Cloud Automated Provisioning Realized
- Do a little dance
- Tell all of your friends
- Get involved!
- Submit issues against the upstream projects
- Pull Requests
- Pull Requests
- Pull Requests