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
+ 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
}
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
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
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 \
# Create an load openrc
create_openrc
-. ./cloud/admin-openrc
+. ~/joid_config/admin-openrc
echo "...... deploy public api proxy ......"
#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