--- - hosts: all tasks: - name: Upload container patches archive copy: src: "{{ apex_temp_dir }}/docker_patches.tar.gz" dest: "/home/stack/docker_patches.tar.gz" owner: stack group: stack mode: 0644 when: patched_docker_services|length > 0 - name: Unpack container patches archive unarchive: src: /home/stack/docker_patches.tar.gz remote_src: yes list_files: yes group: stack owner: stack dest: /home/stack/ when: patched_docker_services|length > 0 - name: Prepare generic docker registry image file shell: > sudo openstack tripleo container image prepare -e /home/stack/containers-prepare-parameter.yaml --output-env-file docker-images.yaml - name: Collect docker images in registry uri: url: http://{{ undercloud_ip }}:8787/v2/_catalog body_format: json register: response - name: Patch Docker images shell: > cd /home/stack/containers/{{ item }} && docker build -t {{ undercloud_ip }}:8787/tripleo{{ os_version }}/centos-binary-{{ item }}:apex . when: - patched_docker_services|length > 0 - item in (response.json)['repositories']|join(" ") with_items: "{{ patched_docker_services }}" - name: Push patched docker images to local registry shell: docker push {{ undercloud_ip }}:8787/tripleo{{ os_version }}/centos-binary-{{ item }}:apex when: - patched_docker_services|length > 0 - item in (response.json)['repositories']|join(" ") with_items: "{{ patched_docker_services }}" - name: Modify Images with Apex tag replace: path: "/home/stack/docker-images.yaml" regexp: "(\\s*Docker.*?:.*?centos-binary-{{ item[1] }}):.*" replace: '\1:apex' with_items: "{{ patched_docker_services }}" become: yes