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 +++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 87 insertions(+), 10 deletions(-) (limited to 'ci/03-maasdeploy.sh') 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 -- cgit 1.2.3-korg