Workaround issue in CentOS cloud images with resolv.conf
The CentOS cloud images from 7.2 (1511) onwards have a bogus name server entry in /etc/resolv.conf, 10.0.2.3. 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. Fixes: #112
This commit is contained in:
parent
53714fc5a9
commit
9c1d085d2e
@ -15,3 +15,15 @@ overcloud_groups: >
|
|||||||
# As a special case, the group 'ignore' can be used to specify hosts that
|
# As a special case, the group 'ignore' can be used to specify hosts that
|
||||||
# should not be added to the inventory.
|
# should not be added to the inventory.
|
||||||
overcloud_group_hosts_map: {}
|
overcloud_group_hosts_map: {}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Overcloud host image configuration.
|
||||||
|
|
||||||
|
# The CentOS cloud images from 7.2 (1511) onwards have a bogus name server
|
||||||
|
# entry in /etc/resolv.conf, 10.0.2.3. 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.
|
||||||
|
overcloud_host_image_workaround_resolv_enabled: True
|
||||||
|
36
ansible/overcloud-host-image-workaround-resolv.yml
Normal file
36
ansible/overcloud-host-image-workaround-resolv.yml
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
---
|
||||||
|
# The CentOS cloud images from 7.2 (1511) onwards have a bogus name server
|
||||||
|
# entry in /etc/resolv.conf, 10.0.2.3. 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=installed"'
|
||||||
|
|
||||||
|
- 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 10\.0\.2\.3\$//\""'
|
||||||
|
when: overcloud_host_image_workaround_resolv_enabled | bool
|
@ -87,6 +87,13 @@ Upgrade Notes
|
|||||||
|
|
||||||
The previous behaviour of installing python dependencies directly to the host
|
The previous behaviour of installing python dependencies directly to the host
|
||||||
can be used by setting ``kolla_ansible_target_venv`` to ``None``.
|
can be used by setting ``kolla_ansible_target_venv`` to ``None``.
|
||||||
|
* Adds a workaround for an issue with CentOS cloud images 7.2 (1511) onwards,
|
||||||
|
which have a bogus name server entry in /etc/resolv.conf, 10.0.2.3.
|
||||||
|
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.
|
||||||
|
|
||||||
Kayobe 3.0.0
|
Kayobe 3.0.0
|
||||||
============
|
============
|
||||||
|
@ -13,6 +13,18 @@
|
|||||||
# should not be added to the inventory.
|
# should not be added to the inventory.
|
||||||
#overcloud_group_hosts_map:
|
#overcloud_group_hosts_map:
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Overcloud host image configuration.
|
||||||
|
|
||||||
|
# The CentOS cloud images from 7.2 (1511) onwards have a bogus name server
|
||||||
|
# entry in /etc/resolv.conf, 10.0.2.3. 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.
|
||||||
|
#overcloud_host_image_workaround_resolv_enabled:
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# Dummy variable to allow Ansible to accept this file.
|
# Dummy variable to allow Ansible to accept this file.
|
||||||
workaround_ansible_issue_8743: yes
|
workaround_ansible_issue_8743: yes
|
||||||
|
@ -450,6 +450,7 @@ class SeedServiceDeploy(KollaAnsibleMixin, KayobeAnsibleMixin, VaultMixin,
|
|||||||
* Configures the bifrost service.
|
* Configures the bifrost service.
|
||||||
* Deploys the bifrost container using kolla-ansible.
|
* Deploys the bifrost container using kolla-ansible.
|
||||||
* Builds disk images for the overcloud hosts using Diskimage Builder (DIB).
|
* Builds disk images for the overcloud hosts using Diskimage Builder (DIB).
|
||||||
|
* Performs a workaround in the overcloud host image to fix resolv.conf.
|
||||||
* Configures ironic inspector introspection rules in the bifrost inspector
|
* Configures ironic inspector introspection rules in the bifrost inspector
|
||||||
service.
|
service.
|
||||||
* When enabled, configures a Bare Metal Provisioning (BMP) environment for
|
* When enabled, configures a Bare Metal Provisioning (BMP) environment for
|
||||||
@ -465,7 +466,9 @@ class SeedServiceDeploy(KollaAnsibleMixin, KayobeAnsibleMixin, VaultMixin,
|
|||||||
self.run_kayobe_playbooks(parsed_args, playbooks)
|
self.run_kayobe_playbooks(parsed_args, playbooks)
|
||||||
self.run_kolla_ansible_seed(parsed_args, "deploy-bifrost")
|
self.run_kolla_ansible_seed(parsed_args, "deploy-bifrost")
|
||||||
playbooks = _build_playbook_list(
|
playbooks = _build_playbook_list(
|
||||||
"seed-introspection-rules", "dell-switch-bmp")
|
"overcloud-host-image-workaround-resolv",
|
||||||
|
"seed-introspection-rules",
|
||||||
|
"dell-switch-bmp")
|
||||||
self.run_kayobe_playbooks(parsed_args, playbooks)
|
self.run_kayobe_playbooks(parsed_args, playbooks)
|
||||||
|
|
||||||
|
|
||||||
|
@ -412,6 +412,7 @@ class TestCase(unittest.TestCase):
|
|||||||
mock.call(
|
mock.call(
|
||||||
mock.ANY,
|
mock.ANY,
|
||||||
[
|
[
|
||||||
|
"ansible/overcloud-host-image-workaround-resolv.yml",
|
||||||
"ansible/seed-introspection-rules.yml",
|
"ansible/seed-introspection-rules.yml",
|
||||||
"ansible/dell-switch-bmp.yml",
|
"ansible/dell-switch-bmp.yml",
|
||||||
],
|
],
|
||||||
|
Loading…
Reference in New Issue
Block a user