-
Bug
-
Resolution: Done
-
Normal
-
1.11.0
-
5
-
False
-
None
-
False
-
-
Bug Fix
-
-
-
GitOps Scarlet - Sprint 3257, GitOps Scarlet - Sprint 3256
Description of problem:
On a cluster with the DeploymentConfig capability disabled ( see https://docs.openshift.com/container-platform/4.14/installing/cluster-capabilities.html#deployment-config-capability_cluster-capabilities ) the OpenShift GitOps controller-manager pod loops in crashloop backoff with the following error message:
2024-04-10T15:40:24Z ERROR controller-runtime.source.EventHandler if kind is a CRD, it should be installed before calling Start {"kind": "DeploymentConfig.apps.openshift.io", "error": "no matches for kind \"DeploymentConfig\" in version \"apps.openshift.io/v1\""} sigs.k8s.io/controller-runtime/pkg/internal/source.(*Kind).Start.func1.1 /remote-source/deps/gomod/pkg/mod/sigs.k8s.io/controller-runtime@v0.17.2/pkg/internal/source/kind.go:63 k8s.io/apimachinery/pkg/util/wait.loopConditionUntilContext.func1 /remote-source/deps/gomod/pkg/mod/k8s.io/apimachinery@v0.28.3/pkg/util/wait/loop.go:49 k8s.io/apimachinery/pkg/util/wait.loopConditionUntilContext /remote-source/deps/gomod/pkg/mod/k8s.io/apimachinery@v0.28.3/pkg/util/wait/loop.go:50 k8s.io/apimachinery/pkg/util/wait.PollUntilContextCancel /remote-source/deps/gomod/pkg/mod/k8s.io/apimachinery@v0.28.3/pkg/util/wait/poll.go:33 sigs.k8s.io/controller-runtime/pkg/internal/source.(*Kind).Start.func1 /remote-source/deps/gomod/pkg/mod/sigs.k8s.io/controller-runtime@v0.17.2/pkg/internal/source/kind.go:56 2024-04-10T15:40:24Z ERROR controller-runtime.source.EventHandler if kind is a CRD, it should be installed before calling Start {"kind": "DeploymentConfig.apps.openshift.io", "error": "no matches for kind \"DeploymentConfig\" in version \"apps.openshift.io/v1\""} sigs.k8s.io/controller-runtime/pkg/internal/source.(*Kind).Start.func1.1 /remote-source/deps/gomod/pkg/mod/sigs.k8s.io/controller-runtime@v0.17.2/pkg/internal/source/kind.go:63 k8s.io/apimachinery/pkg/util/wait.loopConditionUntilContext.func2 /remote-source/deps/gomod/pkg/mod/k8s.io/apimachinery@v0.28.3/pkg/util/wait/loop.go:73 k8s.io/apimachinery/pkg/util/wait.loopConditionUntilContext /remote-source/deps/gomod/pkg/mod/k8s.io/apimachinery@v0.28.3/pkg/util/wait/loop.go:74 k8s.io/apimachinery/pkg/util/wait.PollUntilContextCancel /remote-source/deps/gomod/pkg/mod/k8s.io/apimachinery@v0.28.3/pkg/util/wait/poll.go:33 sigs.k8s.io/controller-runtime/pkg/internal/source.(*Kind).Start.func1 /remote-source/deps/gomod/pkg/mod/sigs.k8s.io/controller-runtime@v0.17.2/pkg/internal/source/kind.go:56 [...] 2024-04-10T15:42:24Z ERROR setup problem running manager {"error": "failed to wait for argocd caches to sync: timed out waiting for cache to be synced for Kind *v1.DeploymentConfig"}
The relevant code is here:
https://github.com/argoproj-labs/argocd-operator/blob/c7c457dea032941b3c13d86db5e8045d62d8c6a3/controllers/argocd/util.go#L1081
Before watching for an API ressource changes we should check before if this API is available in the cluster.
However In the code above we check for the Template API and based on that check, we watch for DeploymentConfigs. I might be missing something but that coupling seems wrong.
Reproducibility (Always/Intermittent/Only Once): Always
Acceptance criteria:
Definition of Done:
Build Details:
Additional info (Such as Logs, Screenshots, etc):
- account is impacted by
-
GITOPS-4755 Docs: DeploymentConfig API is required if Keycloak template is used
- Closed
- is documented by
-
RHDEVDOCS-6010 [Recurring task]: GitOps 1.13.0 release notes
- Closed
- is related to
-
GITOPS-4650 High CPU utilization by ArgoCD application post RHOCP 4.14 upgrade
- In Progress
- links to
-
RHEA-2024:133299 Errata Advisory for Red Hat OpenShift GitOps v1.13.0