summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorIshita Sequeira <46771830+ishitasequeira@users.noreply.github.com>2024-10-14 11:14:10 -0400
committerGitHub <noreply@github.com>2024-10-14 11:14:10 -0400
commit02eee1d750f44e7275eff4c1630580badbc08058 (patch)
tree0847197af632be71dd303cf37d87d3563498c6f9 /test
parent3e7378a8e62b56d94a5d786536894a87eda3137d (diff)
Add e2e tests for apps in any namespace feature (#844)
Signed-off-by: Ishita Sequeira <ishiseq29@gmail.com>
Diffstat (limited to 'test')
-rw-r--r--test/e2e/suite/006-apps-in-any-namespace/01-assert.yaml10
-rw-r--r--test/e2e/suite/006-apps-in-any-namespace/01-install.yaml90
-rw-r--r--test/e2e/suite/006-apps-in-any-namespace/02-assert.yaml24
-rw-r--r--test/e2e/suite/006-apps-in-any-namespace/02-run-updater.yaml8
-rw-r--r--test/e2e/suite/006-apps-in-any-namespace/99-delete.yaml30
-rw-r--r--test/e2e/suite/006-apps-in-any-namespace/README.md142
6 files changed, 304 insertions, 0 deletions
diff --git a/test/e2e/suite/006-apps-in-any-namespace/01-assert.yaml b/test/e2e/suite/006-apps-in-any-namespace/01-assert.yaml
new file mode 100644
index 0000000..cb5d23f
--- /dev/null
+++ b/test/e2e/suite/006-apps-in-any-namespace/01-assert.yaml
@@ -0,0 +1,10 @@
+apiVersion: argoproj.io/v1alpha1
+kind: Application
+metadata:
+ name: image-updater-006
+ namespace: image-updater-e2e-006-01
+status:
+ health:
+ status: Healthy
+ sync:
+ status: Synced \ No newline at end of file
diff --git a/test/e2e/suite/006-apps-in-any-namespace/01-install.yaml b/test/e2e/suite/006-apps-in-any-namespace/01-install.yaml
new file mode 100644
index 0000000..f7f7296
--- /dev/null
+++ b/test/e2e/suite/006-apps-in-any-namespace/01-install.yaml
@@ -0,0 +1,90 @@
+apiVersion: v1
+kind: Namespace
+metadata:
+ name: image-updater-e2e-006-01
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: Role
+metadata:
+ name: argocd-application-controller
+ namespace: image-updater-e2e-006-01 # Target namespace where the app will be deployed
+rules:
+ - apiGroups: [""]
+ resources: ["pods", "services", "replicationcontrollers"]
+ verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
+ - apiGroups: ["apps"]
+ resources: ["deployments", "daemonsets", "replicasets", "statefulsets"]
+ verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
+ - apiGroups: ["extensions"]
+ resources: ["ingresses"]
+ verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: RoleBinding
+metadata:
+ name: argocd-application-controller-binding
+ namespace: image-updater-e2e-006-01 # Namespace where the Argo CD application is managed
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: Role
+ name: argocd-application-controller
+ namespace: argocd-image-updater-e2e # Namespace where the Argo CD application controller is running
+subjects:
+ - kind: ServiceAccount
+ name: argocd-application-controller
+ namespace: argocd-image-updater-e2e # Namespace where the Argo CD application controller is running
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: argocd-cmd-params-cm
+ namespace: argocd-image-updater-e2e
+ labels:
+ app.kubernetes.io/name: argocd-cmd-params-cm
+ app.kubernetes.io/part-of: argocd
+data:
+ application.namespaces: '*'
+---
+kind: AppProject
+apiVersion: argoproj.io/v1alpha1
+metadata:
+ name: project-one
+ namespace: argocd-image-updater-e2e
+spec:
+ sourceRepos:
+ - '*'
+ destinations:
+ - namespace: '*'
+ server: '*'
+ sourceNamespaces:
+ - image-updater-e2e-006-01
+---
+apiVersion: kuttl.dev/v1beta1
+kind: TestStep
+commands:
+- script: |
+ kubectl rollout restart -n argocd-image-updater-e2e deployment argocd-server
+ kubectl rollout restart -n argocd-image-updater-e2e statefulset argocd-application-controller
+ sleep 30
+---
+apiVersion: argoproj.io/v1alpha1
+kind: Application
+metadata:
+ name: image-updater-006
+ namespace: image-updater-e2e-006-01
+ annotations:
+ argocd-image-updater.argoproj.io/image-list: guestbook=gcr.io/heptio-images/ks-guestbook-demo:~0
+ argocd-image-updater.argoproj.io/guestbook.update-strategy: semver
+spec:
+ project: project-one
+ source:
+ repoURL: https://github.com/argoproj/argocd-example-apps.git
+ path: kustomize-guestbook
+ targetRevision: HEAD
+ destination:
+ server: https://kubernetes.default.svc
+ namespace: image-updater-e2e-006-01
+ syncPolicy:
+ automated:
+ prune: true
+ selfHeal: true
diff --git a/test/e2e/suite/006-apps-in-any-namespace/02-assert.yaml b/test/e2e/suite/006-apps-in-any-namespace/02-assert.yaml
new file mode 100644
index 0000000..6b6bc24
--- /dev/null
+++ b/test/e2e/suite/006-apps-in-any-namespace/02-assert.yaml
@@ -0,0 +1,24 @@
+---
+apiVersion: argoproj.io/v1alpha1
+kind: Application
+metadata:
+ name: image-updater-006
+ namespace: image-updater-e2e-006-01
+spec:
+ source:
+ kustomize:
+ images:
+ - gcr.io/heptio-images/ks-guestbook-demo:0.2
+status:
+ health:
+ status: Healthy
+ sync:
+ status: Synced
+---
+apiVersion: v1
+kind: Pod
+metadata:
+ namespace: image-updater-e2e-006-01
+spec:
+ containers:
+ - image: gcr.io/heptio-images/ks-guestbook-demo:0.2 \ No newline at end of file
diff --git a/test/e2e/suite/006-apps-in-any-namespace/02-run-updater.yaml b/test/e2e/suite/006-apps-in-any-namespace/02-run-updater.yaml
new file mode 100644
index 0000000..7859dec
--- /dev/null
+++ b/test/e2e/suite/006-apps-in-any-namespace/02-run-updater.yaml
@@ -0,0 +1,8 @@
+apiVersion: kuttl.dev/v1beta1
+kind: TestStep
+commands:
+- script: |
+ ${SRC_DIR}/dist/argocd-image-updater run --once \
+ --argocd-namespace argocd-image-updater-e2e \
+ --loglevel trace
+ sleep 30 \ No newline at end of file
diff --git a/test/e2e/suite/006-apps-in-any-namespace/99-delete.yaml b/test/e2e/suite/006-apps-in-any-namespace/99-delete.yaml
new file mode 100644
index 0000000..2a904f0
--- /dev/null
+++ b/test/e2e/suite/006-apps-in-any-namespace/99-delete.yaml
@@ -0,0 +1,30 @@
+apiVersion: kuttl.dev/v1beta1
+kind: TestStep
+timeout: 120
+delete:
+- apiVersion: argoproj.io/v1alpha1
+ kind: Application
+ name: image-updater-006
+ namespace: image-updater-e2e-006-01
+- apiVersion: argoproj.io/v1alpha1
+ kind: AppProject
+ name: project-one
+- apiVersion: v1
+ kind: Namespace
+ name: image-updater-e2e-006-01
+- apiVersion: v1
+ kind: Namespace
+ name: image-updater-e2e-006
+- apiVersion: rbac.authorization.k8s.io/v1
+ kind: Role
+ name: argocd-application-controller
+ namespace: image-updater-e2e-006-01
+- apiVersion: rbac.authorization.k8s.io/v1
+ kind: RoleBinding
+ name: argocd-application-controller-binding
+ namespace: image-updater-e2e-006-01
+script: |
+ kubectl patch configmap argocd-cmd-params-cm -n argocd-image-updater-e2e --type=json -p='[{"op": "remove", "path": "/data/application.namespaces"}]'
+ kubectl rollout restart -n argocd-image-updater-e2e deployment argocd-server
+ kubectl rollout restart -n argocd-image-updater-e2e statefulset argocd-application-controller
+ sleep 30
diff --git a/test/e2e/suite/006-apps-in-any-namespace/README.md b/test/e2e/suite/006-apps-in-any-namespace/README.md
new file mode 100644
index 0000000..d279857
--- /dev/null
+++ b/test/e2e/suite/006-apps-in-any-namespace/README.md
@@ -0,0 +1,142 @@
+This test case verifies applications in any namespace feature.
+
+This test case uses image from public container registry and application source from public GitHub repo.
+
+To run this individual test case,
+
+* make sure both docker daemon and k8s cluster is running
+* `cd $HOME/go/src/image-updater/test/e2e`
+* `SRC_DIR=$HOME/go/src/image-updater kubectl kuttl test --namespace argocd-image-updater-e2e --timeout 120 --test 006-apps-in-any-namespace`
+
+Test output:
+```bash
+=== RUN kuttl
+ harness.go:464: starting setup
+ harness.go:255: running tests using configured kubeconfig.
+ harness.go:278: Successful connection to cluster at: https://127.0.0.1:6443
+ harness.go:363: running tests
+ harness.go:75: going to run test suite with timeout of 120 seconds for each step
+ harness.go:375: testsuite: ./suite has 7 tests
+=== RUN kuttl/harness
+=== RUN kuttl/harness/006-apps-in-any-namespace
+=== PAUSE kuttl/harness/006-apps-in-any-namespace
+=== CONT kuttl/harness/006-apps-in-any-namespace
+ logger.go:42: 12:34:29 | 006-apps-in-any-namespace | Ignoring README.md as it does not match file name regexp: ^(\d+)-(?:[^\.]+)(?:\.yaml)?$
+ logger.go:42: 12:34:29 | 006-apps-in-any-namespace | Skipping creation of user-supplied namespace: argocd-image-updater-e2e
+ logger.go:42: 12:34:29 | 006-apps-in-any-namespace/1-install | starting test step 1-install
+ logger.go:42: 12:34:29 | 006-apps-in-any-namespace/1-install | running command: [sh -c kubectl rollout restart -n argocd-image-updater-e2e deployment argocd-server
+ kubectl rollout restart -n argocd-image-updater-e2e statefulset argocd-application-controller
+ sleep 30
+ ]
+ logger.go:42: 12:34:29 | 006-apps-in-any-namespace/1-install | deployment.apps/argocd-server restarted
+ logger.go:42: 12:34:29 | 006-apps-in-any-namespace/1-install | statefulset.apps/argocd-application-controller restarted
+[controller-runtime] log.SetLogger(...) was never called; logs will not be displayed.
+Detected at:
+ > goroutine 22 [running]:
+ > runtime/debug.Stack()
+ > runtime/debug/stack.go:24 +0x64
+ > sigs.k8s.io/controller-runtime/pkg/log.eventuallyFulfillRoot()
+ > sigs.k8s.io/controller-runtime@v0.18.4/pkg/log/log.go:60 +0xf4
+ > sigs.k8s.io/controller-runtime/pkg/log.(*delegatingLogSink).WithName(0x140002fc440, {0x10115bbef, 0x14})
+ > sigs.k8s.io/controller-runtime@v0.18.4/pkg/log/deleg.go:147 +0x34
+ > github.com/go-logr/logr.Logger.WithName({{0x1017508a0, 0x140002fc440}, 0x0}, {0x10115bbef?, 0x140005754a8?})
+ > github.com/go-logr/logr@v1.4.1/logr.go:345 +0x40
+ > sigs.k8s.io/controller-runtime/pkg/client.newClient(0x14000575658?, {0x0, 0x1400042c8c0, {0x101751f80, 0x1400030e0f0}, 0x0, {0x0, 0x0}, 0x0})
+ > sigs.k8s.io/controller-runtime@v0.18.4/pkg/client/client.go:129 +0xb4
+ > sigs.k8s.io/controller-runtime/pkg/client.New(0x1400011db08?, {0x0, 0x1400042c8c0, {0x101751f80, 0x1400030e0f0}, 0x0, {0x0, 0x0}, 0x0})
+ > sigs.k8s.io/controller-runtime@v0.18.4/pkg/client/client.go:110 +0x54
+ > github.com/kudobuilder/kuttl/pkg/test/utils.NewRetryClient(0x1400011db08, {0x0, 0x1400042c8c0, {0x101751f80, 0x1400030e0f0}, 0x0, {0x0, 0x0}, 0x0})
+ > github.com/kudobuilder/kuttl/pkg/test/utils/kubernetes.go:177 +0xac
+ > github.com/kudobuilder/kuttl/pkg/test.(*Harness).Client(0x140000d6608, 0xf0?)
+ > github.com/kudobuilder/kuttl/pkg/test/harness.go:323 +0x15c
+ > github.com/kudobuilder/kuttl/pkg/test.(*Step).Create(0x14000444b60, 0x14000330d00, {0x16fd9f5a1, 0x18})
+ > github.com/kudobuilder/kuttl/pkg/test/step.go:178 +0x48
+ > github.com/kudobuilder/kuttl/pkg/test.(*Step).Run(0x14000444b60, 0x14000330d00, {0x16fd9f5a1, 0x18})
+ > github.com/kudobuilder/kuttl/pkg/test/step.go:458 +0x1d0
+ > github.com/kudobuilder/kuttl/pkg/test.(*Case).Run(0x1400043f720, 0x14000330d00, 0x140001fe990)
+ > github.com/kudobuilder/kuttl/pkg/test/case.go:392 +0xc90
+ > github.com/kudobuilder/kuttl/pkg/test.(*Harness).RunTests.func1.1(0x14000330d00)
+ > github.com/kudobuilder/kuttl/pkg/test/harness.go:401 +0x128
+ > testing.tRunner(0x14000330d00, 0x1400064e8d0)
+ > testing/testing.go:1689 +0xec
+ > created by testing.(*T).Run in goroutine 21
+ > testing/testing.go:1742 +0x318
+ logger.go:42: 12:34:59 | 006-apps-in-any-namespace/1-install | Namespace:/image-updater-e2e-006 created
+ logger.go:42: 12:34:59 | 006-apps-in-any-namespace/1-install | Namespace:/image-updater-e2e-006-01 created
+ logger.go:42: 12:34:59 | 006-apps-in-any-namespace/1-install | ConfigMap:argocd-image-updater-e2e/argocd-cmd-params-cm updated
+ logger.go:42: 12:34:59 | 006-apps-in-any-namespace/1-install | AppProject:argocd-image-updater-e2e/project-one created
+ logger.go:42: 12:34:59 | 006-apps-in-any-namespace/1-install | Application:argocd-image-updater-e2e/image-updater-006 created
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/1-install | test step completed 1-install
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | starting test step 2-run-updater
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | running command: [sh -c ${SRC_DIR}/dist/argocd-image-updater run --once \
+ --argocd-namespace argocd-image-updater-e2e \
+ --loglevel trace
+ ]
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=info msg="argocd-image-updater v99.9.9+43dbd63 starting [loglevel:TRACE, interval:once, healthport:off]"
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=warning msg="commit message template at /app/config/commit.template does not exist, using default"
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=debug msg="Successfully parsed commit message template"
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=warning msg="Registry configuration at /app/config/registries.conf could not be read: stat /app/config/registries.conf: no such file or directory -- using default configuration"
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=debug msg="Creating in-cluster Kubernetes client"
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=info msg="ArgoCD configuration: [apiKind=kubernetes, server=argocd-server.argocd-image-updater-e2e, auth_token=false, insecure=false, grpc_web=false, plaintext=false]"
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=info msg="Starting metrics server on TCP port=8081"
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=info msg="Warming up image cache"
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=trace msg="processing app 'argocd-image-updater-e2e/image-updater-006' of type 'Kustomize'" application=image-updater-006 namespace=argocd-image-updater-e2e
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=debug msg="Processing application argocd-image-updater-e2e/image-updater-006"
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=debug msg="Considering this image for update" alias=guestbook application=image-updater-006 image_name=heptio-images/ks-guestbook-demo image_tag=0.1 registry=gcr.io
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=debug msg="setting rate limit to 20 requests per second" prefix=gcr.io registry="https://gcr.io"
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=debug msg="Inferred registry from prefix gcr.io to use API https://gcr.io"
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=debug msg="Using version constraint '~0' when looking for a new tag" alias=guestbook application=image-updater-006 image_name=heptio-images/ks-guestbook-demo image_tag=0.1 registry=gcr.io
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=trace msg="Found update strategy semver" image_alias=guestbook image_digest= image_name=gcr.io/heptio-images/ks-guestbook-demo image_tag="~0" registry_url=gcr.io
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=trace msg="No match annotation found" image_alias=guestbook image_digest= image_name=gcr.io/heptio-images/ks-guestbook-demo image_tag="~0" registry_url=gcr.io
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=trace msg="No ignore-tags annotation found" image_alias=guestbook image_digest= image_name=gcr.io/heptio-images/ks-guestbook-demo image_tag="~0" registry_url=gcr.io
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=trace msg="Using runtime platform constraint darwin/arm64" image_alias=guestbook image_digest= image_name=gcr.io/heptio-images/ks-guestbook-demo image_tag="~0" registry_url=gcr.io
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=trace msg="No pull-secret annotation found" image_alias=guestbook image_digest= image_name=gcr.io/heptio-images/ks-guestbook-demo image_tag="~0" registry_url=gcr.io
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=trace msg="Performing HTTP GET https://gcr.io/v2/heptio-images/ks-guestbook-demo/tags/list"
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=trace msg="List of available tags found: [0.2 0.1]" alias=guestbook application=image-updater-006 image_name=heptio-images/ks-guestbook-demo image_tag=0.1 registry=gcr.io
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=trace msg="Finding out whether to consider 0.1 for being updateable" image="gcr.io/heptio-images/ks-guestbook-demo:0.1"
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=trace msg="Finding out whether to consider 0.2 for being updateable" image="gcr.io/heptio-images/ks-guestbook-demo:0.1"
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=debug msg="found 2 from 2 tags eligible for consideration" image="gcr.io/heptio-images/ks-guestbook-demo:0.1"
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=info msg="Setting new image to gcr.io/heptio-images/ks-guestbook-demo:0.2" alias=guestbook application=image-updater-006 image_name=heptio-images/ks-guestbook-demo image_tag=0.1 registry=gcr.io
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=trace msg="Setting Kustomize parameter gcr.io/heptio-images/ks-guestbook-demo:0.2" application=image-updater-006
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=info msg="Successfully updated image 'gcr.io/heptio-images/ks-guestbook-demo:0.1' to 'gcr.io/heptio-images/ks-guestbook-demo:0.2', but pending spec update (dry run=true)" alias=guestbook application=image-updater-006 image_name=heptio-images/ks-guestbook-demo image_tag=0.1 registry=gcr.io
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=debug msg="Using commit message: "
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=info msg="Dry run - not committing 1 changes to application" application=image-updater-006
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=info msg="Finished cache warm-up, pre-loaded 0 meta data entries from 2 registries"
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=debug msg="Starting askpass server"
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=trace msg="processing app 'argocd-image-updater-e2e/image-updater-006' of type 'Kustomize'" application=image-updater-006 namespace=argocd-image-updater-e2e
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=info msg="Starting image update cycle, considering 1 annotated application(s) for update"
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=debug msg="Processing application argocd-image-updater-e2e/image-updater-006"
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=debug msg="Considering this image for update" alias=guestbook application=image-updater-006 image_name=heptio-images/ks-guestbook-demo image_tag=0.1 registry=gcr.io
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=debug msg="Using version constraint '~0' when looking for a new tag" alias=guestbook application=image-updater-006 image_name=heptio-images/ks-guestbook-demo image_tag=0.1 registry=gcr.io
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=trace msg="Found update strategy semver" image_alias=guestbook image_digest= image_name=gcr.io/heptio-images/ks-guestbook-demo image_tag="~0" registry_url=gcr.io
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=trace msg="No match annotation found" image_alias=guestbook image_digest= image_name=gcr.io/heptio-images/ks-guestbook-demo image_tag="~0" registry_url=gcr.io
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=trace msg="No ignore-tags annotation found" image_alias=guestbook image_digest= image_name=gcr.io/heptio-images/ks-guestbook-demo image_tag="~0" registry_url=gcr.io
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=trace msg="Using runtime platform constraint darwin/arm64" image_alias=guestbook image_digest= image_name=gcr.io/heptio-images/ks-guestbook-demo image_tag="~0" registry_url=gcr.io
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=trace msg="No pull-secret annotation found" image_alias=guestbook image_digest= image_name=gcr.io/heptio-images/ks-guestbook-demo image_tag="~0" registry_url=gcr.io
+ logger.go:42: 12:35:03 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:03-04:00" level=trace msg="Performing HTTP GET https://gcr.io/v2/heptio-images/ks-guestbook-demo/tags/list"
+ logger.go:42: 12:35:04 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:04-04:00" level=trace msg="List of available tags found: [0.1 0.2]" alias=guestbook application=image-updater-006 image_name=heptio-images/ks-guestbook-demo image_tag=0.1 registry=gcr.io
+ logger.go:42: 12:35:04 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:04-04:00" level=trace msg="Finding out whether to consider 0.1 for being updateable" image="gcr.io/heptio-images/ks-guestbook-demo:0.1"
+ logger.go:42: 12:35:04 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:04-04:00" level=trace msg="Finding out whether to consider 0.2 for being updateable" image="gcr.io/heptio-images/ks-guestbook-demo:0.1"
+ logger.go:42: 12:35:04 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:04-04:00" level=debug msg="found 2 from 2 tags eligible for consideration" image="gcr.io/heptio-images/ks-guestbook-demo:0.1"
+ logger.go:42: 12:35:04 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:04-04:00" level=info msg="Setting new image to gcr.io/heptio-images/ks-guestbook-demo:0.2" alias=guestbook application=image-updater-006 image_name=heptio-images/ks-guestbook-demo image_tag=0.1 registry=gcr.io
+ logger.go:42: 12:35:04 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:04-04:00" level=trace msg="Setting Kustomize parameter gcr.io/heptio-images/ks-guestbook-demo:0.2" application=image-updater-006
+ logger.go:42: 12:35:04 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:04-04:00" level=info msg="Successfully updated image 'gcr.io/heptio-images/ks-guestbook-demo:0.1' to 'gcr.io/heptio-images/ks-guestbook-demo:0.2', but pending spec update (dry run=false)" alias=guestbook application=image-updater-006 image_name=heptio-images/ks-guestbook-demo image_tag=0.1 registry=gcr.io
+ logger.go:42: 12:35:04 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:04-04:00" level=debug msg="Using commit message: "
+ logger.go:42: 12:35:04 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:04-04:00" level=info msg="Committing 1 parameter update(s) for application image-updater-006" application=image-updater-006
+ logger.go:42: 12:35:04 | 006-apps-in-any-namespace/2-run-updater | W0828 12:35:04.161436 23065 warnings.go:70] unknown field "status.history[0].initiatedBy"
+ logger.go:42: 12:35:04 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:04-04:00" level=info msg="Successfully updated the live application spec" application=image-updater-006
+ logger.go:42: 12:35:04 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:04-04:00" level=info msg="Processing results: applications=1 images_considered=1 images_skipped=0 images_updated=1 errors=0"
+ logger.go:42: 12:35:04 | 006-apps-in-any-namespace/2-run-updater | time="2024-08-28T12:35:04-04:00" level=info msg=Finished.
+ logger.go:42: 12:35:07 | 006-apps-in-any-namespace/2-run-updater | test step completed 2-run-updater
+ logger.go:42: 12:35:07 | 006-apps-in-any-namespace/99-delete | starting test step 99-delete
+ logger.go:42: 12:35:49 | 006-apps-in-any-namespace/99-delete | test step completed 99-delete
+ logger.go:42: 12:35:49 | 006-apps-in-any-namespace | skipping kubernetes event logging
+=== NAME kuttl
+ harness.go:407: run tests finished
+ harness.go:515: cleaning up
+ harness.go:572: removing temp folder: ""
+--- PASS: kuttl (80.42s)
+ --- PASS: kuttl/harness (0.00s)
+ --- PASS: kuttl/harness/006-apps-in-any-namespace (80.41s)
+PASS
+``` \ No newline at end of file