From 6da65f9cfbda23f5f8e4b5965062afcf76409b2a Mon Sep 17 00:00:00 2001 From: Narinder Gupta Date: Wed, 22 Feb 2017 08:03:26 -0600 Subject: configure VLAN on interface in MAAS. Change-Id: Id62ba268cf02b594a8d2fa6992d7917de2b960e9 Signed-off-by: Narinder Gupta --- ci/03-maasdeploy.sh | 97 +++++++++++++++++++++++++++++++++---- ci/odl/fetch-charms.sh | 2 +- labconfig/intel/pod5/labconfig.yaml | 30 ++++++++++++ 3 files changed, 118 insertions(+), 11 deletions(-) diff --git a/ci/03-maasdeploy.sh b/ci/03-maasdeploy.sh index 8b7de401..d2aaa36b 100755 --- a/ci/03-maasdeploy.sh +++ b/ci/03-maasdeploy.sh @@ -91,6 +91,7 @@ SUBNET_CIDR=`cat labconfig.json | jq '.opnfv.spaces[] | select(.type=="admin")'. SUBNETDATA_CIDR=`cat labconfig.json | jq '.opnfv.spaces[] | select(.type=="data")'.cidr | cut -d \" -f 2 ` SUBNETPUB_CIDR=`cat labconfig.json | jq '.opnfv.spaces[] | select(.type=="public")'.cidr | cut -d \" -f 2 ` SUBNETSTOR_CIDR=`cat labconfig.json | jq '.opnfv.spaces[] | select(.type=="storage")'.cidr | cut -d \" -f 2 ` +SUBNETFLOAT_CIDR=`cat labconfig.json | jq '.opnfv.spaces[] | select(.type=="floating")'.cidr | cut -d \" -f 2 ` VLAN_TAG="untagged" # In the case of a virtual deployment get deployconfig.yaml @@ -219,10 +220,10 @@ configuremaas(){ maas $PROFILE spaces create name=$space || true done - maas $PROFILE boot-source update $SOURCE_ID \ - url=$URL keyring_filename=$KEYRING_FILE || true - maas $PROFILE boot-resources import || true - sleep 60 + #maas $PROFILE boot-source update $SOURCE_ID \ + # url=$URL keyring_filename=$KEYRING_FILE || true + #maas $PROFILE boot-resources import || true + #sleep 60 while [ "$(maas $PROFILE boot-resources is-importing)" == "true" ]; do @@ -500,8 +501,10 @@ crnodevlanint() { for node in $(maas $PROFILE nodes read | jq -r '.[].system_id') do - interface=$(maas $PROFILE interface read $node $2 | jq -r '.id') - maas $PROFILE interfaces create-vlan $node vlan=$1 parent=$interface + vlanid=$(maas $PROFILE subnets read | jq '.[].vlan | select(.vid=='$1')'.id) + fabricid=`maas $PROFILE subnets read | jq '.[].vlan | select(.vid=='$1')'.fabric_id` + interface=`maas $PROFILE interfaces read $node | jq '.[] | select(.vlan.fabric_id=='$fabricid')'.id` + maas $PROFILE interfaces create-vlan $node vlan=$vlanid parent=$interface || true done } @@ -557,32 +560,106 @@ esac # #read interface needed in Auto mode and enable it. Will be rmeoved once auto enablement will be implemented in the maas-deployer. +# Enable only non vlan interfaces first. +if [ -e ./labconfig.json ]; then + if [ $SUBNETDATA_CIDR ]; then + EXTNET=`cat labconfig.json | jq --raw-output '.lab.racks[0].nodes[].nics[] | select(.spaces[]=="data")'.ifname | sort -u` + i="0" + while [ ! -z "${EXTNET[i]}" ]; + do + if ([ -z $VLAN ] || [ "$VLAN" == "null" ]); then + enableautomode ${EXTNET[i]} AUTO $SUBNETDATA_CIDR || true + fi + i=$[$i+1] + done + fi + if [ $SUBNETPUB_CIDR ]; then + EXTNET=`cat labconfig.json | jq --raw-output '.lab.racks[0].nodes[].nics[] | select(.spaces[]=="public")'.ifname | sort -u` + i="0" + while [ ! -z "${EXTNET[i]}" ]; + do + if ([ -z $VLAN ] || [ "$VLAN" == "null" ]); then + enableautomode ${EXTNET[i]} AUTO $SUBNETPUB_CIDR || true + fi + i=$[$i+1] + done + fi + if [ $SUBNETSTOR_CIDR ]; then + EXTNET=`cat labconfig.json | jq --raw-output '.lab.racks[0].nodes[].nics[] | select(.spaces[]=="storage")'.ifname | sort -u` + i="0" + while [ ! -z "${EXTNET[i]}" ]; + do + if ([ -z $VLAN ] || [ "$VLAN" == "null" ]); then + enableautomode ${EXTNET[i]} AUTO $SUBNETSTOR_CIDR || true + fi + i=$[$i+1] + done + fi + if [ $SUBNETFLOAT_CIDR ]; then + EXTNET=`cat labconfig.json | jq --raw-output '.lab.racks[0].nodes[].nics[] | select(.spaces[]=="floating")'.ifname | sort -u` + i="0" + while [ ! -z "${EXTNET[i]}" ]; + do + if ([ -z $VLAN ] || [ "$VLAN" == "null" ]); then + enableautomode ${EXTNET[i]} link_up $SUBNETFLOAT_CIDR || true + fi + i=$[$i+1] + done + fi +fi -if [ -e ./deployconfig.yaml ]; then +#enable only the vlan interfaces which were ignore in previous run. + +if [ -e ./labconfig.json ]; then if [ $SUBNETDATA_CIDR ]; then EXTNET=`cat labconfig.json | jq --raw-output '.lab.racks[0].nodes[].nics[] | select(.spaces[]=="data")'.ifname | sort -u` + VLAN=`cat labconfig.json | jq --raw-output '.opnfv.spaces[] | select(.type=="data")'.vlan` i="0" while [ ! -z "${EXTNET[i]}" ]; do - enableautomode ${EXTNET[i]} AUTO $SUBNETDATA_CIDR || true + if ([ $VLAN ] && [ "$VLAN" != "null" ]); then + crnodevlanint $VLAN || true + enableautomode ${EXTNET[i]} AUTO $SUBNETDATA_CIDR || true + fi i=$[$i+1] done fi if [ $SUBNETPUB_CIDR ]; then EXTNET=`cat labconfig.json | jq --raw-output '.lab.racks[0].nodes[].nics[] | select(.spaces[]=="public")'.ifname | sort -u` + VLAN=`cat labconfig.json | jq --raw-output '.opnfv.spaces[] | select(.type=="public")'.vlan` i="0" while [ ! -z "${EXTNET[i]}" ]; do - enableautomode ${EXTNET[i]} AUTO $SUBNETPUB_CIDR || true + if ([ $VLAN ] && [ "$VLAN" != "null" ]); then + crnodevlanint $VLAN || true + enableautomode ${EXTNET[i]} AUTO $SUBNETPUB_CIDR || true + fi i=$[$i+1] done fi if [ $SUBNETSTOR_CIDR ]; then EXTNET=`cat labconfig.json | jq --raw-output '.lab.racks[0].nodes[].nics[] | select(.spaces[]=="storage")'.ifname | sort -u` + VLAN=`cat labconfig.json | jq --raw-output '.opnfv.spaces[] | select(.type=="storage")'.vlan` + i="0" + while [ ! -z "${EXTNET[i]}" ]; + do + if ([ $VLAN ] && [ "$VLAN" != "null" ]); then + crnodevlanint $VLAN || true + enableautomode ${EXTNET[i]} AUTO $SUBNETSTOR_CIDR || true + fi + i=$[$i+1] + done + fi + if [ $SUBNETFLOAT_CIDR ]; then + EXTNET=`cat labconfig.json | jq --raw-output '.lab.racks[0].nodes[].nics[] | select(.spaces[]=="floating")'.ifname | sort -u` + VLAN=`cat labconfig.json | jq --raw-output '.opnfv.spaces[] | select(.type=="floating")'.vlan` i="0" while [ ! -z "${EXTNET[i]}" ]; do - enableautomode ${EXTNET[i]} AUTO $SUBNETSTOR_CIDR || true + if ([ $VLAN ] && [ "$VLAN" != "null" ]); then + crnodevlanint $VLAN || true + enableautomode ${EXTNET[i]} link_up $SUBNETFLOAT_CIDR || true + fi i=$[$i+1] done fi diff --git a/ci/odl/fetch-charms.sh b/ci/odl/fetch-charms.sh index 84209f42..ff4886ea 100755 --- a/ci/odl/fetch-charms.sh +++ b/ci/odl/fetch-charms.sh @@ -13,7 +13,7 @@ function build { bzr branch lp:~narindergupta/charms/trusty/promise/trunk $distro/promise bzr branch lp:~billy-olsen/charms/xenial/mongodb/trunk $distro/mongodb bzr branch lp:~narindergupta/opnfv/ntp $distro/ntp -charm pull cs:~narindergupta/charm-neutron-gateway-0 $distro/neutron-gateway +charm pull cs:~narindergupta/neutron-gateway-0 $distro/neutron-gateway git clone https://github.com/gnuoy/charm-congress.git $distro/charm-congress build congress diff --git a/labconfig/intel/pod5/labconfig.yaml b/labconfig/intel/pod5/labconfig.yaml index 4fbe1b6f..8ed4532b 100644 --- a/labconfig/intel/pod5/labconfig.yaml +++ b/labconfig/intel/pod5/labconfig.yaml @@ -16,6 +16,12 @@ lab: - ifname: ens785f1.504 spaces: [public] mac: ["90:E2:BA:85:4E:2D"] + - ifname: ens785f0.505 + spaces: [floating] + mac: ["90:E2:BA:85:4E:2C"] + - ifname: ens785f1 + spaces: [storage] + mac: ["90:E2:BA:85:4E:2D"] power: type: ipmi address: 10.2.117.85 @@ -34,6 +40,12 @@ lab: - ifname: ens785f1.504 spaces: [public] mac: ["90:E2:BA:84:08:B9"] + - ifname: ens785f0.505 + spaces: [floating] + mac: ["90:E2:BA:85:4E:2C"] + - ifname: ens785f1 + spaces: [storage] + mac: ["90:E2:BA:85:4E:2D"] power: type: ipmi address: 10.2.117.86 @@ -52,6 +64,12 @@ lab: - ifname: ens785f1.504 spaces: [public] mac: ["90:E2:BA:84:07:0E"] + - ifname: ens785f0.505 + spaces: [floating] + mac: ["90:E2:BA:85:4E:2C"] + - ifname: ens785f1 + spaces: [storage] + mac: ["90:E2:BA:85:4E:2D"] power: type: ipmi address: 10.2.117.87 @@ -70,6 +88,12 @@ lab: - ifname: ens785f1.504 spaces: [public] mac: ["90:E2:BA:83:FD:81"] + - ifname: ens785f0.505 + spaces: [floating] + mac: ["90:E2:BA:85:4E:2C"] + - ifname: ens785f1 + spaces: [storage] + mac: ["90:E2:BA:85:4E:2D"] power: type: ipmi address: 10.2.117.88 @@ -88,6 +112,12 @@ lab: - ifname: ens785f1.504 spaces: [public] mac: ["90:E2:BA:75:22:75"] + - ifname: ens785f0.505 + spaces: [floating] + mac: ["90:E2:BA:85:4E:2C"] + - ifname: ens785f1 + spaces: [storage] + mac: ["90:E2:BA:85:4E:2D"] power: type: ipmi address: 10.2.117.89 -- cgit 1.2.3-korg