vSAN HCL DB on SDDC Manager is out of date. This is a critical error if vSAN HCL DB has not been updated within the last 90.0 day(s) and a warning if vSAN HCL DB has not been updated within the last 60.0 day(s).
Api call to /v1/vsan-hcl/content failed.
Caused by: java.lang.IllegalArgumentException: URI path begins with multiple slashes
VMware Cloud foundation 5.x
VMware Cloud Foundation 9.0
psql -h localhost -U postgres -d lcm -c "select * from vsan_hcl_attributes;" > /tmp/hclattributes.txt
If SDDC Manager is 5.1.1 then use the below command
/usr/pgsql/13/bin/psql -U postgres -h localhost -d lcm-c "select * from vsan_hcl_attributes;" > /tmp/hclattributes.txt
less /tmp/hclattributes.txt
note down the local_data_timestamp value which records the latest HCL publish date for vsan_hcl_attributes. To convert the local_data_timestamp like 1704067200 to human readable format - run date -d@1704067200. This makes it easier to see when the HCL was last updated.
curl -k --location 'https://<sddcmanager_fqdn>/v1/tokens' --header 'Content-Type: application/json' --data-raw '{"username":"<SSO_USERNAME>","password":"<SSO_PASSWORD>"}'
Example: Access Token JSON Response
When you request a token from SDDC Manager, you get a JSON response like this:
8. cd to /home/vcf (where the latest local copy of all.json is placed)
9. Upload the HCL file using the HCL upload API using the below command
curl -k -X PUT --location 'https://<sddcmanager_fqdn>/v1/vsan-hcl/content' --header 'Authorization: Bearer <Your_access_token_here from step 7>' --header 'Content-Type: text/plain' [email protected]
10. Post successful execution of the API the contents of local_data_timestamp in vsan_hcl_attributes at LCM DB will get updated to a new value, please verify the same as stated in step 3
11. Retry the pre-check to verify that SDDC no longer complain that vSAN HCL DB on SDDC Manager is out of date
12. Or copy the latest all.json to /home/vcf then use the following command. About lcm-bundle-transfer-util please refer HCL Offline Download for VMware Cloud Foundation
./lcm-bundle-transfer-util --vsanHclUpload /home/vcf/all.json
curl -k --location 'http://localhost/v1/tokens' --header 'Content-Type: application/json' --data-raw '{"username":"<SSO_USERNAME>","password":"<SSO_PASSWORD>"}'curl -k -X PUT --location 'http://localhost/v1/vsan-hcl/content' --header 'Authorization: Bearer <put the token grabbed from step 7>' --header 'Content-Type: text/plain' [email protected]