opnfvdistro=$3
opnfvos=$4
+jujuver=`juju --version`
+
if [ -f ./deployconfig.yaml ];then
EXTERNAL_NETWORK=`grep floating-ip-range deployconfig.yaml | cut -d ' ' -f 4 `
## 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
+ KEYSTONE=$(juju status keystone --format=short | grep " keystone")
+ if [ $(echo $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
}
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:5000/v2.0 RegionOne > ~/joid_config/admin-openrc
+ chmod 0600 ~/joid_config/admin-openrc
}
configOpenrc() {
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 \
NEUTRON_FIXED_NET_CIDR="192.168.16.0/22"
-#Check if VIP is set on keystone
-#keystone_VIP=`juju get-config keystone| python -c "import yaml; import sys; print yaml.load(sys.stdin)[\"settings\"][\"vip\"][\"value\"]"||true`
-keystone_VIP=`juju get keystone| python -c "import yaml; import sys; print yaml.load(sys.stdin)[\"settings\"][\"vip\"][\"value\"]"||true`
-
-keystoneIp() {
- KEYSTONE=$(juju status keystone |grep public-address|sed -- 's/.*\: //')
- if [ $(echo $KEYSTONE|wc -w) == 1 ];then
- echo $KEYSTONE
- else
- juju get keystone | python -c "import yaml; import sys; print yaml.load(sys.stdin)['settings']['vip']['value']"
- fi
-}
-
-if [ -n "$keystone_VIP" ]
-then
- keystone=$keystone_VIP
-else
- #if os-public-hostname is set and not VIP assume we need to use those at OpenStack endpoints.
- keystone=$(keystoneIp)
- keystone_PUBENDPOINT=`juju get keystone| python -c "import yaml; import sys; print yaml.load(sys.stdin)[\"settings\"][\"os-public-hostname\"][\"value\"]"||true`
-fi
-
-
-echo "export SERVICE_ENDPOINT=http://$keystone:35357/v2.0/
-unset SERVICE_TOKEN
-unset SERVICE_ENDPOINT
-export OS_AUTH_URL=http://$keystone:35357/v2.0/
-export OS_USERNAME=$(juju get keystone | python -c "import yaml; import sys; print yaml.load(sys.stdin)[\"settings\"][\"admin-user\"][\"value\"]")
-export OS_PASSWORD=$(juju get keystone | python -c "import yaml; import sys; print yaml.load(sys.stdin)[\"settings\"][\"admin-password\"][\"value\"]")
-export OS_TENANT_NAME=admin
-export OS_REGION_NAME=$(juju get keystone | python -c "import yaml; import sys; print yaml.load(sys.stdin)[\"settings\"][\"region\"][\"value\"]")
-" > ~/nova.rc
-
-source ~/nova.rc
+source ~/joid_config/admin-openrc
# Determine the tenant id for the configured tenant name.
export TENANT_ID="$(openstack project list | grep $OS_TENANT_NAME | awk '{ print $2 }')"