kayobe/ansible/overcloud-host-image-workaround-resolv.yml
Mark Goddard dcd5159c17 Remove nameservers with any IP in overcloud resolv.conf workaround
Kayobe has a workaround for CentOS cloud images which contain a bogus
nameserver entry in /etc/resolv.conf. By setting
overcloud_host_image_workaround_resolv_enabled to true, the entry would
be removed. Previously we removed a specific IP address - 10.0.2.3 -
that was present in the CentOS 7 images. However, it seems that CentOS 8
images have a different IP - 192.168.122.1.

This change fixes the issue and becomes resilient to future changes by
matching any IP address. This should be fairly safe, since this
workaround is opt-in.

Change-Id: I9323a38cb2bb627ff56f5713900be00595ea8d4b
Story: 2006574
Task: 39484
2020-04-20 16:06:41 +01:00

36 lines
1.4 KiB
YAML

---
# The CentOS cloud images have a bogus name server entry in /etc/resolv.conf,
# 192.168.122.1. Cloud-init only appends name server entries to this file, and
# will not remove this bogus entry. Typically this leads to a delay of around
# 30 seconds when connecting via SSH, due to a timeout in NSS. The workaround
# employed here is to remove this bogus entry from the image using
# virt-customize, if it exists. See https://bugs.centos.org/view.php?id=14369.
- name: Ensure the overcloud host image has bogus name server entries removed
hosts: seed
tags:
- overcloud-host-image-workaround
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=present"'
- name: Ensure the overcloud host image has bogus name server entries removed
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 --edit \"/etc/resolv.conf:s/^nameserver .*\..*\..*\..*\$//\""'
when: overcloud_host_image_workaround_resolv_enabled | bool