Wednesday, March 8, 2023

VCSA 8.000x failed on Workstation installation with error "(get_install_parameter('upgrade.import.directory'), "vlcm""

VCSA requires some tweaking in order to deploy successfully on Workstation

This issue is unique to VC8 installation on Workstation. Likely not going to be fixed as it has been going on for a few months on multiple dot dot releases. The installation will fail at 68% with the following errors.  


Encountered an internal error. see /var/log/firstboot/vlcm_firstboot.py_10049_stderr.log
Resolution
This is an unrecoverable error, please retry install. If you encounter this error again, please search for these symptoms in the VMware Knowledge Base for any known issues and possible resolutions. If none can be found, collect a support bundle and open a support request.

Traceback (most recent call last):
File "/usr/lib/vmware-vlcm/firstboot/vlcm_firstboot.py", line 167, in <module>
main()
File "/usr/lib/vmware-vlcm/firstboot/vlcm_firstboot.py", line 129, in main
fb = VlcmFirstboot(VLCM_COMP, VLCM_SOLUSERNAME)
File "/usr/lib/vmware-vlcm/firstboot/vlcm_firstboot.py", line 50, in __init__
os.path.join(get_install_parameter('upgrade.import.directory'), "vlcm")
File "/usr/lib/vmware/site-packages/cis/tools.py", line 88, in get_install_parameter
raise InstallParameterException('Install-parameter %s not set' % param)
cis.exceptions.InstallParameterException: {
"detail": [
{
"id": "install.ciscommon.internal.error",
"translatable": "Encountered an internal error.\n\n%(0)s",
"args": [
"Install-parameter upgrade.import.directory not set"
],
"localized": "Encountered an internal error.\n\nInstall-parameter upgrade.import.directory not set"
}
],
"componentKey": null,
"problemId": null,
"resolution": {
"id": "install.default.failure.resolution",
"translatable": "This is an unrecoverable error, please retry install. If you encounter this error again, please search for these symptoms in the VMware Knowledge Base for any known issues and possible resolutions. If none can be found, collect a support bundle and open a support request.",
"localized": "This is an unrecoverable error, please retry install. If you encounter this error again, please search for these symptoms in the VMware Knowledge Base for any known issues and possible resolutions. If none can be found, collect a support bundle and open a support request."
}
}

The workaround is fairly simple.

Step 1: Copy ova file from the ISO into another read/write directory. E.g Download directory.
Step 2: use the ovftool within the mounted installation ISO media to convert the ova to ovf file. It will generate a few large files (the disks, the manifest file, and ovf file)


C:\WINDOWS\system32>D:\vcsa\ovftool\win32\ovftool C:\Users\test\Downloads\VMware-vCenter-Server-Appliance-8.0.0.10200-21216066_OVF10.ova C:\Users\test\Downloads\VMware-vCenter-Server-Appliance-8.0.0.10200-21216066_OVF10.ovf
Opening OVA source: C:\Users\test\Downloads\VMware-vCenter-Server-Appliance-8.0.0.10200-21216066_OVF10.ova
The manifest validates
The provided certificate is in valid period
Source is signed but could not verify certificate (possibly self-signed)
Certificate information:
CertIssuer:/C=US/ST=California/L=Palo Alto/O=VMware, Inc.
CertSubject:/C=US/ST=California/L=Palo Alto/O=VMware, Inc.
-----BEGIN CERTIFICATE-----
xxxxxxxxxxxxxxxxxx
yyyyyyyyyyyyyyyyyy
zzzzzzzzzzzzzzzzzz
-----END CERTIFICATE-----


Opening OVF target: C:\Users\test\Downloads\VMware-vCenter-Server-Appliance-8.0.0.10200-21216066_OVF10.ovf
Writing OVF package: C:\Users\test\Downloads\VMware-vCenter-Server-Appliance-8.0.0.10200-21216066_OVF10.ovf
Transfer Completed
Completed successfully

Step 3: Delete the manifest file. 

Step 4: The "guestinfo.cis.upgrade.import.directory" ovf "userConfigurable=false" needs to be set to true. 

-  Edit the ovf file with a text editor.
-  Search for "guestinfo.cis.upgrade.import.directory" and change the userConfigurable parameter from false to true. Save and Close.

That's it. Continue to normal installation with the new OVF file instead of the original OVA file.

Credit to William Lam's blog post.