+ unset CI + exit_code=0 + scripts/openshift-CI-kuttl-tests.sh + export CI=prow + CI=prow + go mod vendor go: downloading github.com/argoproj-labs/argo-rollouts-manager v0.0.6-0.20250731075119-a100fc1d88b8 go: downloading github.com/argoproj-labs/argocd-operator v0.16.0-rc1 go: downloading github.com/openshift/api v0.0.0-20240906151052-5d963dce87aa go: downloading github.com/operator-framework/api v0.17.5 go: downloading github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring v0.73.2 go: downloading go.uber.org/zap v1.27.0 go: downloading k8s.io/apiextensions-apiserver v0.33.1 go: downloading k8s.io/apimachinery v0.33.1 go: downloading k8s.io/client-go v0.33.1 go: downloading sigs.k8s.io/controller-runtime v0.21.0 go: downloading github.com/onsi/gomega v1.36.2 go: downloading github.com/onsi/ginkgo/v2 v2.22.2 go: downloading k8s.io/api v0.33.1 go: downloading golang.org/x/mod v0.25.0 go: downloading github.com/stretchr/testify v1.10.0 go: downloading k8s.io/utils v0.0.0-20250604170112-4c0f3b243397 go: downloading github.com/argoproj/argo-cd/v3 v3.1.5 go: downloading github.com/argoproj/gitops-engine v0.7.1-0.20250905160054-e48120133eec go: downloading sigs.k8s.io/yaml v1.4.0 go: downloading gotest.tools v2.2.0+incompatible go: downloading github.com/go-logr/logr v1.4.3 go: downloading github.com/hashicorp/go-version v1.7.0 go: downloading github.com/google/go-cmp v0.7.0 go: downloading gopkg.in/yaml.v2 v2.4.0 go: downloading go.uber.org/multierr v1.11.0 go: downloading github.com/sirupsen/logrus v1.9.3 go: downloading github.com/gogo/protobuf v1.3.2 go: downloading k8s.io/klog/v2 v2.130.1 go: downloading sigs.k8s.io/structured-merge-diff/v4 v4.7.0 go: downloading gomodules.xyz/jsonpatch/v2 v2.4.0 go: downloading github.com/go-logr/zapr v1.3.0 go: downloading github.com/evanphx/json-patch/v5 v5.9.11 go: downloading github.com/prometheus/client_golang v1.22.0 go: downloading sigs.k8s.io/randfill v1.0.0 go: downloading gopkg.in/evanphx/json-patch.v4 v4.12.0 go: downloading github.com/blang/semver/v4 v4.0.0 go: downloading github.com/google/uuid v1.6.1-0.20241114170450-2d3c2a9cc518 go: downloading github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc go: downloading github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 go: downloading k8s.io/kube-aggregator v0.33.1 go: downloading k8s.io/kubectl v0.33.1 go: downloading gopkg.in/inf.v0 v0.9.1 go: downloading github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 go: downloading golang.org/x/net v0.41.0 go: downloading github.com/spf13/pflag v1.0.6 go: downloading golang.org/x/term v0.32.0 go: downloading github.com/google/gnostic-models v0.6.9 go: downloading google.golang.org/protobuf v1.36.6 go: downloading sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 go: downloading github.com/fsnotify/fsnotify v1.9.0 go: downloading k8s.io/kube-openapi v0.0.0-20250610211856-8b98d1ed966a go: downloading golang.org/x/sys v0.33.0 go: downloading gopkg.in/yaml.v3 v3.0.1 go: downloading golang.org/x/time v0.12.0 go: downloading github.com/google/btree v1.1.3 go: downloading github.com/json-iterator/go v1.1.12 go: downloading github.com/pkg/errors v0.9.1 go: downloading github.com/spf13/cobra v1.9.1 go: downloading golang.org/x/sync v0.15.0 go: downloading k8s.io/cli-runtime v0.33.1 go: downloading golang.org/x/oauth2 v0.30.0 go: downloading github.com/prometheus/client_model v0.6.2 go: downloading github.com/prometheus/common v0.64.0 go: downloading github.com/fxamacker/cbor/v2 v2.8.0 go: downloading github.com/beorn7/perks v1.0.1 go: downloading github.com/cespare/xxhash/v2 v2.3.0 go: downloading github.com/prometheus/procfs v0.16.1 go: downloading golang.org/x/text v0.26.0 go: downloading github.com/go-task/slim-sprig/v3 v3.0.0 go: downloading golang.org/x/tools v0.33.0 go: downloading k8s.io/kubernetes v1.33.1 go: downloading github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd go: downloading github.com/modern-go/reflect2 v1.0.2 go: downloading github.com/inconshreveable/mousetrap v1.1.0 go: downloading github.com/jonboulle/clockwork v0.5.0 go: downloading k8s.io/component-base v0.33.1 go: downloading k8s.io/component-helpers v0.33.1 go: downloading github.com/go-openapi/swag v0.23.1 go: downloading github.com/go-openapi/jsonreference v0.21.0 go: downloading github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de go: downloading sigs.k8s.io/kustomize/kyaml v0.19.0 go: downloading github.com/moby/term v0.5.2 go: downloading sigs.k8s.io/kustomize/api v0.19.0 go: downloading github.com/x448/float16 v0.8.4 go: downloading github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad go: downloading github.com/cert-manager/cert-manager v1.14.4 go: downloading github.com/golang-jwt/jwt/v5 v5.2.2 go: downloading github.com/sethvargo/go-password v0.3.1 go: downloading github.com/gobwas/glob v0.2.3 go: downloading github.com/robfig/cron/v3 v3.0.2-0.20210106135023-bc59245fe10e go: downloading google.golang.org/grpc v1.73.0 go: downloading github.com/chai2010/gettext-go v1.0.3 go: downloading github.com/MakeNowJust/heredoc v1.0.0 go: downloading github.com/mitchellh/go-wordwrap v1.0.1 go: downloading github.com/russross/blackfriday/v2 v2.1.0 go: downloading github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f go: downloading github.com/fatih/camelcase v1.0.0 go: downloading github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79 go: downloading github.com/peterbourgon/diskv v2.0.1+incompatible go: downloading github.com/emicklei/go-restful/v3 v3.12.2 go: downloading golang.org/x/crypto v0.39.0 go: downloading github.com/argoproj/pkg/v2 v2.0.1 go: downloading github.com/redis/go-redis/v9 v9.8.0 go: downloading github.com/bmatcuk/doublestar/v4 v4.8.1 go: downloading github.com/argoproj/pkg v0.13.7-0.20250305113207-cbc37dc61de5 go: downloading github.com/bradleyfalzon/ghinstallation/v2 v2.16.0 go: downloading github.com/go-git/go-git/v5 v5.16.2 go: downloading github.com/google/go-github/v69 v69.2.0 go: downloading github.com/patrickmn/go-cache v2.1.1-0.20191004192108-46f407853014+incompatible go: downloading oras.land/oras-go/v2 v2.6.0 go: downloading github.com/cyphar/filepath-securejoin v0.4.1 go: downloading github.com/opencontainers/image-spec v1.1.1 go: downloading github.com/casbin/casbin/v2 v2.107.0 go: downloading github.com/casbin/govaluate v1.7.0 go: downloading github.com/Azure/azure-sdk-for-go/sdk/azcore v1.18.0 go: downloading github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.10.1 go: downloading github.com/go-openapi/jsonpointer v0.21.1 go: downloading k8s.io/apiserver v0.33.1 go: downloading github.com/mailru/easyjson v0.9.0 go: downloading github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 go: downloading github.com/dlclark/regexp2 v1.11.5 go: downloading github.com/Masterminds/semver/v3 v3.3.1 go: downloading github.com/google/go-github/v72 v72.0.0 go: downloading github.com/golang-jwt/jwt/v4 v4.5.2 go: downloading github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f go: downloading dario.cat/mergo v1.0.2 go: downloading github.com/ProtonMail/go-crypto v1.1.6 go: downloading github.com/go-git/go-billy/v5 v5.6.2 go: downloading github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 go: downloading cloud.google.com/go/compute/metadata v0.6.0 go: downloading github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 go: downloading github.com/go-redis/cache/v9 v9.0.0 go: downloading github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 go: downloading github.com/kevinburke/ssh_config v1.2.0 go: downloading github.com/skeema/knownhosts v1.3.1 go: downloading github.com/xanzy/ssh-agent v0.3.3 go: downloading github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 go: downloading github.com/google/go-querystring v1.1.0 go: downloading github.com/opencontainers/go-digest v1.0.0 go: downloading github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c go: downloading k8s.io/controller-manager v0.33.1 go: downloading github.com/distribution/reference v0.6.0 go: downloading github.com/bombsimon/logrusr/v4 v4.1.0 go: downloading github.com/go-errors/errors v1.5.1 go: downloading google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237 go: downloading github.com/Azure/azure-sdk-for-go/sdk/internal v1.11.1 go: downloading github.com/AzureAD/microsoft-authentication-library-for-go v1.4.2 go: downloading github.com/josharian/intern v1.0.0 go: downloading github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 go: downloading github.com/pjbgf/sha1cd v0.3.2 go: downloading github.com/emirpasic/gods v1.18.1 go: downloading github.com/klauspost/compress v1.18.0 go: downloading github.com/vmihailenco/go-tinylfu v0.2.2 go: downloading github.com/vmihailenco/msgpack/v5 v5.4.1 go: downloading github.com/moby/spdystream v0.5.0 go: downloading github.com/Microsoft/go-winio v0.6.2 go: downloading github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 go: downloading github.com/xlab/treeprint v1.2.0 go: downloading github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 go: downloading github.com/cloudflare/circl v1.6.1 go: downloading github.com/kylelemons/godebug v1.1.0 go: downloading github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f go: downloading github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c go: downloading gopkg.in/warnings.v0 v0.1.2 go: downloading github.com/vmihailenco/tagparser/v2 v2.0.0 go: downloading go.opentelemetry.io/otel/trace v1.36.0 go: downloading go.opentelemetry.io/otel v1.36.0 go: downloading sigs.k8s.io/gateway-api v1.0.0 ++ dirname scripts/openshift-CI-kuttl-tests.sh + source scripts/e2e-common.sh + KUBECONFIG=/tmp/kubeconfig-2910520785 ++ mktemp -d + TMP_DIR=/tmp/tmp.OsXBepH8ks + cp /tmp/kubeconfig-2910520785 /tmp/tmp.OsXBepH8ks/kubeconfig + chmod 640 /tmp/tmp.OsXBepH8ks/kubeconfig + export KUBECONFIG=/tmp/tmp.OsXBepH8ks/kubeconfig + KUBECONFIG=/tmp/tmp.OsXBepH8ks/kubeconfig + cp /tmp/tmp.OsXBepH8ks/kubeconfig /go/src/github.com/redhat-developer/gitops-operator/kubeconfig + pod=openshift-gitops-operator-controller-manager ++ oc get pods --all-namespaces ++ grep openshift-gitops-operator-controller-manager ++ head -1 ++ awk '{print $2}' + oc get pods openshift-gitops-operator-controller-manager-65fcd694cc-5749q -n openshift-gitops-operator -o yaml apiVersion: v1 kind: Pod metadata: annotations: alm-examples: |- [ { "apiVersion": "argoproj.io/v1alpha1", "kind": "AppProject", "metadata": { "name": "example" }, "spec": null }, { "apiVersion": "argoproj.io/v1alpha1", "kind": "Application", "metadata": { "name": "example" }, "spec": null }, { "apiVersion": "argoproj.io/v1alpha1", "kind": "ApplicationSet", "metadata": { "name": "example" }, "spec": null }, { "apiVersion": "argoproj.io/v1alpha1", "kind": "NotificationsConfiguration", "metadata": { "name": "default-notifications-configuration" }, "spec": { "templates": { "template.app-created": "email:\n subject: Application {{.app.metadata.name}} has been created.\nmessage: Application {{.app.metadata.name}} has been created.\nteams:\n title: Application {{.app.metadata.name}} has been created.", "template.app-deleted": "email:\n subject: Application {{.app.metadata.name}} has been deleted.\nmessage: Application {{.app.metadata.name}} has been deleted.\nteams:\n title: Application {{.app.metadata.name}} has been deleted.", "template.app-deployed": "email:\n subject: New version of an application {{.app.metadata.name}} is up and running.\nmessage: |\n {{if eq .serviceType \"slack\"}}:white_check_mark:{{end}} Application {{.app.metadata.name}} is now running new version of deployments manifests.\nslack:\n attachments: |\n [{\n \"title\": \"{{ .app.metadata.name}}\",\n \"title_link\":\"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}\",\n \"color\": \"#18be52\",\n \"fields\": [\n {\n \"title\": \"Sync Status\",\n \"value\": \"{{.app.status.sync.status}}\",\n \"short\": true\n },\n {\n \"title\": \"Repository\",\n \"value\": \"{{.app.spec.source.repoURL}}\",\n \"short\": true\n },\n {\n \"title\": \"Revision\",\n \"value\": \"{{.app.status.sync.revision}}\",\n \"short\": true\n }\n {{range $index, $c := .app.status.conditions}}\n {{if not $index}},{{end}}\n {{if $index}},{{end}}\n {\n \"title\": \"{{$c.type}}\",\n \"value\": \"{{$c.message}}\",\n \"short\": true\n }\n {{end}}\n ]\n }]\n deliveryPolicy: Post\n groupingKey: \"\"\n notifyBroadcast: false\nteams:\n facts: |\n [{\n \"name\": \"Sync Status\",\n \"value\": \"{{.app.status.sync.status}}\"\n },\n {\n \"name\": \"Repository\",\n \"value\": \"{{.app.spec.source.repoURL}}\"\n },\n {\n \"name\": \"Revision\",\n \"value\": \"{{.app.status.sync.revision}}\"\n }\n {{range $index, $c := .app.status.conditions}}\n {{if not $index}},{{end}}\n {{if $index}},{{end}}\n {\n \"name\": \"{{$c.type}}\",\n \"value\": \"{{$c.message}}\"\n }\n {{end}}\n ]\n potentialAction: |-\n [{\n \"@type\":\"OpenUri\",\n \"name\":\"Operation Application\",\n \"targets\":[{\n \"os\":\"default\",\n \"uri\":\"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}\"\n }]\n },\n {\n \"@type\":\"OpenUri\",\n \"name\":\"Open Repository\",\n \"targets\":[{\n \"os\":\"default\",\n \"uri\":\"{{.app.spec.source.repoURL | call .repo.RepoURLToHTTPS}}\"\n }]\n }]\n themeColor: '#000080'\n title: New version of an application {{.app.metadata.name}} is up and running.", "template.app-health-degraded": "email:\n subject: Application {{.app.metadata.name}} has degraded.\nmessage: |\n {{if eq .serviceType \"slack\"}}:exclamation:{{end}} Application {{.app.metadata.name}} has degraded.\n Application details: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}.\nslack:\n attachments: |\n [{\n \"title\": \"{{ .app.metadata.name}}\",\n \"title_link\": \"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}\",\n \"color\": \"#f4c030\",\n \"fields\": [\n {\n \"title\": \"Health Status\",\n \"value\": \"{{.app.status.health.status}}\",\n \"short\": true\n },\n {\n \"title\": \"Repository\",\n \"value\": \"{{.app.spec.source.repoURL}}\",\n \"short\": true\n }\n {{range $index, $c := .app.status.conditions}}\n {{if not $index}},{{end}}\n {{if $index}},{{end}}\n {\n \"title\": \"{{$c.type}}\",\n \"value\": \"{{$c.message}}\",\n \"short\": true\n }\n {{end}}\n ]\n }]\n deliveryPolicy: Post\n groupingKey: \"\"\n notifyBroadcast: false\nteams:\n facts: |\n [{\n \"name\": \"Health Status\",\n \"value\": \"{{.app.status.health.status}}\"\n },\n {\n \"name\": \"Repository\",\n \"value\": \"{{.app.spec.source.repoURL}}\"\n }\n {{range $index, $c := .app.status.conditions}}\n {{if not $index}},{{end}}\n {{if $index}},{{end}}\n {\n \"name\": \"{{$c.type}}\",\n \"value\": \"{{$c.message}}\"\n }\n {{end}}\n ]\n potentialAction: |\n [{\n \"@type\":\"OpenUri\",\n \"name\":\"Open Application\",\n \"targets\":[{\n \"os\":\"default\",\n \"uri\":\"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}\"\n }]\n },\n {\n \"@type\":\"OpenUri\",\n \"name\":\"Open Repository\",\n \"targets\":[{\n \"os\":\"default\",\n \"uri\":\"{{.app.spec.source.repoURL | call .repo.RepoURLToHTTPS}}\"\n }]\n }]\n themeColor: '#FF0000'\n title: Application {{.app.metadata.name}} has degraded.", "template.app-sync-failed": "email:\n subject: Failed to sync application {{.app.metadata.name}}.\nmessage: |\n {{if eq .serviceType \"slack\"}}:exclamation:{{end}} The sync operation of application {{.app.metadata.name}} has failed at {{.app.status.operationState.finishedAt}} with the following error: {{.app.status.operationState.message}}\n Sync operation details are available at: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true .\nslack:\n attachments: |\n [{\n \"title\": \"{{ .app.metadata.name}}\",\n \"title_link\":\"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}\",\n \"color\": \"#E96D76\",\n \"fields\": [\n {\n \"title\": \"Sync Status\",\n \"value\": \"{{.app.status.sync.status}}\",\n \"short\": true\n },\n {\n \"title\": \"Repository\",\n \"value\": \"{{.app.spec.source.repoURL}}\",\n \"short\": true\n }\n {{range $index, $c := .app.status.conditions}}\n {{if not $index}},{{end}}\n {{if $index}},{{end}}\n {\n \"title\": \"{{$c.type}}\",\n \"value\": \"{{$c.message}}\",\n \"short\": true\n }\n {{end}}\n ]\n }]\n deliveryPolicy: Post\n groupingKey: \"\"\n notifyBroadcast: false\nteams:\n facts: |\n [{\n \"name\": \"Sync Status\",\n \"value\": \"{{.app.status.sync.status}}\"\n },\n {\n \"name\": \"Failed at\",\n \"value\": \"{{.app.status.operationState.finishedAt}}\"\n },\n {\n \"name\": \"Repository\",\n \"value\": \"{{.app.spec.source.repoURL}}\"\n }\n {{range $index, $c := .app.status.conditions}}\n {{if not $index}},{{end}}\n {{if $index}},{{end}}\n {\n \"name\": \"{{$c.type}}\",\n \"value\": \"{{$c.message}}\"\n }\n {{end}}\n ]\n potentialAction: |-\n [{\n \"@type\":\"OpenUri\",\n \"name\":\"Open Operation\",\n \"targets\":[{\n \"os\":\"default\",\n \"uri\":\"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true\"\n }]\n },\n {\n \"@type\":\"OpenUri\",\n \"name\":\"Open Repository\",\n \"targets\":[{\n \"os\":\"default\",\n \"uri\":\"{{.app.spec.source.repoURL | call .repo.RepoURLToHTTPS}}\"\n }]\n }]\n themeColor: '#FF0000'\n title: Failed to sync application {{.app.metadata.name}}.", "template.app-sync-running": "email:\n subject: Start syncing application {{.app.metadata.name}}.\nmessage: |\n The sync operation of application {{.app.metadata.name}} has started at {{.app.status.operationState.startedAt}}.\n Sync operation details are available at: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true .\nslack:\n attachments: |\n [{\n \"title\": \"{{ .app.metadata.name}}\",\n \"title_link\":\"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}\",\n \"color\": \"#0DADEA\",\n \"fields\": [\n {\n \"title\": \"Sync Status\",\n \"value\": \"{{.app.status.sync.status}}\",\n \"short\": true\n },\n {\n \"title\": \"Repository\",\n \"value\": \"{{.app.spec.source.repoURL}}\",\n \"short\": true\n }\n {{range $index, $c := .app.status.conditions}}\n {{if not $index}},{{end}}\n {{if $index}},{{end}}\n {\n \"title\": \"{{$c.type}}\",\n \"value\": \"{{$c.message}}\",\n \"short\": true\n }\n {{end}}\n ]\n }]\n deliveryPolicy: Post\n groupingKey: \"\"\n notifyBroadcast: false\nteams:\n facts: |\n [{\n \"name\": \"Sync Status\",\n \"value\": \"{{.app.status.sync.status}}\"\n },\n {\n \"name\": \"Started at\",\n \"value\": \"{{.app.status.operationState.startedAt}}\"\n },\n {\n \"name\": \"Repository\",\n \"value\": \"{{.app.spec.source.repoURL}}\"\n }\n {{range $index, $c := .app.status.conditions}}\n {{if not $index}},{{end}}\n {{if $index}},{{end}}\n {\n \"name\": \"{{$c.type}}\",\n \"value\": \"{{$c.message}}\"\n }\n {{end}}\n ]\n potentialAction: |-\n [{\n \"@type\":\"OpenUri\",\n \"name\":\"Open Operation\",\n \"targets\":[{\n \"os\":\"default\",\n \"uri\":\"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true\"\n }]\n },\n {\n \"@type\":\"OpenUri\",\n \"name\":\"Open Repository\",\n \"targets\":[{\n \"os\":\"default\",\n \"uri\":\"{{.app.spec.source.repoURL | call .repo.RepoURLToHTTPS}}\"\n }]\n }]\n title: Start syncing application {{.app.metadata.name}}.", "template.app-sync-status-unknown": "email:\n subject: Application {{.app.metadata.name}} sync status is 'Unknown'\nmessage: |\n {{if eq .serviceType \"slack\"}}:exclamation:{{end}} Application {{.app.metadata.name}} sync is 'Unknown'.\n Application details: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}.\n {{if ne .serviceType \"slack\"}}\n {{range $c := .app.status.conditions}}\n * {{$c.message}}\n {{end}}\n {{end}}\nslack:\n attachments: |\n [{\n \"title\": \"{{ .app.metadata.name}}\",\n \"title_link\":\"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}\",\n \"color\": \"#E96D76\",\n \"fields\": [\n {\n \"title\": \"Sync Status\",\n \"value\": \"{{.app.status.sync.status}}\",\n \"short\": true\n },\n {\n \"title\": \"Repository\",\n \"value\": \"{{.app.spec.source.repoURL}}\",\n \"short\": true\n }\n {{range $index, $c := .app.status.conditions}}\n {{if not $index}},{{end}}\n {{if $index}},{{end}}\n {\n \"title\": \"{{$c.type}}\",\n \"value\": \"{{$c.message}}\",\n \"short\": true\n }\n {{end}}\n ]\n }]\n deliveryPolicy: Post\n groupingKey: \"\"\n notifyBroadcast: false\nteams:\n facts: |\n [{\n \"name\": \"Sync Status\",\n \"value\": \"{{.app.status.sync.status}}\"\n },\n {\n \"name\": \"Repository\",\n \"value\": \"{{.app.spec.source.repoURL}}\"\n }\n {{range $index, $c := .app.status.conditions}}\n {{if not $index}},{{end}}\n {{if $index}},{{end}}\n {\n \"name\": \"{{$c.type}}\",\n \"value\": \"{{$c.message}}\"\n }\n {{end}}\n ]\n potentialAction: |-\n [{\n \"@type\":\"OpenUri\",\n \"name\":\"Open Application\",\n \"targets\":[{\n \"os\":\"default\",\n \"uri\":\"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}\"\n }]\n },\n {\n \"@type\":\"OpenUri\",\n \"name\":\"Open Repository\",\n \"targets\":[{\n \"os\":\"default\",\n \"uri\":\"{{.app.spec.source.repoURL | call .repo.RepoURLToHTTPS}}\"\n }]\n }]\n title: Application {{.app.metadata.name}} sync status is 'Unknown'", "template.app-sync-succeeded": "email:\n subject: Application {{.app.metadata.name}} has been successfully synced.\nmessage: |\n {{if eq .serviceType \"slack\"}}:white_check_mark:{{end}} Application {{.app.metadata.name}} has been successfully synced at {{.app.status.operationState.finishedAt}}.\n Sync operation details are available at: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true .\nslack:\n attachments: |\n [{\n \"title\": \"{{ .app.metadata.name}}\",\n \"title_link\":\"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}\",\n \"color\": \"#18be52\",\n \"fields\": [\n {\n \"title\": \"Sync Status\",\n \"value\": \"{{.app.status.sync.status}}\",\n \"short\": true\n },\n {\n \"title\": \"Repository\",\n \"value\": \"{{.app.spec.source.repoURL}}\",\n \"short\": true\n }\n {{range $index, $c := .app.status.conditions}}\n {{if not $index}},{{end}}\n {{if $index}},{{end}}\n {\n \"title\": \"{{$c.type}}\",\n \"value\": \"{{$c.message}}\",\n \"short\": true\n }\n {{end}}\n ]\n }]\n deliveryPolicy: Post\n groupingKey: \"\"\n notifyBroadcast: false\nteams:\n facts: |\n [{\n \"name\": \"Sync Status\",\n \"value\": \"{{.app.status.sync.status}}\"\n },\n {\n \"name\": \"Synced at\",\n \"value\": \"{{.app.status.operationState.finishedAt}}\"\n },\n {\n \"name\": \"Repository\",\n \"value\": \"{{.app.spec.source.repoURL}}\"\n }\n {{range $index, $c := .app.status.conditions}}\n {{if not $index}},{{end}}\n {{if $index}},{{end}}\n {\n \"name\": \"{{$c.type}}\",\n \"value\": \"{{$c.message}}\"\n }\n {{end}}\n ]\n potentialAction: |-\n [{\n \"@type\":\"OpenUri\",\n \"name\":\"Operation Details\",\n \"targets\":[{\n \"os\":\"default\",\n \"uri\":\"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true\"\n }]\n },\n {\n \"@type\":\"OpenUri\",\n \"name\":\"Open Repository\",\n \"targets\":[{\n \"os\":\"default\",\n \"uri\":\"{{.app.spec.source.repoURL | call .repo.RepoURLToHTTPS}}\"\n }]\n }]\n themeColor: '#000080'\n title: Application {{.app.metadata.name}} has been successfully synced" }, "triggers": { "trigger.on-created": "- description: Application is created.\n oncePer: app.metadata.name\n send:\n - app-created\n when: \"true\"", "trigger.on-deleted": "- description: Application is deleted.\n oncePer: app.metadata.name\n send:\n - app-deleted\n when: app.metadata.deletionTimestamp != nil", "trigger.on-deployed": "- description: Application is synced and healthy. Triggered once per commit.\n oncePer: app.status.operationState.syncResult.revision\n send:\n - app-deployed\n when: app.status.operationState.phase in ['Succeeded'] and app.status.health.status\n == 'Healthy'", "trigger.on-health-degraded": "- description: Application has degraded\n send:\n - app-health-degraded\n when: app.status.health.status == 'Degraded'", "trigger.on-sync-failed": "- description: Application syncing has failed\n send:\n - app-sync-failed\n when: app.status.operationState.phase in ['Error', 'Failed']", "trigger.on-sync-running": "- description: Application is being synced\n send:\n - app-sync-running\n when: app.status.operationState.phase in ['Running']", "trigger.on-sync-status-unknown": "- description: Application status is 'Unknown'\n send:\n - app-sync-status-unknown\n when: app.status.sync.status == 'Unknown'", "trigger.on-sync-succeeded": "- description: Application syncing has succeeded\n send:\n - app-sync-succeeded\n when: app.status.operationState.phase in ['Succeeded']" } } }, { "apiVersion": "argoproj.io/v1alpha1", "kind": "Rollout", "metadata": { "name": "example" }, "spec": null }, { "apiVersion": "argoproj.io/v1alpha1", "kind": "RolloutManager", "metadata": { "name": "example" }, "spec": null }, { "apiVersion": "argoproj.io/v1beta1", "kind": "ArgoCD", "metadata": { "name": "argocd" }, "spec": { "controller": { "resources": { "limits": { "cpu": "2000m", "memory": "2048Mi" }, "requests": { "cpu": "250m", "memory": "1024Mi" } } }, "ha": { "enabled": false, "resources": { "limits": { "cpu": "500m", "memory": "256Mi" }, "requests": { "cpu": "250m", "memory": "128Mi" } } }, "rbac": { "defaultPolicy": "", "policy": "g, system:cluster-admins, role:admin\n", "scopes": "[groups]" }, "redis": { "resources": { "limits": { "cpu": "500m", "memory": "256Mi" }, "requests": { "cpu": "250m", "memory": "128Mi" } } }, "repo": { "resources": { "limits": { "cpu": "1000m", "memory": "1024Mi" }, "requests": { "cpu": "250m", "memory": "256Mi" } } }, "resourceExclusions": "- apiGroups:\n - \"\"\n - discovery.k8s.io\n kinds:\n - Endpoints\n - EndpointSlice\n- apiGroups:\n - apiregistration.k8s.io\n kinds:\n - APIService\n- apiGroups:\n - coordination.k8s.io\n kinds:\n - Lease\n- apiGroups:\n - authentication.k8s.io\n - authorization.k8s.io\n kinds:\n - SelfSubjectReview\n - TokenReview\n - LocalSubjectAccessReview\n - SelfSubjectAccessReview\n - SelfSubjectRulesReview\n - SubjectAccessReview\n- apiGroups:\n - certificates.k8s.io\n kinds:\n - CertificateSigningRequest\n- apiGroups:\n - cert-manager.io\n kinds:\n - CertificateRequest\n- apiGroups:\n - cilium.io\n kinds:\n - CiliumIdentity\n - CiliumEndpoint\n - CiliumEndpointSlice\n- apiGroups:\n - kyverno.io\n - reports.kyverno.io\n - wgpolicyk8s.io\n kinds:\n - PolicyReport\n - ClusterPolicyReport\n - EphemeralReport\n - ClusterEphemeralReport\n - AdmissionReport\n - ClusterAdmissionReport\n - BackgroundScanReport\n - ClusterBackgroundScanReport\n - UpdateRequest\n- apiGroups:\n - tekton.dev\n clusters:\n - '*'\n kinds:\n - TaskRun\n - PipelineRun\n", "server": { "resources": { "limits": { "cpu": "500m", "memory": "256Mi" }, "requests": { "cpu": "125m", "memory": "128Mi" } }, "route": { "enabled": true } }, "sso": { "dex": { "openShiftOAuth": true, "resources": { "limits": { "cpu": "500m", "memory": "256Mi" }, "requests": { "cpu": "250m", "memory": "128Mi" } } }, "provider": "dex" } } }, { "apiVersion": "pipelines.openshift.io/v1alpha1", "kind": "GitopsService", "metadata": { "name": "gitopsservice-sample" }, "spec": null } ] capabilities: Deep Insights console.openshift.io/plugins: '["gitops-plugin"]' containerImage: registry.redhat.io/openshift-gitops-1/gitops-rhel8-operator@sha256:4de51d00e08118a95debafc752a7bbcc5fe0716802e38c705e2c9d801268a49d createdAt: "2025-09-30T08:46:55Z" description: Enables teams to adopt GitOps principles for managing cluster configurations and application delivery across hybrid multi-cluster Kubernetes environments. features.operators.openshift.io/cnf: "false" features.operators.openshift.io/cni: "false" features.operators.openshift.io/csi: "false" features.operators.openshift.io/disconnected: "true" features.operators.openshift.io/fips-compliant: "true" features.operators.openshift.io/proxy-aware: "true" features.operators.openshift.io/tls-profiles: "false" features.operators.openshift.io/token-auth-aws: "false" features.operators.openshift.io/token-auth-azure: "false" features.operators.openshift.io/token-auth-gcp: "false" k8s.ovn.org/pod-networks: '{"default":{"ip_addresses":["10.129.2.19/23"],"mac_address":"0a:58:0a:81:02:13","gateway_ips":["10.129.2.1"],"routes":[{"dest":"10.128.0.0/14","nextHop":"10.129.2.1"},{"dest":"172.30.0.0/16","nextHop":"10.129.2.1"},{"dest":"169.254.0.5/32","nextHop":"10.129.2.1"},{"dest":"100.64.0.0/16","nextHop":"10.129.2.1"}],"ip_address":"10.129.2.19/23","gateway_ip":"10.129.2.1","role":"primary"}}' k8s.v1.cni.cncf.io/network-status: |- [{ "name": "ovn-kubernetes", "interface": "eth0", "ips": [ "10.129.2.19" ], "mac": "0a:58:0a:81:02:13", "default": true, "dns": {} }] kubectl.kubernetes.io/default-container: manager olm.operatorGroup: global-operators olm.operatorNamespace: openshift-gitops-operator olm.skipRange: "" olm.targetNamespaces: "" olmcahash: dad6d483c375406b6c1f2c759d9e1bf8cd0751c00efc5e95b1555435e36e5184 openshift.io/scc: restricted-v2 operatorframework.io/cluster-monitoring: "true" operatorframework.io/properties: '{"properties":[{"type":"olm.gvk","value":{"group":"argoproj.io","kind":"AnalysisRun","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"argoproj.io","kind":"AnalysisTemplate","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"argoproj.io","kind":"AppProject","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"argoproj.io","kind":"Application","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"argoproj.io","kind":"ApplicationSet","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"argoproj.io","kind":"ArgoCD","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"argoproj.io","kind":"ArgoCD","version":"v1beta1"}},{"type":"olm.gvk","value":{"group":"argoproj.io","kind":"ClusterAnalysisTemplate","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"argoproj.io","kind":"Experiment","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"argoproj.io","kind":"NamespaceManagement","version":"v1beta1"}},{"type":"olm.gvk","value":{"group":"argoproj.io","kind":"NotificationsConfiguration","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"argoproj.io","kind":"Rollout","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"argoproj.io","kind":"RolloutManager","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"pipelines.openshift.io","kind":"GitopsService","version":"v1alpha1"}},{"type":"olm.package","value":{"packageName":"openshift-gitops-operator","version":"1.18.1"}}]}' operatorframework.io/suggested-namespace: openshift-gitops-operator operators.openshift.io/infrastructure-features: '["disconnected"]' operators.openshift.io/valid-subscription: '["OpenShift Container Platform", "OpenShift Platform Plus"]' operators.operatorframework.io/builder: operator-sdk-v1.35.0 operators.operatorframework.io/internal-objects: '["gitopsservices.pipelines.openshift.io"]' operators.operatorframework.io/project_layout: go.kubebuilder.io/v4 repository: https://github.com/redhat-developer/gitops-operator seccomp.security.alpha.kubernetes.io/pod: runtime/default security.openshift.io/validated-scc-subject-type: user support: Red Hat creationTimestamp: "2025-10-30T16:43:05Z" generateName: openshift-gitops-operator-controller-manager-65fcd694cc- generation: 1 labels: control-plane: gitops-operator pod-template-hash: 65fcd694cc name: openshift-gitops-operator-controller-manager-65fcd694cc-5749q namespace: openshift-gitops-operator ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: ReplicaSet name: openshift-gitops-operator-controller-manager-65fcd694cc uid: d4408c7a-687d-40ac-bf82-c783abedd40d resourceVersion: "33460" uid: ed265c29-fc2f-454b-9181-27ab6ee5b3b1 spec: containers: - args: - --health-probe-bind-address=:8081 - --metrics-bind-address=127.0.0.1:8080 - --leader-elect command: - /usr/local/bin/manager env: - name: ARGOCD_CLUSTER_CONFIG_NAMESPACES value: openshift-gitops - name: CLUSTER_SCOPED_ARGO_ROLLOUTS_NAMESPACES value: openshift-gitops - name: OPERATOR_NAME value: gitops-operator - name: LABEL_SELECTOR - name: ENABLE_CONVERSION_WEBHOOK value: "true" - name: RELATED_IMAGE_ARGOCD_DEX_IMAGE value: registry.redhat.io/openshift-gitops-1/dex-rhel8@sha256:2247a0d0f6e4aa664e65d0e6cffd14f34561c4855306fdbbf0a55b952292dfcf - name: ARGOCD_DEX_IMAGE value: registry.redhat.io/openshift-gitops-1/dex-rhel8@sha256:2247a0d0f6e4aa664e65d0e6cffd14f34561c4855306fdbbf0a55b952292dfcf - name: RELATED_IMAGE_ARGOCD_KEYCLOAK_IMAGE value: registry.redhat.io/rh-sso-7/sso76-openshift-rhel8@sha256:923206112ed0873ee58edd0817dbce7bb4c9a89dc75d9b3ba2affe9aed4811de - name: ARGOCD_KEYCLOAK_IMAGE value: registry.redhat.io/rh-sso-7/sso76-openshift-rhel8@sha256:923206112ed0873ee58edd0817dbce7bb4c9a89dc75d9b3ba2affe9aed4811de - name: RELATED_IMAGE_BACKEND_IMAGE value: registry.redhat.io/openshift-gitops-1/gitops-rhel8@sha256:01883ebbe93f97a8196204adcd1749280b697e4c81f80658fdba507301f033aa - name: BACKEND_IMAGE value: registry.redhat.io/openshift-gitops-1/gitops-rhel8@sha256:01883ebbe93f97a8196204adcd1749280b697e4c81f80658fdba507301f033aa - name: RELATED_IMAGE_ARGOCD_IMAGE value: registry.redhat.io/openshift-gitops-1/argocd-rhel8@sha256:f217d2b894fc579013db354ee21aceba9290dce008ae07cff3693483314b4fa7 - name: ARGOCD_IMAGE value: registry.redhat.io/openshift-gitops-1/argocd-rhel8@sha256:f217d2b894fc579013db354ee21aceba9290dce008ae07cff3693483314b4fa7 - name: ARGOCD_REPOSERVER_IMAGE value: registry.redhat.io/openshift-gitops-1/argocd-rhel8@sha256:f217d2b894fc579013db354ee21aceba9290dce008ae07cff3693483314b4fa7 - name: RELATED_IMAGE_ARGOCD_REDIS_IMAGE value: registry.redhat.io/rhel9/redis-7@sha256:b4f58ad83ab8719a2e102f38ee526546cd1d56428901afc3add45c9a0e2a2f12 - name: ARGOCD_REDIS_IMAGE value: registry.redhat.io/rhel9/redis-7@sha256:b4f58ad83ab8719a2e102f38ee526546cd1d56428901afc3add45c9a0e2a2f12 - name: ARGOCD_REDIS_HA_IMAGE value: registry.redhat.io/rhel9/redis-7@sha256:b4f58ad83ab8719a2e102f38ee526546cd1d56428901afc3add45c9a0e2a2f12 - name: RELATED_IMAGE_ARGOCD_REDIS_HA_PROXY_IMAGE value: registry.redhat.io/openshift4/ose-haproxy-router@sha256:5ca16b5d521ca60461e8e85d8af09ce940d4346e51e09296c5a2bc2f2d162b5c - name: ARGOCD_REDIS_HA_PROXY_IMAGE value: registry.redhat.io/openshift4/ose-haproxy-router@sha256:5ca16b5d521ca60461e8e85d8af09ce940d4346e51e09296c5a2bc2f2d162b5c - name: RELATED_IMAGE_GITOPS_CONSOLE_PLUGIN_IMAGE value: registry.redhat.io/openshift-gitops-1/console-plugin-rhel8@sha256:fe57b69fc1570f7ea28530a67ceb44a58537dec419e7d5aa77e8e13fa61cccfc - name: GITOPS_CONSOLE_PLUGIN_IMAGE value: registry.redhat.io/openshift-gitops-1/console-plugin-rhel8@sha256:fe57b69fc1570f7ea28530a67ceb44a58537dec419e7d5aa77e8e13fa61cccfc - name: RELATED_IMAGE_ARGOCD_EXTENSION_IMAGE value: registry.redhat.io/openshift-gitops-1/argocd-extensions-rhel8@sha256:1a4438daf2a66905d24d63a9ac910700da185094109a415af41741191fcc35b8 - name: ARGOCD_EXTENSION_IMAGE value: registry.redhat.io/openshift-gitops-1/argocd-extensions-rhel8@sha256:1a4438daf2a66905d24d63a9ac910700da185094109a415af41741191fcc35b8 - name: RELATED_IMAGE_ARGO_ROLLOUTS_IMAGE value: registry.redhat.io/openshift-gitops-1/argo-rollouts-rhel8@sha256:fd267dc31d61ecaf8e6d5211990f0a48ff52b49ff0730d9de7158ff5e781c0e0 - name: ARGO_ROLLOUTS_IMAGE value: registry.redhat.io/openshift-gitops-1/argo-rollouts-rhel8@sha256:fd267dc31d61ecaf8e6d5211990f0a48ff52b49ff0730d9de7158ff5e781c0e0 - name: RELATED_IMAGE_MUST_GATHER_IMAGE value: registry.redhat.io/openshift-gitops-1/must-gather-rhel8@sha256:7f182a6a714a8ce15622e19ac2b2beb2c8fd972da88b6835cdd9a6a69829be0d - name: RELATED_IMAGE_KUBE_RBAC_PROXY_IMAGE value: registry.redhat.io/openshift4/ose-kube-rbac-proxy@sha256:fa0acefda43e309e7f9f31f5247c933d0b868ff1573ece2f38e0549d7e2ec942 - name: ARGOCD_PRINCIPAL_IMAGE value: registry.redhat.io/openshift-gitops-1/argocd-agent-rhel8@sha256:d17069d475959a5fca31dc4cd2c2dce4f3d895f2c2b97906261791674a889079 - name: OPERATOR_CONDITION_NAME value: openshift-gitops-operator.v1.18.1 image: registry.redhat.io/openshift-gitops-1/gitops-rhel8-operator@sha256:4de51d00e08118a95debafc752a7bbcc5fe0716802e38c705e2c9d801268a49d imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 3 httpGet: path: /healthz port: 8081 scheme: HTTP initialDelaySeconds: 15 periodSeconds: 20 successThreshold: 1 timeoutSeconds: 1 name: manager ports: - containerPort: 9443 name: webhook-server protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: /readyz port: 8081 scheme: HTTP initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 resources: {} securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: true runAsNonRoot: true runAsUser: 1000740000 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /apiserver.local.config/certificates name: apiservice-cert - mountPath: /tmp/k8s-webhook-server/serving-certs name: webhook-cert - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-sh9mb readOnly: true - args: - --secure-listen-address=0.0.0.0:8443 - --upstream=http://127.0.0.1:8080 - --tls-cert-file=/etc/tls/private/tls.crt - --tls-private-key-file=/etc/tls/private/tls.key - --logtostderr=true - --allow-paths=/metrics - --http2-disable env: - name: OPERATOR_CONDITION_NAME value: openshift-gitops-operator.v1.18.1 image: registry.redhat.io/openshift4/ose-kube-rbac-proxy@sha256:fa0acefda43e309e7f9f31f5247c933d0b868ff1573ece2f38e0549d7e2ec942 imagePullPolicy: IfNotPresent name: kube-rbac-proxy ports: - containerPort: 8443 name: metrics protocol: TCP resources: limits: cpu: 500m memory: 128Mi requests: cpu: 1m memory: 15Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL runAsUser: 1000740000 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /etc/tls/private name: kube-rbac-proxy-tls readOnly: true - mountPath: /apiserver.local.config/certificates name: apiservice-cert - mountPath: /tmp/k8s-webhook-server/serving-certs name: webhook-cert - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-sh9mb readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true imagePullSecrets: - name: openshift-gitops-operator-controller-manager-dockercfg-dbmwc nodeName: ip-10-0-24-196.us-east-2.compute.internal preemptionPolicy: PreemptLowerPriority priority: 0 restartPolicy: Always schedulerName: default-scheduler securityContext: fsGroup: 1000740000 runAsNonRoot: true seLinuxOptions: level: s0:c27,c19 seccompProfile: type: RuntimeDefault serviceAccount: openshift-gitops-operator-controller-manager serviceAccountName: openshift-gitops-operator-controller-manager terminationGracePeriodSeconds: 10 tolerations: - effect: NoExecute key: node.kubernetes.io/not-ready operator: Exists tolerationSeconds: 300 - effect: NoExecute key: node.kubernetes.io/unreachable operator: Exists tolerationSeconds: 300 - effect: NoSchedule key: node.kubernetes.io/memory-pressure operator: Exists volumes: - name: kube-rbac-proxy-tls secret: defaultMode: 420 secretName: kube-rbac-proxy-tls - name: apiservice-cert secret: defaultMode: 420 items: - key: tls.crt path: apiserver.crt - key: tls.key path: apiserver.key secretName: openshift-gitops-operator-controller-manager-service-cert - name: webhook-cert secret: defaultMode: 420 items: - key: tls.crt path: tls.crt - key: tls.key path: tls.key secretName: openshift-gitops-operator-controller-manager-service-cert - name: kube-api-access-sh9mb projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3607 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace - configMap: items: - key: service-ca.crt path: service-ca.crt name: openshift-service-ca.crt status: conditions: - lastProbeTime: null lastTransitionTime: "2025-10-30T16:43:18Z" observedGeneration: 1 status: "True" type: PodReadyToStartContainers - lastProbeTime: null lastTransitionTime: "2025-10-30T16:43:05Z" observedGeneration: 1 status: "True" type: Initialized - lastProbeTime: null lastTransitionTime: "2025-10-30T16:43:18Z" observedGeneration: 1 status: "True" type: Ready - lastProbeTime: null lastTransitionTime: "2025-10-30T16:43:18Z" observedGeneration: 1 status: "True" type: ContainersReady - lastProbeTime: null lastTransitionTime: "2025-10-30T16:43:05Z" observedGeneration: 1 status: "True" type: PodScheduled containerStatuses: - allocatedResources: cpu: 1m memory: 15Mi containerID: cri-o://512a1cb3537bc7b1d99b8fc17cff0cc3efb278922ea20f7f31be19078656ce6a image: registry.redhat.io/openshift4/ose-kube-rbac-proxy@sha256:fa0acefda43e309e7f9f31f5247c933d0b868ff1573ece2f38e0549d7e2ec942 imageID: registry.redhat.io/openshift4/ose-kube-rbac-proxy@sha256:570d9cef15d9ea55a04f0d1ba895451f61fd162ac19a5d121176b6e06c411c9f lastState: {} name: kube-rbac-proxy ready: true resources: limits: cpu: 500m memory: 128Mi requests: cpu: 1m memory: 15Mi restartCount: 0 started: true state: running: startedAt: "2025-10-30T16:43:18Z" user: linux: gid: 0 supplementalGroups: - 0 - 1000740000 uid: 1000740000 volumeMounts: - mountPath: /etc/tls/private name: kube-rbac-proxy-tls readOnly: true recursiveReadOnly: Disabled - mountPath: /apiserver.local.config/certificates name: apiservice-cert - mountPath: /tmp/k8s-webhook-server/serving-certs name: webhook-cert - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-sh9mb readOnly: true recursiveReadOnly: Disabled - containerID: cri-o://52d19c10cf5b7003b14c110b4d526e9ba25d137ef446c7905411001b5ac0b279 image: registry.redhat.io/openshift-gitops-1/gitops-rhel8-operator@sha256:4de51d00e08118a95debafc752a7bbcc5fe0716802e38c705e2c9d801268a49d imageID: registry.redhat.io/openshift-gitops-1/gitops-rhel8-operator@sha256:4de51d00e08118a95debafc752a7bbcc5fe0716802e38c705e2c9d801268a49d lastState: {} name: manager ready: true resources: {} restartCount: 0 started: true state: running: startedAt: "2025-10-30T16:43:11Z" user: linux: gid: 0 supplementalGroups: - 0 - 1000740000 uid: 1000740000 volumeMounts: - mountPath: /apiserver.local.config/certificates name: apiservice-cert - mountPath: /tmp/k8s-webhook-server/serving-certs name: webhook-cert - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-sh9mb readOnly: true recursiveReadOnly: Disabled hostIP: 10.0.24.196 hostIPs: - ip: 10.0.24.196 observedGeneration: 1 phase: Running podIP: 10.129.2.19 podIPs: - ip: 10.129.2.19 qosClass: Burstable startTime: "2025-10-30T16:43:05Z" + subscription=gitops-operator- ++ oc get subscription --all-namespaces ++ grep gitops-operator- ++ head -1 ++ awk '{print $2}' + oc get subscription -n openshift-gitops-operator NAME PACKAGE SOURCE CHANNEL openshift-gitops-operator openshift-gitops-operator redhat-operators latest + oc wait --for=condition=Ready -n openshift-gitops pod --timeout=15m -l 'app.kubernetes.io/name in (cluster,openshift-gitops-application-controller,openshift-gitops-applicationset-controller,openshift-gitops-dex-server,openshift-gitops-redis,openshift-gitops-repo-server,openshift-gitops-server)' pod/cluster-7c7f464f94-xnb47 condition met pod/openshift-gitops-application-controller-0 condition met pod/openshift-gitops-applicationset-controller-5b76d67cc-nr6x4 condition met pod/openshift-gitops-dex-server-7954789996-dqp2g condition met pod/openshift-gitops-redis-5fc6b79b69-jwspj condition met pod/openshift-gitops-repo-server-6f969cd85c-j8kfc condition met pod/openshift-gitops-server-78b845cb9f-t6fpc condition met + oc create ns test-argocd namespace/test-argocd created + cat + oc apply -f - Warning: ArgoCD v1alpha1 version is deprecated and will be converted to v1beta1 automatically. Moving forward, please use v1beta1 as the ArgoCD API version. argocd.argoproj.io/argocd created + sleep 60s + oc get pods -n test-argocd NAME READY STATUS RESTARTS AGE argocd-application-controller-0 1/1 Running 0 59s argocd-redis-6b656bfdfc-stpfc 1/1 Running 0 59s argocd-repo-server-7486fdd46-rlt4p 1/1 Running 0 59s argocd-server-768667676d-ntfnv 1/1 Running 0 59s + oc wait --for=condition=Ready -n test-argocd pod --timeout=15m -l 'app.kubernetes.io/name in (argocd-application-controller,argocd-redis,argocd-repo-server,argocd-server)' pod/argocd-application-controller-0 condition met pod/argocd-redis-6b656bfdfc-stpfc condition met pod/argocd-repo-server-7486fdd46-rlt4p condition met pod/argocd-server-768667676d-ntfnv condition met + echo '>> Running tests on prow' >> Running tests on prow + kubectl kuttl test test/openshift/e2e/sequential --config test/openshift/e2e/sequential/kuttl-test.yaml --report xml 2025/10/30 16:45:23 kutt-test config testdirs is overridden with args: [ test/openshift/e2e/sequential ] === RUN kuttl harness.go:460: starting setup harness.go:251: running tests using configured kubeconfig. I1030 16:45:24.958018 248 request.go:655] Throttling request took 1.037298307s, request: GET:https://api.ci-op-zdfth2vz-6e0ce.cspilp.interop.ccitredhat.com:6443/apis/gateway.networking.k8s.io/v1beta1?timeout=32s harness.go:356: running tests harness.go:74: going to run test suite with timeout of 720 seconds for each step harness.go:368: testsuite: test/openshift/e2e/sequential has 22 tests === RUN kuttl/harness === RUN kuttl/harness/1-002_validate_backend_service === PAUSE kuttl/harness/1-002_validate_backend_service === RUN kuttl/harness/1-008_validate-4.9CI-Failures === PAUSE kuttl/harness/1-008_validate-4.9CI-Failures === RUN kuttl/harness/1-020_validate_redis_ha_nonha === PAUSE kuttl/harness/1-020_validate_redis_ha_nonha === RUN kuttl/harness/1-026-validate_backend_service_permissions === PAUSE kuttl/harness/1-026-validate_backend_service_permissions === RUN kuttl/harness/1-028_validate_run_on_infra === PAUSE kuttl/harness/1-028_validate_run_on_infra === RUN kuttl/harness/1-034_validate_custom_roles === PAUSE kuttl/harness/1-034_validate_custom_roles === RUN kuttl/harness/1-035_validate_argocd_secret_repopulate === PAUSE kuttl/harness/1-035_validate_argocd_secret_repopulate === RUN kuttl/harness/1-040_validate_quoted_RBAC_group_names === PAUSE kuttl/harness/1-040_validate_quoted_RBAC_group_names === RUN kuttl/harness/1-041_validate_argocd_sync_alert === PAUSE kuttl/harness/1-041_validate_argocd_sync_alert === RUN kuttl/harness/1-050_validate_sso === PAUSE kuttl/harness/1-050_validate_sso === RUN kuttl/harness/1-056_validate_managed-by === PAUSE kuttl/harness/1-056_validate_managed-by === RUN kuttl/harness/1-071_validate_node_selectors === PAUSE kuttl/harness/1-071_validate_node_selectors === RUN kuttl/harness/1-077_validate_workload_status_monitoring_alert === PAUSE kuttl/harness/1-077_validate_workload_status_monitoring_alert === RUN kuttl/harness/1-078_validate_default_argocd_consoleLink === PAUSE kuttl/harness/1-078_validate_default_argocd_consoleLink === RUN kuttl/harness/1-084_validate_prune_templates === PAUSE kuttl/harness/1-084_validate_prune_templates === RUN kuttl/harness/1-085_validate_dynamic_plugin_installation === PAUSE kuttl/harness/1-085_validate_dynamic_plugin_installation === RUN kuttl/harness/1-086_validate_default_argocd_role === PAUSE kuttl/harness/1-086_validate_default_argocd_role === RUN kuttl/harness/1-100_validate_rollouts_resources_creation === PAUSE kuttl/harness/1-100_validate_rollouts_resources_creation === RUN kuttl/harness/1-101_validate_rollout_policyrules === PAUSE kuttl/harness/1-101_validate_rollout_policyrules === RUN kuttl/harness/1-105_validate_label_selector === PAUSE kuttl/harness/1-105_validate_label_selector === RUN kuttl/harness/1-106_validate_argocd_metrics_controller === PAUSE kuttl/harness/1-106_validate_argocd_metrics_controller === RUN kuttl/harness/1-107_validate_redis_ssc === PAUSE kuttl/harness/1-107_validate_redis_ssc === CONT kuttl/harness/1-002_validate_backend_service logger.go:42: 16:45:29 | 1-002_validate_backend_service | Creating namespace: kuttl-test-more-pika logger.go:42: 16:45:29 | 1-002_validate_backend_service/1-check-backend-service | starting test step 1-check-backend-service logger.go:42: 16:45:32 | 1-002_validate_backend_service/1-check-backend-service | test step completed 1-check-backend-service logger.go:42: 16:45:32 | 1-002_validate_backend_service | skipping kubernetes event logging logger.go:42: 16:45:32 | 1-002_validate_backend_service | Deleting namespace: kuttl-test-more-pika === CONT kuttl/harness/1-071_validate_node_selectors logger.go:42: 16:45:32 | 1-071_validate_node_selectors | Creating namespace: kuttl-test-honest-gull logger.go:42: 16:45:32 | 1-071_validate_node_selectors/1- | starting test step 1- I1030 16:45:35.000177 248 request.go:655] Throttling request took 2.346598792s, request: GET:https://api.ci-op-zdfth2vz-6e0ce.cspilp.interop.ccitredhat.com:6443/apis/authorization.openshift.io/v1?timeout=32s logger.go:42: 16:45:35 | 1-071_validate_node_selectors/1- | test step completed 1- logger.go:42: 16:45:35 | 1-071_validate_node_selectors/2-custom-node-selector | starting test step 2-custom-node-selector logger.go:42: 16:45:35 | 1-071_validate_node_selectors/2-custom-node-selector | running command: [sh -c oc patch gitopsservice cluster --type=merge --patch='{"spec": {"nodeSelector": {"key1": "value1"}}}' ] logger.go:42: 16:45:35 | 1-071_validate_node_selectors/2-custom-node-selector | gitopsservice.pipelines.openshift.io/cluster patched logger.go:42: 16:45:38 | 1-071_validate_node_selectors/2-custom-node-selector | test step completed 2-custom-node-selector logger.go:42: 16:45:38 | 1-071_validate_node_selectors/3-patch-run-on-infra | starting test step 3-patch-run-on-infra logger.go:42: 16:45:38 | 1-071_validate_node_selectors/3-patch-run-on-infra | running command: [sh -c oc patch gitopsservice cluster --type=merge --patch='{"spec": {"runOnInfra": true, "tolerations": [{"effect": "NoSchedule", "key": "infra", "value": "reserved"}]}}' ] logger.go:42: 16:45:38 | 1-071_validate_node_selectors/3-patch-run-on-infra | gitopsservice.pipelines.openshift.io/cluster patched logger.go:42: 16:45:41 | 1-071_validate_node_selectors/3-patch-run-on-infra | test step completed 3-patch-run-on-infra logger.go:42: 16:45:41 | 1-071_validate_node_selectors/4-change-back | starting test step 4-change-back logger.go:42: 16:45:41 | 1-071_validate_node_selectors/4-change-back | running command: [sh -c oc patch gitopsservice cluster --type=json --patch='[{"op": "remove", "path": "/spec/tolerations"}, {"op": "remove", "path": "/spec/runOnInfra"}, {"op": "remove", "path": "/spec/nodeSelector"}]' oc patch statefulset openshift-gitops-application-controller -n openshift-gitops -p '{"spec":{"replicas":0}}' ] logger.go:42: 16:45:41 | 1-071_validate_node_selectors/4-change-back | gitopsservice.pipelines.openshift.io/cluster patched logger.go:42: 16:45:41 | 1-071_validate_node_selectors/4-change-back | statefulset.apps/openshift-gitops-application-controller patched logger.go:42: 16:45:44 | 1-071_validate_node_selectors/4-change-back | test step completed 4-change-back logger.go:42: 16:45:44 | 1-071_validate_node_selectors | skipping kubernetes event logging logger.go:42: 16:45:44 | 1-071_validate_node_selectors | Deleting namespace: kuttl-test-honest-gull === CONT kuttl/harness/1-107_validate_redis_ssc logger.go:42: 16:45:44 | 1-107_validate_redis_ssc | Creating namespace: kuttl-test-lucky-collie logger.go:42: 16:45:44 | 1-107_validate_redis_ssc/1-install | starting test step 1-install I1030 16:45:45.861427 248 request.go:655] Throttling request took 1.046231601s, request: GET:https://api.ci-op-zdfth2vz-6e0ce.cspilp.interop.ccitredhat.com:6443/apis/certificates.k8s.io/v1?timeout=32s Warning: ArgoCD v1alpha1 version is deprecated and will be converted to v1beta1 automatically. Moving forward, please use v1beta1 as the ArgoCD API version. logger.go:42: 16:45:47 | 1-107_validate_redis_ssc/1-install | ArgoCD:kuttl-test-lucky-collie/argocd created logger.go:42: 16:47:53 | 1-107_validate_redis_ssc/1-install | test step completed 1-install logger.go:42: 16:47:53 | 1-107_validate_redis_ssc/2-check-ha-redis-server-ssc | starting test step 2-check-ha-redis-server-ssc logger.go:42: 16:47:53 | 1-107_validate_redis_ssc/2-check-ha-redis-server-ssc | running command: [sh -c pod_name=$(oc get pod -l app.kubernetes.io/name=argocd-redis-ha -n $NAMESPACE -o jsonpath="{.items[0].metadata.name}") actual_scc=$(oc get pod $pod_name -n $NAMESPACE -o jsonpath="{.metadata.annotations.openshift\.io/scc}") expected_scc="restricted-v2" if [[ "$actual_scc" != "$expected_scc" ]]; then echo "SCC check failed: Expected '$expected_scc' but got '$actual_scc'" exit 1 else echo "SCC check passed: '$actual_scc'" fi ] logger.go:42: 16:47:53 | 1-107_validate_redis_ssc/2-check-ha-redis-server-ssc | SCC check passed: 'restricted-v2' I1030 16:47:55.012407 248 request.go:655] Throttling request took 1.047183797s, request: GET:https://api.ci-op-zdfth2vz-6e0ce.cspilp.interop.ccitredhat.com:6443/apis/gateway.networking.k8s.io/v1beta1?timeout=32s logger.go:42: 16:47:56 | 1-107_validate_redis_ssc/2-check-ha-redis-server-ssc | test step completed 2-check-ha-redis-server-ssc logger.go:42: 16:47:56 | 1-107_validate_redis_ssc/3-check-ha-proxy-ssc | starting test step 3-check-ha-proxy-ssc logger.go:42: 16:47:56 | 1-107_validate_redis_ssc/3-check-ha-proxy-ssc | running command: [sh -c pod_name=$(oc get pod -l app.kubernetes.io/name=argocd-redis-ha-haproxy -n $NAMESPACE -o jsonpath="{.items[0].metadata.name}") actual_scc=$(oc get pod $pod_name -n $NAMESPACE -o jsonpath="{.metadata.annotations.openshift\.io/scc}") expected_scc="restricted-v2" if [[ "$actual_scc" != "$expected_scc" ]]; then echo "SCC check failed: Expected '$expected_scc' but got '$actual_scc'" exit 1 else echo "SCC check passed: '$actual_scc'" fi ] logger.go:42: 16:47:57 | 1-107_validate_redis_ssc/3-check-ha-proxy-ssc | SCC check passed: 'restricted-v2' logger.go:42: 16:47:59 | 1-107_validate_redis_ssc/3-check-ha-proxy-ssc | test step completed 3-check-ha-proxy-ssc logger.go:42: 16:47:59 | 1-107_validate_redis_ssc | skipping kubernetes event logging logger.go:42: 16:47:59 | 1-107_validate_redis_ssc | Deleting namespace: kuttl-test-lucky-collie === CONT kuttl/harness/1-106_validate_argocd_metrics_controller logger.go:42: 16:47:59 | 1-106_validate_argocd_metrics_controller | Creating namespace: kuttl-test-firm-robin logger.go:42: 16:47:59 | 1-106_validate_argocd_metrics_controller/1- | starting test step 1- logger.go:42: 16:48:02 | 1-106_validate_argocd_metrics_controller/1- | test step completed 1- logger.go:42: 16:48:02 | 1-106_validate_argocd_metrics_controller/2-disable-metrics | starting test step 2-disable-metrics logger.go:42: 16:48:02 | 1-106_validate_argocd_metrics_controller/2-disable-metrics | running command: [sh -c oc patch argocd openshift-gitops -n openshift-gitops --type='json' -p='[{"op": "replace", "path": "/spec/monitoring/disableMetrics", "value": true}]' ] logger.go:42: 16:48:03 | 1-106_validate_argocd_metrics_controller/2-disable-metrics | argocd.argoproj.io/openshift-gitops patched I1030 16:48:05.047233 248 request.go:655] Throttling request took 1.997188236s, request: GET:https://api.ci-op-zdfth2vz-6e0ce.cspilp.interop.ccitredhat.com:6443/apis/argoproj.io/v1alpha1?timeout=32s logger.go:42: 16:48:05 | 1-106_validate_argocd_metrics_controller/2-disable-metrics | test step completed 2-disable-metrics logger.go:42: 16:48:05 | 1-106_validate_argocd_metrics_controller/3-enable-metrics | starting test step 3-enable-metrics logger.go:42: 16:48:05 | 1-106_validate_argocd_metrics_controller/3-enable-metrics | running command: [sh -c oc patch argocd openshift-gitops -n openshift-gitops --type='json' -p='[{"op": "replace", "path": "/spec/monitoring/disableMetrics", "value": false}]' ] logger.go:42: 16:48:06 | 1-106_validate_argocd_metrics_controller/3-enable-metrics | argocd.argoproj.io/openshift-gitops patched logger.go:42: 16:48:09 | 1-106_validate_argocd_metrics_controller/3-enable-metrics | test step completed 3-enable-metrics logger.go:42: 16:48:09 | 1-106_validate_argocd_metrics_controller | skipping kubernetes event logging logger.go:42: 16:48:09 | 1-106_validate_argocd_metrics_controller | Deleting namespace: kuttl-test-firm-robin === CONT kuttl/harness/1-105_validate_label_selector logger.go:42: 16:48:09 | 1-105_validate_label_selector | Creating namespace: kuttl-test-cosmic-tahr logger.go:42: 16:48:09 | 1-105_validate_label_selector/1-add-label-selector | starting test step 1-add-label-selector logger.go:42: 16:48:09 | 1-105_validate_label_selector/1-add-label-selector | running command: [sh -c if ! [ -z $NON_OLM ]; then oc set env deployment openshift-gitops-operator-controller-manager -n openshift-gitops-operator ARGOCD_LABEL_SELECTOR=foo=bar -c manager elif [ -z $CI ]; then oc patch -n openshift-gitops-operator subscription openshift-gitops-operator \ --type merge --patch '{"spec": {"config": {"env": [{"name": "ARGOCD_LABEL_SELECTOR", "value": "foo=bar"}]}}}' else oc patch -n openshift-gitops-operator subscription `subscription=gitops-operator- && oc get subscription --all-namespaces | grep $subscription | head -1 | awk '{print $2}'` \ --type merge --patch '{"spec": {"config": {"env": [{"name": "ARGOCD_LABEL_SELECTOR", "value": "foo=bar"}]}}}' fi ] logger.go:42: 16:48:09 | 1-105_validate_label_selector/1-add-label-selector | subscription.operators.coreos.com/openshift-gitops-operator patched logger.go:42: 16:48:09 | 1-105_validate_label_selector/1-add-label-selector | running command: [sh -c sleep 120] I1030 16:50:10.212485 248 request.go:655] Throttling request took 1.031693712s, request: GET:https://api.ci-op-zdfth2vz-6e0ce.cspilp.interop.ccitredhat.com:6443/api/v1?timeout=32s logger.go:42: 16:50:12 | 1-105_validate_label_selector/1-add-label-selector | test step completed 1-add-label-selector logger.go:42: 16:50:12 | 1-105_validate_label_selector/2-install | starting test step 2-install logger.go:42: 16:50:14 | 1-105_validate_label_selector/2-install | ArgoCD:test-argocd/test1 created logger.go:42: 16:50:14 | 1-105_validate_label_selector/2-install | test step completed 2-install logger.go:42: 16:50:14 | 1-105_validate_label_selector/3-add-label | starting test step 3-add-label logger.go:42: 16:50:14 | 1-105_validate_label_selector/3-add-label | running command: [sh -c kubectl label argocd test1 foo=bar -n test-argocd ] logger.go:42: 16:50:15 | 1-105_validate_label_selector/3-add-label | argocd.argoproj.io/test1 labeled logger.go:42: 16:50:15 | 1-105_validate_label_selector/3-add-label | running command: [sh -c sleep 30] I1030 16:50:46.115619 248 request.go:655] Throttling request took 1.043435427s, request: GET:https://api.ci-op-zdfth2vz-6e0ce.cspilp.interop.ccitredhat.com:6443/apis/user.openshift.io/v1?timeout=32s logger.go:42: 16:50:49 | 1-105_validate_label_selector/3-add-label | test step completed 3-add-label logger.go:42: 16:50:49 | 1-105_validate_label_selector/4-install | starting test step 4-install logger.go:42: 16:50:52 | 1-105_validate_label_selector/4-install | ArgoCD:test-argocd/test1 updated logger.go:42: 16:50:53 | 1-105_validate_label_selector/4-install | test step completed 4-install logger.go:42: 16:50:53 | 1-105_validate_label_selector/5-remove-label | starting test step 5-remove-label logger.go:42: 16:50:53 | 1-105_validate_label_selector/5-remove-label | running command: [sh -c kubectl label argocd test1 foo- -n test-argocd ] logger.go:42: 16:50:53 | 1-105_validate_label_selector/5-remove-label | argocd.argoproj.io/test1 unlabeled logger.go:42: 16:50:54 | 1-105_validate_label_selector/5-remove-label | running command: [sh -c sleep 30] I1030 16:51:25.055393 248 request.go:655] Throttling request took 1.044981104s, request: GET:https://api.ci-op-zdfth2vz-6e0ce.cspilp.interop.ccitredhat.com:6443/apis/performance.openshift.io/v1alpha1?timeout=32s logger.go:42: 16:51:26 | 1-105_validate_label_selector/5-remove-label | test step completed 5-remove-label logger.go:42: 16:51:26 | 1-105_validate_label_selector/6-install | starting test step 6-install logger.go:42: 16:51:29 | 1-105_validate_label_selector/6-install | ArgoCD:test-argocd/test1 updated logger.go:42: 16:51:29 | 1-105_validate_label_selector/6-install | test step completed 6-install logger.go:42: 16:51:29 | 1-105_validate_label_selector/7-remove-label-selector | starting test step 7-remove-label-selector logger.go:42: 16:51:29 | 1-105_validate_label_selector/7-remove-label-selector | running command: [sh -c if ! [ -z $NON_OLM ]; then oc set env deployment openshift-gitops-operator-controller-manager -n openshift-gitops-operator ARGOCD_LABEL_SELECTOR- -c manager elif [ -z $CI ]; then oc patch -n openshift-gitops-operator subscription openshift-gitops-operator \ --type json --patch '[{"op": "remove", "path": "/spec/config"}]' else oc patch -n openshift-gitops-operator subscription `subscription=gitops-operator- && oc get subscription --all-namespaces | grep $subscription | head -1 | awk '{print $2}'` \ --type json --patch '[{"op": "remove", "path": "/spec/config"}]' fi ] logger.go:42: 16:51:29 | 1-105_validate_label_selector/7-remove-label-selector | subscription.operators.coreos.com/openshift-gitops-operator patched logger.go:42: 16:51:29 | 1-105_validate_label_selector/7-remove-label-selector | running command: [sh -c sleep 120] I1030 16:53:31.011553 248 request.go:655] Throttling request took 1.037269567s, request: GET:https://api.ci-op-zdfth2vz-6e0ce.cspilp.interop.ccitredhat.com:6443/apis/cloudcredential.openshift.io/v1?timeout=32s logger.go:42: 16:53:32 | 1-105_validate_label_selector/7-remove-label-selector | test step completed 7-remove-label-selector logger.go:42: 16:53:32 | 1-105_validate_label_selector | skipping kubernetes event logging logger.go:42: 16:53:32 | 1-105_validate_label_selector | Deleting namespace: kuttl-test-cosmic-tahr === CONT kuttl/harness/1-101_validate_rollout_policyrules logger.go:42: 16:53:32 | 1-101_validate_rollout_policyrules | Creating namespace: kuttl-test-main-imp logger.go:42: 16:53:32 | 1-101_validate_rollout_policyrules/1-install-rollloutmanager | starting test step 1-install-rollloutmanager logger.go:42: 16:53:35 | 1-101_validate_rollout_policyrules/1-install-rollloutmanager | RolloutManager:openshift-gitops/example-rollout-manager created logger.go:42: 16:53:36 | 1-101_validate_rollout_policyrules/1-install-rollloutmanager | test step completed 1-install-rollloutmanager logger.go:42: 16:53:36 | 1-101_validate_rollout_policyrules | skipping kubernetes event logging logger.go:42: 16:53:36 | 1-101_validate_rollout_policyrules | Deleting namespace: kuttl-test-main-imp === CONT kuttl/harness/1-100_validate_rollouts_resources_creation logger.go:42: 16:53:36 | 1-100_validate_rollouts_resources_creation | Creating namespace: kuttl-test-refined-koala logger.go:42: 16:53:36 | 1-100_validate_rollouts_resources_creation/1-install-rolloutmanager | starting test step 1-install-rolloutmanager logger.go:42: 16:53:39 | 1-100_validate_rollouts_resources_creation/1-install-rolloutmanager | RolloutManager:openshift-gitops/example-rollout-manager created logger.go:42: 16:53:58 | 1-100_validate_rollouts_resources_creation/1-install-rolloutmanager | test step completed 1-install-rolloutmanager logger.go:42: 16:53:58 | 1-100_validate_rollouts_resources_creation/2- | starting test step 2- I1030 16:53:59.507322 248 request.go:655] Throttling request took 1.047793129s, request: GET:https://api.ci-op-zdfth2vz-6e0ce.cspilp.interop.ccitredhat.com:6443/apis/config.openshift.io/v1?timeout=32s logger.go:42: 16:54:01 | 1-100_validate_rollouts_resources_creation/2- | test step completed 2- logger.go:42: 16:54:01 | 1-100_validate_rollouts_resources_creation | skipping kubernetes event logging logger.go:42: 16:54:01 | 1-100_validate_rollouts_resources_creation | Deleting namespace: kuttl-test-refined-koala === CONT kuttl/harness/1-086_validate_default_argocd_role logger.go:42: 16:54:01 | 1-086_validate_default_argocd_role | Creating namespace: kuttl-test-trusted-marlin logger.go:42: 16:54:01 | 1-086_validate_default_argocd_role/1- | starting test step 1- logger.go:42: 16:54:04 | 1-086_validate_default_argocd_role/1- | test step completed 1- logger.go:42: 16:54:04 | 1-086_validate_default_argocd_role/2-install | starting test step 2-install logger.go:42: 16:54:07 | 1-086_validate_default_argocd_role/2-install | Namespace:/test-1-086-custom created logger.go:42: 16:54:07 | 1-086_validate_default_argocd_role/2-install | Namespace:/test-1-086-custom2 created logger.go:42: 16:54:07 | 1-086_validate_default_argocd_role/2-install | Namespace:/test-1-086-custom3 created logger.go:42: 16:54:07 | 1-086_validate_default_argocd_role/2-install | ArgoCD:test-1-086-custom/argocd-default-policy created logger.go:42: 16:54:07 | 1-086_validate_default_argocd_role/2-install | ArgoCD:test-1-086-custom2/argocd-default-policy-empty created logger.go:42: 16:54:07 | 1-086_validate_default_argocd_role/2-install | ArgoCD:test-1-086-custom3/argocd-default-policy-admin created logger.go:42: 16:54:45 | 1-086_validate_default_argocd_role/2-install | test step completed 2-install logger.go:42: 16:54:45 | 1-086_validate_default_argocd_role | skipping kubernetes event logging logger.go:42: 16:54:45 | 1-086_validate_default_argocd_role | Deleting namespace: kuttl-test-trusted-marlin === CONT kuttl/harness/1-085_validate_dynamic_plugin_installation logger.go:42: 16:54:45 | 1-085_validate_dynamic_plugin_installation | Creating namespace: kuttl-test-prompt-jennet logger.go:42: 16:54:45 | 1-085_validate_dynamic_plugin_installation/1-install-dynamic-plugin | starting test step 1-install-dynamic-plugin logger.go:42: 16:54:45 | 1-085_validate_dynamic_plugin_installation/1-install-dynamic-plugin | running command: [sh -c set -eo pipefail # Get CSV name and also OCP version. csv_name=$(oc get csv -n openshift-gitops-operator | awk '/gitops-operator/ {print $1}') ocp_version=$(oc version | awk '/Server Version/ {split($3,a,"-"); print a[1]}') if [[ ${ocp_version} =~ "4.15" ]]; then exit 0 fi # Patch the CSV to add the necessary env key:value for Dynamic Plugin oc patch csv "${csv_name}" -n openshift-gitops-operator \ --type='json' \ -p='[{ "op": "add", "path": "/spec/install/spec/deployments/0/spec/template/spec/containers/0/env/-", "value": { "name": "DYNAMIC_PLUGIN_START_OCP_VERSION", "value": "'${ocp_version}'" } }]' # Sleep 10 seconds, so the resources are launched before next assert step. sleep 5 exit 0 ] logger.go:42: 16:54:45 | 1-085_validate_dynamic_plugin_installation/1-install-dynamic-plugin | clusterserviceversion.operators.coreos.com/openshift-gitops-operator.v1.18.1 patched I1030 16:54:52.030852 248 request.go:655] Throttling request took 1.045493203s, request: GET:https://api.ci-op-zdfth2vz-6e0ce.cspilp.interop.ccitredhat.com:6443/apis/coordination.k8s.io/v1?timeout=32s logger.go:42: 16:54:53 | 1-085_validate_dynamic_plugin_installation/1-install-dynamic-plugin | test step completed 1-install-dynamic-plugin logger.go:42: 16:54:53 | 1-085_validate_dynamic_plugin_installation/2- | starting test step 2- logger.go:42: 16:54:56 | 1-085_validate_dynamic_plugin_installation/2- | test step completed 2- logger.go:42: 16:54:56 | 1-085_validate_dynamic_plugin_installation | skipping kubernetes event logging logger.go:42: 16:54:56 | 1-085_validate_dynamic_plugin_installation | Deleting namespace: kuttl-test-prompt-jennet === CONT kuttl/harness/1-084_validate_prune_templates 2025/10/30 16:54:56 object detected with no GVK Kind for path /go/src/github.com/redhat-developer/gitops-operator/test/openshift/e2e/sequential/1-084_validate_prune_templates/01-assert.yaml 2025/10/30 16:54:56 object detected with no GVK Kind for path /go/src/github.com/redhat-developer/gitops-operator/test/openshift/e2e/sequential/1-084_validate_prune_templates/01-create-ns-managed-by.yaml 2025/10/30 16:54:56 object detected with no GVK Kind for path /go/src/github.com/redhat-developer/gitops-operator/test/openshift/e2e/sequential/1-084_validate_prune_templates/02-prune-duplicateGVK-resource.yaml 2025/10/30 16:54:56 object detected with no GVK Kind for path /go/src/github.com/redhat-developer/gitops-operator/test/openshift/e2e/sequential/1-084_validate_prune_templates/03-errors.yaml 2025/10/30 16:54:56 object detected with no GVK Kind for path /go/src/github.com/redhat-developer/gitops-operator/test/openshift/e2e/sequential/1-084_validate_prune_templates/04-delete.yaml logger.go:42: 16:54:56 | 1-084_validate_prune_templates | Creating namespace: kuttl-test-giving-boar logger.go:42: 16:54:56 | 1-084_validate_prune_templates/1-create-ns-managed-by | starting test step 1-create-ns-managed-by logger.go:42: 16:54:59 | 1-084_validate_prune_templates/1-create-ns-managed-by | test step completed 1-create-ns-managed-by logger.go:42: 16:54:59 | 1-084_validate_prune_templates/2-prune-duplicateGVK-resource | starting test step 2-prune-duplicateGVK-resource I1030 16:55:02.065802 248 request.go:655] Throttling request took 2.344782152s, request: GET:https://api.ci-op-zdfth2vz-6e0ce.cspilp.interop.ccitredhat.com:6443/apis/policy.networking.k8s.io/v1alpha1?timeout=32s logger.go:42: 16:55:02 | 1-084_validate_prune_templates/2-prune-duplicateGVK-resource | test step completed 2-prune-duplicateGVK-resource logger.go:42: 16:55:02 | 1-084_validate_prune_templates/3- | starting test step 3- logger.go:42: 16:55:05 | 1-084_validate_prune_templates/3- | test step completed 3- logger.go:42: 16:55:05 | 1-084_validate_prune_templates/4-delete | starting test step 4-delete logger.go:42: 16:55:08 | 1-084_validate_prune_templates/4-delete | test step completed 4-delete logger.go:42: 16:55:08 | 1-084_validate_prune_templates | skipping kubernetes event logging logger.go:42: 16:55:08 | 1-084_validate_prune_templates | Deleting namespace: kuttl-test-giving-boar === CONT kuttl/harness/1-078_validate_default_argocd_consoleLink logger.go:42: 16:55:08 | 1-078_validate_default_argocd_consoleLink | Creating namespace: kuttl-test-fun-coyote logger.go:42: 16:55:08 | 1-078_validate_default_argocd_consoleLink/1- | starting test step 1- logger.go:42: 16:55:11 | 1-078_validate_default_argocd_consoleLink/1- | test step completed 1- logger.go:42: 16:55:11 | 1-078_validate_default_argocd_consoleLink/2-add_env | starting test step 2-add_env logger.go:42: 16:55:11 | 1-078_validate_default_argocd_consoleLink/2-add_env | running command: [sh -c if ! [ -z $NON_OLM ]; then oc set env deployment openshift-gitops-operator-controller-manager -n openshift-gitops-operator DISABLE_DEFAULT_ARGOCD_CONSOLELINK=true elif [ -z $CI ]; then oc patch -n openshift-gitops-operator subscription openshift-gitops-operator \ --type merge --patch '{"spec": {"config": {"env": [{"name": "DISABLE_DEFAULT_ARGOCD_CONSOLELINK", "value": "true"}]}}}' else oc patch -n openshift-gitops-operator subscription `subscription=gitops-operator- && oc get subscription --all-namespaces | grep $subscription | head -1 | awk '{print $2}'` \ --type merge --patch '{"spec": {"config": {"env": [{"name": "DISABLE_DEFAULT_ARGOCD_CONSOLELINK", "value": "true"}]}}}' fi ] logger.go:42: 16:55:11 | 1-078_validate_default_argocd_consoleLink/2-add_env | subscription.operators.coreos.com/openshift-gitops-operator patched I1030 16:55:12.524901 248 request.go:655] Throttling request took 1.046122176s, request: GET:https://api.ci-op-zdfth2vz-6e0ce.cspilp.interop.ccitredhat.com:6443/apis/infrastructure.cluster.x-k8s.io/v1alpha5?timeout=32s logger.go:42: 16:55:41 | 1-078_validate_default_argocd_consoleLink/2-add_env | test step completed 2-add_env logger.go:42: 16:55:41 | 1-078_validate_default_argocd_consoleLink/3-check-env | starting test step 3-check-env logger.go:42: 16:55:41 | 1-078_validate_default_argocd_consoleLink/3-check-env | running command: [sh -c if ! [ -z $NON_OLM ]; then label_value=$(oc get deployment openshift-gitops-operator-controller-manager -n openshift-gitops-operator -o json | jq '.spec.template.spec.containers[]|select(.name=="manager")|.env[] | select(.name=="DISABLE_DEFAULT_ARGOCD_CONSOLELINK")|.value') if ! [[ "${label_value}" == '"true"' ]]; then echo "Label value: $label_value" echo "DISABLE_DEFAULT_ARGOCD_CONSOLELINK not set" exit 1 else exit 0 fi elif [ -z $CI ]; then label_value=$(oc get subscriptions openshift-gitops-operator -n openshift-gitops-operator -o json | jq '.spec.config.env[]|select(.name=="DISABLE_DEFAULT_ARGOCD_CONSOLELINK").value') if ! [[ "${label_value}" == '"true"' ]]; then echo "Label value: $label_value" echo "DISABLE_DEFAULT_ARGOCD_CONSOLELINK not set" exit 1 else exit 0 fi else label_value=$(oc get subscription `subscription=gitops-operator- && oc get subscription --all-namespaces | grep $subscription | head -1 | awk '{print $2}'` -n openshift-gitops-operator -o json | jq '.spec.config.env[]|select(.name=="DISABLE_DEFAULT_ARGOCD_CONSOLELINK").value') if ! [[ "${label_value}" == '"true"' ]]; then echo "Label value: $label_value" echo "DISABLE_DEFAULT_ARGOCD_CONSOLELINK not set" exit 1 else exit 0 fi fi ] logger.go:42: 16:55:41 | 1-078_validate_default_argocd_consoleLink/3-check-env | sh: line 10: jq: command not found logger.go:42: 16:55:41 | 1-078_validate_default_argocd_consoleLink/3-check-env | Label value: logger.go:42: 16:55:41 | 1-078_validate_default_argocd_consoleLink/3-check-env | DISABLE_DEFAULT_ARGOCD_CONSOLELINK not set I1030 16:55:42.773923 248 request.go:655] Throttling request took 1.045328481s, request: GET:https://api.ci-op-zdfth2vz-6e0ce.cspilp.interop.ccitredhat.com:6443/apis/ingress.operator.openshift.io/v1?timeout=32s case.go:361: failed in step 3-check-env case.go:363: exit status 1 logger.go:42: 16:55:44 | 1-078_validate_default_argocd_consoleLink | skipping kubernetes event logging logger.go:42: 16:55:44 | 1-078_validate_default_argocd_consoleLink | Deleting namespace: kuttl-test-fun-coyote === CONT kuttl/harness/1-077_validate_workload_status_monitoring_alert 2025/10/30 16:55:44 object detected with no GVK Kind for path /go/src/github.com/redhat-developer/gitops-operator/test/openshift/e2e/sequential/1-077_validate_workload_status_monitoring_alert/01-assert.yaml 2025/10/30 16:55:44 object detected with no GVK Kind for path /go/src/github.com/redhat-developer/gitops-operator/test/openshift/e2e/sequential/1-077_validate_workload_status_monitoring_alert/01-install.yaml 2025/10/30 16:55:44 object detected with no GVK Kind for path /go/src/github.com/redhat-developer/gitops-operator/test/openshift/e2e/sequential/1-077_validate_workload_status_monitoring_alert/02-verify-alert.yaml logger.go:42: 16:55:44 | 1-077_validate_workload_status_monitoring_alert | Creating namespace: kuttl-test-equipped-peacock logger.go:42: 16:55:44 | 1-077_validate_workload_status_monitoring_alert/1-install | starting test step 1-install logger.go:42: 16:55:47 | 1-077_validate_workload_status_monitoring_alert/1-install | test step completed 1-install logger.go:42: 16:55:47 | 1-077_validate_workload_status_monitoring_alert/2-verify-alert | starting test step 2-verify-alert logger.go:42: 16:55:50 | 1-077_validate_workload_status_monitoring_alert/2-verify-alert | test step completed 2-verify-alert logger.go:42: 16:55:50 | 1-077_validate_workload_status_monitoring_alert | skipping kubernetes event logging logger.go:42: 16:55:50 | 1-077_validate_workload_status_monitoring_alert | Deleting namespace: kuttl-test-equipped-peacock === CONT kuttl/harness/1-035_validate_argocd_secret_repopulate logger.go:42: 16:55:50 | 1-035_validate_argocd_secret_repopulate | Creating namespace: kuttl-test-bright-buzzard logger.go:42: 16:55:50 | 1-035_validate_argocd_secret_repopulate/1- | starting test step 1- I1030 16:55:52.810051 248 request.go:655] Throttling request took 2.346074105s, request: GET:https://api.ci-op-zdfth2vz-6e0ce.cspilp.interop.ccitredhat.com:6443/apis/monitoring.coreos.com/v1?timeout=32s logger.go:42: 16:55:53 | 1-035_validate_argocd_secret_repopulate/1- | test step completed 1- logger.go:42: 16:55:53 | 1-035_validate_argocd_secret_repopulate/2-remove_secret_data | starting test step 2-remove_secret_data logger.go:42: 16:55:53 | 1-035_validate_argocd_secret_repopulate/2-remove_secret_data | running command: [sh -c oc patch secret/argocd-secret -p '{"data":null}' -n openshift-gitops ] logger.go:42: 16:55:53 | 1-035_validate_argocd_secret_repopulate/2-remove_secret_data | secret/argocd-secret patched logger.go:42: 16:55:56 | 1-035_validate_argocd_secret_repopulate/2-remove_secret_data | test step completed 2-remove_secret_data logger.go:42: 16:55:56 | 1-035_validate_argocd_secret_repopulate/3-check_secret_repopulate | starting test step 3-check_secret_repopulate logger.go:42: 16:55:56 | 1-035_validate_argocd_secret_repopulate/3-check_secret_repopulate | running command: [sh -c until [[ $i -eq 20 ]] do secret_data=$(oc get secret/argocd-secret -n openshift-gitops -o custom-columns=SECRET:.data --no-headers) if [[ $secret_data == "" ]] then i=$((i+1)) sleep 6 else echo "argocd-secret was repopulated" exit 0 fi done echo "argocd-secret was not repopulated" exit 1 ] logger.go:42: 16:55:56 | 1-035_validate_argocd_secret_repopulate/3-check_secret_repopulate | argocd-secret was repopulated logger.go:42: 16:55:59 | 1-035_validate_argocd_secret_repopulate/3-check_secret_repopulate | test step completed 3-check_secret_repopulate logger.go:42: 16:55:59 | 1-035_validate_argocd_secret_repopulate/4-check_controller_pod_status | starting test step 4-check_controller_pod_status logger.go:42: 16:55:59 | 1-035_validate_argocd_secret_repopulate/4-check_controller_pod_status | running command: [sh -c oc rollout status deployment openshift-gitops-operator-controller-manager -n openshift-gitops-operator --timeout=1m rollout_status=$? if [ "${rollout_status}" -ne 0 ]; then echo "openshift-gitops-operator-controller-manager deployment was not successfully rolled out" exit 1 fi exit 0 ] logger.go:42: 16:55:59 | 1-035_validate_argocd_secret_repopulate/4-check_controller_pod_status | deployment "openshift-gitops-operator-controller-manager" successfully rolled out logger.go:42: 16:56:02 | 1-035_validate_argocd_secret_repopulate/4-check_controller_pod_status | test step completed 4-check_controller_pod_status logger.go:42: 16:56:02 | 1-035_validate_argocd_secret_repopulate/5-argocd_login | starting test step 5-argocd_login logger.go:42: 16:56:02 | 1-035_validate_argocd_secret_repopulate/5-argocd_login | running command: [sh -c api_server=$(oc get routes -n openshift-gitops --field-selector metadata.name=openshift-gitops-server -o jsonpath="{.items[*]['spec.host']}") password=$(oc get secret openshift-gitops-cluster -n openshift-gitops -o jsonpath='{.data.admin\.password}' | base64 -d) output=$(argocd login $api_server --username admin --password $password --insecure) if ! [[ "${output}" =~ "'admin:login' logged in successfully" ]]; then if [[ "${output}" == *"rpc error: code = Unknown desc = server.secretkey is missing" ]]; then echo "server.secretkey is missing" exit 1 fi fi exit 0 ] logger.go:42: 16:56:32 | 1-035_validate_argocd_secret_repopulate/5-argocd_login | {"level":"fatal","msg":"context deadline exceeded","time":"2025-10-30T16:56:32Z"} I1030 16:56:33.736174 248 request.go:655] Throttling request took 1.046285557s, request: GET:https://api.ci-op-zdfth2vz-6e0ce.cspilp.interop.ccitredhat.com:6443/apis/imageregistry.operator.openshift.io/v1?timeout=32s logger.go:42: 16:56:35 | 1-035_validate_argocd_secret_repopulate/5-argocd_login | test step completed 5-argocd_login logger.go:42: 16:56:35 | 1-035_validate_argocd_secret_repopulate | skipping kubernetes event logging logger.go:42: 16:56:35 | 1-035_validate_argocd_secret_repopulate | Deleting namespace: kuttl-test-bright-buzzard === CONT kuttl/harness/1-056_validate_managed-by logger.go:42: 16:56:35 | 1-056_validate_managed-by | Creating namespace: kuttl-test-certain-gazelle logger.go:42: 16:56:35 | 1-056_validate_managed-by/1-install | starting test step 1-install logger.go:42: 16:56:38 | 1-056_validate_managed-by/1-install | Namespace:/test-1-56-target created logger.go:42: 16:56:38 | 1-056_validate_managed-by/1-install | Namespace:/test-1-56-custom created logger.go:42: 16:56:38 | 1-056_validate_managed-by/1-install | ArgoCD:test-1-56-target/example-argocd created logger.go:42: 16:57:14 | 1-056_validate_managed-by/1-install | test step completed 1-install logger.go:42: 16:57:14 | 1-056_validate_managed-by/2-delete | starting test step 2-delete I1030 16:57:16.714328 248 request.go:655] Throttling request took 1.045660845s, request: GET:https://api.ci-op-zdfth2vz-6e0ce.cspilp.interop.ccitredhat.com:6443/apis/autoscaling.openshift.io/v1beta1?timeout=32s logger.go:42: 16:57:18 | 1-056_validate_managed-by/2-delete | test step completed 2-delete logger.go:42: 16:57:18 | 1-056_validate_managed-by/3-check | starting test step 3-check logger.go:42: 16:57:18 | 1-056_validate_managed-by/3-check | running command: [sh -c set -e label_value=$(oc get ns/test-1-56-custom -o go-template=$'{{index .metadata.labels "argocd.argoproj.io/managed-by"}}') echo "label value: ${label_value}" if [[ "${label_value}" == "test-1-56-target" ]]; then echo "managed-by label exists, set REMOVE_MANAGED_BY_LABEL_ON_ARGOCD_DELETION variable to delete the label" exit 0 fi exit 1 ] logger.go:42: 16:57:18 | 1-056_validate_managed-by/3-check | label value: test-1-56-target logger.go:42: 16:57:18 | 1-056_validate_managed-by/3-check | managed-by label exists, set REMOVE_MANAGED_BY_LABEL_ON_ARGOCD_DELETION variable to delete the label logger.go:42: 16:57:21 | 1-056_validate_managed-by/3-check | test step completed 3-check logger.go:42: 16:57:21 | 1-056_validate_managed-by/4-add_env | starting test step 4-add_env logger.go:42: 16:57:21 | 1-056_validate_managed-by/4-add_env | running command: [sh -c set -e if ! [ -z $NON_OLM ]; then oc set env deployment openshift-gitops-operator-controller-manager -n openshift-gitops-operator REMOVE_MANAGED_BY_LABEL_ON_ARGOCD_DELETION=true elif [ -z $CI ]; then oc patch -n openshift-gitops-operator subscription openshift-gitops-operator \ --type merge --patch '{"spec": {"config": {"env": [{"name": "REMOVE_MANAGED_BY_LABEL_ON_ARGOCD_DELETION", "value": "true"}]}}}' else oc patch -n openshift-gitops-operator subscription `subscription=gitops-operator- && oc get subscription --all-namespaces | grep $subscription | head -1 | awk '{print $2}'` \ --type merge --patch '{"spec": {"config": {"env": [{"name": "REMOVE_MANAGED_BY_LABEL_ON_ARGOCD_DELETION", "value": "true"}]}}}' fi ] logger.go:42: 16:57:21 | 1-056_validate_managed-by/4-add_env | subscription.operators.coreos.com/openshift-gitops-operator patched logger.go:42: 16:57:24 | 1-056_validate_managed-by/4-add_env | test step completed 4-add_env logger.go:42: 16:57:24 | 1-056_validate_managed-by/5-check | starting test step 5-check logger.go:42: 16:57:24 | 1-056_validate_managed-by/5-check | running command: [sh -c if ! [ -z $NON_OLM ]; then label_value=$(oc get deployment openshift-gitops-operator-controller-manager -n openshift-gitops-operator -o json | jq '.spec.template.spec.containers[]|select(.name=="manager")|.env[] | select(.name=="REMOVE_MANAGED_BY_LABEL_ON_ARGOCD_DELETION")|.value') if [ -z $label_value ]; then echo "REMOVE_MANAGED_BY_LABEL_ON_ARGOCD_DELETION not set" exit 1 else exit 0 fi elif [ -z $CI ]; then label_value=$(oc get subscriptions openshift-gitops-operator -n openshift-gitops-operator -o json | jq '.spec.config.env[]|select(.name=="REMOVE_MANAGED_BY_LABEL_ON_ARGOCD_DELETION").value') if [ -z $label_value ]; then echo "REMOVE_MANAGED_BY_LABEL_ON_ARGOCD_DELETION not set" exit 1 else exit 0 fi else label_value=$(oc get subscription `subscription=gitops-operator- && oc get subscription --all-namespaces | grep $subscription | head -1 | awk '{print $2}'` -n openshift-gitops-operator -o json | jq '.spec.config.env[]|select(.name=="REMOVE_MANAGED_BY_LABEL_ON_ARGOCD_DELETION").value') if [ -z $label_value ]; then echo "REMOVE_MANAGED_BY_LABEL_ON_ARGOCD_DELETION not set" exit 1 else exit 0 fi fi ] logger.go:42: 16:57:24 | 1-056_validate_managed-by/5-check | sh: line 9: jq: command not found logger.go:42: 16:57:24 | 1-056_validate_managed-by/5-check | REMOVE_MANAGED_BY_LABEL_ON_ARGOCD_DELETION not set I1030 16:57:26.724864 248 request.go:655] Throttling request took 1.996247003s, request: GET:https://api.ci-op-zdfth2vz-6e0ce.cspilp.interop.ccitredhat.com:6443/apis/batch/v1?timeout=32s case.go:361: failed in step 5-check case.go:363: exit status 1 logger.go:42: 16:57:27 | 1-056_validate_managed-by | skipping kubernetes event logging logger.go:42: 16:57:27 | 1-056_validate_managed-by | Deleting namespace: kuttl-test-certain-gazelle === CONT kuttl/harness/1-050_validate_sso logger.go:42: 16:57:27 | 1-050_validate_sso | Creating namespace: kuttl-test-teaching-terrapin logger.go:42: 16:57:27 | 1-050_validate_sso/1-install | starting test step 1-install logger.go:42: 16:57:30 | 1-050_validate_sso/1-install | ArgoCD:kuttl-test-teaching-terrapin/argocd created logger.go:42: 16:58:01 | 1-050_validate_sso/1-install | test step completed 1-install logger.go:42: 16:58:01 | 1-050_validate_sso/2-remove-spec-sso | starting test step 2-remove-spec-sso logger.go:42: 16:58:01 | 1-050_validate_sso/2-remove-spec-sso | running command: [sh -c oc patch -n $NAMESPACE argocd/argocd --type='json' -p='[{"op": "remove", "path": "/spec/sso"}]' ] logger.go:42: 16:58:01 | 1-050_validate_sso/2-remove-spec-sso | argocd.argoproj.io/argocd patched logger.go:42: 16:58:01 | 1-050_validate_sso/2-remove-spec-sso | running command: [sh -c sleep 10] I1030 16:58:12.660098 248 request.go:655] Throttling request took 1.045147636s, request: GET:https://api.ci-op-zdfth2vz-6e0ce.cspilp.interop.ccitredhat.com:6443/apis/autoscaling/v1?timeout=32s logger.go:42: 16:58:14 | 1-050_validate_sso/2-remove-spec-sso | test step completed 2-remove-spec-sso logger.go:42: 16:58:14 | 1-050_validate_sso/7-provider-keycloak-dex-spec | starting test step 7-provider-keycloak-dex-spec logger.go:42: 16:58:17 | 1-050_validate_sso/7-provider-keycloak-dex-spec | ArgoCD:kuttl-test-teaching-terrapin/argocd updated Warning: apps.openshift.io/v1 DeploymentConfig is deprecated in v4.14+, unavailable in v4.10000+ logger.go:42: 17:10:17 | 1-050_validate_sso/7-provider-keycloak-dex-spec | test step failed 7-provider-keycloak-dex-spec case.go:361: failed in step 7-provider-keycloak-dex-spec case.go:363: --- ArgoCD:kuttl-test-teaching-terrapin/argocd +++ ArgoCD:kuttl-test-teaching-terrapin/argocd @@ -1,9 +1,108 @@ apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: + finalizers: + - argoproj.io/finalizer + managedFields: + - apiVersion: argoproj.io/v1beta1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:finalizers: + .: {} + v:"argoproj.io/finalizer": {} + manager: manager + operation: Update + time: "2025-10-30T16:57:30Z" + - apiVersion: argoproj.io/v1alpha1 + fieldsType: FieldsV1 + fieldsV1: + f:spec: + .: {} + f:sso: + .: {} + f:dex: + .: {} + f:config: {} + f:provider: {} + manager: kubectl-kuttl + operation: Update + time: "2025-10-30T16:58:17Z" + - apiVersion: argoproj.io/v1beta1 + fieldsType: FieldsV1 + fieldsV1: + f:status: + f:applicationController: {} + f:applicationSetController: {} + f:conditions: {} + f:phase: {} + f:redis: {} + f:repo: {} + f:server: {} + f:sso: {} + manager: manager + operation: Update + subresource: status + time: "2025-10-30T16:58:17Z" name: argocd namespace: kuttl-test-teaching-terrapin +spec: + controller: + processors: {} + sharding: {} + grafana: + enabled: false + ingress: + enabled: false + route: + enabled: false + ha: + enabled: false + initialSSHKnownHosts: {} + monitoring: + enabled: false + notifications: + enabled: false + prometheus: + enabled: false + ingress: + enabled: false + route: + enabled: false + rbac: {} + redis: {} + repo: {} + server: + autoscale: + enabled: false + grpc: + ingress: + enabled: false + ingress: + enabled: false + route: + enabled: false + service: + type: "" + sso: + dex: + config: test + provider: keycloak + tls: + ca: {} status: + applicationController: Running + applicationSetController: Unknown + conditions: + - lastTransitionTime: "2025-10-30T16:58:17Z" + message: keycloak is set as SSO provider, but keycloak support has been deprecated + and is no longer available + reason: ErrorOccurred + status: "False" + type: Reconciled phase: Pending - sso: Failed + redis: Running + repo: Running + server: Running + sso: Unknown case.go:363: resource ArgoCD:kuttl-test-teaching-terrapin/argocd: .status.sso: value mismatch, expected: Failed != actual: Unknown logger.go:42: 17:10:17 | 1-050_validate_sso | skipping kubernetes event logging logger.go:42: 17:10:17 | 1-050_validate_sso | Deleting namespace: kuttl-test-teaching-terrapin === CONT kuttl/harness/1-041_validate_argocd_sync_alert logger.go:42: 17:10:17 | 1-041_validate_argocd_sync_alert | Creating namespace: kuttl-test-better-parakeet logger.go:42: 17:10:17 | 1-041_validate_argocd_sync_alert/1- | starting test step 1- I1030 17:10:18.653962 248 request.go:655] Throttling request took 1.045023417s, request: GET:https://api.ci-op-zdfth2vz-6e0ce.cspilp.interop.ccitredhat.com:6443/apis/apps/v1?timeout=32s logger.go:42: 17:10:20 | 1-041_validate_argocd_sync_alert/1- | test step completed 1- logger.go:42: 17:10:20 | 1-041_validate_argocd_sync_alert | skipping kubernetes event logging logger.go:42: 17:10:20 | 1-041_validate_argocd_sync_alert | Deleting namespace: kuttl-test-better-parakeet === CONT kuttl/harness/1-040_validate_quoted_RBAC_group_names logger.go:42: 17:10:20 | 1-040_validate_quoted_RBAC_group_names | Creating namespace: kuttl-test-central-ibex logger.go:42: 17:10:20 | 1-040_validate_quoted_RBAC_group_names/1-login_argocd_api_server | starting test step 1-login_argocd_api_server logger.go:42: 17:10:20 | 1-040_validate_quoted_RBAC_group_names/1-login_argocd_api_server | running command: [sh -c api_server=$(oc get routes -n openshift-gitops --field-selector metadata.name=openshift-gitops-server -o jsonpath="{.items[*]['spec.host']}") password=$(oc get secret openshift-gitops-cluster -n openshift-gitops -o jsonpath='{.data.admin\.password}' | base64 -d) # '--skip-test-tls' parameter was added in Feb 2025, to work around OpenShift Routes not supporting HTTP2 by default, along with Argo CD upstream bugs https://github.com/argoproj/argo-cd/issues/21764, and https://github.com/argoproj/argo-cd/issues/20121 # '--skip-test-tls' should be removed once we have resolved these issues. output=$(argocd login $api_server --username admin --password $password --insecure --skip-test-tls) if ! [[ "${output}" =~ "'admin:login' logged in successfully" ]]; then exit 1 fi exit 0 ] logger.go:42: 17:10:20 | 1-040_validate_quoted_RBAC_group_names/1-login_argocd_api_server | {"level":"warning","msg":"Failed to invoke grpc call. Use flag --grpc-web in grpc calls. To avoid this warning message, use flag --grpc-web.","time":"2025-10-30T17:10:20Z"} logger.go:42: 17:10:24 | 1-040_validate_quoted_RBAC_group_names/1-login_argocd_api_server | test step completed 1-login_argocd_api_server logger.go:42: 17:10:24 | 1-040_validate_quoted_RBAC_group_names/2-create_role | starting test step 2-create_role logger.go:42: 17:10:24 | 1-040_validate_quoted_RBAC_group_names/2-create_role | running command: [sh -c output=$(argocd proj role create default somerole) if ! [[ "$output" =~ "Role 'somerole' created" ]]; then echo "Error creating role" exit 1 fi exit 0 ] logger.go:42: 17:10:24 | 1-040_validate_quoted_RBAC_group_names/2-create_role | {"level":"warning","msg":"Failed to invoke grpc call. Use flag --grpc-web in grpc calls. To avoid this warning message, use flag --grpc-web.","time":"2025-10-30T17:10:24Z"} logger.go:42: 17:10:27 | 1-040_validate_quoted_RBAC_group_names/2-create_role | test step completed 2-create_role logger.go:42: 17:10:27 | 1-040_validate_quoted_RBAC_group_names/3-specify_group_names | starting test step 3-specify_group_names logger.go:42: 17:10:27 | 1-040_validate_quoted_RBAC_group_names/3-specify_group_names | running command: [sh -c output=$(argocd proj role add-group default somerole '"CN=foo,OU=bar,O=baz"') cleanup() { argocd proj role delete default somerole } trap cleanup INT TERM EXIT if ! [[ "${output}" =~ "added to role 'somerole'" ]]; then echo "Contains comma characters!" exit 1 fi ] logger.go:42: 17:10:27 | 1-040_validate_quoted_RBAC_group_names/3-specify_group_names | {"level":"warning","msg":"Failed to invoke grpc call. Use flag --grpc-web in grpc calls. To avoid this warning message, use flag --grpc-web.","time":"2025-10-30T17:10:27Z"} logger.go:42: 17:10:27 | 1-040_validate_quoted_RBAC_group_names/3-specify_group_names | {"level":"warning","msg":"Failed to invoke grpc call. Use flag --grpc-web in grpc calls. To avoid this warning message, use flag --grpc-web.","time":"2025-10-30T17:10:27Z"} logger.go:42: 17:10:27 | 1-040_validate_quoted_RBAC_group_names/3-specify_group_names | Role 'somerole' deleted I1030 17:10:29.048619 248 request.go:655] Throttling request took 1.044406892s, request: GET:https://api.ci-op-zdfth2vz-6e0ce.cspilp.interop.ccitredhat.com:6443/apis/ingress.operator.openshift.io/v1?timeout=32s logger.go:42: 17:10:30 | 1-040_validate_quoted_RBAC_group_names/3-specify_group_names | test step completed 3-specify_group_names logger.go:42: 17:10:30 | 1-040_validate_quoted_RBAC_group_names | skipping kubernetes event logging logger.go:42: 17:10:30 | 1-040_validate_quoted_RBAC_group_names | Deleting namespace: kuttl-test-central-ibex === CONT kuttl/harness/1-026-validate_backend_service_permissions logger.go:42: 17:10:30 | 1-026-validate_backend_service_permissions | Creating namespace: kuttl-test-civil-lemur logger.go:42: 17:10:30 | 1-026-validate_backend_service_permissions/1-check-backend-service | starting test step 1-check-backend-service logger.go:42: 17:10:33 | 1-026-validate_backend_service_permissions/1-check-backend-service | test step completed 1-check-backend-service logger.go:42: 17:10:33 | 1-026-validate_backend_service_permissions | skipping kubernetes event logging logger.go:42: 17:10:33 | 1-026-validate_backend_service_permissions | Deleting namespace: kuttl-test-civil-lemur === CONT kuttl/harness/1-034_validate_custom_roles logger.go:42: 17:10:33 | 1-034_validate_custom_roles | Creating namespace: kuttl-test-on-hedgehog logger.go:42: 17:10:33 | 1-034_validate_custom_roles/1-install | starting test step 1-install logger.go:42: 17:10:36 | 1-034_validate_custom_roles/1-install | Namespace:/test-1-034-custom created logger.go:42: 17:10:36 | 1-034_validate_custom_roles/1-install | ArgoCD:test-1-034-custom/argocd created logger.go:42: 17:10:36 | 1-034_validate_custom_roles/1-install | Namespace:/custom-role-namespace created logger.go:42: 17:10:36 | 1-034_validate_custom_roles/1-install | ClusterRole:/custom-argocd-role created logger.go:42: 17:11:13 | 1-034_validate_custom_roles/1-install | test step completed 1-install logger.go:42: 17:11:13 | 1-034_validate_custom_roles/2-patch-subscription | starting test step 2-patch-subscription logger.go:42: 17:11:13 | 1-034_validate_custom_roles/2-patch-subscription | running command: [sh -c if ! [ -z $NON_OLM ]; then oc set env deployment openshift-gitops-operator-controller-manager -n openshift-gitops-operator CONTROLLER_CLUSTER_ROLE=custom-argocd-role oc set env deployment openshift-gitops-operator-controller-manager -n openshift-gitops-operator SERVER_CLUSTER_ROLE=custom-argocd-role elif ! [ -z $CI ]; then oc patch -n openshift-gitops-operator subscription `subscription=gitops-operator- && oc get subscription --all-namespaces | grep $subscription | head -1 | awk '{print $2}'`\ --type merge --patch '{"spec": {"config": {"env": [{"name": "CONTROLLER_CLUSTER_ROLE", "value": "custom-argocd-role"},{"name": "SERVER_CLUSTER_ROLE", "value": "custom-argocd-role"}]}}}' else oc patch -n openshift-gitops-operator subscription openshift-gitops-operator \ --type merge --patch '{"spec": {"config": {"env": [{"name": "CONTROLLER_CLUSTER_ROLE", "value": "custom-argocd-role"},{"name": "SERVER_CLUSTER_ROLE", "value": "custom-argocd-role"}]}}}' fi ] logger.go:42: 17:11:13 | 1-034_validate_custom_roles/2-patch-subscription | subscription.operators.coreos.com/openshift-gitops-operator patched logger.go:42: 17:11:13 | 1-034_validate_custom_roles/2-patch-subscription | running command: [sh -c sleep 10] I1030 17:11:24.176295 248 request.go:655] Throttling request took 1.047827323s, request: GET:https://api.ci-op-zdfth2vz-6e0ce.cspilp.interop.ccitredhat.com:6443/apis/coordination.k8s.io/v1?timeout=32s logger.go:42: 17:11:26 | 1-034_validate_custom_roles/2-patch-subscription | test step completed 2-patch-subscription logger.go:42: 17:11:26 | 1-034_validate_custom_roles/3- | starting test step 3- logger.go:42: 17:11:45 | 1-034_validate_custom_roles/3- | test step completed 3- logger.go:42: 17:11:45 | 1-034_validate_custom_roles/4- | starting test step 4- I1030 17:11:46.253021 248 request.go:655] Throttling request took 1.048447628s, request: GET:https://api.ci-op-zdfth2vz-6e0ce.cspilp.interop.ccitredhat.com:6443/apis/authorization.openshift.io/v1?timeout=32s logger.go:42: 17:11:48 | 1-034_validate_custom_roles/4- | test step completed 4- logger.go:42: 17:11:48 | 1-034_validate_custom_roles/5-delete | starting test step 5-delete I1030 17:11:56.336763 248 request.go:655] Throttling request took 1.046562757s, request: GET:https://api.ci-op-zdfth2vz-6e0ce.cspilp.interop.ccitredhat.com:6443/apis/k8s.cni.cncf.io/v1?timeout=32s logger.go:42: 17:11:58 | 1-034_validate_custom_roles/5-delete | test step completed 5-delete logger.go:42: 17:11:58 | 1-034_validate_custom_roles/6-revert-patch | starting test step 6-revert-patch logger.go:42: 17:11:58 | 1-034_validate_custom_roles/6-revert-patch | running command: [sh -c if ! [ -z $NON_OLM ]; then oc set env deployment openshift-gitops-operator-controller-manager -n openshift-gitops-operator SERVER_CLUSTER_ROLE=null elif ! [ -z $CI ]; then oc patch -n openshift-gitops-operator subscription `subscription=gitops-operator- && oc get subscription --all-namespaces | grep $subscription | head -1 | awk '{print $2}'` --type json --patch='[ { "op": "remove", "path": "/spec/config" } ]' else oc patch subscription/openshift-gitops-operator -n openshift-gitops-operator --type json --patch='[ { "op": "remove", "path": "/spec/config" } ]' fi ] logger.go:42: 17:11:58 | 1-034_validate_custom_roles/6-revert-patch | subscription.operators.coreos.com/openshift-gitops-operator patched logger.go:42: 17:11:58 | 1-034_validate_custom_roles/6-revert-patch | running command: [sh -c # Loop to wait until SERVER_CLUSTER_ROLE is removed from the Argo CD server Deployment for i in {1..30}; do if oc get deployment openshift-gitops-argocd-server -n openshift-gitops -o jsonpath='{.spec.template.spec.containers[0].env}' | grep -q 'SERVER_CLUSTER_ROLE=custom-argocd-role'; then echo "Waiting for SERVER_CLUSTER_ROLE to be removed..." sleep 5 else echo "SERVER_CLUSTER_ROLE has been removed." break fi done # If after the loop the variable is still set, fail the step if oc get deployment openshift-gitops-argocd-server -n openshift-gitops -o jsonpath='{.spec.template.spec.containers[0].env}' | grep -q 'SERVER_CLUSTER_ROLE=custom-argocd-role'; then echo "ERROR: SERVER_CLUSTER_ROLE was not removed after waiting." exit 1 fi ] logger.go:42: 17:11:58 | 1-034_validate_custom_roles/6-revert-patch | Error from server (NotFound): deployments.apps "openshift-gitops-argocd-server" not found logger.go:42: 17:11:58 | 1-034_validate_custom_roles/6-revert-patch | SERVER_CLUSTER_ROLE has been removed. logger.go:42: 17:11:58 | 1-034_validate_custom_roles/6-revert-patch | Error from server (NotFound): deployments.apps "openshift-gitops-argocd-server" not found logger.go:42: 17:12:01 | 1-034_validate_custom_roles/6-revert-patch | test step completed 6-revert-patch logger.go:42: 17:12:01 | 1-034_validate_custom_roles | skipping kubernetes event logging logger.go:42: 17:12:01 | 1-034_validate_custom_roles | Deleting namespace: kuttl-test-on-hedgehog === CONT kuttl/harness/1-028_validate_run_on_infra logger.go:42: 17:12:01 | 1-028_validate_run_on_infra | Ignoring errors.yaml as it does not match file name regexp: ^(\d+)-(?:[^\.]+)(?:\.yaml)?$ logger.go:42: 17:12:01 | 1-028_validate_run_on_infra | Creating namespace: kuttl-test-master-mouse logger.go:42: 17:12:01 | 1-028_validate_run_on_infra/1-install | starting test step 1-install logger.go:42: 17:12:01 | 1-028_validate_run_on_infra/1-install | running command: [sh -c oc patch gitopsservice cluster --type=merge --patch='{"spec": {"runOnInfra": true, "tolerations": [{"effect": "NoSchedule", "key": "infra", "value": "reserved"}]}}' ] logger.go:42: 17:12:01 | 1-028_validate_run_on_infra/1-install | gitopsservice.pipelines.openshift.io/cluster patched logger.go:42: 17:12:04 | 1-028_validate_run_on_infra/1-install | test step completed 1-install logger.go:42: 17:12:04 | 1-028_validate_run_on_infra/2-custom-argocd | starting test step 2-custom-argocd I1030 17:12:06.345175 248 request.go:655] Throttling request took 1.846901548s, request: GET:https://api.ci-op-zdfth2vz-6e0ce.cspilp.interop.ccitredhat.com:6443/apis/gateway.networking.k8s.io/v1beta1?timeout=32s logger.go:42: 17:12:07 | 1-028_validate_run_on_infra/2-custom-argocd | ArgoCD:kuttl-test-master-mouse/argocd created logger.go:42: 17:13:14 | 1-028_validate_run_on_infra/2-custom-argocd | test step completed 2-custom-argocd logger.go:42: 17:13:14 | 1-028_validate_run_on_infra/3-change-back | starting test step 3-change-back logger.go:42: 17:13:14 | 1-028_validate_run_on_infra/3-change-back | running command: [sh -c oc patch gitopsservice cluster --type=json --patch='[{"op": "remove", "path": "/spec/tolerations"}, {"op": "remove", "path": "/spec/runOnInfra"}]' oc patch statefulset openshift-gitops-application-controller -n openshift-gitops -p '{"spec":{"replicas":0}}' ] logger.go:42: 17:13:14 | 1-028_validate_run_on_infra/3-change-back | gitopsservice.pipelines.openshift.io/cluster patched logger.go:42: 17:13:14 | 1-028_validate_run_on_infra/3-change-back | statefulset.apps/openshift-gitops-application-controller patched I1030 17:13:15.463341 248 request.go:655] Throttling request took 1.044130317s, request: GET:https://api.ci-op-zdfth2vz-6e0ce.cspilp.interop.ccitredhat.com:6443/apis/gateway.networking.k8s.io/v1?timeout=32s logger.go:42: 17:13:17 | 1-028_validate_run_on_infra/3-change-back | test step completed 3-change-back logger.go:42: 17:13:17 | 1-028_validate_run_on_infra/4-check | starting test step 4-check logger.go:42: 17:13:20 | 1-028_validate_run_on_infra/4-check | test step completed 4-check logger.go:42: 17:13:20 | 1-028_validate_run_on_infra | skipping kubernetes event logging logger.go:42: 17:13:20 | 1-028_validate_run_on_infra | Deleting namespace: kuttl-test-master-mouse === CONT kuttl/harness/1-020_validate_redis_ha_nonha logger.go:42: 17:13:20 | 1-020_validate_redis_ha_nonha | Creating namespace: kuttl-test-moved-clam logger.go:42: 17:13:20 | 1-020_validate_redis_ha_nonha/1- | starting test step 1- logger.go:42: 17:13:30 | 1-020_validate_redis_ha_nonha/1- | test step completed 1- logger.go:42: 17:13:30 | 1-020_validate_redis_ha_nonha/2-enable-ha | starting test step 2-enable-ha I1030 17:13:31.448019 248 request.go:655] Throttling request took 1.048135351s, request: GET:https://api.ci-op-zdfth2vz-6e0ce.cspilp.interop.ccitredhat.com:6443/apis/security.internal.openshift.io/v1?timeout=32s logger.go:42: 17:13:33 | 1-020_validate_redis_ha_nonha/2-enable-ha | ArgoCD:openshift-gitops/openshift-gitops updated logger.go:42: 17:25:33 | 1-020_validate_redis_ha_nonha/2-enable-ha | test step failed 2-enable-ha case.go:361: failed in step 2-enable-ha case.go:363: --- Deployment:openshift-gitops/openshift-gitops-redis-ha-haproxy +++ Deployment:openshift-gitops/openshift-gitops-redis-ha-haproxy @@ -1,8 +1,429 @@ apiVersion: apps/v1 kind: Deployment metadata: + labels: + app.kubernetes.io/component: redis + app.kubernetes.io/managed-by: openshift-gitops + app.kubernetes.io/name: openshift-gitops-redis-ha-haproxy + app.kubernetes.io/part-of: argocd + managedFields: + - apiVersion: apps/v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:labels: + .: {} + f:app.kubernetes.io/component: {} + f:app.kubernetes.io/managed-by: {} + f:app.kubernetes.io/name: {} + f:app.kubernetes.io/part-of: {} + f:ownerReferences: + .: {} + k:{"uid":"dc638998-dbd6-4e58-afd0-8cc6f90559ea"}: {} + f:spec: + f:progressDeadlineSeconds: {} + f:replicas: {} + f:revisionHistoryLimit: {} + f:selector: {} + f:strategy: + f:rollingUpdate: + .: {} + f:maxSurge: {} + f:maxUnavailable: {} + f:type: {} + f:template: + f:metadata: + f:labels: + .: {} + f:app.kubernetes.io/name: {} + f:spec: + f:affinity: + .: {} + f:podAntiAffinity: + .: {} + f:preferredDuringSchedulingIgnoredDuringExecution: {} + f:requiredDuringSchedulingIgnoredDuringExecution: {} + f:containers: + k:{"name":"haproxy"}: + .: {} + f:command: {} + f:env: + .: {} + k:{"name":"AUTH"}: + .: {} + f:name: {} + f:valueFrom: + .: {} + f:secretKeyRef: {} + f:image: {} + f:imagePullPolicy: {} + f:livenessProbe: + .: {} + f:failureThreshold: {} + f:httpGet: + .: {} + f:path: {} + f:port: {} + f:scheme: {} + f:initialDelaySeconds: {} + f:periodSeconds: {} + f:successThreshold: {} + f:timeoutSeconds: {} + f:name: {} + f:ports: + .: {} + k:{"containerPort":6379,"protocol":"TCP"}: + .: {} + f:containerPort: {} + f:name: {} + f:protocol: {} + f:resources: + .: {} + f:limits: + .: {} + f:cpu: {} + f:memory: {} + f:requests: + .: {} + f:cpu: {} + f:memory: {} + f:securityContext: + .: {} + f:allowPrivilegeEscalation: {} + f:capabilities: + .: {} + f:add: {} + f:drop: {} + f:readOnlyRootFilesystem: {} + f:runAsNonRoot: {} + f:seccompProfile: + .: {} + f:type: {} + f:terminationMessagePath: {} + f:terminationMessagePolicy: {} + f:volumeMounts: + .: {} + k:{"mountPath":"/app/config/redis/tls"}: + .: {} + f:mountPath: {} + f:name: {} + k:{"mountPath":"/run/haproxy"}: + .: {} + f:mountPath: {} + f:name: {} + k:{"mountPath":"/usr/local/etc/haproxy"}: + .: {} + f:mountPath: {} + f:name: {} + f:dnsPolicy: {} + f:initContainers: + .: {} + k:{"name":"config-init"}: + .: {} + f:args: {} + f:command: {} + f:image: {} + f:imagePullPolicy: {} + f:name: {} + f:resources: + .: {} + f:limits: + .: {} + f:cpu: {} + f:memory: {} + f:requests: + .: {} + f:cpu: {} + f:memory: {} + f:securityContext: + .: {} + f:allowPrivilegeEscalation: {} + f:capabilities: + .: {} + f:drop: {} + f:readOnlyRootFilesystem: {} + f:runAsNonRoot: {} + f:seccompProfile: + .: {} + f:type: {} + f:terminationMessagePath: {} + f:terminationMessagePolicy: {} + f:volumeMounts: + .: {} + k:{"mountPath":"/data"}: + .: {} + f:mountPath: {} + f:name: {} + k:{"mountPath":"/readonly"}: + .: {} + f:mountPath: {} + f:name: {} + f:readOnly: {} + k:{"mountPath":"/redis-initial-pass"}: + .: {} + f:mountPath: {} + f:name: {} + f:nodeSelector: {} + f:restartPolicy: {} + f:schedulerName: {} + f:securityContext: + .: {} + f:runAsNonRoot: {} + f:seccompProfile: + .: {} + f:type: {} + f:serviceAccount: {} + f:serviceAccountName: {} + f:terminationGracePeriodSeconds: {} + f:volumes: + .: {} + k:{"name":"argocd-operator-redis-tls"}: + .: {} + f:name: {} + f:secret: + .: {} + f:defaultMode: {} + f:optional: {} + f:secretName: {} + k:{"name":"config-volume"}: + .: {} + f:configMap: + .: {} + f:defaultMode: {} + f:name: {} + f:name: {} + k:{"name":"data"}: + .: {} + f:emptyDir: {} + f:name: {} + k:{"name":"redis-initial-pass"}: + .: {} + f:name: {} + f:secret: + .: {} + f:defaultMode: {} + f:optional: {} + f:secretName: {} + k:{"name":"shared-socket"}: + .: {} + f:emptyDir: {} + f:name: {} + manager: manager + operation: Update + time: "2025-10-30T17:13:33Z" + - apiVersion: apps/v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:annotations: + .: {} + f:deployment.kubernetes.io/revision: {} + f:status: + f:availableReplicas: {} + f:conditions: + .: {} + k:{"type":"Available"}: + .: {} + f:lastTransitionTime: {} + f:lastUpdateTime: {} + f:message: {} + f:reason: {} + f:status: {} + f:type: {} + k:{"type":"Progressing"}: + .: {} + f:lastTransitionTime: {} + f:lastUpdateTime: {} + f:message: {} + f:reason: {} + f:status: {} + f:type: {} + f:observedGeneration: {} + f:readyReplicas: {} + f:replicas: {} + f:updatedReplicas: {} + manager: kube-controller-manager + operation: Update + subresource: status + time: "2025-10-30T17:13:36Z" name: openshift-gitops-redis-ha-haproxy namespace: openshift-gitops + ownerReferences: + - apiVersion: argoproj.io/v1beta1 + blockOwnerDeletion: true + controller: true + kind: ArgoCD + name: openshift-gitops + uid: dc638998-dbd6-4e58-afd0-8cc6f90559ea +spec: + progressDeadlineSeconds: 600 + replicas: 3 + revisionHistoryLimit: 10 + selector: + matchLabels: + app.kubernetes.io/name: openshift-gitops-redis-ha-haproxy + strategy: + rollingUpdate: + maxSurge: 25%! (MISSING)+ maxUnavailable: 25%! (MISSING)+ type: RollingUpdate + template: + metadata: + labels: + app.kubernetes.io/name: openshift-gitops-redis-ha-haproxy + spec: + affinity: + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - podAffinityTerm: + labelSelector: + matchLabels: + app.kubernetes.io/name: openshift-gitops-redis-ha-haproxy + topologyKey: failure-domain.beta.kubernetes.io/zone + weight: 100 + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchLabels: + app.kubernetes.io/name: openshift-gitops-redis-ha-haproxy + topologyKey: kubernetes.io/hostname + containers: + - command: + - haproxy + - -f + - /usr/local/etc/haproxy/haproxy.cfg + env: + - name: AUTH + valueFrom: + secretKeyRef: + key: admin.password + name: openshift-gitops-redis-initial-password + image: registry.redhat.io/openshift4/ose-haproxy-router@sha256:5ca16b5d521ca60461e8e85d8af09ce940d4346e51e09296c5a2bc2f2d162b5c + imagePullPolicy: IfNotPresent + livenessProbe: + failureThreshold: 3 + httpGet: + path: /healthz + port: 8888 + scheme: HTTP + initialDelaySeconds: 5 + periodSeconds: 3 + successThreshold: 1 + timeoutSeconds: 1 + name: haproxy + ports: + - containerPort: 6379 + name: redis + protocol: TCP + resources: + limits: + cpu: 500m + memory: 256Mi + requests: + cpu: 250m + memory: 128Mi + securityContext: + allowPrivilegeEscalation: false + capabilities: + add: + - NET_BIND_SERVICE + drop: + - ALL + readOnlyRootFilesystem: true + runAsNonRoot: true + seccompProfile: + type: RuntimeDefault + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + volumeMounts: + - mountPath: /usr/local/etc/haproxy + name: data + - mountPath: /run/haproxy + name: shared-socket + - mountPath: /app/config/redis/tls + name: argocd-operator-redis-tls + dnsPolicy: ClusterFirst + initContainers: + - args: + - /readonly/haproxy_init.sh + command: + - sh + image: registry.redhat.io/openshift4/ose-haproxy-router@sha256:5ca16b5d521ca60461e8e85d8af09ce940d4346e51e09296c5a2bc2f2d162b5c + imagePullPolicy: IfNotPresent + name: config-init + resources: + limits: + cpu: 500m + memory: 256Mi + requests: + cpu: 250m + memory: 128Mi + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + readOnlyRootFilesystem: true + runAsNonRoot: true + seccompProfile: + type: RuntimeDefault + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + volumeMounts: + - mountPath: /readonly + name: config-volume + readOnly: true + - mountPath: /data + name: data + - mountPath: /redis-initial-pass + name: redis-initial-pass + nodeSelector: + kubernetes.io/os: linux + restartPolicy: Always + schedulerName: default-scheduler + securityContext: + runAsNonRoot: true + seccompProfile: + type: RuntimeDefault + serviceAccount: openshift-gitops-argocd-redis-ha + serviceAccountName: openshift-gitops-argocd-redis-ha + terminationGracePeriodSeconds: 30 + volumes: + - configMap: + defaultMode: 420 + name: argocd-redis-ha-configmap + name: config-volume + - emptyDir: {} + name: shared-socket + - emptyDir: {} + name: data + - name: argocd-operator-redis-tls + secret: + defaultMode: 420 + optional: true + secretName: argocd-operator-redis-tls + - name: redis-initial-pass + secret: + defaultMode: 420 + optional: true + secretName: openshift-gitops-redis-initial-password status: - readyReplicas: 1 + availableReplicas: 3 + conditions: + - lastTransitionTime: "2025-10-30T17:13:36Z" + lastUpdateTime: "2025-10-30T17:13:36Z" + message: Deployment has minimum availability. + reason: MinimumReplicasAvailable + status: "True" + type: Available + - lastTransitionTime: "2025-10-30T17:13:33Z" + lastUpdateTime: "2025-10-30T17:13:36Z" + message: ReplicaSet "openshift-gitops-redis-ha-haproxy-b97f9b9d" has successfully + progressed. + reason: NewReplicaSetAvailable + status: "True" + type: Progressing + observedGeneration: 1 + readyReplicas: 3 + replicas: 3 + updatedReplicas: 3 case.go:363: resource Deployment:openshift-gitops/openshift-gitops-redis-ha-haproxy: .status.readyReplicas: value mismatch, expected: 1 != actual: 3 logger.go:42: 17:25:33 | 1-020_validate_redis_ha_nonha | skipping kubernetes event logging logger.go:42: 17:25:33 | 1-020_validate_redis_ha_nonha | Deleting namespace: kuttl-test-moved-clam === CONT kuttl/harness/1-008_validate-4.9CI-Failures logger.go:42: 17:25:33 | 1-008_validate-4.9CI-Failures | Creating namespace: kuttl-test-noble-koala logger.go:42: 17:25:33 | 1-008_validate-4.9CI-Failures/1-install | starting test step 1-install I1030 17:25:34.917120 248 request.go:655] Throttling request took 1.047295047s, request: GET:https://api.ci-op-zdfth2vz-6e0ce.cspilp.interop.ccitredhat.com:6443/apis/monitoring.coreos.com/v1alpha1?timeout=32s logger.go:42: 17:25:36 | 1-008_validate-4.9CI-Failures/1-install | Namespace:/source-ns created logger.go:42: 17:25:36 | 1-008_validate-4.9CI-Failures/1-install | ArgoCD:source-ns/argocd created logger.go:42: 17:25:36 | 1-008_validate-4.9CI-Failures/1-install | Namespace:/target-ns created logger.go:42: 17:26:13 | 1-008_validate-4.9CI-Failures/1-install | test step completed 1-install logger.go:42: 17:26:13 | 1-008_validate-4.9CI-Failures/2-create-rbac | starting test step 2-create-rbac I1030 17:26:14.136382 248 request.go:655] Throttling request took 1.047471231s, request: GET:https://api.ci-op-zdfth2vz-6e0ce.cspilp.interop.ccitredhat.com:6443/apis/performance.openshift.io/v1alpha1?timeout=32s logger.go:42: 17:26:15 | 1-008_validate-4.9CI-Failures/2-create-rbac | Role:source-ns/source-ns-openshift-gitops-argocd-application-controller created logger.go:42: 17:26:16 | 1-008_validate-4.9CI-Failures/2-create-rbac | RoleBinding:source-ns/source-ns-openshift-gitops-argocd-application-controller created logger.go:42: 17:26:16 | 1-008_validate-4.9CI-Failures/2-create-rbac | test step completed 2-create-rbac logger.go:42: 17:26:16 | 1-008_validate-4.9CI-Failures/3-create-app | starting test step 3-create-app logger.go:42: 17:26:18 | 1-008_validate-4.9CI-Failures/3-create-app | Application:source-ns/nginx created logger.go:42: 17:26:30 | 1-008_validate-4.9CI-Failures/3-create-app | test step completed 3-create-app logger.go:42: 17:26:30 | 1-008_validate-4.9CI-Failures | skipping kubernetes event logging logger.go:42: 17:26:31 | 1-008_validate-4.9CI-Failures | Deleting namespace: kuttl-test-noble-koala === CONT kuttl harness.go:402: run tests finished harness.go:511: cleaning up harness.go:568: removing temp folder: "" --- FAIL: kuttl (2467.11s) --- FAIL: kuttl/harness (0.00s) --- PASS: kuttl/harness/1-002_validate_backend_service (2.93s) --- PASS: kuttl/harness/1-071_validate_node_selectors (12.16s) --- PASS: kuttl/harness/1-107_validate_redis_ssc (135.18s) --- PASS: kuttl/harness/1-106_validate_argocd_metrics_controller (9.05s) --- PASS: kuttl/harness/1-105_validate_label_selector (323.83s) --- PASS: kuttl/harness/1-101_validate_rollout_policyrules (3.99s) --- PASS: kuttl/harness/1-100_validate_rollouts_resources_creation (24.51s) --- PASS: kuttl/harness/1-086_validate_default_argocd_role (44.24s) --- PASS: kuttl/harness/1-085_validate_dynamic_plugin_installation (11.20s) --- PASS: kuttl/harness/1-084_validate_prune_templates (11.62s) --- FAIL: kuttl/harness/1-078_validate_default_argocd_consoleLink (36.20s) --- PASS: kuttl/harness/1-077_validate_workload_status_monitoring_alert (5.82s) --- PASS: kuttl/harness/1-035_validate_argocd_secret_repopulate (45.14s) --- FAIL: kuttl/harness/1-056_validate_managed-by (52.05s) --- FAIL: kuttl/harness/1-050_validate_sso (769.95s) --- PASS: kuttl/harness/1-041_validate_argocd_sync_alert (2.93s) --- PASS: kuttl/harness/1-040_validate_quoted_RBAC_group_names (10.38s) --- PASS: kuttl/harness/1-026-validate_backend_service_permissions (2.94s) --- PASS: kuttl/harness/1-034_validate_custom_roles (87.58s) --- PASS: kuttl/harness/1-028_validate_run_on_infra (78.81s) --- FAIL: kuttl/harness/1-020_validate_redis_ha_nonha (733.60s) --- PASS: kuttl/harness/1-008_validate-4.9CI-Failures (57.16s) FAIL + exit_code=1 + cp ./kuttl-test.xml /logs/artifacts/junit_gitops-sequential.xml + original_results=/logs/artifacts/original_results/ + mkdir /logs/artifacts/original_results/ + cp /logs/artifacts/junit_gitops-sequential.xml /logs/artifacts/original_results//junit_gitops-sequential.xml + mapTestsForComponentReadiness /logs/artifacts/junit_gitops-sequential.xml + [[ true == \t\r\u\e ]] + results_file=/logs/artifacts/junit_gitops-sequential.xml + echo 'Patching Tests Result File: /logs/artifacts/junit_gitops-sequential.xml' Patching Tests Result File: /logs/artifacts/junit_gitops-sequential.xml + '[' -f /logs/artifacts/junit_gitops-sequential.xml ']' + install_yq_if_not_exists + echo 'Checking if yq exists' Checking if yq exists ++ yq --version ++ true + cmd_yq= + '[' -n '' ']' + echo 'Installing yq' Installing yq + mkdir -p /tmp/bin + export PATH=/opt/app-root/src/bin:/opt/app-root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/tmp/bin/ + PATH=/opt/app-root/src/bin:/opt/app-root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/tmp/bin/ ++ uname -m ++ sed 's/aarch64/arm64/;s/x86_64/amd64/' + curl -L https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 -o /tmp/bin/yq % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 10.9M 100 10.9M 0 0 39.8M 0 --:--:-- --:--:-- --:--:-- 39.8M + chmod +x /tmp/bin/yq + echo 'Mapping Test Suite Name To: Gitops-lp-interop' Mapping Test Suite Name To: Gitops-lp-interop + yq eval -px -ox -iI0 '.testsuites."+@name" = "Gitops-lp-interop"' /logs/artifacts/junit_gitops-sequential.xml + cp /logs/artifacts/junit_gitops-sequential.xml /tmp/secret + exit 1