A first look at vRealize Content Management
In my last blogpost I wrote about managing your Puppet code using a Source Control repository. This post is an extension on that one where I will talk about managing your vRealize content with VMware vRealize Suite Lifecycle Manager (vRSLCM) plus bring it under source control using Gitlab CE.
vRSLCM version 1.2 is introducing new content management capabilities. The new set of features allow customers to build and run infrastructure content as applications. Through pre-build content pipelines, IT teams can adopt the same DevOps approach as dev teams commonly leverage (such as CI/CD), and be able to work collaboratively with dev teams to achieve higher speed, quality and consistency across dev, test and production environments.
- Pre-build content pipelines – Automate the end-to-end content management workflow, including automated content capture, test and release, for vRA blueprints and vRO workflows. Automated tests ensure correct configuration before deployment.
- Source control integration and versioning – In-built support for check-in and check-out of content (with dependencies) to source control. Multiple teams can collaborate with a common repository of version controlled content.
- Content dependency support – Content with dependency can be managed, developed and released independently while still maintaining consistent link to other content. It provides visibility into complex content architecture and flexibility to tackle individual components.
So, enough about the theory. Let’s dive into the solution!
- Gitlab CE server installed and configured (HTTPS enabled!)
- VMware vRealize Suite Lifecycle Manager 1.2 installed and configured with Content Management enabled
- VMware vRealize Automation 7.x Enterprise environment with one or more Software Components
1. Viewing the Content Pipelines
Select ‘Content Pipelines‘. These are the pre-build content pipelines you can use to capture, test and release vRealize content.
2. Managing the content settings
In addition to this you have to create an Access Token to be able to communicate with your Gitlab server. Browse to your Gitlab server page and login with an account that has permissions to create groups and projects. Make sure you have a project created to be used for vRealize content. Otherwise create one.
3. Creating Endpoints
For capturing and releasing content, endpoints have to be available.
3.1 Source Control endpoint
3.2 Orchestration endpoint
Next, add a vRealize Orchestrator (vRO) endpoint. Select ‘Endpoints‘ and click ‘+New Endpoint‘. Select ‘Orchestration‘ and click ‘Proceed‘. Click ‘Next‘. Enter the vRO server details. Click ‘Test Connection‘. If successful, click ‘Next‘.
3.3 Automation endpoint
Next, add a vRealize Automation (vRA) endpoint. Select ‘Endpoints‘ and click ‘+New Endpoint‘. Select ‘Automation‘ and click ‘Proceed‘. Click ‘Next‘. Enter the vRA server details. Select your vRealize Orchestrator endpoint. Click ‘Test Connection‘. If successful, click ‘Next‘.
4. Capturing and checking in vRealize content
Browse to your vRealize Automation page and login with an account with design privileges. Go to the ‘Design‘ tab, select ‘Software Components‘. Make sure you have a Software Component you can use. Otherwise create one. In this example I will use a Python36 installation script.
The installation script is missing code and therefore isn’t production ready. In the next section I will explain how to capture this Software Component, do a check in of the code in Gitlab to share it with your development team who can then change and maintain it from a central source control.
Select the vRealize Automation endpoint. Enable ‘Get the latest content‘. Select ‘Automation-Software‘ as Content Type. In the content list select your Software Component. Enter a tag (optional) and Comments. Click ‘Next‘.
5. Updating and deploying source controlled vRealize content
After a successful deployment go back to your vRealize Automation page. Go to the ‘Design‘ tab, select ‘Software Components‘ and find your Software Component. In my case, Python36. Select it. When you open the Install script details, the code changes made in Gitlab are committed.
6. Final words
In this blogpost I showed you that vRealize Suite Lifecycle Manager allows you to manage the release automation of content such as vRealize Automation Blueprints, Software Components, vRealize Orchestrator Workflows across multiple environments such as development, staging, production. It allows native source control management integration and dependency management between a cross-referenced content enabling a DevOps approach to build and run infrastructure content as applications.