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
Comments