If you have an existing VMware Aria Automation environment, you must perform the steps on this page to upgrade it to the 8.x standard.
VMware Aria Automation used to be called vRealize Automation (vRA). That abbreviation is used throughout the legacy code as a reference to Aria Automation.
Required role
These steps require the vCenter Administrator or Tenant Administrator role.
Finding your Aria Automation version
Ensure that each provider account (both existing and new) has the correct and updated Aria Automation version in the version field. The Aria Automation version is set during the account set up process (on the provider account page, click the
Asset Count
tab and select
Add Provider Account
).
When you run catalog discovery or provisioning make sure you have the right endpoint FQDN or IP address, Username, and Password. You can even update only the major and minor version of the instance, such as 7.6, 8.1, or 8.2. To obtain the version of your Aria Automation instance, complete the following steps:
For 7.x Aria Automation instances
Log in to your Aria Automation instance.
Click your username and select
About
to display a pop-up with the version details.
For 8.x Aria Automation instances
Log in to your Aria Automation instance.
Click the
Help
icon on the right side to show your version details at the bottom of the window.
Versioning support
With the release of versioning support for Aria Automation 8.x, versioning for the providers is enabled by default.
If versioning is enabled for a provider, the APIs used to create/update/delete catalogs, configs, and offered catalogs are disabled. In this configuration, you must use the Catalog Management UI/APIs to discover Aria Automation blueprints.
If required, you can disable the versioning support by disabling the
versioning
flag in the provider adapter for the Aria Automation 8.x provider using the following command:
curl -X PUT \
{{apigateway}}/catalog/v3/providers/{{providercode}} \
-H 'apikey: {{apikey}}' \
-H 'content-type: application/json' \
-H 'username: {{userid}}' \
-d '
{
"adapter":"http://cb-catalog-int-api:3959/catalog/content/vra/v2",
"provider":"{{providername}}",
"enableVersion":false
}
Updating to Aria Automation 8.x
Perform the following steps to update your environment to 8.x:
Upload the new API definitions related to the Aria Automation 8.x APIs using the following
cb-consume-bootstrap
script:
./vRA/insert_api_definitions.sh apigateway userid userapikey
Delete and re-upload the new updated standard operations from the Aria Automation standard operations folder using the
cb-provisioning-template
script.
./readTemplates.sh . apigateway userid userapikey
If your provider code is not the default existing code Aria Automation, then ensure that the following changes are made to each of the operation files (power-on, power-off, reboot) before executing the script:
Rename the operation definition and template files for each operation using this format:
<operationcode>-<providercode>_definition.json (for example, powerOff-vrademo_definition.json)
<operationcode>-<providercode>_template_.json (for example, powerOff-vrademo_template.json)
Make the following operation definition changes:
Change the ID to the following format:
<existingid>-providercode (for example, reboot-vrademo)
Update the provider code and routing key.
Update the
provider.name
field.
Change the
serviced
to match the ID you changed in the previous operation definition changes section step.
Re-run the proxy adapter installer by changing the proxy adapter image to the latest release image.
#Advanced configuration
Vra_proxy_image_name=<< Docker imageName of proxy adapter >>
Configuring custom forms
This section covers derived default values and Multi Value Picker attribute in Aria Automation 8.x.
Derived default value
In custom forms, the default value for an attribute can be formed based on the value of other attributes. The default value can either be a
bindField
,
conditionalField
,
computedField
, or
externalValue
.
To use a default value, you must store this information against the catalog configuration in the
derivedData
field using the following format:
"derivedData": {
"type": "bindField/conditionalField/computedField/externalValue",
"data": {}
}
In the case of
bindField
,
conditionalField
, and
computedField
, the data object contains the default value as per the
customForm
schema. For the
externalValue
, the data will include the
domainValue
data to execute the external API.
The following is an example of
conditionalField
:
{
"id": "textField_bed9f6b1",
"name": "Text Field - Conditional",
"required": false,
"default": null,
"editable": true,
"hidden": false,
"group": "page_c3e527c3",
"configGroupCode": "page_c3e527c3",
"configGroupName": "Text Fields",
"binding": "$.inputs.textField_bed9f6b1",
"description": "",
"serviceDetails": "",
"configEditable": true,
"isSelected": false,
"inputType": "freetext",
"derivedFrom": ["textField_34590542"],
"derivedData": {
"type": "conditionalField",
"data": [{
"within": {
"textField_34590542": "abc def"
},
"value": "1000"
}]
}
}
The following is an example of
externalValue
:
{
"id": "textField_ba7fc2ac",
"name": "Text Field - External",
"required": false,
"default": null,
"editable": true,
"hidden": false,
"group": "page_c3e527c3",
"configGroupCode": "page_c3e527c3",
"configGroupName": "Text Fields",
"binding": "$.inputs.textField_ba7fc2ac",
"description": "",
"serviceDetails": "",
"configEditable": true,
"isSelected": false,
"inputType": "freetext",
"derivedFrom": ["$projectId"],
"derivedData": {
"type": "externalValue",
"data": {
"type": "external",
"apiId": "vra8FormsExternalValue",
"params": {
"projectId": "${$projectId}",
"body": {
"uri": "com.ibm.mcmp.actions/getMCMPProject",
"dataSource": "scriptAction",
"parameters": []
}
},
"return": {
"id": "$.data",
"label": "$.data"
},
"handleByAdapter": true
}
}
}
Multi Value Picker attribute
The Multi Value Picker attribute allows you to select the type of data that you want to input, such as free text, slider, and so on. It uses the multi-select configuration. Because the Multi Value Picker makes use of objects as its values, to store these values they need to be parsed/converted to a string.
During provisioning the values need to be converted back. To initiate this conversion, the binding needs to be appended with
'::multiValuePicker'
. The following is an example of a data type:
{
"id": "datagrid_08e0992a",
"name": "Constant - Multi Constant Constant",
"required": false,
"default": null,
"editable": true,
"hidden": false,
"group": "page_2fc75061",
"configGroupCode": "page_2fc75061",
"configGroupName": "Data Grid",
"binding": "$.inputs.datagrid_08e0992a::multiValuePicker",
"description": "",
"serviceDetails": "",
"configEditable": true,
"isSelected": false,
"inputType": "multiselect",
"derivedValues": [{
"valueId": "{\"string_field\":\"String 1\",\"string_field1\":\"String 11\"}",
"label": "String 1"
}, {
"valueId": "{\"string_field\":\"String 2\",\"string_field1\":\"String 22\"}",
"label": "String 2"
}]
}
Known issues
The following are the known issues related to Aria Automation 8.x support:
The Virtual Machine property
'provisionGb'
remains unchanged after updating disk size due to a VMware issue.
Standard operations associated to a XaaS (Anything as a Service) blueprint do not update the status of Virtual Machine in Aria Automation even after the status has been updated in vSphere. This is a VMware issue.
The
File Upload Custom Form
attribute is not supported.
In
derivedData
of type
conditionalField
for the 'within' operator, the child value is not set as expected if the parent value is empty.
Setting of a default value for multi-select configurations is not supported.
When migrating versioning information for Aria Automation 8.x services, the labels are set to the default labels for the first version of the service, which is v1.0.0.0 instead of the version set in Aria Automation. However, this has no impact on the provisioning for that version of the service.