• Arun Nukula

Mandatory Prechecks before a vRealize Automation 7.x Upgrade

Collating few pre-checks which has to be performed when your performing a vRealize Automation upgrade based on our experience


Check 1

Ensure vPostgres is in a healthy state


Simple environment

Distributed Environment



Check 2

These IaaS nodes should have the last connected time, not more than 30 seconds. Appliances should not be more than 10 minutes.


Here's the command you can use from a shell session


vcac-config cluster-config -list | sed -e 's/[{}]/''/g' |  awk -v k="text" '{n=split($0,a,","); for (i=1; i<=n; i++) print a[i]}' | grep -E 'nodeHost|lastUpdateRelative'


or one can check from VAMI as well



Check 3

Health checks of all components of vRA have to pass. Click on this link to find out how you have to perform them. This link has screenshots as well so that you may compare the outputs.


Check 4

Ensure there are no duplicates inside Postgres database


Login into Postgres

psql -U postgres -d vcac

Check for duplicates by executing below query


select * from (select categoryid, name, count(*)-1, 'vmo_configelement' as type from vmo_configelement group by categoryid, name having count(*) > 1
 union
select parentcategoryid, name, count(*)-1, 'vmo_configelementcategory' as type from vmo_configelementcategory group by parentcategoryid, name having count(*) > 1
 union
select elementid, '' as name, count(*)-1, 'vmo_configelementcontent' as type from vmo_configelementcontent group by elementid having count(*) > 1
 union
select '' as id, name, count(*)-1, 'vmo_package' as type from vmo_package group by name having count(*) > 1
 union
select packageid, '' as name, count(*)-1, 'vmo_packagecontent' as type from vmo_packagecontent group by packageid having count(*) > 1
 union
select policyid, '' as name, count(*)-1, 'vmo_policycontent' as type from vmo_policycontent group by policyid having count(*) > 1
 union
select categoryid, name, count(*)-1, 'vmo_resourceelement' as type from vmo_resourceelement group by categoryid, name having count(*) > 1
 union
select elementid, '' as name, count(*)-1, 'vmo_resourceelementcontent' as type from vmo_resourceelementcontent group by elementid having count(*) > 1
 union
select scriptmodulecategoryid, name, count(*)-1, 'vmo_scriptmodule' as type from vmo_scriptmodule group by scriptmodulecategoryid, name having count(*) > 1
 union
select '' as id, name, count(*)-1, 'vmo_scriptmodulecategory' as type from vmo_scriptmodulecategory group by name having count(*) > 1
 union
select scriptmoduleid, '' as name, count(*)-1, 'vmo_scriptmodulecontent' as type from vmo_scriptmodulecontent group by scriptmoduleid having count(*) > 1
 union
select dunesobjectid, version, count(*)-1, 'vmo_versionhistorycontent' as type from vmo_versionhistorycontent group by dunesobjectid, version having count(*) > 1
 union
select workflowid, '' as name, count(*)-1, 'vmo_workflowcontent' as type from vmo_workflowcontent group by workflowid having count(*) > 1) as u;

Just copy and paste the query. Then execute. The output should show 0 rows as shown below


Check 5

Ensure cluster_nodes table inside Postgres just has a certificate and not a complete chain

Login into Postgres

psql -U postgres -d vcac

Check cluster_nodes table

select * from cluster_nodes where node_type = 'VA';

The certificate here must match

/opt/vmware/etc/lighttpd/server.pem

Moreover, server.pem must only contain a PRIVATE KEY and a CERTIFICATE

This must not contain a chain like ROOT and INTERMEDIATE CERTIFICATE




..................content being updated ................

0 views

Subscribe Now

  • Twitter
  • Facebook Social Icon

Copyright © 2019 nukescloud