An installation of Tanzu Mission Control Self-Managed (TMC-SM) is stuck and not progressing.
While connected to the cluster's context, the following pods are stuck in CreateContainerConfigError state in the tmc-local namespace:
kubectl get pods -n tmc-local | grep -v Run
When describing the above pods, the following errors are present:
kubectl describe pod -n tmc-local <pod name>
secret "inspection-s3-creds" not found
secret "dp-s3-creds" not found
secret "audit-s3-creds" not found
The above noted kubernetes secrets are not present in the intended cluster for installing TMC-SM:
kubectl get secrets -n tmc-local | grep s3
Describing the s3-access-operator and tanzu mission control packageInstall (PKGI) shows the below error message:
kubectl describe pkgi -n tmc-local s3-access-operator
kubectl describe pkgi -n tmc-local tanzu-mission-control
usefulErrorMessage: |-
kapp: Error: Ownership errors:
- Resource 'customresourcedefinition/s3accesspolicies.infra.tmc.eng.vmware.com (apiextensions.k8s.io/v1) cluster' is already associated with a different label 'kapp.k14s.io/app=<id>'
Tanzu Mission Control Self-Managed
A known kapp ownership conflict issue on the customResourceDefinition "s3accesspolicies" used by TMC-SM.
Specifically, kapp-controller needs to assign a new kapp.k14s.io/app label to this CRD, but it will not overwrite the existing label.
CRD was leftover from a previous install or installation attempt of TMC-SM in this cluster.
The CRD will be leftover if a previous tmc-sm uninstall failed or there were manual, unsupported deletions of TMC kubernetes objects in the cluster.
The system is actively trying to apply the new kapp.k14s.io/app label to the affected CRD.
As such, the only action needed is to remove the old kapp app label from this CRD and confirm on the status after reconcilation.
kubectl get crd s3accesspolicies.infra.tmc.eng.vmware.com
kubectl get crd s3accesspolicies.infra.tmc.eng.vmware.com -o yaml > s3accesspolicycrd-backup.yamlkubectl label crd s3accesspolicies.infra.tmc.eng.vmware.com kapp.k14s.io/app-
kubectl edit crd s3accesspolicies.infra.tmc.eng.vmware.com
kubectl get pods -n tmc-local s3-access-operator
kubectl get secrets -n tmc-local | grep s3If the secrets are not created despite the s3-access-operator pod in Running state, you may need to restart the s3-access-operator pod or troubleshoot other TMC pod failures.
kubectl get pods -n tmc-local
kubectl describe pkgi -n tmc-local s3-access-operator
kubectl describe pkgi -n tmc-local tanzu-mission-controlAny further error messages found in the above describes will need to be looked into to complete the TMC-SM install.