Files
kolla/tests/playbooks/publish.yml
Michal Nasiadka af632db5d1 CI: Use ansible-lint for CI roles and playbooks
Removing dbus-python deps because now a-c-k handles that.

Depends-On: https://review.opendev.org/c/openstack/ansible-collection-kolla/+/942179

Change-Id: I97a97da73a7ccb27789e979656867e4adfe8a633
2025-02-20 10:59:30 +00:00

62 lines
2.1 KiB
YAML

---
- name: Zuul publish
hosts: all
vars:
# NOTE(yoctozepto): We need Docker SDK, the best source is Kolla venv.
ansible_python_interpreter: "{{ virtualenv_path }}/bin/python"
tasks:
- name: List all containers
community.docker.docker_host_info:
images: true
images_filters:
reference: "{{ kolla_namespace }}/*"
register: docker_host_info
- name: Publish to Dockerhub
when: kolla_registry == 'dockerhub'
block:
- name: Login to Dockerhub
community.docker.docker_login:
username: "{{ kolla_dockerhub_credentials.username | trim }}"
password: "{{ kolla_dockerhub_credentials.password | trim }}"
- name: Push built container images
community.docker.docker_image:
name: "{{ item.RepoTags.0 }}"
push: true
source: local
loop: "{{ docker_host_info.images }}"
register: push_status
until: push_status.failed is false
retries: 5
- name: Publish to quay.io
when: kolla_registry == 'quay.io'
block:
- name: Login to quay.io
community.docker.docker_login:
registry: quay.io
username: "{{ kolla_quay_io_creds.username | trim }}"
password: "{{ kolla_quay_io_creds.password | trim }}"
- name: Push built container images
community.docker.docker_image:
name: "{{ item.RepoTags.0 }}"
push: true
repository: "quay.io/{{ item.RepoTags.0 }}"
source: local
loop: "{{ docker_host_info.images }}"
register: push_status
until: push_status.failed is false
retries: 5
- name: Ensure repository visibility is public
ansible.builtin.uri:
url: "https://quay.io/api/v1/repository/{{ item.RepoTags.0 }}/changevisibility"
method: POST
headers:
Authorization: "Bearer {{ kolla_quay_io_api.token | trim }}"
body: '{"visibility": "public"}'
body_format: json
loop: "{{ docker_host_info.images }}"