-
Notifications
You must be signed in to change notification settings - Fork 265
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add e2e test for app-wide-upgrade-strategy (#842)
Signed-off-by: Ishita Sequeira <[email protected]>
- Loading branch information
1 parent
79de6d5
commit c8bcd8f
Showing
6 changed files
with
205 additions
and
0 deletions.
There are no files selected for viewing
19 changes: 19 additions & 0 deletions
19
test/e2e/suite/005-app-wide-update-strategy/01-assert.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
apiVersion: argoproj.io/v1alpha1 | ||
kind: Application | ||
metadata: | ||
name: image-updater-005-01 | ||
status: | ||
health: | ||
status: Healthy | ||
sync: | ||
status: Synced | ||
--- | ||
apiVersion: argoproj.io/v1alpha1 | ||
kind: Application | ||
metadata: | ||
name: image-updater-005-02 | ||
status: | ||
health: | ||
status: Healthy | ||
sync: | ||
status: Synced |
55 changes: 55 additions & 0 deletions
55
test/e2e/suite/005-app-wide-update-strategy/01-install.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
apiVersion: v1 | ||
kind: Namespace | ||
metadata: | ||
name: image-updater-e2e-005-01 | ||
--- | ||
apiVersion: argoproj.io/v1alpha1 | ||
kind: Application | ||
metadata: | ||
name: image-updater-005-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 | ||
finalizers: | ||
- resources-finalizer.argocd.argoproj.io | ||
spec: | ||
project: default | ||
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-005-01 | ||
syncPolicy: | ||
automated: {} | ||
retry: | ||
limit: 2 | ||
--- | ||
apiVersion: v1 | ||
kind: Namespace | ||
metadata: | ||
name: image-updater-e2e-005-02 | ||
--- | ||
apiVersion: argoproj.io/v1alpha1 | ||
kind: Application | ||
metadata: | ||
name: image-updater-005-02 | ||
annotations: | ||
argocd-image-updater.argoproj.io/image-list: guestbook=gcr.io/heptio-images/ks-guestbook-demo:latest | ||
argocd-image-updater.argoproj.io/guestbook.update-strategy: latest | ||
finalizers: | ||
- resources-finalizer.argocd.argoproj.io | ||
spec: | ||
project: default | ||
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-005-02 | ||
syncPolicy: | ||
automated: {} | ||
retry: | ||
limit: 2 |
40 changes: 40 additions & 0 deletions
40
test/e2e/suite/005-app-wide-update-strategy/02-assert.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
apiVersion: argoproj.io/v1alpha1 | ||
kind: Application | ||
metadata: | ||
name: image-updater-005-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-005-01 | ||
spec: | ||
containers: | ||
- image: gcr.io/heptio-images/ks-guestbook-demo:0.2 | ||
--- | ||
apiVersion: argoproj.io/v1alpha1 | ||
kind: Application | ||
metadata: | ||
name: image-updater-005-02 | ||
status: | ||
health: | ||
status: Healthy | ||
sync: | ||
status: Synced | ||
--- | ||
apiVersion: v1 | ||
kind: Pod | ||
metadata: | ||
namespace: image-updater-e2e-005-02 | ||
spec: | ||
containers: | ||
- image: gcr.io/heptio-images/ks-guestbook-demo:0.1 |
7 changes: 7 additions & 0 deletions
7
test/e2e/suite/005-app-wide-update-strategy/02-run-updater.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
apiVersion: kuttl.dev/v1beta1 | ||
kind: TestStep | ||
commands: | ||
- script: | | ||
${SRC_DIR}/dist/argocd-image-updater run --once \ | ||
--argocd-namespace argocd-image-updater-e2e \ | ||
--loglevel info |
16 changes: 16 additions & 0 deletions
16
test/e2e/suite/005-app-wide-update-strategy/99-delete.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
apiVersion: kuttl.dev/v1beta1 | ||
kind: TestStep | ||
timeout: 120 | ||
delete: | ||
- apiVersion: argoproj.io/v1alpha1 | ||
kind: Application | ||
name: image-updater-005-01 | ||
- apiVersion: v1 | ||
kind: Namespace | ||
name: image-updater-e2e-005-01 | ||
- apiVersion: argoproj.io/v1alpha1 | ||
kind: Application | ||
name: image-updater-005-02 | ||
- apiVersion: v1 | ||
kind: Namespace | ||
name: image-updater-e2e-005-02 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
This test case verifies [app wide update strategy](https://argocd-image-updater.readthedocs.io/en/stable/configuration/images/#update-strategies) | ||
|
||
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 005-app-wide-update-strategy` | ||
|
||
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/005-app-wide-update-strategy | ||
=== PAUSE kuttl/harness/005-app-wide-update-strategy | ||
=== CONT kuttl/harness/005-app-wide-update-strategy | ||
logger.go:42: 17:59:36 | 005-app-wide-update-strategy | Ignoring README.md as it does not match file name regexp: ^(\d+)-(?:[^\.]+)(?:\.yaml)?$ | ||
logger.go:42: 17:59:36 | 005-app-wide-update-strategy | Skipping creation of user-supplied namespace: argocd-image-updater-e2e | ||
logger.go:42: 17:59:36 | 005-app-wide-update-strategy/1-install | starting test step 1-install | ||
logger.go:42: 17:59:36 | 005-app-wide-update-strategy/1-install | Namespace:/image-updater-e2e-005-01 updated | ||
logger.go:42: 17:59:36 | 005-app-wide-update-strategy/1-install | Application:argocd-image-updater-e2e/image-updater-005-01 updated | ||
logger.go:42: 17:59:36 | 005-app-wide-update-strategy/1-install | Namespace:/image-updater-e2e-005-02 updated | ||
logger.go:42: 17:59:36 | 005-app-wide-update-strategy/1-install | Application:argocd-image-updater-e2e/image-updater-005-02 updated | ||
logger.go:42: 17:59:36 | 005-app-wide-update-strategy/1-install | test step completed 1-install | ||
logger.go:42: 17:59:36 | 005-app-wide-update-strategy/2-run-updater | starting test step 2-run-updater | ||
logger.go:42: 17:59:36 | 005-app-wide-update-strategy/2-run-updater | running command: [sh -c ${SRC_DIR}/dist/argocd-image-updater run --once \ | ||
--argocd-namespace argocd-image-updater-e2e \ | ||
--loglevel info | ||
] | ||
logger.go:42: 17:59:36 | 005-app-wide-update-strategy/2-run-updater | time="2024-09-09T17:59:36-04:00" level=info msg="argocd-image-updater v99.9.9+6c9e2ee starting [loglevel:INFO, interval:once, healthport:off]" | ||
logger.go:42: 17:59:36 | 005-app-wide-update-strategy/2-run-updater | time="2024-09-09T17:59:36-04:00" level=warning msg="commit message template at /app/config/commit.template does not exist, using default" | ||
logger.go:42: 17:59:36 | 005-app-wide-update-strategy/2-run-updater | time="2024-09-09T17:59:36-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: 17:59:36 | 005-app-wide-update-strategy/2-run-updater | time="2024-09-09T17:59:36-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: 17:59:36 | 005-app-wide-update-strategy/2-run-updater | time="2024-09-09T17:59:36-04:00" level=info msg="Starting metrics server on TCP port=8081" | ||
logger.go:42: 17:59:36 | 005-app-wide-update-strategy/2-run-updater | time="2024-09-09T17:59:36-04:00" level=info msg="Warming up image cache" | ||
logger.go:42: 17:59:36 | 005-app-wide-update-strategy/2-run-updater | time="2024-09-09T17:59:36-04:00" level=warning msg="Unknown sort option skip -- using semver" image_alias=guestbook image_digest= image_name=gcr.io/heptio-images/ks-guestbook-demo image_tag=0.1 registry_url=gcr.io | ||
logger.go:42: 17:59:36 | 005-app-wide-update-strategy/2-run-updater | time="2024-09-09T17:59:36-04:00" level=info msg="Setting new image to gcr.io/heptio-images/ks-guestbook-demo:0.1" alias=guestbook application=image-updater-005-02 image_name=heptio-images/ks-guestbook-demo image_tag=0.2 registry=gcr.io | ||
logger.go:42: 17:59:36 | 005-app-wide-update-strategy/2-run-updater | time="2024-09-09T17:59:36-04:00" level=info msg="Successfully updated image 'gcr.io/heptio-images/ks-guestbook-demo:0.2' to 'gcr.io/heptio-images/ks-guestbook-demo:0.1', but pending spec update (dry run=true)" alias=guestbook application=image-updater-005-02 image_name=heptio-images/ks-guestbook-demo image_tag=0.2 registry=gcr.io | ||
logger.go:42: 17:59:36 | 005-app-wide-update-strategy/2-run-updater | time="2024-09-09T17:59:36-04:00" level=info msg="Dry run - not committing 1 changes to application" application=image-updater-005-02 | ||
logger.go:42: 17:59:36 | 005-app-wide-update-strategy/2-run-updater | time="2024-09-09T17:59:36-04:00" level=info msg="Finished cache warm-up, pre-loaded 0 meta data entries from 2 registries" | ||
logger.go:42: 17:59:36 | 005-app-wide-update-strategy/2-run-updater | time="2024-09-09T17:59:36-04:00" level=info msg="Starting image update cycle, considering 2 annotated application(s) for update" | ||
logger.go:42: 17:59:36 | 005-app-wide-update-strategy/2-run-updater | time="2024-09-09T17:59:36-04:00" level=warning msg="Unknown sort option skip -- using semver" image_alias=guestbook image_digest= image_name=gcr.io/heptio-images/ks-guestbook-demo image_tag=0.1 registry_url=gcr.io | ||
logger.go:42: 17:59:37 | 005-app-wide-update-strategy/2-run-updater | time="2024-09-09T17:59:37-04:00" level=info msg="Setting new image to gcr.io/heptio-images/ks-guestbook-demo:0.1" alias=guestbook application=image-updater-005-02 image_name=heptio-images/ks-guestbook-demo image_tag=0.2 registry=gcr.io | ||
logger.go:42: 17:59:37 | 005-app-wide-update-strategy/2-run-updater | time="2024-09-09T17:59:37-04:00" level=info msg="Successfully updated image 'gcr.io/heptio-images/ks-guestbook-demo:0.2' to 'gcr.io/heptio-images/ks-guestbook-demo:0.1', but pending spec update (dry run=false)" alias=guestbook application=image-updater-005-02 image_name=heptio-images/ks-guestbook-demo image_tag=0.2 registry=gcr.io | ||
logger.go:42: 17:59:37 | 005-app-wide-update-strategy/2-run-updater | time="2024-09-09T17:59:37-04:00" level=info msg="Committing 1 parameter update(s) for application image-updater-005-02" application=image-updater-005-02 | ||
logger.go:42: 17:59:37 | 005-app-wide-update-strategy/2-run-updater | time="2024-09-09T17:59:37-04:00" level=info msg="Successfully updated the live application spec" application=image-updater-005-02 | ||
logger.go:42: 17:59:37 | 005-app-wide-update-strategy/2-run-updater | time="2024-09-09T17:59:37-04:00" level=info msg="Processing results: applications=2 images_considered=2 images_skipped=0 images_updated=1 errors=0" | ||
logger.go:42: 17:59:37 | 005-app-wide-update-strategy/2-run-updater | time="2024-09-09T17:59:37-04:00" level=info msg=Finished. | ||
logger.go:42: 17:59:38 | 005-app-wide-update-strategy/2-run-updater | test step completed 2-run-updater | ||
logger.go:42: 17:59:38 | 005-app-wide-update-strategy/99-delete | starting test step 99-delete | ||
logger.go:42: 17:59:38 | 005-app-wide-update-strategy/99-delete | test step completed 99-delete | ||
logger.go:42: 17:59:38 | 005-app-wide-update-strategy | 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 (2.18s) | ||
--- PASS: kuttl/harness (0.00s) | ||
--- PASS: kuttl/harness/005-app-wide-update-strategy (2.17s) | ||
PASS | ||
``` |