Tag: Aria Orchestrator

vRA lifecycle extensibility with vRO workflows

vRealize Automation provides pre-defined application and services life cycles operations which require customizing this life cycle via extensibility. This lifecycle extensibility is applied through the Event Broker Service (EBS).

vRealize Automation 8.x provisioning event topics are designed with a set of high level topics calling deployment resources topics. Event topics trigger when particular events occur in vRealize automation; examples are:

  • When a cloud template is deployed
  • When the resources in a deployment are allocated
  • During a life cycle state and entity change
  • When an approval policy is triggered
  • When Day-2 operations are requested

The following event topics are defined in vRA for the provision lifecycle phase (image taken from the official VMware documentation):

In this example we’re going to have a more detailed look on the lifecycle of a virtual machine during the provisioning.

Create a vRO script environment for PowerCLI with additional modules

With vRealize Orchestrator 8.1 or higher it is possible to use PowerShell, NodeJS, and Python for tasks in vRealize Orchestrator workflows in addition to the traditional Javascript. As PowerShell support was added, it wasn’t necessary to add a PowerShell host to run PowerShell scripts anymore.

We can now use the following runtimes in our action and workflow scripts:

  • Python 3.7
  • Node.js 14
  • PowerCLI 11/Powershell 6.2
  • PowerCLI 12.3.0/Powershell 7.1

OOTB, the PowerCLI runtime includes PowerShell and the following modules:

  • VMware.PowerCLI
  • PowerNSX
  • PowervRA

But to use additional modules in these polyglot scripts, we had to include dependencies by adding them as a ZIP package, which was a quite tedious work.

With vRealize Orchestrator 8.8 or higher, we can now add modules and libraries for use in our vRealize Orchestrator scripts as dependencies directly from the vRealize Orchestrator Client.

In this example, we’ll investigate how to create a script environment with an additional module for PowerShell.

Using Swagger with the vRealize Orchestrator REST plugin

Representational State Transfer (REST) is a is a software architectural style that describes a uniform interface for numerous software packages and hardware systems in IT environments. The most common protocol for these requests and responses is HTTP, which provides operations (HTTP methods) such as OPTIONS, GET, POST, PUT, PATCH and DELETE.

The OpenAPI Specification (OAS), previously known as the Swagger Specification, is a specification for machine-readable interface files for describing, producing, consuming, and visualizing RESTful web services.

Applications implemented based on OpenAPI interface files can automatically generate documentation of methods, parameters and models. This helps keep the documentation, client libraries, and source code in sync.

Examples of VMware products providing Swagger Specifications are vRealize Automation (vRA) and vRealize Operations (vROps).

To call REST operations from within vRealize Orchestrator (vRO), we can use the HTTP-REST plugin, which allows us to manage REST Web services by providing interaction between vRO and REST hosts. We can define REST services and their operations as inventory objects by running configuration workflows, and perform REST operations on the defined objects. The plug-in contains a set of standard workflows related to managing REST hosts and invoking REST operations.

Compared to a manually created REST Host, a Swagger REST Host comes with configured operations which reduces the risk of misconfiguration when manually adding every operation.

In this article, we’ll cover the creation of a vROps REST host from a Swagger endpoint inside the vRA embedded vRO.

Page 2 of 2

All your base are belong to us.