From eb3ab99709b267d3f998bb219ca8d4e9805f28a6 Mon Sep 17 00:00:00 2001 From: Yuriy Novostavskiy Date: Thu, 16 Jan 2025 20:03:45 +0100 Subject: [PATCH] Backport to Stable-3: Fix helm tests (#827) and Fix helm integration tests (#830) (#829) SUMMARY Some of the charts we've used for testing are no longer available at the old helm repository urls, as they've been moved to oci registries. This updates those charts. In the longer term, we should find a better way to handle these kinds of test fixtures, probably by switching to local charts as much as possible. ISSUE TYPE Bugfix Pull Request Docs Pull Request Feature Pull Request New Module Pull Request COMPONENT NAME ADDITIONAL INFORMATION Reviewed-by: Helen Bailey hebailey@redhat.com Reviewed-by: Yuriy Novostavskiy SUMMARY ISSUE TYPE Bugfix Pull Request Docs Pull Request Feature Pull Request New Module Pull Request COMPONENT NAME This is a backport of PR #830 as merged into main (7559b65). SUMMARY Fix charts ref on integration tests targets ISSUE TYPE Bugfix Pull Request Reviewed-by: Mike Graves --- tests/integration/targets/helm/tasks/main.yml | 2 +- .../helm/tasks/test_helm_reuse_values.yml | 6 +- .../targets/helm/tasks/tests_chart.yml | 6 +- .../test-chart-deployment-time/Chart.yaml | 6 + .../templates/configmap.yaml | 7 + .../targets/helm_diff/meta/main.yml | 1 + .../targets/helm_diff/tasks/main.yml | 142 ++++++++++-------- .../helm_kubeconfig/tasks/tests_helm_auth.yml | 27 ++-- .../targets/helm_pull/tasks/main.yml | 3 +- .../targets/helm_set_values/tasks/main.yml | 9 +- .../targets/install_helm/defaults/main.yml | 2 +- .../targets/push_to_helm_registry/aliases | 1 + .../push_to_helm_registry/defaults/main.yml | 5 + .../push_to_helm_registry/tasks/main.yml | 38 +++++ .../targets/setup_helm_registry/aliases | 1 + .../setup_helm_registry/defaults/main.yml | 5 + .../setup_helm_registry/handlers/main.yml | 3 + .../setup_helm_registry/tasks/main.yml | 32 ++++ .../tasks/remove_docker_container.yml | 15 ++ .../tasks/teardown_registry.yml | 9 ++ tests/sanity/ignore-2.14.txt | 1 + tests/sanity/ignore-2.15.txt | 1 + tests/sanity/ignore-2.16.txt | 1 + tests/sanity/ignore-2.17.txt | 1 + tests/sanity/ignore-2.18.txt | 1 + tests/sanity/ignore-2.19.txt | 1 + 26 files changed, 238 insertions(+), 88 deletions(-) create mode 100644 tests/integration/targets/helm_diff/files/test-chart-deployment-time/Chart.yaml create mode 100644 tests/integration/targets/helm_diff/files/test-chart-deployment-time/templates/configmap.yaml create mode 100644 tests/integration/targets/push_to_helm_registry/aliases create mode 100644 tests/integration/targets/push_to_helm_registry/defaults/main.yml create mode 100644 tests/integration/targets/push_to_helm_registry/tasks/main.yml create mode 100644 tests/integration/targets/setup_helm_registry/aliases create mode 100644 tests/integration/targets/setup_helm_registry/defaults/main.yml create mode 100644 tests/integration/targets/setup_helm_registry/handlers/main.yml create mode 100644 tests/integration/targets/setup_helm_registry/tasks/main.yml create mode 100644 tests/integration/targets/setup_helm_registry/tasks/remove_docker_container.yml create mode 100644 tests/integration/targets/setup_helm_registry/tasks/teardown_registry.yml diff --git a/tests/integration/targets/helm/tasks/main.yml b/tests/integration/targets/helm/tasks/main.yml index 9d8dda3e..79c28320 100644 --- a/tests/integration/targets/helm/tasks/main.yml +++ b/tests/integration/targets/helm/tasks/main.yml @@ -4,4 +4,4 @@ loop_control: loop_var: helm_version with_items: - - "v3.7.0" + - "v3.8.0" diff --git a/tests/integration/targets/helm/tasks/test_helm_reuse_values.yml b/tests/integration/targets/helm/tasks/test_helm_reuse_values.yml index 9384fd4f..7801b485 100644 --- a/tests/integration/targets/helm/tasks/test_helm_reuse_values.yml +++ b/tests/integration/targets/helm/tasks/test_helm_reuse_values.yml @@ -17,8 +17,7 @@ - name: Initial chart installation helm: binary_path: "{{ helm_binary }}" - chart_ref: redis - chart_repo_url: https://charts.bitnami.com/bitnami + chart_ref: oci://registry-1.docker.io/bitnamicharts/redis release_name: test-redis release_namespace: "{{ helm_namespace }}" create_namespace: true @@ -42,8 +41,7 @@ - name: Upgrade chart using reuse_values=true helm: binary_path: "{{ helm_binary }}" - chart_ref: redis - chart_repo_url: https://charts.bitnami.com/bitnami + chart_ref: oci://registry-1.docker.io/bitnamicharts/redis release_name: test-redis release_namespace: "{{ helm_namespace }}" reuse_values: true diff --git a/tests/integration/targets/helm/tasks/tests_chart.yml b/tests/integration/targets/helm/tasks/tests_chart.yml index a0227215..72629815 100644 --- a/tests/integration/targets/helm/tasks/tests_chart.yml +++ b/tests/integration/targets/helm/tasks/tests_chart.yml @@ -374,8 +374,8 @@ chart_ref: "{{ chart_source }}" chart_version: "{{ chart_source_version | default(omit) }}" disable_hook: True - release_name: "MyRelease" - release_namespace: "MyReleaseNamespace" + release_name: "myrelease" + release_namespace: "myreleasenamespace" show_only: - "templates/configmap.yaml" release_values: @@ -388,7 +388,7 @@ - result is changed - result is not failed - result.rc == 0 - - result.command is match("{{ helm_binary }} template MyRelease {{ chart_source }}") + - result.command is match(helm_binary+" template myrelease "+chart_source) - result.stdout is search("ThisValue") when: chart_source is search("test-chart") # limit assertion of test result to controlled (local) chart_source diff --git a/tests/integration/targets/helm_diff/files/test-chart-deployment-time/Chart.yaml b/tests/integration/targets/helm_diff/files/test-chart-deployment-time/Chart.yaml new file mode 100644 index 00000000..895d86a2 --- /dev/null +++ b/tests/integration/targets/helm_diff/files/test-chart-deployment-time/Chart.yaml @@ -0,0 +1,6 @@ +apiVersion: v2 +name: test-chart-deployment-time +description: A chart with a config map containing the deployment time in data +type: application +version: 0.1.0 +appVersion: "default" diff --git a/tests/integration/targets/helm_diff/files/test-chart-deployment-time/templates/configmap.yaml b/tests/integration/targets/helm_diff/files/test-chart-deployment-time/templates/configmap.yaml new file mode 100644 index 00000000..e5852950 --- /dev/null +++ b/tests/integration/targets/helm_diff/files/test-chart-deployment-time/templates/configmap.yaml @@ -0,0 +1,7 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ default "ansible-configmap" .Values.myConfigmapName }} +data: + myValue: {{ default "test" .Values.myValue }} + deploymentTime: {{ now }} diff --git a/tests/integration/targets/helm_diff/meta/main.yml b/tests/integration/targets/helm_diff/meta/main.yml index 10d989e7..b700f8c1 100644 --- a/tests/integration/targets/helm_diff/meta/main.yml +++ b/tests/integration/targets/helm_diff/meta/main.yml @@ -2,3 +2,4 @@ dependencies: - remove_namespace - install_helm + - setup_helm_registry diff --git a/tests/integration/targets/helm_diff/tasks/main.yml b/tests/integration/targets/helm_diff/tasks/main.yml index c37d947f..c2228e9a 100644 --- a/tests/integration/targets/helm_diff/tasks/main.yml +++ b/tests/integration/targets/helm_diff/tasks/main.yml @@ -2,7 +2,6 @@ - name: Test helm diff functionality vars: test_chart_ref: "/tmp/test-chart" - redis_chart_version: '17.0.5' block: @@ -24,7 +23,7 @@ name: test-chart namespace: "{{ helm_namespace }}" chart_ref: "{{ test_chart_ref }}" - create_namespace: yes + create_namespace: true register: install - assert: @@ -49,8 +48,8 @@ name: test-chart namespace: "{{ helm_namespace }}" chart_ref: "{{ test_chart_ref }}" - check_mode: yes - diff: yes + check_mode: true + diff: true register: diff_result - name: Check if helm diff check is correct @@ -79,7 +78,7 @@ namespace: "{{ helm_namespace }}" chart_ref: "{{ test_chart_ref }}" check_mode: yes - diff: yes + diff: true register: diff_result - name: Check if no diff in check mode when no change @@ -101,7 +100,7 @@ - name: Modify values blockinfile: - create: yes + create: true path: "{{ test_chart_ref }}/values.yml" block: | --- @@ -206,52 +205,76 @@ - install is not changed # Test helm diff with chart_repo_url - - name: Define Redis chart values - set_fact: - redis_chart_values: - commonLabels: - phase: testing - company: RedHat - image: - tag: 6.2.6-debian-10-r135 - architecture: standalone - - - name: Install Redis chart - helm: - binary_path: "{{ helm_binary }}" - chart_repo_url: https://charts.bitnami.com/bitnami - chart_ref: redis - namespace: "{{ helm_namespace }}" - name: redis-chart - chart_version: "{{ redis_chart_version }}" - release_values: "{{ redis_chart_values }}" - - - name: Upgrade Redis chart - helm: - binary_path: "{{ helm_binary }}" - chart_repo_url: https://charts.bitnami.com/bitnami - chart_ref: redis - namespace: "{{ helm_namespace }}" - name: redis-chart - chart_version: "{{ redis_chart_version }}" - release_values: "{{ redis_chart_values }}" - check_mode: yes - register: redis_upgrade - - - name: Assert that module raised a warning - assert: - that: - - not redis_upgrade.changed - - redis_upgrade.warnings is defined - - redis_upgrade.warnings | length == 1 - - redis_upgrade.warnings[0] == "The default idempotency check can fail to report changes in certain cases. Install helm diff >= 3.4.1 for better results." - - name: Uninstall helm diff helm_plugin: binary_path: "{{ helm_binary }}" state: absent plugin_name: diff - ignore_errors: yes + ignore_errors: true + + - name: Define chart variables + set_fact: + test_chart_values: + myValue: 'Some ConfigMap data value' + myConfigmapName: 'ansible-config-from-url' + test_chart_version: 0.1.0 + test_chart_ref_url: "oci://localhost:6035/testing/test-chart-deployment-time" + + - name: Deploy chart to remote registry + block: + - name: Create local directory to copy chart in + ansible.builtin.tempfile: + suffix: .chart + state: directory + register: _tmpd + + - name: Copy local registry + ansible.builtin.copy: + dest: "{{ _tmpd.path }}" + src: '{{ role_path }}/files/test-chart-deployment-time' + + - name: Push chart to helm registry + ansible.builtin.include_role: + name: push_to_helm_registry + vars: + chart_local_path: '{{ _tmpd.path }}/test-chart-deployment-time' + chart_repo_path: 'testing' + always: + - name: Delete temporary directory + ansible.builtin.file: + state: absent + path: '{{ _tmpd.path }}' + + - name: Log into Helm registry + ansible.builtin.command: "{{ helm_binary }} registry login -u testuser -p 'pass123!' localhost:6035" + + - name: Install chart from remote URL + helm: + binary_path: "{{ helm_binary }}" + chart_ref: "{{ test_chart_ref_url }}" + chart_version: 0.1.0 + namespace: "{{ helm_namespace }}" + name: another-chart + release_values: "{{ test_chart_values }}" + + - name: Upgrade chart + helm: + binary_path: "{{ helm_binary }}" + chart_ref: "{{ test_chart_ref_url }}" + chart_version: 0.1.0 + namespace: "{{ helm_namespace }}" + name: another-chart + release_values: "{{ test_chart_values }}" + check_mode: true + register: _upgrade + + - name: Assert that module raised a warning + assert: + that: + - not _upgrade.changed + - _upgrade.warnings is defined + - _upgrade.warnings | length == 1 + - _upgrade.warnings[0] == "The default idempotency check can fail to report changes in certain cases. Install helm diff >= 3.4.1 for better results." - name: Install helm diff (version=3.4.1) helm_plugin: @@ -260,37 +283,36 @@ plugin_path: https://github.com/databus23/helm-diff plugin_version: 3.4.1 - - name: Upgrade Redis chart once again + - name: Upgrade chart once again helm: binary_path: "{{ helm_binary }}" - chart_repo_url: https://charts.bitnami.com/bitnami - chart_ref: redis + chart_ref: "{{ test_chart_ref_url }}" + chart_version: 0.1.0 namespace: "{{ helm_namespace }}" - name: redis-chart - chart_version: "{{ redis_chart_version }}" - release_values: "{{ redis_chart_values }}" - check_mode: yes - register: redis_upgrade_2 + name: another-chart + release_values: "{{ test_chart_values }}" + check_mode: true + register: _upgrade_2 - name: Assert that module raised a warning assert: that: - - redis_upgrade_2.changed - - redis_upgrade_2.warnings is not defined + - _upgrade_2.changed + - _upgrade_2.warnings is not defined always: - name: Remove chart directory file: path: "{{ test_chart_ref }}" state: absent - ignore_errors: yes + ignore_errors: true - name: Uninstall helm diff helm_plugin: binary_path: "{{ helm_binary }}" state: absent plugin_name: diff - ignore_errors: yes + ignore_errors: true - name: Remove helm namespace k8s: @@ -299,6 +321,6 @@ name: "{{ helm_namespace }}" state: absent wait: true - ignore_errors: yes + ignore_errors: true - include_tasks: reuse_values.yml diff --git a/tests/integration/targets/helm_kubeconfig/tasks/tests_helm_auth.yml b/tests/integration/targets/helm_kubeconfig/tasks/tests_helm_auth.yml index 8599b66a..5b666609 100644 --- a/tests/integration/targets/helm_kubeconfig/tasks/tests_helm_auth.yml +++ b/tests/integration/targets/helm_kubeconfig/tasks/tests_helm_auth.yml @@ -18,7 +18,12 @@ - set_fact: saved_kubeconfig_path: "{{ _dir.path }}/config" -- block: +- vars: + helm_repo_name: autoscaler + helm_repo_url: "https://kubernetes.github.io/autoscaler" + helm_release_name: "autoscaler" + helm_chart_name: "cluster-autoscaler" + block: - name: Copy default kubeconfig copy: remote_src: true @@ -59,14 +64,14 @@ - plugin_info.plugin_list != [] # helm_repository, helm, helm_info - - name: Add test_bitnami chart repository + - name: 'Add "{{ helm_repo_name }}" chart repository' helm_repository: binary_path: "{{ helm_binary }}" - name: test_bitnami + name: "{{ helm_repo_name }}" kubeconfig: "{{ test_kubeconfig | default(omit) }}" validate_certs: "{{ test_validate_certs | default(omit) }}" ca_cert: "{{ test_ca_cert | default(omit) }}" - repo_url: https://charts.bitnami.com/bitnami + repo_url: "{{ helm_repo_url }}" register: repository - name: Assert that repository was added @@ -77,8 +82,8 @@ - name: Install chart from repository added before helm: binary_path: "{{ helm_binary }}" - name: rabbitmq - chart_ref: test_bitnami/rabbitmq + name: "{{ helm_release_name }}" + chart_ref: "{{ helm_repo_name }}/{{ helm_chart_name }}" namespace: "{{ helm_namespace }}" update_repo_cache: true kubeconfig: "{{ test_kubeconfig | default(omit) }}" @@ -98,7 +103,7 @@ kubeconfig: "{{ test_kubeconfig | default(omit) }}" validate_certs: "{{ test_validate_certs | default(omit) }}" ca_cert: "{{ test_ca_cert | default(omit) }}" - name: "rabbitmq" + name: "{{ helm_release_name }}" namespace: "{{ helm_namespace }}" register: chart_info @@ -112,7 +117,7 @@ - name: Remove chart helm: binary_path: "{{ helm_binary }}" - name: rabbitmq + name: "{{ helm_release_name }}" namespace: "{{ helm_namespace }}" kubeconfig: "{{ test_kubeconfig | default(omit) }}" validate_certs: "{{ test_validate_certs | default(omit) }}" @@ -131,7 +136,7 @@ kubeconfig: "{{ test_kubeconfig | default(omit) }}" validate_certs: "{{ test_validate_certs | default(omit) }}" ca_cert: "{{ test_ca_cert | default(omit) }}" - name: "rabbitmq" + name: "{{ helm_release_name }}" namespace: "{{ helm_namespace }}" register: chart_info @@ -143,7 +148,7 @@ - name: Remove chart repository helm_repository: binary_path: "{{ helm_binary }}" - name: test_bitnami + name: "{{ helm_repo_name }}" kubeconfig: "{{ test_kubeconfig | default(omit) }}" validate_certs: "{{ test_validate_certs | default(omit) }}" ca_cert: "{{ test_ca_cert | default(omit) }}" @@ -192,6 +197,6 @@ - name: Delete helm repository helm_repository: binary_path: "{{ helm_binary }}" - name: test_bitnami + name: "{{ helm_repo_name }}" state: absent ignore_errors: true diff --git a/tests/integration/targets/helm_pull/tasks/main.yml b/tests/integration/targets/helm_pull/tasks/main.yml index 3705c5cb..1faf2be3 100644 --- a/tests/integration/targets/helm_pull/tasks/main.yml +++ b/tests/integration/targets/helm_pull/tasks/main.yml @@ -203,9 +203,8 @@ - name: Download chart using untar_chart helm_pull: binary_path: "{{ helm_path }}" - chart_ref: redis + chart_ref: "oci://registry-1.docker.io/bitnamicharts/redis" destination: "{{ destination }}" - repo_url: "https://charts.bitnami.com/bitnami" untar_chart: true register: _result diff --git a/tests/integration/targets/helm_set_values/tasks/main.yml b/tests/integration/targets/helm_set_values/tasks/main.yml index 7ce5125f..f1842818 100644 --- a/tests/integration/targets/helm_set_values/tasks/main.yml +++ b/tests/integration/targets/helm_set_values/tasks/main.yml @@ -1,8 +1,7 @@ - name: Install helm using set_values parameters helm: binary_path: "{{ helm_binary }}" - chart_ref: mariadb - chart_repo_url: https://charts.bitnami.com/bitnami + chart_ref: oci://registry-1.docker.io/bitnamicharts/mariadb release_name: test-mariadb release_namespace: "{{ helm_namespace }}" create_namespace: true @@ -36,8 +35,7 @@ - name: Install helm using set_values parameters helm: binary_path: "{{ helm_binary }}" - chart_ref: apache - chart_repo_url: https://charts.bitnami.com/bitnami + chart_ref: oci://registry-1.docker.io/bitnamicharts/apache release_name: test-apache release_namespace: "{{ helm_namespace }}" create_namespace: true @@ -79,8 +77,7 @@ - name: Install helm using set_values parameters helm: binary_path: "{{ helm_binary }}" - chart_ref: minio - chart_repo_url: https://charts.bitnami.com/bitnami + chart_ref: oci://registry-1.docker.io/bitnamicharts/minio release_name: test-minio release_namespace: "{{ helm_namespace }}" create_namespace: true diff --git a/tests/integration/targets/install_helm/defaults/main.yml b/tests/integration/targets/install_helm/defaults/main.yml index 0f8c952f..6161efb6 100644 --- a/tests/integration/targets/install_helm/defaults/main.yml +++ b/tests/integration/targets/install_helm/defaults/main.yml @@ -1,4 +1,4 @@ --- -helm_version: v3.7.0 +helm_version: v3.8.0 helm_install_path: /tmp/helm helm_default_archive_name: "helm-{{ helm_version }}-{{ ansible_system | lower }}-amd64.tar.gz" diff --git a/tests/integration/targets/push_to_helm_registry/aliases b/tests/integration/targets/push_to_helm_registry/aliases new file mode 100644 index 00000000..87e7bdaa --- /dev/null +++ b/tests/integration/targets/push_to_helm_registry/aliases @@ -0,0 +1 @@ +disabled \ No newline at end of file diff --git a/tests/integration/targets/push_to_helm_registry/defaults/main.yml b/tests/integration/targets/push_to_helm_registry/defaults/main.yml new file mode 100644 index 00000000..4b5df413 --- /dev/null +++ b/tests/integration/targets/push_to_helm_registry/defaults/main.yml @@ -0,0 +1,5 @@ +--- +helm_binary_path: "helm" +chart_repo_url: 'localhost:6035' +chart_repo_username: testuser +chart_repo_password: 'pass123!' diff --git a/tests/integration/targets/push_to_helm_registry/tasks/main.yml b/tests/integration/targets/push_to_helm_registry/tasks/main.yml new file mode 100644 index 00000000..d3dfda18 --- /dev/null +++ b/tests/integration/targets/push_to_helm_registry/tasks/main.yml @@ -0,0 +1,38 @@ +--- +- name: Ensure we can log into the helm registry + command: >- + {{ helm_binary_path }} registry login + -u {{ chart_repo_username }} + -p {{ chart_repo_password }} + {{ chart_repo_url }} + +- name: Package chart and push to helm registry + block: + - name: Create temporary directory to store chart + ansible.builtin.tempfile: + state: directory + suffix: .chart + register: _tmpfile + + - name: Package helm chart + command: '{{ helm_binary_path }} package {{ chart_local_path }} --destination {{ _tmpfile.path }}' + + - name: Locate helm chart package + ansible.builtin.find: + paths: "{{ _tmpfile.path }}" + patterns: '*.tgz' + register: _files + + - name: Helm push chart to the registry + command: '{{ helm_binary_path }} push {{ _files.files.0.path }} oci://{{ chart_repo_url }}/{{ chart_repo_path }}' + + always: + - name: Logout from registry + command: '{{ helm_binary_path }} registry logout {{ chart_repo_url }}' + ignore_errors: true + + - name: Delete temporary directory + ansible.builtin.file: + state: absent + path: '{{ _tmpfile.path }}' + ignore_errors: true diff --git a/tests/integration/targets/setup_helm_registry/aliases b/tests/integration/targets/setup_helm_registry/aliases new file mode 100644 index 00000000..7a68b11d --- /dev/null +++ b/tests/integration/targets/setup_helm_registry/aliases @@ -0,0 +1 @@ +disabled diff --git a/tests/integration/targets/setup_helm_registry/defaults/main.yml b/tests/integration/targets/setup_helm_registry/defaults/main.yml new file mode 100644 index 00000000..0d8c3ba4 --- /dev/null +++ b/tests/integration/targets/setup_helm_registry/defaults/main.yml @@ -0,0 +1,5 @@ +--- +# user: testuser, password: pass123! +registry_credentials: testuser:$2y$05$d8tw6L1hojRFW.FjHOAnIOihJWAvFb0/Pu/30hLbQNJIYzCmlyBCi +registry_name: helm_registry +registry_port: 6035 diff --git a/tests/integration/targets/setup_helm_registry/handlers/main.yml b/tests/integration/targets/setup_helm_registry/handlers/main.yml new file mode 100644 index 00000000..92bbe597 --- /dev/null +++ b/tests/integration/targets/setup_helm_registry/handlers/main.yml @@ -0,0 +1,3 @@ +--- +- name: Teardown registry + include_tasks: teardown_registry.yml diff --git a/tests/integration/targets/setup_helm_registry/tasks/main.yml b/tests/integration/targets/setup_helm_registry/tasks/main.yml new file mode 100644 index 00000000..4c848986 --- /dev/null +++ b/tests/integration/targets/setup_helm_registry/tasks/main.yml @@ -0,0 +1,32 @@ +--- +- name: Ensure we can talk to docker daemon + ansible.builtin.shell: + cmd: docker ps + +- name: Create temporary directory to store file in + tempfile: + state: directory + suffix: .helm_registry + register: _tmpfile + # notify: + # - Teardown registry + +- name: Create authentication file + copy: + content: "{{ registry_credentials }}" + dest: "{{ _tmpfile.path }}/htpasswd" + +- name: Remove existing registry + ansible.builtin.include_tasks: remove_docker_container.yml + +- name: Create registry container + command: >- + docker run -d + -p {{ registry_port }}:5000 + --restart=always + --name "{{ registry_name }}" + -v "{{ _tmpfile.path }}:/auth" + -e "REGISTRY_AUTH=htpasswd" + -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" + -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd + registry:2 diff --git a/tests/integration/targets/setup_helm_registry/tasks/remove_docker_container.yml b/tests/integration/targets/setup_helm_registry/tasks/remove_docker_container.yml new file mode 100644 index 00000000..77d33b61 --- /dev/null +++ b/tests/integration/targets/setup_helm_registry/tasks/remove_docker_container.yml @@ -0,0 +1,15 @@ +--- +- name: Inspect docker container + command: docker container inspect {{ registry_name }} -f '{{ '{{' }} .State.Running {{ '}}' }}' + register: _inspect + ignore_errors: true + +- name: Remove container + when: _inspect.rc == 0 + block: + - name: Stop running container + command: docker container stop {{ registry_name }} + when: _inspect.stdout == "true" + + - name: Remove container + command: docker container rm {{ registry_name }} diff --git a/tests/integration/targets/setup_helm_registry/tasks/teardown_registry.yml b/tests/integration/targets/setup_helm_registry/tasks/teardown_registry.yml new file mode 100644 index 00000000..7382a8bb --- /dev/null +++ b/tests/integration/targets/setup_helm_registry/tasks/teardown_registry.yml @@ -0,0 +1,9 @@ +--- +- name: Remove Docker container + ansible.builtin.include_tasks: remove_docker_container.yml + +- name: Delete temporary directory + file: + state: absent + path: '{{ _tmpfile.path }}' + ignore_errors: true diff --git a/tests/sanity/ignore-2.14.txt b/tests/sanity/ignore-2.14.txt index 63774768..0f3d255e 100644 --- a/tests/sanity/ignore-2.14.txt +++ b/tests/sanity/ignore-2.14.txt @@ -34,3 +34,4 @@ plugins/modules/k8s_service.py validate-modules:return-syntax-error plugins/modules/k8s_taint.py validate-modules:return-syntax-error tests/integration/targets/k8s_delete/files/deployments.yaml yamllint!skip tests/integration/targets/helm_diff/files/test-chart-reuse-values/templates/configmap.yaml yamllint!skip +tests/integration/targets/helm_diff/files/test-chart-deployment-time/templates/configmap.yaml yamllint!skip diff --git a/tests/sanity/ignore-2.15.txt b/tests/sanity/ignore-2.15.txt index 8f2d9f89..492596fb 100644 --- a/tests/sanity/ignore-2.15.txt +++ b/tests/sanity/ignore-2.15.txt @@ -35,3 +35,4 @@ plugins/modules/k8s_scale.py validate-modules:return-syntax-error plugins/modules/k8s_service.py validate-modules:return-syntax-error plugins/modules/k8s_taint.py validate-modules:return-syntax-error tests/integration/targets/helm_diff/files/test-chart-reuse-values/templates/configmap.yaml yamllint!skip +tests/integration/targets/helm_diff/files/test-chart-deployment-time/templates/configmap.yaml yamllint!skip diff --git a/tests/sanity/ignore-2.16.txt b/tests/sanity/ignore-2.16.txt index e41e02e3..db60ea22 100644 --- a/tests/sanity/ignore-2.16.txt +++ b/tests/sanity/ignore-2.16.txt @@ -38,3 +38,4 @@ plugins/modules/k8s_scale.py validate-modules:return-syntax-error plugins/modules/k8s_service.py validate-modules:return-syntax-error plugins/modules/k8s_taint.py validate-modules:return-syntax-error tests/integration/targets/helm_diff/files/test-chart-reuse-values/templates/configmap.yaml yamllint!skip +tests/integration/targets/helm_diff/files/test-chart-deployment-time/templates/configmap.yaml yamllint!skip diff --git a/tests/sanity/ignore-2.17.txt b/tests/sanity/ignore-2.17.txt index c154baaf..c8e746f5 100644 --- a/tests/sanity/ignore-2.17.txt +++ b/tests/sanity/ignore-2.17.txt @@ -29,3 +29,4 @@ plugins/modules/k8s_scale.py validate-modules:return-syntax-error plugins/modules/k8s_service.py validate-modules:return-syntax-error plugins/modules/k8s_taint.py validate-modules:return-syntax-error tests/integration/targets/helm_diff/files/test-chart-reuse-values/templates/configmap.yaml yamllint!skip +tests/integration/targets/helm_diff/files/test-chart-deployment-time/templates/configmap.yaml yamllint!skip diff --git a/tests/sanity/ignore-2.18.txt b/tests/sanity/ignore-2.18.txt index 39dca9ac..61537693 100644 --- a/tests/sanity/ignore-2.18.txt +++ b/tests/sanity/ignore-2.18.txt @@ -26,3 +26,4 @@ plugins/modules/k8s_scale.py validate-modules:return-syntax-error plugins/modules/k8s_service.py validate-modules:return-syntax-error plugins/modules/k8s_taint.py validate-modules:return-syntax-error tests/integration/targets/helm_diff/files/test-chart-reuse-values/templates/configmap.yaml yamllint!skip +tests/integration/targets/helm_diff/files/test-chart-deployment-time/templates/configmap.yaml yamllint!skip diff --git a/tests/sanity/ignore-2.19.txt b/tests/sanity/ignore-2.19.txt index 39dca9ac..61537693 100644 --- a/tests/sanity/ignore-2.19.txt +++ b/tests/sanity/ignore-2.19.txt @@ -26,3 +26,4 @@ plugins/modules/k8s_scale.py validate-modules:return-syntax-error plugins/modules/k8s_service.py validate-modules:return-syntax-error plugins/modules/k8s_taint.py validate-modules:return-syntax-error tests/integration/targets/helm_diff/files/test-chart-reuse-values/templates/configmap.yaml yamllint!skip +tests/integration/targets/helm_diff/files/test-chart-deployment-time/templates/configmap.yaml yamllint!skip