X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=ci%2Fopenstack.sh;h=476533fa968adcef88dc64b4106dfbfce8e58bf8;hb=157b0b2fc55920773a02146660ca5b7eb78a910f;hp=8efaac53574ff6ba89154c2b0f6bd1faeb42eed3;hpb=d3f5b8219082e473cd98af4ed2033c7520804bff;p=joid.git diff --git a/ci/openstack.sh b/ci/openstack.sh index 8efaac53..476533fa 100755 --- a/ci/openstack.sh +++ b/ci/openstack.sh @@ -14,6 +14,8 @@ opnfvlab=$2 opnfvdistro=$3 opnfvos=$4 +jujuver=`juju --version` + if [ -f ./deployconfig.yaml ];then EXTERNAL_NETWORK=`grep floating-ip-range deployconfig.yaml | cut -d ' ' -f 4 ` @@ -45,23 +47,38 @@ update_gw_mac() { ## get gateway mac EXTNET_GW_MAC=$(juju ssh nova-compute/0 "arp -a ${EXTNET_GW} | grep -Eo '([0-9a-fA-F]{2})(([/\s:-][0-9a-fA-F]{2}){5})'") ## set external gateway mac in onos - juju set onos-controller gateway-mac=$EXTNET_GW_MAC + if [[ "$jujuver" < "2" ]]; then + juju set onos-controller gateway-mac=$EXTNET_GW_MAC + else + juju config onos-controller gateway-mac=$EXTNET_GW_MAC + fi } unitAddress() { - juju status | python -c "import yaml; import sys; print yaml.load(sys.stdin)[\"services\"][\"$1\"][\"units\"][\"$1/$2\"][\"public-address\"]" 2> /dev/null + if [[ "$jujuver" < "2" ]]; then + juju status --format yaml | python -c "import yaml; import sys; print yaml.load(sys.stdin)[\"services\"][\"$1\"][\"units\"][\"$1/$2\"][\"public-address\"]" 2> /dev/null + else + juju status --format yaml | python -c "import yaml; import sys; print yaml.load(sys.stdin)[\"applications\"][\"$1\"][\"units\"][\"$1/$2\"][\"public-address\"]" 2> /dev/null + fi } unitMachine() { - juju status | python -c "import yaml; import sys; print yaml.load(sys.stdin)[\"services\"][\"$1\"][\"units\"][\"$1/$2\"][\"machine\"]" 2> /dev/null + if [[ "$jujuver" < "2" ]]; then + juju status --format yaml | python -c "import yaml; import sys; print yaml.load(sys.stdin)[\"services\"][\"$1\"][\"units\"][\"$1/$2\"][\"machine\"]" 2> /dev/null + else + juju status --format yaml | python -c "import yaml; import sys; print yaml.load(sys.stdin)[\"applications\"][\"$1\"][\"units\"][\"$1/$2\"][\"machine\"]" 2> /dev/null + fi } keystoneIp() { - KEYSTONE=$(juju status keystone |grep public-address|sed -- 's/.*\: //') - if [ $(echo $KEYSTONE|wc -w) == 1 ];then - echo $KEYSTONE + if [ $(juju status keystone --format=short | grep " keystone"|wc -l) == 1 ];then + unitAddress keystone 0 else - juju get keystone | python -c "import yaml; import sys; print yaml.load(sys.stdin)['settings']['vip']['value']" + if [[ "$jujuver" < "2" ]]; then + juju get keystone | python -c "import yaml; import sys; print yaml.load(sys.stdin)['settings']['vip']['value']" + else + juju config keystone | python -c "import yaml; import sys; print yaml.load(sys.stdin)['settings']['vip']['value']" + fi fi } @@ -69,14 +86,22 @@ keystoneIp() { create_openrc() { mkdir -m 0700 -p cloud keystoneIp=$(keystoneIp) - adminPasswd=$(juju get keystone | grep admin-password -A 5 | grep value | awk '{print $2}' 2> /dev/null) - configOpenrc admin $adminPasswd admin http://$keystoneIp:5000/v2.0 RegionOne > cloud/admin-openrc - chmod 0600 cloud/admin-openrc + if [[ "$jujuver" < "2" ]]; then + adminPasswd=$(juju get keystone | grep admin-password -A 5 | grep value | awk '{print $2}' 2> /dev/null) + else + adminPasswd=$(juju config keystone | grep admin-password -A 5 | grep value | awk '{print $2}' 2> /dev/null) + fi + + configOpenrc admin $adminPasswd admin http://$keystoneIp:35357/v2.0 RegionOne > ~/joid_config/admin-openrc + chmod 0600 ~/joid_config/admin-openrc } configOpenrc() { if [ "$API_FQDN" != "None" ]; then cat <<-EOF + export SERVICE_ENDPOINT=$4 + unset SERVICE_TOKEN + unset SERVICE_ENDPOINT export OS_USERNAME=$1 export OS_PASSWORD=$2 export OS_TENANT_NAME=$3 @@ -91,6 +116,9 @@ if [ "$API_FQDN" != "None" ]; then EOF else cat <<-EOF + export SERVICE_ENDPOINT=$4 + unset SERVICE_TOKEN + unset SERVICE_ENDPOINT export OS_USERNAME=$1 export OS_PASSWORD=$2 export OS_TENANT_NAME=$3 @@ -103,8 +131,14 @@ fi if [ "$API_FQDN" != "None" ]; then # Push api fqdn local ip to all /etc/hosts - API_FQDN=$(juju get keystone | python -c "import yaml; import sys;\ - print yaml.load(sys.stdin)['settings']['os-public-hostname']['value']") + if [[ "$jujuver" < "2" ]]; then + API_FQDN=$(juju get keystone | python -c "import yaml; import sys;\ + print yaml.load(sys.stdin)['settings']['os-public-hostname']['value']") + else + API_FQDN=$(juju config keystone | python -c "import yaml; import sys;\ + print yaml.load(sys.stdin)['settings']['os-public-hostname']['value']") + fi + KEYSTONEIP=$(keystoneIp) juju run --all "if grep $API_FQDN /etc/hosts > /dev/null; then \ @@ -130,7 +164,7 @@ fi # Create an load openrc create_openrc -. ./cloud/admin-openrc +. ~/joid_config/admin-openrc echo "...... deploy public api proxy ......" @@ -193,15 +227,28 @@ if [ "onos" == "$opnfvsdn" ]; then #update_gw_mac elif [ "nosdn" == "$opnfvsdn" ]; then neutron net-show ext-net > /dev/null 2>&1 || neutron net-create ext-net \ - --router:external=True \ - --provider:network_type flat \ - --provider:physical_network external + --router:external=True \ + --provider:network_type flat \ + --provider:physical_network phynet1 neutron subnet-show ext-subnet > /dev/null 2>&1 || neutron subnet-create ext-net \ --name ext-subnet --allocation-pool start=$EXTNET_FIP,end=$EXTNET_LIP \ --disable-dhcp --gateway $EXTNET_GW $EXTNET_NET -else - neutron net-show ext-net > /dev/null 2>&1 || neutron net-create ext-net --router:external=True + +elif [ "odl" == "$opnfvsdn" ]; then + neutron net-show ext-net > /dev/null 2>&1 || neutron net-create ext-net \ + --router:external=True \ + --provider:network_type vxlan + + neutron subnet-show ext-subnet > /dev/null 2>&1 || neutron subnet-create ext-net \ + --name ext-subnet --allocation-pool start=$EXTNET_FIP,end=$EXTNET_LIP \ + --disable-dhcp --gateway $EXTNET_GW $EXTNET_NET + else + neutron net-show ext-net > /dev/null 2>&1 || neutron net-create ext-net \ + --router:external=True \ + --provider:network_type flat \ + --provider:physical_network phynet1 + neutron subnet-show ext-subnet > /dev/null 2>&1 || neutron subnet-create ext-net \ --name ext-subnet --allocation-pool start=$EXTNET_FIP,end=$EXTNET_LIP \ --disable-dhcp --gateway $EXTNET_GW $EXTNET_NET