summaryrefslogtreecommitdiffstats
path: root/lib/ansible/playbooks/prepare_overcloud_containers.yml
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ansible/playbooks/prepare_overcloud_containers.yml')
-rw-r--r--lib/ansible/playbooks/prepare_overcloud_containers.yml105
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 0000000..88a8df1
--- /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