Reviewing the 'Perform Component Upgrade' subtask shows "Database backup failed for component vcfa. Please retry the operation or contact support if the issue persists."
Reviewing running pods on VCF Automation appliance on prelude namespace 'kubectl -n prelude get pods' shows a failed pod called "vcfa-upgrade-91-patch-pre-postgres-cert-clientauth-#####-execute-script-#########" reviewing the logs ('kubectl -n prelude logs vcfa-upgrade-91-patch-pre-postgres-cert-clientauth-#####-execute-script-#########') shows:
Waiting for cert-manager to regenerate secret vcfapostgres-postgres-cert-secret after adding 'client auth' to vcfapostgres-postgres-cert (resourceVersion=########, expecting it to change from ########)Describe the certificate using the following command:
kubectl -n prelude describe certificate vcfapostgres-postgres-certshows the following Event:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning RequestFailed 3m8s (x2605 over 21h) cert-manager-certificates-request-manager Failed to create CertificateRequest: certificaterequests.cert-manager.io "vcfapostgres-postgres-cert-2" already exists'CertificateRequests' using the below command displays duplicate certificate requests:kubectl get certificaterequests -n preludeFollowing symptoms are also observed while performing pre-check on VCF Automation:
VCFMS-HEALTH-002status: Progressing)Observations:
Executing on-demand WAL backup command in target pod ... Master pod identified as vcfapostgres-0 is Running Backup output: curl: (56) OpenSSL SSL_read: OpenSSL/3.5.7: error:0A000413:SSL routines::ssl/tls alert unsupported certificate, errno 0 Backup script failed with exit status 56VCF Automation 9.x
During the VCF Automation upgrade to version 9.1.1 or Power Cycle of VCF Automation, old certificate requests are carried over from version 9.x. Because these old requests contain outdated keys, the system gets stuck and cannot issue new certificates until you delete the old requests.
The issue is resolved in the future release. Subscribe to the KB for updates.
Perform the following sequence to rotate the certificate in VCF Automation:
Workaround:
kubectl get certificaterequest -n prelude -o yamlkubectl delete secret vcfa-postgres-instance-postgres-cert-secret -n preludeNote : If step 2 fails/hangs, delete any stale certificate requests with the following command:kubectl delete certificaterequest -n prelude -l velero.io/restore-name=vcfa-restore-phase6kubectl get certificaterequest -n prelude -l velero.io/restore-name=vcfa-restore-phase6kubectl get certificaterequests -n preludekubectl exec -c postgres vcfa-postgres-instance-0 -n prelude -- cat /tls/tls.crt | openssl x509 -noout -text'pgbackup-vcfa-postgres-instance.prelude.svc.cluster.local' is now present in the Subject Alternative Names (SANs) section of the output.Reference KBs: