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.
- 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:/
- SSH / PuTTy into the vRealize Automation appliance
ssh root@vra-fqdn.com
- Decompress and load the Blueprint service image into the local Docker repository
zcat /tango-blueprint-service.tar.gz | docker load
- Backup the original image
- Look for the image that is currently tagged with blueprint-webapp_private:latest and note its unique identifier (hash)
docker images | grep blueprint
- Backup the original image
docker tag original-image-id blueprint-webapp_backup:latest
- Tag the Blueprint service image
docker tag c7822350fcb9 blueprint-webapp_private:latest
- Run the following once on any node
- Apply the patch by restarting the blueprint service
kubectl -n prelude scale deployment tango-blueprint-service-app --replicas=0
-
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
- Find the original blueprint service image
docker images | grep blueprint-webapp_backup
- Re-tag the old image
docker tag original-image-id blueprint-webapp_private:latest
- Run the following once on any node
kubectl -n prelude scale deployment tango-blueprint-service-app --replicas=0
- 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