diff options
Diffstat (limited to 'lib/ansible/playbooks/prepare_overcloud_containers.yml')
-rw-r--r-- | lib/ansible/playbooks/prepare_overcloud_containers.yml | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/lib/ansible/playbooks/prepare_overcloud_containers.yml b/lib/ansible/playbooks/prepare_overcloud_containers.yml new file mode 100644 index 00000000..88a8df1c --- /dev/null +++ b/lib/ansible/playbooks/prepare_overcloud_containers.yml @@ -0,0 +1,105 @@ +--- +- 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: > + {{ stackrc }} && openstack overcloud container image prepare + --namespace trunk.registry.rdoproject.org/{{ os_version }} + --tag {{ container_tag }} + --push-destination {{ undercloud_ip }}:8787 + -e /usr/share/openstack-tripleo-heat-templates/environments/docker.yaml + --output-images-file overcloud_containers.yml + become: yes + become_user: stack + - name: Prepare SDN docker registry image file + shell: > + {{ stackrc }} && openstack overcloud container image prepare + --namespace trunk.registry.rdoproject.org/{{ os_version }} + --tag {{ container_tag }} + --push-destination {{ undercloud_ip }}:8787 + -e {{ sdn_env_file }} + --output-images-file sdn_containers.yml + become: yes + become_user: stack + when: sdn != false + - name: Upload docker images to local registry + shell: > + {{ stackrc }} && openstack overcloud container image upload + --config-file /home/stack/overcloud_containers.yml + - name: Upload SDN docker images to local registry + shell: > + {{ stackrc }} && openstack overcloud container image upload + --config-file /home/stack/sdn_containers.yml + when: sdn != false + - 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/{{ 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/{{ os_version }}/centos-binary-{{ item }}:apex + when: + - patched_docker_services|length > 0 + - item in (response.json)['repositories']|join(" ") + with_items: "{{ patched_docker_services }}" + - name: Prepare deployment generic docker image file + shell: > + {{ stackrc }} && openstack overcloud container image prepare + --namespace {{ undercloud_ip }}:8787/{{ os_version }} + --tag {{ container_tag }} + -e /usr/share/openstack-tripleo-heat-templates/environments/docker.yaml + --output-env-file docker-images.yaml + become: yes + become_user: stack + - name: Prepare deployment SDN docker image file + shell: > + {{ stackrc }} && openstack overcloud container image prepare + --namespace {{ undercloud_ip }}:8787/{{ os_version }} + --tag {{ container_tag }} + -e {{ sdn_env_file }} + --output-env-file sdn-images.yaml + when: sdn != false + become: yes + become_user: stack + - name: Modify Images with Apex tag + replace: + path: "{{ item[0] }}" + regexp: "(\\s*Docker.*?:.*?centos-binary-{{ item[1] }}):.*" + replace: '\1:apex' + with_nested: + - [ '/home/stack/sdn-images.yaml', '/home/stack/docker-images.yaml'] + - "{{ patched_docker_services }}" + - name: Pull Ceph docker image + shell: docker pull {{ ceph_docker_image }} + become: yes + - name: Tag Ceph image for local registry + shell: docker tag {{ ceph_docker_image }} {{ undercloud_ip }}:8787/{{ ceph_docker_image }} + become: yes + - name: Push Ceph docker image to local registry + shell: docker push {{ undercloud_ip }}:8787/{{ ceph_docker_image }} + become: yes |