summaryrefslogtreecommitdiffstats
path: root/xci/playbooks/roles
diff options
context:
space:
mode:
authorMarkos Chandras <mchandras@suse.de>2018-02-15 08:57:47 +0000
committerMarkos Chandras <mchandras@suse.de>2018-02-21 17:37:05 +0000
commitcdcfb32414af77abac43440e0ab5b448e72d83e5 (patch)
tree600f06e58f54db46be3072794237762eb02e72e1 /xci/playbooks/roles
parent7c37b9ac8715ebedecf903f9de67c55830fb5b90 (diff)
xci: roles: configure-network: Determine host NIC from Ansible facts
Hardcoding the interface as a variable is very fragile since it varies from host to host. We could use the Ansible facts to find out the interface name and then use that to configure all the VLANs and networking. Change-Id: Ie7e2409d638625b9bede23b6c1fe33dc36f81840 Signed-off-by: Markos Chandras <mchandras@suse.de>
Diffstat (limited to 'xci/playbooks/roles')
-rw-r--r--xci/playbooks/roles/configure-network/tasks/main.yml26
-rw-r--r--xci/playbooks/roles/configure-network/templates/debian/compute00.interface.j230
-rw-r--r--xci/playbooks/roles/configure-network/templates/debian/controller00.interface.j230
-rw-r--r--xci/playbooks/roles/configure-network/templates/debian/opnfv.interface.j230
-rw-r--r--xci/playbooks/roles/configure-network/templates/redhat/interface.ifcfg.j22
-rw-r--r--xci/playbooks/roles/configure-network/templates/suse/suse.interface.j22
6 files changed, 60 insertions, 60 deletions
diff --git a/xci/playbooks/roles/configure-network/tasks/main.yml b/xci/playbooks/roles/configure-network/tasks/main.yml
index 65abaa40..adcb8669 100644
--- a/xci/playbooks/roles/configure-network/tasks/main.yml
+++ b/xci/playbooks/roles/configure-network/tasks/main.yml
@@ -30,7 +30,7 @@
src: "{{ ansible_os_family | lower }}/{{ ansible_hostname }}.interface.j2"
dest: "/etc/network/interfaces"
- name: restart network service
- shell: "/sbin/ifconfig {{ interface }} 0 && /sbin/ifdown -a && /sbin/ifup -a"
+ shell: "/sbin/ifconfig {{ ansible_default_ipv4.interface }} 0 && /sbin/ifdown -a && /sbin/ifup -a"
when: ansible_os_family | lower == "debian"
- block:
@@ -47,14 +47,14 @@
src: "{{ ansible_os_family | lower }}/suse.interface.j2"
dest: "/etc/sysconfig/network/ifcfg-{{ item.name }}"
with_items:
- - { name: "{{ interface }}" }
- - { name: "{{ interface }}.10", vlan_id: 10 }
- - { name: "{{ interface }}.30", vlan_id: 30 }
- - { name: "{{ interface }}.20", vlan_id: 20 }
- - { name: "br-mgmt", bridge_ports: "{{ interface }}.10", ip: "{{ host_info[inventory_hostname].MGMT_IP }}/22" }
- - { name: "br-vxlan", bridge_ports: "{{ interface }}.30", ip: "{{ host_info[inventory_hostname].VXLAN_IP }}/22" }
- - { name: "br-vlan", bridge_ports: "{{ interface }}", ip: "{{ host_info[inventory_hostname].VLAN_IP }}/24" }
- - { name: "br-storage", bridge_ports: "{{ interface }}.20", ip: "{{ host_info[inventory_hostname].STORAGE_IP }}/22" }
+ - { name: "{{ ansible_default_ipv4.interface }}" }
+ - { name: "{{ ansible_default_ipv4.interface }}.10", vlan_id: 10 }
+ - { name: "{{ ansible_default_ipv4.interface }}.30", vlan_id: 30 }
+ - { name: "{{ ansible_default_ipv4.interface }}.20", vlan_id: 20 }
+ - { name: "br-mgmt", bridge_ports: "{{ ansible_default_ipv4.interface }}.10", ip: "{{ host_info[inventory_hostname].MGMT_IP }}/22" }
+ - { name: "br-vxlan", bridge_ports: "{{ ansible_default_ipv4.interface }}.30", ip: "{{ host_info[inventory_hostname].VXLAN_IP }}/22" }
+ - { name: "br-vlan", bridge_ports: "{{ ansible_default_ipv4.interface }}", ip: "{{ host_info[inventory_hostname].VLAN_IP }}/24" }
+ - { name: "br-storage", bridge_ports: "{{ ansible_default_ipv4.interface }}.20", ip: "{{ host_info[inventory_hostname].STORAGE_IP }}/22" }
- name: Add postup/postdown scripts on SUSE
copy:
@@ -79,10 +79,10 @@
src: "{{ ansible_os_family | lower }}/interface.ifcfg.j2"
dest: "/etc/sysconfig/network-scripts/ifcfg-{{ item.name }}"
with_items:
- - { name: "{{ interface }}" , bridge: "br-vlan" }
- - { name: "{{ interface }}.10", bridge: "br-mgmt" , vlan_id: 10 }
- - { name: "{{ interface }}.20", bridge: "br-storage", vlan_id: 20 }
- - { name: "{{ interface }}.30", bridge: "br-vxlan" , vlan_id: 30 }
+ - { name: "{{ ansible_default_ipv4.interface }}" , bridge: "br-vlan" }
+ - { name: "{{ ansible_default_ipv4.interface }}.10", bridge: "br-mgmt" , vlan_id: 10 }
+ - { name: "{{ ansible_default_ipv4.interface }}.20", bridge: "br-storage", vlan_id: 20 }
+ - { name: "{{ ansible_default_ipv4.interface }}.30", bridge: "br-vxlan" , vlan_id: 30 }
- name: Configure networking on CentOS for bridges
template:
src: "{{ ansible_os_family | lower }}/bridge.ifcfg.j2"
diff --git a/xci/playbooks/roles/configure-network/templates/debian/compute00.interface.j2 b/xci/playbooks/roles/configure-network/templates/debian/compute00.interface.j2
index 6d6a3835..2da12f20 100644
--- a/xci/playbooks/roles/configure-network/templates/debian/compute00.interface.j2
+++ b/xci/playbooks/roles/configure-network/templates/debian/compute00.interface.j2
@@ -5,23 +5,23 @@ auto lo
iface lo inet loopback
# Physical interface
-auto {{ interface }}
-iface {{ interface }} inet manual
+auto {{ ansible_default_ipv4.interface }}
+iface {{ ansible_default_ipv4.interface }} inet manual
# Container/Host management VLAN interface
-auto {{ interface }}.10
-iface {{ interface }}.10 inet manual
- vlan-raw-device {{ interface }}
+auto {{ ansible_default_ipv4.interface }}.10
+iface {{ ansible_default_ipv4.interface }}.10 inet manual
+ vlan-raw-device {{ ansible_default_ipv4.interface }}
# OpenStack Networking VXLAN (tunnel/overlay) VLAN interface
-auto {{ interface }}.30
-iface {{ interface }}.30 inet manual
- vlan-raw-device {{ interface }}
+auto {{ ansible_default_ipv4.interface }}.30
+iface {{ ansible_default_ipv4.interface }}.30 inet manual
+ vlan-raw-device {{ ansible_default_ipv4.interface }}
# Storage network VLAN interface
-auto {{ interface }}.20
-iface {{ interface }}.20 inet manual
- vlan-raw-device {{ interface }}
+auto {{ ansible_default_ipv4.interface }}.20
+iface {{ ansible_default_ipv4.interface }}.20 inet manual
+ vlan-raw-device {{ ansible_default_ipv4.interface }}
# Container/Host management bridge
auto br-mgmt
@@ -29,7 +29,7 @@ iface br-mgmt inet static
bridge_stp off
bridge_waitport 0
bridge_fd 0
- bridge_ports {{ interface }}.10
+ bridge_ports {{ ansible_default_ipv4.interface }}.10
address {{host_info[inventory_hostname].MGMT_IP}}
netmask 255.255.252.0
@@ -39,7 +39,7 @@ iface br-vxlan inet static
bridge_stp off
bridge_waitport 0
bridge_fd 0
- bridge_ports {{ interface }}.30
+ bridge_ports {{ ansible_default_ipv4.interface }}.30
address {{host_info[inventory_hostname].VXLAN_IP}}
netmask 255.255.252.0
@@ -49,7 +49,7 @@ iface br-vlan inet static
bridge_stp off
bridge_waitport 0
bridge_fd 0
- bridge_ports {{ interface }}
+ bridge_ports {{ ansible_default_ipv4.interface }}
address {{host_info[inventory_hostname].VLAN_IP}}
netmask 255.255.255.0
gateway 192.168.122.1
@@ -70,6 +70,6 @@ iface br-storage inet static
bridge_stp off
bridge_waitport 0
bridge_fd 0
- bridge_ports {{ interface }}.20
+ bridge_ports {{ ansible_default_ipv4.interface }}.20
address {{host_info[inventory_hostname].STORAGE_IP}}
netmask 255.255.252.0
diff --git a/xci/playbooks/roles/configure-network/templates/debian/controller00.interface.j2 b/xci/playbooks/roles/configure-network/templates/debian/controller00.interface.j2
index b461b201..c540f66e 100644
--- a/xci/playbooks/roles/configure-network/templates/debian/controller00.interface.j2
+++ b/xci/playbooks/roles/configure-network/templates/debian/controller00.interface.j2
@@ -5,23 +5,23 @@ auto lo
iface lo inet loopback
# Physical interface
-auto {{ interface }}
-iface {{ interface }} inet manual
+auto {{ ansible_default_ipv4.interface }}
+iface {{ ansible_default_ipv4.interface }} inet manual
# Container/Host management VLAN interface
-auto {{ interface }}.10
-iface {{ interface }}.10 inet manual
- vlan-raw-device {{ interface }}
+auto {{ ansible_default_ipv4.interface }}.10
+iface {{ ansible_default_ipv4.interface }}.10 inet manual
+ vlan-raw-device {{ ansible_default_ipv4.interface }}
# OpenStack Networking VXLAN (tunnel/overlay) VLAN interface
-auto {{ interface }}.30
-iface {{ interface }}.30 inet manual
- vlan-raw-device {{ interface }}
+auto {{ ansible_default_ipv4.interface }}.30
+iface {{ ansible_default_ipv4.interface }}.30 inet manual
+ vlan-raw-device {{ ansible_default_ipv4.interface }}
# Storage network VLAN interface (optional)
-auto {{ interface }}.20
-iface {{ interface }}.20 inet manual
- vlan-raw-device {{ interface }}
+auto {{ ansible_default_ipv4.interface }}.20
+iface {{ ansible_default_ipv4.interface }}.20 inet manual
+ vlan-raw-device {{ ansible_default_ipv4.interface }}
# Container/Host management bridge
auto br-mgmt
@@ -29,7 +29,7 @@ iface br-mgmt inet static
bridge_stp off
bridge_waitport 0
bridge_fd 0
- bridge_ports {{ interface }}.10
+ bridge_ports {{ ansible_default_ipv4.interface }}.10
address {{host_info[inventory_hostname].MGMT_IP}}
netmask 255.255.252.0
@@ -39,7 +39,7 @@ iface br-vxlan inet static
bridge_stp off
bridge_waitport 0
bridge_fd 0
- bridge_ports {{ interface }}.30
+ bridge_ports {{ ansible_default_ipv4.interface }}.30
address {{host_info[inventory_hostname].VXLAN_IP}}
netmask 255.255.252.0
@@ -49,7 +49,7 @@ iface br-vlan inet static
bridge_stp off
bridge_waitport 0
bridge_fd 0
- bridge_ports {{ interface }}
+ bridge_ports {{ ansible_default_ipv4.interface }}
address {{host_info[inventory_hostname].VLAN_IP}}
netmask 255.255.255.0
gateway 192.168.122.1
@@ -69,6 +69,6 @@ iface br-storage inet static
bridge_stp off
bridge_waitport 0
bridge_fd 0
- bridge_ports {{ interface }}.20
+ bridge_ports {{ ansible_default_ipv4.interface }}.20
address {{host_info[inventory_hostname].STORAGE_IP}}
netmask 255.255.252.0
diff --git a/xci/playbooks/roles/configure-network/templates/debian/opnfv.interface.j2 b/xci/playbooks/roles/configure-network/templates/debian/opnfv.interface.j2
index 42826414..03f81dbb 100644
--- a/xci/playbooks/roles/configure-network/templates/debian/opnfv.interface.j2
+++ b/xci/playbooks/roles/configure-network/templates/debian/opnfv.interface.j2
@@ -5,23 +5,23 @@ auto lo
iface lo inet loopback
# Physical interface
-auto {{ interface }}
-iface {{ interface }} inet manual
+auto {{ ansible_default_ipv4.interface }}
+iface {{ ansible_default_ipv4.interface }} inet manual
# Container/Host management VLAN interface
-auto {{ interface }}.10
-iface {{ interface }}.10 inet manual
- vlan-raw-device {{ interface }}
+auto {{ ansible_default_ipv4.interface }}.10
+iface {{ ansible_default_ipv4.interface }}.10 inet manual
+ vlan-raw-device {{ ansible_default_ipv4.interface }}
# OpenStack Networking VXLAN (tunnel/overlay) VLAN interface
-auto {{ interface }}.30
-iface {{ interface }}.30 inet manual
- vlan-raw-device {{ interface }}
+auto {{ ansible_default_ipv4.interface }}.30
+iface {{ ansible_default_ipv4.interface }}.30 inet manual
+ vlan-raw-device {{ ansible_default_ipv4.interface }}
# Storage network VLAN interface (optional)
-auto {{ interface }}.20
-iface {{ interface }}.20 inet manual
- vlan-raw-device {{ interface }}
+auto {{ ansible_default_ipv4.interface }}.20
+iface {{ ansible_default_ipv4.interface }}.20 inet manual
+ vlan-raw-device {{ ansible_default_ipv4.interface }}
# Container/Host management bridge
auto br-mgmt
@@ -29,7 +29,7 @@ iface br-mgmt inet static
bridge_stp off
bridge_waitport 0
bridge_fd 0
- bridge_ports {{ interface }}.10
+ bridge_ports {{ ansible_default_ipv4.interface }}.10
address {{host_info[inventory_hostname].MGMT_IP}}
netmask 255.255.252.0
@@ -39,7 +39,7 @@ iface br-vxlan inet static
bridge_stp off
bridge_waitport 0
bridge_fd 0
- bridge_ports {{ interface }}.30
+ bridge_ports {{ ansible_default_ipv4.interface }}.30
address {{ host_info[inventory_hostname].VXLAN_IP }}
netmask 255.255.252.0
@@ -49,7 +49,7 @@ iface br-vlan inet static
bridge_stp off
bridge_waitport 0
bridge_fd 0
- bridge_ports {{ interface }}
+ bridge_ports {{ ansible_default_ipv4.interface }}
address {{host_info[inventory_hostname].VLAN_IP}}
netmask 255.255.255.0
gateway 192.168.122.1
@@ -61,6 +61,6 @@ iface br-storage inet static
bridge_stp off
bridge_waitport 0
bridge_fd 0
- bridge_ports {{ interface }}.20
+ bridge_ports {{ ansible_default_ipv4.interface }}.20
address {{host_info[inventory_hostname].STORAGE_IP}}
netmask 255.255.252.0
diff --git a/xci/playbooks/roles/configure-network/templates/redhat/interface.ifcfg.j2 b/xci/playbooks/roles/configure-network/templates/redhat/interface.ifcfg.j2
index b0dea0f5..a97ad0cf 100644
--- a/xci/playbooks/roles/configure-network/templates/redhat/interface.ifcfg.j2
+++ b/xci/playbooks/roles/configure-network/templates/redhat/interface.ifcfg.j2
@@ -4,7 +4,7 @@ ONBOOT=yes
BOOTPROTO=none
{% if item.vlan_id is defined %}
VLAN=yes
-ETHERDEVICE={{ interface }}
+ETHERDEVICE={{ ansible_default_ipv4.interface }}
VLAN_ID={{ item.vlan_id }}
{% endif %}
BRIDGE={{ item.bridge }}
diff --git a/xci/playbooks/roles/configure-network/templates/suse/suse.interface.j2 b/xci/playbooks/roles/configure-network/templates/suse/suse.interface.j2
index ffa418d4..27b01eb4 100644
--- a/xci/playbooks/roles/configure-network/templates/suse/suse.interface.j2
+++ b/xci/playbooks/roles/configure-network/templates/suse/suse.interface.j2
@@ -1,7 +1,7 @@
STARTMODE='auto'
BOOTPROTO='static'
{% if item.vlan_id is defined %}
-ETHERDEVICE={{ interface }}
+ETHERDEVICE={{ ansible_default_ipv4.interface }}
VLAN_ID={{ item.vlan_id }}
{% endif %}
{% if item.bridge_ports is defined %}