summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFatih Degirmenci <fatih.degirmenci@ericsson.com>2017-03-30 14:11:59 +0200
committerFatih Degirmenci <fatih.degirmenci@ericsson.com>2017-03-30 15:23:38 +0200
commite7491c89ac3a78ccf4d682e0741dd51c4817b6a5 (patch)
tree88903af68a902509bc6ae233b9e0d82f7dc6f7aa
parentd5dfeab7f851e407d6bb72ad0329897d4668fff2 (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--prototypes/xci/playbooks/configure-opnfvhost.yml13
-rw-r--r--prototypes/xci/playbooks/roles/configure-network/tasks/main.yml16
-rw-r--r--prototypes/xci/template/compute.interface.j230
-rw-r--r--prototypes/xci/template/controller.interface.j230
-rw-r--r--prototypes/xci/template/opnfv.interface.j230
-rw-r--r--prototypes/xci/var/Debian.yml3
6 files changed, 65 insertions, 57 deletions
diff --git a/prototypes/xci/playbooks/configure-opnfvhost.yml b/prototypes/xci/playbooks/configure-opnfvhost.yml
index 868052d40..abebd1d7f 100644
--- a/prototypes/xci/playbooks/configure-opnfvhost.yml
+++ b/prototypes/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/prototypes/xci/playbooks/roles/configure-network/tasks/main.yml b/prototypes/xci/playbooks/roles/configure-network/tasks/main.yml
new file mode 100644
index 000000000..8bc84822c
--- /dev/null
+++ b/prototypes/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/prototypes/xci/template/compute.interface.j2 b/prototypes/xci/template/compute.interface.j2
index 1719f6a08..0c5147c45 100644
--- a/prototypes/xci/template/compute.interface.j2
+++ b/prototypes/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/prototypes/xci/template/controller.interface.j2 b/prototypes/xci/template/controller.interface.j2
index 74aeea99d..fbaa8b8dd 100644
--- a/prototypes/xci/template/controller.interface.j2
+++ b/prototypes/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/prototypes/xci/template/opnfv.interface.j2 b/prototypes/xci/template/opnfv.interface.j2
index 74aeea99d..fbaa8b8dd 100644
--- a/prototypes/xci/template/opnfv.interface.j2
+++ b/prototypes/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/prototypes/xci/var/Debian.yml b/prototypes/xci/var/Debian.yml
index 6d03e0f32..d13d08097 100644
--- a/prototypes/xci/var/Debian.yml
+++ b/prototypes/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"