[remove-registry-tag] Allow using in a loop

The role remove-registry-tag can not be used within
ansible loop because it sets the remove_registry_tag_api_url
variable if it is not defined and then this variabled is
never redefined during second and later iterations of the
loop.

Change-Id: I1880efc0d7d94ade7b529b1462fe15e8a58bdfc4
This commit is contained in:
Vladimir Kozhukalov 2025-02-13 01:51:20 -06:00
parent d35a1cf07b
commit 444f75b5f6
2 changed files with 17 additions and 9 deletions
roles/remove-registry-tag/tasks

@ -6,9 +6,13 @@
(container_registry_credentials[_registry].password is defined)
- name: Set API base
when: remove_registry_tag_api_url is not defined
set_fact:
remove_registry_tag_api_url: 'https://hub.docker.com/v2'
_remove_registry_tag_api_url: 'https://hub.docker.com/v2'
- name: Override API base
when: remove_registry_tag_api_url is defined
set_fact:
_remove_registry_tag_api_url: '{{ remove_registry_tag_api_url }}'
- name: Delete single tag
when: remove_registry_tag_tag is defined
@ -25,7 +29,7 @@
- name: Get project tags
uri:
url: '{{ remove_registry_tag_api_url }}/repositories/{{ _repopath }}/tags?page_size=1000'
url: '{{ _remove_registry_tag_api_url }}/repositories/{{ _repopath }}/tags?page_size=1000'
status_code: 200
register: _tags
@ -46,7 +50,7 @@
- name: Get dockerhub JWT token
no_log: true
uri:
url: "{{ remove_registry_tag_api_url }}/users/login/"
url: "{{ _remove_registry_tag_api_url }}/users/login/"
body_format: json
body:
username: "{{ container_registry_credentials[_registry].username }}"
@ -59,7 +63,7 @@
- name: Delete tag
no_log: true
uri:
url: '{{ remove_registry_tag_api_url }}/repositories/{{ _repopath }}/tags/{{ zj_docker_tag }}'
url: '{{ _remove_registry_tag_api_url }}/repositories/{{ _repopath }}/tags/{{ zj_docker_tag }}'
method: DELETE
status_code: [200, 204]
headers:

@ -4,9 +4,13 @@
no_log: true
- name: Set API base
when: remove_registry_tag_api_url is not defined
set_fact:
remove_registry_tag_api_url: 'https://{{ _registry }}/api/v1'
_remove_registry_tag_api_url: 'https://{{ _registry }}/api/v1'
- name: Override API base
when: remove_registry_tag_api_url is defined
set_fact:
_remove_registry_tag_api_url: '{{ remove_registry_tag_api_url }}'
- name: Delete single tag
when: remove_registry_tag_tag is defined
@ -23,7 +27,7 @@
- name: Get project tags
uri:
url: '{{ remove_registry_tag_api_url }}/repository/{{ _repopath }}/tag/'
url: '{{ _remove_registry_tag_api_url }}/repository/{{ _repopath }}/tag/'
status_code: 200
register: _tags
@ -45,7 +49,7 @@
- name: Delete tag
no_log: true
uri:
url: '{{ remove_registry_tag_api_url }}/repository/{{ _repopath }}/tag/{{ zj_quay_tag }}'
url: '{{ _remove_registry_tag_api_url }}/repository/{{ _repopath }}/tag/{{ zj_quay_tag }}'
method: DELETE
status_code: [200, 204]
headers: