Imagine: you have recently upgraded to VCF 5.2.1.0, and ready to apply the vCenter Server 8.0 Update 3d async patch (VMSA-2024-0019.2)

You have downloaded the correct file. Note the version: VMware Software Update 1.1.1.1

And even despite restarting SDDC Manager itself, you can’t figure out why the Plan Patching phase seems to remain empty.

No patches seem available from the Plan Patching interface

Normally you would be able to integrate these patches in the VCF Upgrade process itself. However, as you can see, the downloaded async patch seems not available from the SDDC Manager GUI. We had contacted VMware Global Support.
A Knowledge Base KB380402 article was created for this, including a proper workaround: run a script… However, it was not that easy

Note that this KB will possibly be updated over time. Also, a new release in order for this issue to be resolved can also be expected.

The reason is there are stale 6.7 and 6.5 vCenter bundle references in the LCM database. This also occured on relatively new SDDC Manager configurations.

We see the following error in the lcm-debug.log

xxxx-xx-xxxxx:xx:xx.xxx+xxxx INFO  [vcf_lcm,] [c.v.e.s.l.p.i.v.rdu.RduClientImpl,http-nio-127.0.0.1-7400-exec-8] Check whether target version 6.7.0-19300125 is compatible with minimum supported target version 8.0.3.00200
xxxx-xx-xxxxx:xx:xx.xxx+xxxx ERROR [vcf_lcm,d127f08f9d0f48fe,59f0] [c.v.v.l.r.a.c.v.u.UpgradableController,http-nio-127.0.0.1-7400-exec-8] Get SupportedUpgradeMechanisms for vCenter Failed with exception java.lang.RuntimeException: Versions are not in proper format - X.Y.Z.UPPHH-<Build Number>

Resolution

Step 1

Create a cold snaphot and boot the system. If the following pops up, you have to get rid of something else first:

You will also find that there is one Configuration Update running… Weird, since we have just implemented those during ESXi host patching.

SSH in SDDC Manager, through user vcf and su root.

Check the following

less /var/log/vmware/vcf/sddc-support/vcf-sos.log

database disk image is malformed

Run the following commands to repair the database disk image. This will eventually remove the massive amounts of open/pending tasks in SDDC Manager

systemctl stop sosrest.service

mv /opt/vmware/vcf/sddc-support/soservice.db /home/vcf
mv /opt/vmware/vcf/sddc-support/status.json /home/vcf
mv /opt/vmware/vcf/sddc-support/.status-tmp.json /home/vcf

/usr/pgsql/13/bin/psql -h localhost -U postgres -d platform -c "DELETE FROM task_metadata WHERE task_url LIKE '%sos%'"
/usr/pgsql/13/bin/psql -h localhost -U postgres -d platform -c "DELETE FROM task_metadata WHERE task_type='SDDCMANAGER_BACKUP'"

Explanation

  • Double quotes around the entire command passed to -c so that the shell interprets it as a single argument.
  • Single quotes around ‘SDDCMANAGER_BACKUP’ in the SQL statement, as required for string literals in PostgreSQL.

 

 

 

systemctl start sosrest.service
/opt/vmware/vcf/operationsmanager/scripts/cli/sddcmanager_restart_services.sh

 

Step 2

  1. SSH into the SDDC manager appliance with vcf user and elevate to root with su.
  2. Copy the cleanup_vc_bundles_lt7.py  script from the KB to the /home/vcf/ directory on the SDDC manager.
  3. Run the cleanup_vc_bundles_lt7.py with the below command. (The script will cycle the lcm service)
    python cleanup_vc_bundles_lt7.py
  4. Wait several minutes and retry the Plan Patching workflow in the SDDC Manager UI.

Done

When navigating back to Workload Domains > Updates > Available Updates, you can select Plan Patch. After a few moments, be patient, the following appears. From here you can select the patch and its version

Click Confirm

The steps in this progress shows; click Done

From Updates > Click Plan Patch > Verify that you have already completed SDDC Manager version update 5.2.1.0

Click confirm

By DM