Support for continuous delivery (configuration management)
The Cloud Provisioning and Governance application supports integration with continuous delivery solutions (also known as configuration management). Ansible is supported as the default config management provider.
The Cloud Provisioning and Governance application supports configuration management
providers in two ways:
- Application profile based approach: Create an application profile for an entity and in the order catalog form, select that profile to deploy that entity. Each profile has a config installable. You can create multiple application profiles- as an example, one for PostgreSQL and one for Apache. Each profile can be mapped to a configuration management provider. In the Cloud User Portal, based on the profile you select, a configuration grid appears populated with attributes and values for that specific configuration management provider. You can modify any values in the order form and provision the entity.
- Resource block based approach: Use a resource block, like Apache2, in a blueprint to represent an entity that a configuration management provider manages. The same resource block can be used to support more than one entity of the same kind. As an example, an Apache2 resource block can be used to support multiple Apache2 servers. In the order catalog form, select a provider type and then select a provider. Based on the specific provider, configuration management attributes and values appear. Once you provision the entity, you can save the configuration of the resource block and store it in the CMDB for future use.
- Post-provisioning actions during catalog deployment: Users can call ansible job as a post-provisioning step in any catalog which deploys a VM. This will be executed as a day-2 operation once the VM installation is completed. For more information on the processes, see https://www.servicenow.com/community/itom-blog/cpg-calling-ansible-job-as-post-provision-step-for-cloud-catalog/ba-p/2271552 and https://www.servicenow.com/community/itom-blog/cpg-calling-ansible-job-as-day2-operation/ba-p/2270969.
Importante:
Starting with the Orlando release, the cloud provisioning
blueprints are available on instances upgraded from a previous release but you cannot create new
blueprints. Existing blueprints and catalog items from those blueprints remain unaffected and
continue to work.
What to do
| Step | Goal | See these topics |
|---|---|---|
| 1. Create credentials for Ansible. | Enable Cloud Provisioning and Governance to access the configuration provider with the necessary credentials. | Configure Ansible Tower user name and password |
| 2. Create the workload provider type, and then create the provider. | Configure Cloud Provisioning and Governance to work with the configuration management provider of your choice. Then run discovery on the provider, using the credentials you provide, to find the resources that the provider already owns. | Create a workload provider type and Create an Ansible configuration management provider and run Discovery |
| 3. Create an application profile with a mapping | Create the profile that defines the application that the configuration management provider manages. The profile is based on the discovered inventories in the provider. | Create an application profile |
| 4. Create a blueprint | Create a blueprint with BootstrapNode, Register Node, and ExecuteConfigPackages operations on the virtual resource that the configuration provider manages. You can also customize the input parameters on the form to allow the user to select important inputs, like the application profile template, organization, and credential ID. | |
| 5. Provision a resource from the Cloud User Portal | The resource should provision, with the stack status indicating the BootstrapNode, Register Node, and ExecuteConfigPackages steps. |