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
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
- SSH into the SDDC manager appliance with vcf user and elevate to root with su.
- Copy the
cleanup_vc_bundles_lt7.py
script from the KB to the/home/vcf/
directory on the SDDC manager. - Run the
cleanup_vc_bundles_lt7.py
with the below command. (The script will cycle the lcm service)
python cleanup_vc_bundles_lt7.py
- 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