# Copyright 2018 AT&T Intellectual Property. All other rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. - hosts: primary roles: - clear-firewall - bindep - ensure-docker - ensure-python - ensure-pip tasks: - include_vars: vars.yaml - name: Debug tag generation inputs block: - debug: var: publish - debug: var: tags - debug: var: distro - debug: var: zuul - debug: msg: "{{ tags | to_json }}" - name: Set ubuntu focal base image set_fact: base_image: "{{ base_image_focal }}" when: distro == 'ubuntu_focal' - name: Set ubuntu bionic base image set_fact: base_image: "{{ base_image_bionic }}" when: distro == 'ubuntu_bionic' - name: Determine tags shell: echo '{{ tags | to_json }}' | python3 {{ zuul.project.src_dir }}/tools/image_tags.py environment: BRANCH: "{{ zuul.branch | default('') }}" CHANGE: "{{ zuul.change | default('') }}" COMMIT: "{{ zuul.newrev | default('') }}" PATCHSET: "{{ zuul.patchset | default('') }}" register: image_tags - name: Debug computed tags debug: var: image_tags - name: Remove default mirror config shell: rm /etc/pip.conf become: True - name: Install Docker python module for ansible docker login block: - pip: name: docker version: 4.4.4 executable: pip3 become: True - name: Make images - verbosive when: not publish shell: | make images args: chdir: "{{ zuul.project.src_dir }}" executable: /bin/bash become: True - name: Make images when: not publish block: - make: chdir: "{{ zuul.project.src_dir }}" target: images params: BASE_IMAGE: "{{ base_image }}" DISTRO: "{{ distro }}" IMAGE_TAG: "{{ item }}" PROXY: "{{ proxy }}" NO_PROXY: "{{ no_proxy }}" USE_PROXY: "{{ use_proxy | lower }}" with_items: "{{ image_tags.stdout_lines }}" - shell: "docker images" register: docker_images - debug: var: docker_images become: True - name: Publish images block: - docker_login: username: "{{ airship_pegleg_quay_creds.username }}" password: "{{ airship_pegleg_quay_creds.password }}" registry_url: "{{ docker_registry_login_url }}" - make: chdir: "{{ zuul.project.src_dir }}" target: images params: BASE_IMAGE: "{{ base_image }}" DOCKER_REGISTRY: "{{ docker_registry }}" IMAGE_PREFIX: "{{ image_prefix }}" DISTRO: "{{ distro }}" IMAGE_TAG: "{{ item }}" COMMIT: "{{ zuul.newrev | default('') }}" PUSH_IMAGE: "true" PROXY: "{{ proxy }}" NO_PROXY: "{{ no_proxy }}" USE_PROXY: "{{ use_proxy | lower }}" with_items: "{{ image_tags.stdout_lines }}" - shell: "docker images" register: docker_images - debug: var: docker_images when: publish become: True