In VMware Cloud Foundation (VCF) 9.1, the VCF Operations component may incorrectly report a status of Powered Off within the VCF Management UI under Build > Lifecycle > VCF Management > Components > VCF Operations.
While the appliance remains fully functional and accessible via its admin console (https://<vcfops_ip>/admin), the Actions dropdown menu is missing in the SDDC Manager interface. Technical analysis indicates that the sddc-build-service cannot acquire an authentication token for the lcm-ops service account, resulting in the following errors:
Credentials for user 'lcm-ops' don't exist or are empty. {"type":"Error","message":"The provided username/password or token is not valid. Please try again.","httpStatusCode":401,"apiErrorCode":401}New password does not meet complexity requirements. (HTTP 500)VMware Cloud Foundation 9.1
VCF Operations 9.1
The global password complexity policies are incorrectly enforced on internal service accounts. As a result, the lcm-ops account creation fails because its auto-generated password does not meet the complexity requirements (such as minimum length) dictated by the CASA authentication API.
To resolve this issue, you must temporarily relax the password complexity policy and manually provision the missing service account.
Prerequisites:
Step 1: Relax the password policy Execute the following curl command to adjust the complexity parameters via the Suite API:
curl -k --request PUT \ --url https:///suite-api/internal/passwordmanagement/ops/policy \ --header 'authorization: OpsToken ' \ --header 'content-type: application/json' \ --header 'x-ops-api-use-unsupported: true' \ --data '{"complexityConstraint":{"minLength":8,"minLowercase":1,"minUppercase":1,"minNumeric":1,"minSpecial":1,"passwordHistory":1},"expirationConstraint":{"passwordExpirationDays":180},"lockoutConstraint":{"lockoutMaxAuthFailures":3,"lockoutEvaluationPeriod":300,"lockoutPeriod":600}}'
Step 2: Retrieve the intended lcm-ops credentials Log in to the VSP Control Plane VM and run the following commands to extract the generated password from the Kubernetes secret:
export KUBECONFIG=/etc/kubernetes/admin.confkubectl -n vcf-sddc-lcm get secret -l vcf.broadcom.com/component-type=ops -o jsonpath='{.items[0].data.clientSecret}' | base64 -d; echoStep 3: Manually create the service account Use the password retrieved in Step 2 to create the account via the CASA API:
curl -sk -u ':' \ -X POST https:///casa/auth/users \ -H 'Content-Type: application/json' \ -d '{"username":"lcm-ops","password":"","key":"ops-lcm"}' \ -w '\nHTTP=%{http_code}\n'
Verification: A successful response returns an HTTP 200 status and a valid token. After the next synchronization cycle, the VCF Operations status will restore to Active or Online, and the Actions menu will become available.
Note: It is strongly recommended to maintain the minimum password length parameter at a maximum of 20 characters until the Environment is upgraded to 9.1.1. This architectural limitation has been successfully addressed in the upcoming VCF 9.1.x release, wherein standard user password policies will no longer govern internal service accounts