summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkos Chandras <mchandras@suse.de>2018-06-04 20:59:38 +0100
committerMarkos Chandras <mchandras@suse.de>2018-06-06 15:17:05 +0100
commita82590eb643383127abea5dc7320445e03d7a9c2 (patch)
tree68e7a521e90d0f3466ed34a48666fa4d256a9a17
parent246029cfa3b70cb3e5678a41187b214620f6d507 (diff)
roles: bootstrap-host: Ensure DNS info from IDF is respected
We are configuring static IPs in the various nodes but we don't do anything for DNS assuming that DNS is being configured by another entity. However, the IDF file already contains DNS information for us so we should use that instead. Moreover, we update the IDF file to use the gateway as DNS instead of the Google one in order to make it more usable on restricted networks. Change-Id: Ieba58ec9558080a1296e204c4f99bae859e9daef Signed-off-by: Markos Chandras <mchandras@suse.de>
-rwxr-xr-xxci/playbooks/dynamic_inventory.py3
-rw-r--r--xci/playbooks/roles/bootstrap-host/tasks/network_redhat.yml5
-rw-r--r--xci/playbooks/roles/bootstrap-host/tasks/network_suse.yml8
-rw-r--r--xci/playbooks/roles/bootstrap-host/templates/osa/debian.interface.j23
-rw-r--r--xci/playbooks/roles/bootstrap-host/templates/osa/redhat.interface.j27
-rw-r--r--xci/var/idf.yml2
6 files changed, 22 insertions, 6 deletions
diff --git a/xci/playbooks/dynamic_inventory.py b/xci/playbooks/dynamic_inventory.py
index 6d9d217f..b5c4609b 100755
--- a/xci/playbooks/dynamic_inventory.py
+++ b/xci/playbooks/dynamic_inventory.py
@@ -47,6 +47,7 @@ class XCIInventory(object):
self.opnfv_networks['opnfv']['public'] = {}
self.opnfv_networks['opnfv']['public']['address'] = '192.168.122.2/24'
self.opnfv_networks['opnfv']['public']['gateway'] = '192.168.122.1'
+ self.opnfv_networks['opnfv']['public']['dns'] = '192.168.122.1'
self.opnfv_networks['opnfv']['private'] = {}
self.opnfv_networks['opnfv']['private']['address'] = '172.29.240.10/22'
self.opnfv_networks['opnfv']['storage'] = {}
@@ -110,6 +111,8 @@ class XCIInventory(object):
host_networks[hostname][network]['address'] = pdf_host_info['interfaces'][int(network_interface_num)]['address'] + "/" + str(ndata['mask'])
if 'gateway' in ndata.keys():
host_networks[hostname][network]['gateway'] = str(ndata['gateway']) + "/" + str(ndata['mask'])
+ if 'dns' in ndata.keys():
+ host_networks[hostname][network]['dns'] = str(ndata['dns'])
host_networks.update(self.opnfv_networks)
diff --git a/xci/playbooks/roles/bootstrap-host/tasks/network_redhat.yml b/xci/playbooks/roles/bootstrap-host/tasks/network_redhat.yml
index b06a8695..c360f15d 100644
--- a/xci/playbooks/roles/bootstrap-host/tasks/network_redhat.yml
+++ b/xci/playbooks/roles/bootstrap-host/tasks/network_redhat.yml
@@ -24,11 +24,6 @@
loop_control:
label: "{{ item.name }}"
-- name: Add default route through br-vlan
- lineinfile:
- path: "/etc/sysconfig/network-scripts/ifcfg-br-vlan"
- line: "GATEWAY={{ host_info[inventory_hostname]['public']['gateway'] | ipaddr('address') }}"
-
- name: restart network service
service:
name: network
diff --git a/xci/playbooks/roles/bootstrap-host/tasks/network_suse.yml b/xci/playbooks/roles/bootstrap-host/tasks/network_suse.yml
index c9c9d83c..e2b5aa4a 100644
--- a/xci/playbooks/roles/bootstrap-host/tasks/network_suse.yml
+++ b/xci/playbooks/roles/bootstrap-host/tasks/network_suse.yml
@@ -30,6 +30,14 @@
dest: "/etc/sysconfig/network/scripts/network-config-suse"
mode: 0755
+- name: Configure static DNS on SUSE
+ lineinfile:
+ regexp: '^NETCONFIG_DNS_STATIC_SERVERS=.*'
+ line: "NETCONFIG_DNS_STATIC_SERVERS={{ host_info[inventory_hostname]['public']['dns'] }}"
+ path: "/etc/sysconfig/network/config"
+ state: present
+ when: host_info[inventory_hostname]['public']['dns'] is defined
+
- name: Configure routes on SUSE
template:
src: "{{ installer_type }}/{{ ansible_os_family | lower }}.routes.j2"
diff --git a/xci/playbooks/roles/bootstrap-host/templates/osa/debian.interface.j2 b/xci/playbooks/roles/bootstrap-host/templates/osa/debian.interface.j2
index 3eddce45..f9e4d8df 100644
--- a/xci/playbooks/roles/bootstrap-host/templates/osa/debian.interface.j2
+++ b/xci/playbooks/roles/bootstrap-host/templates/osa/debian.interface.j2
@@ -32,5 +32,8 @@ iface {{ item.name }} inet static
{% if item.network is defined and item.network.gateway is defined %}
gateway {{ item.network.gateway | ipaddr('address') }}
{% endif %}
+{% if item.network is defined and item.network.dns is defined %}
+ dns-nameservers {{ item.network.dns }}
+{% endif %}
{% endif %}
diff --git a/xci/playbooks/roles/bootstrap-host/templates/osa/redhat.interface.j2 b/xci/playbooks/roles/bootstrap-host/templates/osa/redhat.interface.j2
index fa957764..3a51eb86 100644
--- a/xci/playbooks/roles/bootstrap-host/templates/osa/redhat.interface.j2
+++ b/xci/playbooks/roles/bootstrap-host/templates/osa/redhat.interface.j2
@@ -17,3 +17,10 @@ STP=off
{% if item.network is defined %}
IPADDR={{ item.network.address }}
{% endif %}
+{% if item.network is defined and item.network.gateway is defined %}
+GATEWAY="{{ host_info[inventory_hostname]['public']['gateway'] | ipaddr('address') }}"
+{% endif %}
+{% if item.network is defined and item.network.dns is defined %}
+DNS="{{ host_info[inventory_hostname]['public']['dns'] }}"
+{% endif %}
+{% endif %}
diff --git a/xci/var/idf.yml b/xci/var/idf.yml
index 0238baed..4d743cda 100644
--- a/xci/var/idf.yml
+++ b/xci/var/idf.yml
@@ -25,7 +25,7 @@ idf:
network: 192.168.122.0
mask: 24
gateway: 192.168.122.1
- dns: 8.8.8.8
+ dns: 192.168.122.1
private:
interface: 3
network: 172.29.244.0