1cf4e75aaa
Change-Id: I41bab698e17254d8c92e621ba9b88b6fe20c2300
59 lines
1.9 KiB
YAML
59 lines
1.9 KiB
YAML
---
|
|
- 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
|
|
docker_host_info:
|
|
images: yes
|
|
images_filters:
|
|
reference: "{{ kolla_namespace }}/*"
|
|
register: docker_host_info
|
|
|
|
- block:
|
|
- name: Login to Dockerhub
|
|
docker_login:
|
|
username: "{{ kolla_dockerhub_credentials.username | trim }}"
|
|
password: "{{ kolla_dockerhub_credentials.password | trim }}"
|
|
|
|
- name: Push built container images
|
|
docker_image:
|
|
name: "{{ item.RepoTags.0 }}"
|
|
push: yes
|
|
source: local
|
|
loop: "{{ docker_host_info.images }}"
|
|
register: push_status
|
|
until: push_status.failed is false
|
|
retries: 5
|
|
when: kolla_registry == 'dockerhub'
|
|
|
|
- block:
|
|
- name: Login to quay.io
|
|
docker_login:
|
|
registry: quay.io
|
|
username: "{{ kolla_quay_io_creds.username | trim }}"
|
|
password: "{{ kolla_quay_io_creds.password | trim }}"
|
|
|
|
- name: Push built container images
|
|
docker_image:
|
|
name: "{{ item.RepoTags.0 }}"
|
|
push: yes
|
|
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
|
|
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 }}"
|
|
when: kolla_registry == 'quay.io'
|