--- # Workaround a CentOS 7.5 bug: cloud-init 0.7.9-24 does not correctly set # an IP address for VLAN subinterfaces configured with the Openstack metadata # format/Config drive. # See, https://bugs.centos.org/view.php?id=14964. - name: Ensure the overcloud host image uses an updated version of cloud-init hosts: seed tags: - overcloud-host-image-workaround vars: custom_repo_tmp_path: /tmp/cloud-init-upstream.repo tasks: - block: - name: Ensure libguestfs-tools is installed command: > docker exec bifrost_deploy bash -c ' ansible localhost --connection local --become -m yum -a "name=libguestfs-tools state=installed"' - name: Template cloud-init-repo copy: content: | [cloudinit] name=StackHPC cloud-init baseurl={{ overcloud_host_image_workaround_cloud_init_repo }} gpgcheck=0 enabled=1 dest: "{{ custom_repo_tmp_path }}" - name: Copy cloud init repo into docker container command: docker cp {{ custom_repo_tmp_path }} bifrost_deploy:{{ custom_repo_tmp_path }} - name: Clean up template on seed file: path: "{{ custom_repo_tmp_path }}" state: absent - name: Install custom repo command: > docker exec bifrost_deploy bash -c ' export LIBGUESTFS_BACKEND=direct && ansible localhost --connection local --become -m command -a "virt-customize -a /httpboot/deployment_image.qcow2 --upload {{ custom_repo_tmp_path }}:/etc/yum.repos.d/"' - name: Clean up tmp file in docker container command: > docker exec bifrost_deploy bash -c ' ansible localhost --connection local --become -m file -a "path=\"{{ custom_repo_tmp_path }}\" state=absent"' - name: upgrade cloud init command: > docker exec bifrost_deploy bash -c ' export LIBGUESTFS_BACKEND=direct && ansible localhost --connection local --become -m command -a "virt-customize -a /httpboot/deployment_image.qcow2 --install cloud-init"' when: overcloud_host_image_workaround_cloud_init_enabled | bool