summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFatih Degirmenci <fatih.degirmenci@ericsson.com>2017-03-30 14:11:59 +0200
committerTrevor Bramwell <tbramwell@linuxfoundation.org>2017-08-11 12:56:12 -0700
commit212db4ee0e1941c7dd73569c5b7369c96f7a8752 (patch)
tree9e7869993da15bfcff98c5646373c31f5486a553
parentf0c60234bd35f4dd864d058dab71d0dd4ab4bced (diff)
xci: Networking fixes to introduce role and interface var
Network configuration task and accompanied handler put into a role and handler is converted to task. Distro specific var, interface, is introduced to ensure we do not hardcode the interface which might not be available. Update the templates accordingly. Change-Id: I667620fe22c93a9b20a1d8c1b7b0051d7647b591 Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
-rw-r--r--xci/playbooks/configure-opnfvhost.yml13
-rw-r--r--xci/playbooks/roles/configure-network/tasks/main.yml16
-rw-r--r--xci/template/compute.interface.j230
-rw-r--r--xci/template/controller.interface.j230
-rw-r--r--xci/template/opnfv.interface.j230
-rw-r--r--xci/var/Debian.yml3
6 files changed, 65 insertions, 57 deletions
diff --git a/xci/playbooks/configure-opnfvhost.yml b/xci/playbooks/configure-opnfvhost.yml
index 868052d4..abebd1d7 100644
--- a/xci/playbooks/configure-opnfvhost.yml
+++ b/xci/playbooks/configure-opnfvhost.yml
@@ -48,18 +48,9 @@
shell: "/bin/cp -rf {{OPNFV_RELENG_PATH}}/prototypes/xci/file/setup-openstack.yml {{OPENSTACK_OSA_PATH}}/playbooks"
- name: copy OPNFV role requirements
shell: "/bin/cp -rf {{OPNFV_RELENG_PATH}}/prototypes/xci/file/ansible-role-requirements.yml {{OPENSTACK_OSA_PATH}}"
+ roles:
# TODO: this only works for ubuntu/xenial and need to be adjusted for other distros
- # TODO: convert this into a role
- - name: configure network for ubuntu xenial
- template:
- src: ../template/opnfv.interface.j2
- dest: /etc/network/interfaces
- notify:
- - restart ubuntu xenial network service
- when: ansible_distribution_release == "xenial"
- handlers:
- - name: restart ubuntu xenial network service
- shell: "/sbin/ifconfig ens3 0 &&/sbin/ifdown -a && /sbin/ifup -a"
+ - { role: configure-network, when: ansible_distribution_release == "xenial", src: "../template/opnfv.interface.j2", dest: "/etc/network/interfaces" }
- hosts: localhost
remote_user: root
tasks:
diff --git a/xci/playbooks/roles/configure-network/tasks/main.yml b/xci/playbooks/roles/configure-network/tasks/main.yml
new file mode 100644
index 00000000..8bc84822
--- /dev/null
+++ b/xci/playbooks/roles/configure-network/tasks/main.yml
@@ -0,0 +1,16 @@
+---
+# SPDX-license-identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2017 Ericsson AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+# TODO: this role needs to be adjusted for different distros
+- name: configure network for {{ ansible_os_family }} on interface {{ interface }}
+ template:
+ src: "{{ src }}"
+ dest: "{{ dest }}"
+- name: restart ubuntu xenial network service
+ shell: "/sbin/ifconfig {{ interface }} 0 &&/sbin/ifdown -a && /sbin/ifup -a"
diff --git a/xci/template/compute.interface.j2 b/xci/template/compute.interface.j2
index 1719f6a0..0c5147c4 100644
--- a/xci/template/compute.interface.j2
+++ b/xci/template/compute.interface.j2
@@ -7,23 +7,23 @@ iface lo inet loopback
# Physical interface
-auto ens3
-iface ens3 inet manual
+auto {{ interface }}
+iface {{ interface }} inet manual
# Container/Host management VLAN interface
-auto ens3.10
-iface ens3.10 inet manual
- vlan-raw-device ens3
+auto {{ interface }}.10
+iface {{ interface }}.10 inet manual
+ vlan-raw-device {{ interface }}
# OpenStack Networking VXLAN (tunnel/overlay) VLAN interface
-auto ens3.30
-iface ens3.30 inet manual
- vlan-raw-device ens3
+auto {{ interface }}.30
+iface {{ interface }}.30 inet manual
+ vlan-raw-device {{ interface }}
# Storage network VLAN interface (optional)
-auto ens3.20
-iface ens3.20 inet manual
- vlan-raw-device ens3
+auto {{ interface }}.20
+iface {{ interface }}.20 inet manual
+ vlan-raw-device {{ interface }}
# Container/Host management bridge
auto br-mgmt
@@ -31,7 +31,7 @@ iface br-mgmt inet static
bridge_stp off
bridge_waitport 0
bridge_fd 0
- bridge_ports ens3.10
+ bridge_ports {{ interface }}.10
address {{host_info[inventory_hostname].MGMT_IP}}
netmask 255.255.252.0
@@ -41,7 +41,7 @@ iface br-vxlan inet static
bridge_stp off
bridge_waitport 0
bridge_fd 0
- bridge_ports ens3.30
+ bridge_ports {{ interface }}.30
address {{host_info[inventory_hostname].VXLAN_IP}}
netmask 255.255.252.0
@@ -51,7 +51,7 @@ iface br-vlan inet static
bridge_stp off
bridge_waitport 0
bridge_fd 0
- bridge_ports ens3
+ bridge_ports {{ interface }}
address {{host_info[inventory_hostname].VLAN_IP}}
netmask 255.255.255.0
gateway 192.168.122.1
@@ -81,6 +81,6 @@ iface br-storage inet static
bridge_stp off
bridge_waitport 0
bridge_fd 0
- bridge_ports ens3.20
+ bridge_ports {{ interface }}.20
address {{host_info[inventory_hostname].STORAGE_IP}}
netmask 255.255.252.0
diff --git a/xci/template/controller.interface.j2 b/xci/template/controller.interface.j2
index 74aeea99..fbaa8b8d 100644
--- a/xci/template/controller.interface.j2
+++ b/xci/template/controller.interface.j2
@@ -6,23 +6,23 @@ auto lo
iface lo inet loopback
# Physical interface
-auto ens3
-iface ens3 inet manual
+auto {{ interface }}
+iface {{ interface }} inet manual
# Container/Host management VLAN interface
-auto ens3.10
-iface ens3.10 inet manual
- vlan-raw-device ens3
+auto {{ interface }}.10
+iface {{ interface }}.10 inet manual
+ vlan-raw-device {{ interface }}
# OpenStack Networking VXLAN (tunnel/overlay) VLAN interface
-auto ens3.30
-iface ens3.30 inet manual
- vlan-raw-device ens3
+auto {{ interface }}.30
+iface {{ interface }}.30 inet manual
+ vlan-raw-device {{ interface }}
# Storage network VLAN interface (optional)
-auto ens3.20
-iface ens3.20 inet manual
- vlan-raw-device ens3
+auto {{ interface }}.20
+iface {{ interface }}.20 inet manual
+ vlan-raw-device {{ interface }}
# Container/Host management bridge
auto br-mgmt
@@ -30,7 +30,7 @@ iface br-mgmt inet static
bridge_stp off
bridge_waitport 0
bridge_fd 0
- bridge_ports ens3.10
+ bridge_ports {{ interface }}.10
address {{host_info[inventory_hostname].MGMT_IP}}
netmask 255.255.252.0
@@ -46,7 +46,7 @@ iface br-vxlan inet manual
bridge_stp off
bridge_waitport 0
bridge_fd 0
- bridge_ports ens3.30
+ bridge_ports {{ interface }}.30
# OpenStack Networking VLAN bridge
auto br-vlan
@@ -54,7 +54,7 @@ iface br-vlan inet static
bridge_stp off
bridge_waitport 0
bridge_fd 0
- bridge_ports ens3
+ bridge_ports {{ interface }}
address {{host_info[inventory_hostname].VLAN_IP}}
netmask 255.255.255.0
gateway 192.168.122.1
@@ -66,6 +66,6 @@ iface br-storage inet static
bridge_stp off
bridge_waitport 0
bridge_fd 0
- bridge_ports ens3.20
+ bridge_ports {{ interface }}.20
address {{host_info[inventory_hostname].STORAGE_IP}}
netmask 255.255.252.0
diff --git a/xci/template/opnfv.interface.j2 b/xci/template/opnfv.interface.j2
index 74aeea99..fbaa8b8d 100644
--- a/xci/template/opnfv.interface.j2
+++ b/xci/template/opnfv.interface.j2
@@ -6,23 +6,23 @@ auto lo
iface lo inet loopback
# Physical interface
-auto ens3
-iface ens3 inet manual
+auto {{ interface }}
+iface {{ interface }} inet manual
# Container/Host management VLAN interface
-auto ens3.10
-iface ens3.10 inet manual
- vlan-raw-device ens3
+auto {{ interface }}.10
+iface {{ interface }}.10 inet manual
+ vlan-raw-device {{ interface }}
# OpenStack Networking VXLAN (tunnel/overlay) VLAN interface
-auto ens3.30
-iface ens3.30 inet manual
- vlan-raw-device ens3
+auto {{ interface }}.30
+iface {{ interface }}.30 inet manual
+ vlan-raw-device {{ interface }}
# Storage network VLAN interface (optional)
-auto ens3.20
-iface ens3.20 inet manual
- vlan-raw-device ens3
+auto {{ interface }}.20
+iface {{ interface }}.20 inet manual
+ vlan-raw-device {{ interface }}
# Container/Host management bridge
auto br-mgmt
@@ -30,7 +30,7 @@ iface br-mgmt inet static
bridge_stp off
bridge_waitport 0
bridge_fd 0
- bridge_ports ens3.10
+ bridge_ports {{ interface }}.10
address {{host_info[inventory_hostname].MGMT_IP}}
netmask 255.255.252.0
@@ -46,7 +46,7 @@ iface br-vxlan inet manual
bridge_stp off
bridge_waitport 0
bridge_fd 0
- bridge_ports ens3.30
+ bridge_ports {{ interface }}.30
# OpenStack Networking VLAN bridge
auto br-vlan
@@ -54,7 +54,7 @@ iface br-vlan inet static
bridge_stp off
bridge_waitport 0
bridge_fd 0
- bridge_ports ens3
+ bridge_ports {{ interface }}
address {{host_info[inventory_hostname].VLAN_IP}}
netmask 255.255.255.0
gateway 192.168.122.1
@@ -66,6 +66,6 @@ iface br-storage inet static
bridge_stp off
bridge_waitport 0
bridge_fd 0
- bridge_ports ens3.20
+ bridge_ports {{ interface }}.20
address {{host_info[inventory_hostname].STORAGE_IP}}
netmask 255.255.252.0
diff --git a/xci/var/Debian.yml b/xci/var/Debian.yml
index 6d03e0f3..d13d0809 100644
--- a/xci/var/Debian.yml
+++ b/xci/var/Debian.yml
@@ -7,4 +7,5 @@
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
-# this is placeholder and left blank intentionally to complete later on
+# this is the interface the VM nodes are connected to libvirt network "default"
+interface: "ens3"