Input property groups now require Input values if no default is provided
search cancel

Input property groups now require Input values if no default is provided

book

Article ID: 325951

calendar_today

Updated On:

Products

VMware Aria Suite

Issue/Introduction

This applies to vRealize Automation 8.6.2.

Symptoms:
Input property groups now require input. In the property group, for all types except Boolean, omitting a default value marks the property input as required.

Environment

VMware vRealize Automation 8.6.x

Resolution

The patch introduces a new optional blueprint property named populateRequiredOnNonDefaultProperties. Setting this to true adds the condition to the property group that, in case of non-boolean properties inside that property group, if default value is not set, they will be treated as required properties. The same thing holds true for object inputs as well.

Example VMware Cloud Template IaC YAML syntax

formatVersion: 1
inputs:
  temp1:
    type: object
    $ref: /ref/property-groups/minpg1
    populateRequiredOnNonDefaultProperties: true
  pg2:
    type: object
    $ref: /ref/property-groups/minpg2
resources:
  Cloud_vSphere_Machine_1:
    type: Cloud.vSphere.Machine
    properties:
      image: ubuntu
      cpuCount: 1
      totalMemoryMB: 1024

In the above example of temp1, if any properties do not have a default value, they will be treated as required properties. This condition does not apply to pg2.


Workaround:

Prerequisites

  • Please take simultaneous non-memory snapshots of each virtual appliance(s) in the cluster.
  • You have access to root user and password
  • You have SSH or console access to each virtual appliance.
  • Download the file titled tango-blueprint-service.tar.gz from the Attachment(s) section of this article.

SHA256SUM

CE196BFC1527F28ED196A4431678C92C1F500DB7B2485DA5DEAA68A98F3C0AC2

Procedure

Perform Steps # 1 - 5 on each appliance

Note: Replace the existing blueprint service with the new image for the fix.
  1. Upload the compressed Blueprint service image file tango-blueprint-service.tar.gz to each virtual appliance within the vRealize Automaton cluster.
    scp /path/to/tango-blueprint-service.tar.gz root@vra-fqdn.com:/
    
  2. SSH / PuTTy into the vRealize Automation appliance
    ssh root@vra-fqdn.com
  3. Decompress and load the Blueprint service image into the local Docker repository
    zcat /tango-blueprint-service.tar.gz | docker load
    
  4. Backup the original image
    1. Look for the image that is currently tagged with blueprint-webapp_private:latest and note its unique identifier (hash)
      docker images | grep blueprint
      
    2. Backup the original image
      docker tag original-image-id blueprint-webapp_backup:latest
  5. Tag the Blueprint service image
    docker tag c7822350fcb9 blueprint-webapp_private:latest
  6. Run the following once on any node
    1. Apply the patch by restarting the blueprint service
      kubectl -n prelude scale deployment tango-blueprint-service-app --replicas=0
    2. For clustered environments use the parameter --replicas=3 and --replicas=1 for simple environments

      kubectl -n prelude scale deployment tango-blueprint-service-app --replicas=3
      

Rollback Procedure to restore the original service image

Perform Steps # 1 - 2 on each appliance

  1. Find the original blueprint service image
    docker images | grep blueprint-webapp_backup
  2. Re-tag the old image
    docker tag original-image-id blueprint-webapp_private:latest
    
  3. Run the following once on any node
    kubectl -n prelude scale deployment tango-blueprint-service-app --replicas=0
    
    1. For clustered environments use the parameter --replicas=3 and --replicas=1 for simple environments
      kubectl -n prelude scale deployment tango-blueprint-service-app --replicas=3


Additional Information

Impact/Risks:
The procedure located in the Workaround section of this article requires downtime of the system due to service restarts.

Attachments

tango-blueprint-service.tar get_app