Remove obsolete Ceph tags
[apex.git] / lib / ansible / playbooks / prepare_overcloud_containers.yml
1 ---
2 - hosts: all
3   tasks:
4     - name: Upload container patches archive
5       copy:
6         src: "{{ apex_temp_dir }}/docker_patches.tar.gz"
7         dest: "/home/stack/docker_patches.tar.gz"
8         owner: stack
9         group: stack
10         mode: 0644
11       when: patched_docker_services|length > 0
12     - name: Unpack container patches archive
13       unarchive:
14         src: /home/stack/docker_patches.tar.gz
15         remote_src: yes
16         list_files: yes
17         group: stack
18         owner: stack
19         dest: /home/stack/
20       when: patched_docker_services|length > 0
21     - name: Prepare generic docker registry image file
22       shell: >
23         {{ stackrc }} && openstack overcloud container image prepare
24         --namespace docker.io/tripleo{{ os_version }}
25         --tag {{ container_tag }}
26         --push-destination {{ undercloud_ip }}:8787
27         -e /usr/share/openstack-tripleo-heat-templates/environments/docker.yaml
28         -e /usr/share/openstack-tripleo-heat-templates/environments/storage-environment.yaml
29         --output-images-file overcloud_containers.yml
30         --output-env-file docker-images.yaml
31       become: yes
32       become_user: stack
33     - name: Prepare SDN docker registry image file
34       shell: >
35         {{ stackrc }} && openstack overcloud container image prepare
36         --namespace docker.io/tripleo{{ os_version }}
37         --tag {{ container_tag }}
38         --push-destination {{ undercloud_ip }}:8787
39         -e {{ sdn_env_file }}
40         --output-images-file sdn_containers.yml
41         --output-env-file sdn-images.yaml
42       become: yes
43       become_user: stack
44       when: sdn != false
45     - name: Update Ceph tag for aarch64 in container env file
46       lineinfile:
47         path: /home/stack/overcloud_containers.yml
48         regexp: '.*ceph.*'
49         line: '- imagename: docker.io/ceph/daemon:master-fafda7d-luminous-centos-7-aarch64'
50       when: aarch64
51     - name: Update Ceph tag for aarch64 in container image file
52       lineinfile:
53         path: /home/stack/docker-images.yaml
54         regexp: '^DockerCephDaemonImage'
55         line: 'DockerCephDaemonImage: {{ undercloud_ip }}:8787/ceph/daemon/master-fafda7d-luminous-centos-7-aarch64'
56       when: aarch64
57     - name: Upload docker images to local registry
58       shell: >
59         {{ stackrc }} && openstack overcloud container image upload
60         --config-file /home/stack/overcloud_containers.yml
61     - name: Upload SDN docker images to local registry
62       shell: >
63         {{ stackrc }} && openstack overcloud container image upload
64         --config-file /home/stack/sdn_containers.yml
65       when: sdn != false
66     - name: Collect docker images in registry
67       uri:
68         url: http://{{ undercloud_ip }}:8787/v2/_catalog
69         body_format: json
70       register: response
71     - name: Patch Docker images
72       shell: >
73         cd /home/stack/containers/{{ item }} && docker build
74         -t {{ undercloud_ip }}:8787/tripleo{{ os_version }}/centos-binary-{{ item }}:apex .
75       when:
76         - patched_docker_services|length > 0
77         - item in (response.json)['repositories']|join(" ")
78       with_items: "{{ patched_docker_services }}"
79     - name: Push patched docker images to local registry
80       shell: docker push {{ undercloud_ip }}:8787/tripleo{{ os_version }}/centos-binary-{{ item }}:apex
81       when:
82         - patched_docker_services|length > 0
83         - item in (response.json)['repositories']|join(" ")
84       with_items: "{{ patched_docker_services }}"
85     - name: Modify Images with Apex tag
86       replace:
87         path: "{{ item[0] }}"
88         regexp: "(\\s*Docker.*?:.*?centos-binary-{{ item[1] }}):.*"
89         replace: '\1:apex'
90       with_nested:
91         - [ '/home/stack/sdn-images.yaml', '/home/stack/docker-images.yaml']
92         - "{{ patched_docker_services }}"