docker_playbook = os.path.join(args.lib_dir, constants.ANSIBLE_PATH,
'prepare_overcloud_containers.yml')
if ds_opts['containers']:
- ceph_version = constants.CEPH_VERSION_MAP[ds_opts['os_version']]
- ceph_docker_image = "ceph/daemon:tag-build-master-" \
- "{}-centos-7".format(ceph_version)
logging.info("Preparing Undercloud with Docker containers")
if patched_containers:
oc_builder.archive_docker_patches(APEX_TEMP_DIR)
container_vars['sdn'] = ds_opts['sdn_controller']
container_vars['undercloud_ip'] = undercloud_admin_ip
container_vars['os_version'] = os_version
- container_vars['ceph_docker_image'] = ceph_docker_image
+ container_vars['aarch64'] = platform.machine() == 'aarch64'
container_vars['sdn_env_file'] = \
oc_deploy.get_docker_sdn_file(ds_opts)
try:
print(line)
if ds_opts['containers']:
- undercloud_admin_ip = ns['networks'][con.ADMIN_NETWORK][
- 'installer_vm']['ip']
- ceph_version = con.CEPH_VERSION_MAP[ds_opts['os_version']]
- docker_image = "{}:8787/ceph/daemon:tag-build-master-" \
- "{}-centos-7".format(undercloud_admin_ip,
- ceph_version)
- ceph_params = {
- 'DockerCephDaemonImage': docker_image,
- }
+ ceph_params = {}
# max pgs allowed are calculated as num_mons * 200. Therefore we
# set number of pgs and pools so that the total will be less:
--tag {{ container_tag }}
--push-destination {{ undercloud_ip }}:8787
-e /usr/share/openstack-tripleo-heat-templates/environments/docker.yaml
+ -e /usr/share/openstack-tripleo-heat-templates/environments/storage-environment.yaml
--output-images-file overcloud_containers.yml
+ --output-env-file docker-images.yaml
become: yes
become_user: stack
- name: Prepare SDN docker registry image file
--push-destination {{ undercloud_ip }}:8787
-e {{ sdn_env_file }}
--output-images-file sdn_containers.yml
+ --output-env-file sdn-images.yaml
become: yes
become_user: stack
when: sdn != false
+ - name: Update Ceph tag for aarch64 in container env file
+ lineinfile:
+ path: /home/stack/overcloud_containers.yml
+ regexp: '.*ceph.*'
+ line: '- imagename: docker.io/ceph/daemon:master-fafda7d-luminous-centos-7-aarch64'
+ when: aarch64
+ - name: Update Ceph tag for aarch64 in container image file
+ lineinfile:
+ path: /home/stack/docker-images.yaml
+ regexp: '^DockerCephDaemonImage'
+ line: 'DockerCephDaemonImage: {{ undercloud_ip }}:8787/ceph/daemon/master-fafda7d-luminous-centos-7-aarch64'
+ when: aarch64
- name: Upload docker images to local registry
shell: >
{{ stackrc }} && openstack overcloud container image upload
- 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/tripleo{{ 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/tripleo{{ 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] }}"
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
+ - "{{ patched_docker_services }}"
\ No newline at end of file