From 4afffb76ced3bafae18e92a80137c25f969898f2 Mon Sep 17 00:00:00 2001 From: Blaisonneau David Date: Thu, 23 Mar 2017 15:30:00 +0100 Subject: [PATCH] Add interface renaming on maas for heterogeneous hardware config Change-Id: I7b26821802f1843d738a116082b70bd27b35b35b Signed-off-by: Blaisonneau David --- ci/03-maasdeploy.sh | 26 +++++++++++++++++++++----- labconfig/orange/pod2/labconfig.yaml | 16 +++++++++++++--- 2 files changed, 34 insertions(+), 8 deletions(-) diff --git a/ci/03-maasdeploy.sh b/ci/03-maasdeploy.sh index 329931e2..4307088f 100755 --- a/ci/03-maasdeploy.sh +++ b/ci/03-maasdeploy.sh @@ -577,6 +577,9 @@ if [ -e ./labconfig.json ]; then # We have no vlan specified on spaces, but we have a vlan subinterface IF_VLAN = ${IF_NAME##*.}; fi + # in case of interface renaming + IF_NEWNAME=$(cat labconfig.json | jq --raw-output ".lab.racks[0].nodes[$NODE_ID].nics[] | select(.ifname==\"$IF_NAME\") ".rename) + # In case of a VLAN interface if ([ $IF_VLAN ] && [ "$IF_VLAN" != "null" ]); then echo " >>> Configuring VLAN $IF_VLAN" @@ -586,24 +589,37 @@ if [ -e ./labconfig.json ]; then if [[ -z $INTERFACE ]]; then # parent interface is not set because it does not have a SUBNET_CIDR PARENT_VLANID=$(maas $PROFILE fabrics read | jq ".[].vlans[] | select(.fabric_id==$FABRICID and .name==\"untagged\")".id) + # If we need to rename the interface, use new interface name + if ([ $IF_NEWNAME ] && [ "$IF_NEWNAME" != "null" ]); then + PARENT_IF_NAME=${IF_NEWNAME%%.*} + IF_NAME=$IF_NEWNAME + else + PARENT_IF_NAME=${IF_NAME%%.*} + fi # We set the physical interface to the targeted fabric - PARENT_IF_NAME=${IF_NAME%%.*} maas $PROFILE interface update $NODE_SYS_ID $PARENT_IF_NAME vlan=$PARENT_VLANID - sleep 3 + sleep 2 INTERFACE=$(maas $PROFILE interfaces read $NODE_SYS_ID | jq ".[] | select(.vlan.fabric_id==$FABRICID)".id) fi maas $PROFILE interfaces create-vlan $NODE_SYS_ID vlan=$VLANID parent=$INTERFACE || true + elif ([ $IF_NEWNAME ] && [ "$IF_NEWNAME" != "null" ]); then + # rename interface if needed + maas $PROFILE interface update $NODE_SYS_ID $IF_NAME name=$IF_NEWNAME + IF_NAME=$IF_NEWNAME fi - # Configure the interface if ([ $SUBNET_CIDR ] && [ "$SUBNET_CIDR" != "null" ]); then VLANID=$(maas $PROFILE subnet read $SUBNET_CIDR | jq -r '.vlan.id') - maas $PROFILE interface update $NODE_SYS_ID $IF_NAME vlan=$VLANID + if !([ $IF_VLAN ] && [ "$IF_VLAN" != "null" ]); then + # If this interface is not a VLAN (done withe create-vlan) + maas $PROFILE interface update $NODE_SYS_ID $IF_NAME vlan=$VLANID + fi maas $PROFILE interface link-subnet $NODE_SYS_ID $IF_NAME mode=$IF_MODE subnet=$SUBNET_CIDR || true - sleep 5 + sleep 2 else echo " >>> Not configuring, we have an empty Subnet CIDR" fi + done done fi diff --git a/labconfig/orange/pod2/labconfig.yaml b/labconfig/orange/pod2/labconfig.yaml index 402df37a..7e19abca 100644 --- a/labconfig/orange/pod2/labconfig.yaml +++ b/labconfig/orange/pod2/labconfig.yaml @@ -11,9 +11,11 @@ lab: spaces: [admin] mac: ["1c:98:ec:11:ad:08"] - ifname: eno2.2056 + rename: eno99.2056 spaces: [public] mac: ["1c:98:ec:11:ad:09"] - ifname: eno2 + rename: eno99 spaces: [floating] mac: ["1c:98:ec:11:ad:09"] - ifname: eno3 @@ -32,9 +34,11 @@ lab: spaces: [admin] mac: ["1c:98:ec:11:c2:c4"] - ifname: eno2.2056 + rename: eno99.2056 spaces: [public] mac: ["1c:98:ec:11:c2:c5"] - ifname: eno2 + rename: eno99 spaces: [floating] mac: ["1c:98:ec:11:c2:c5"] - ifname: eno3 @@ -53,9 +57,11 @@ lab: spaces: [admin] mac: ["1c:98:ec:11:9d:c4"] - ifname: eno2.2056 + rename: eno99.2056 spaces: [public] mac: ["1c:98:ec:11:9c:c5"] - ifname: eno2 + rename: eno99 spaces: [floating] mac: ["1c:98:ec:11:9c:c5"] - ifname: eno3 @@ -74,9 +80,11 @@ lab: spaces: [admin] mac: ["1c:98:ec:1c:5d:88"] - ifname: ens3f0.2056 + rename: eno99.2056 spaces: [public] mac: ["a0:36:9f:1f:67:1c"] - ifname: ens3f0 + rename: eno99 spaces: [floating] mac: ["a0:36:9f:1f:67:1c"] - ifname: ens3f1 @@ -95,9 +103,11 @@ lab: spaces: [admin] mac: ["1c:98:ec:1d:84:7c"] - ifname: ens3f0.2056 + rename: eno99.2056 spaces: [public] mac: ["a0:36:9f:1f:66:a4"] - ifname: ens3f0 + rename: eno99 spaces: [floating] mac: ["a0:36:9f:1f:66:a4"] - ifname: ens3f1 @@ -109,7 +119,7 @@ lab: user: Administrator pass: opnfv2017 floating-ip-range: 161.105.231.4,161.105.231.62,161.105.231.1,161.105.231.0/26 - ext-port: "ens3f0" + ext-port: "eno99" dns: 10.2.0.1 osdomainname: opnfv: @@ -141,6 +151,6 @@ opnfv: vlan: 2056 - type: floating bridge: brFloating - cidr: + cidr: gateway: - vlan: + vlan: -- 2.16.6