From 45d316afffcc8e62651dec5d8db4366fb2b5b111 Mon Sep 17 00:00:00 2001 From: Wes Hayutin Date: Tue, 20 Jun 2017 13:09:40 -0400 Subject: [PATCH] configure the undercloud to use nameservers from virthost When using libvirt, use nameserver derived from the virthost /etc/resolv.conf file. This should work in public/private networks. Depends-On: I1e8e9d26469ac0034819c94029360379e2c6140c Change-Id: Id35120df9dd5331e64a06ee886ccd64edf8834ec --- roles/undercloud-deploy/defaults/main.yml | 4 ++++ roles/undercloud-deploy/tasks/create-scripts.yml | 12 ++++++++++++ roles/undercloud-deploy/templates/undercloud.conf.j2 | 6 +++++- 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/roles/undercloud-deploy/defaults/main.yml b/roles/undercloud-deploy/defaults/main.yml index 0d036911a..acdf39b87 100644 --- a/roles/undercloud-deploy/defaults/main.yml +++ b/roles/undercloud-deploy/defaults/main.yml @@ -52,3 +52,7 @@ novajoin_connect_timeout: 5 novajoin_read_timeout: 20 libvirt_default_network_address: 192.168.122.1 + +# only to be used in libvirt deployments, see environment config for details +nameserver_from_virthost: false +virthost_nameservers: [] diff --git a/roles/undercloud-deploy/tasks/create-scripts.yml b/roles/undercloud-deploy/tasks/create-scripts.yml index 733d61540..a9b9918ce 100644 --- a/roles/undercloud-deploy/tasks/create-scripts.yml +++ b/roles/undercloud-deploy/tasks/create-scripts.yml @@ -1,5 +1,17 @@ # Creat the scripts that will be used to deploy the undercloud # environment. +- name: Check the dns information provided by the virthost + shell: > + gawk '/^nameserver +/ { print $2 }' /etc/resolv.conf + delegate_to: virthost + register: virthost_nameservers_output + when: nameserver_from_virthost|bool + +- name: set name server facts + set_fact: + virthost_nameservers: "{{ virthost_nameservers_output.stdout_lines }}" + when: nameserver_from_virthost|bool + - name: Create undercloud configuration template: src: "{{ undercloud_config_file }}" diff --git a/roles/undercloud-deploy/templates/undercloud.conf.j2 b/roles/undercloud-deploy/templates/undercloud.conf.j2 index 9ff278c34..f6b272600 100644 --- a/roles/undercloud-deploy/templates/undercloud.conf.j2 +++ b/roles/undercloud-deploy/templates/undercloud.conf.j2 @@ -74,7 +74,11 @@ undercloud_admin_host = {{undercloud_undercloud_admin_host|default( # Nameserver for the Undercloud node. # (string value) -{% if undercloud_undercloud_nameservers is string %} +{% if virthost_nameservers is string %} +undercloud_nameservers = {{ virthost_nameservers }} +{% elif virthost_nameservers is sequence and virthost_nameservers|length > 0 %} +undercloud_nameservers = {{ virthost_nameservers|join(',') }} +{% elif undercloud_undercloud_nameservers is string %} undercloud_nameservers = {{ undercloud_undercloud_nameservers }} {% elif undercloud_undercloud_nameservers is sequence %} undercloud_nameservers = {{ undercloud_undercloud_nameservers|join(',') }}