Support for continuous delivery (configuration management)
Summarize
Summary of Support for continuous delivery (configuration management)
The Cloud Provisioning and Governance application in ServiceNow supports integration with continuous delivery solutions, also known as configuration management. Ansible is the default supported configuration management provider. This integration enables automated deployment and management of entities using configuration management tools directly within the ServiceNow environment.
Show less
Key Features
- Application Profile Based Approach: Create application profiles linked to configuration management providers. When ordering an entity, selecting a profile displays a configuration grid with provider-specific attributes that users can customize before provisioning.
- Resource Block Based Approach: Use resource blocks (e.g., Apache2) in blueprints to represent entities managed by configuration providers. Multiple entities of the same type can be supported by the same block. Configuration attributes appear in the order form for customization. Provisioned configurations can be saved in the CMDB for reuse.
- Post-Provisioning Actions: Users can trigger Ansible jobs as post-provisioning steps during VM deployments. These day-2 operations execute after VM installation completes to finalize configuration management tasks.
- Blueprint Management: Starting with the Orlando release, existing cloud provisioning blueprints remain functional but new blueprints cannot be created on upgraded instances.
Practical Steps for ServiceNow Customers
- Create Ansible Credentials: Set up credentials to enable Cloud Provisioning and Governance to access Ansible Tower securely.
- Configure Provider: Define the workload provider type and create the configuration management provider. Use discovery to identify resources managed by the provider.
- Create Application Profiles: Based on discovered inventories, create profiles that define the applications managed by the configuration provider.
- Build Blueprints: Develop blueprints incorporating operations like BootstrapNode, RegisterNode, and ExecuteConfigPackages to orchestrate configuration management during provisioning. Customize input parameters for user selection.
- Provision Resources: Deploy resources via the Cloud User Portal, monitoring stack statuses that reflect configuration management steps.
What You Can Expect
By integrating continuous delivery with Cloud Provisioning and Governance, ServiceNow customers can streamline and automate the deployment and configuration of infrastructure and applications. This reduces manual configuration steps, improves consistency, and allows day-2 operations such as post-provisioning Ansible jobs to maintain system states effectively. Configuration data is stored in the CMDB for governance and reuse, enhancing operational efficiency.
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.
- 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.
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. |