123#####-123e-####-hs####21Sample lcm logging:
2024-08-09T13:43:21.989+0000 DEBUG [vcf_lcm,9###62a5####452,b9##] [c.v.v.c.t.i.v.VvsControllerTranslator,http-nio-127.0.0.1-7400-exec-7] VMware Compatibility Service controller threw exception: Failed to generate valid VMwareProductVersion using releaseApiVersion and gaBuildNumber fields from VVS release Release(major=8, medium=14, minor=1, productId=88, productName=VMware Aria Operations for Logs, releaseId=17891, update=0, version=8.14.1, compatible=true, gaBuildNumber=22806512, releaseApiVersion=null, interops=null, upgrades=null).2024-08-09T13:43:21.989+0000 DEBUG [vcf_lcm,9###62a5####452,b9##] [c.v.v.c.t.i.v.VvsControllerTranslator,http-nio-127.0.0.1-7400-exec-7] Skipping unknown version for releaseId 178912024-08-09T13:43:21.989+0000 DEBUG [vcf_lcm,0000000000000000,0000,upgradeId=###f3b94-####-49c9-####-####e623####,resourceType=NSX_T_PARALLEL_CLUSTER,resourceId=nsx-sample.com:_ParallelClusterUpgradeElement,bundleElementId=3793e
####-0dc5-####-a19e-###ae4a0####] [c.v.e.s.l.p.i.nsxt.NsxtUpgradeUtil,Upgrade-9] Setting Upgrade Error for stage NSX_UPGRADE_STAGE_MANAGER_PRECHECK, error description Certificate Validity Checks: [The certificate with id 123#####-123e-####-hs####21 failed to parse with error: signed fields invalid. Please delete (if unused) or replace this certificate prior to upgrading., The certificate with id 123#####-123e-####-hs####21 failed to parse with error: signed fields invalid. Please delete (if unused) or replace this certificate prior to upgrading.]: nsx1-sample.com, nsx2-sample.com, nsx3-sample.com, remediation NSX upgrade failed in precheck for manager cluster. Check for errors in the LCMlog files at 127.0.0.1:/var/log/vmware/vcf/lcm, and address those errors. Please run the upgrade precheck and restart the upgrade.
NOTE: NSX utilizes many internal certificates (e.g. Client Auth certificates). To identify the certificate or certificates in question, use the certificate identifiers in the error output to trace the bad certificates in the NSXT UI.
VMware Cloud Foundation 5.2
NSX 4.1.2.1
e.g.
-----BEGIN CERTIFICATE-----
XXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXX
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
XXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXX
-----END PRIVATE KEY-----
In the NSXT UI generate a new self-signed certificate (with 'Service Certificate: NO') and make an API call like below:
POST https://<nsx-mgr>/api/v1/trust-management/principal-identities?action=update_certificate { "principal_identity_id": "<PI-id>", "certificate_id" : "<new-cert-id>" }
Fill in the fields between angled brackets with the appropriate values.
The new-cert-id should be obvious once you import/generate the certificate in NSX Manager. The PI-id should already be in the system. If you make the API call:
GET https://<nsx-mgr>/api/v1/trust-management/principal-identities
You'll get a list of PIs. One of those will have a certificate_id field containing the certificate that is currently faulty. So you need the 'id' field of that PI for the <PI-id> value.
Now make another API call:
POST https://<nsx-mgr>/api/v1/trust-management/principal-identities?action=update_certificate { "principal_identity_id": "<PI-id>", "certificate_id" : "<new-cert-id>" }