X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=ci%2Fopenstack.sh;h=8efaac53574ff6ba89154c2b0f6bd1faeb42eed3;hb=f1dfc0776d32dea2a2fe7e2cb2b15b1836a6b666;hp=08f1548ec1a7f845a14ce9ce85eb35ae4bfe272b;hpb=f89c3659d1084b9bc118c240edfa84c521818579;p=joid.git diff --git a/ci/openstack.sh b/ci/openstack.sh index 08f1548e..8efaac53 100755 --- a/ci/openstack.sh +++ b/ci/openstack.sh @@ -7,8 +7,12 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## -opnfvlab=$2 +#./openstack.sh "$opnfvsdn" "$opnfvlab" "$opnfvdistro" "$openstack" || true + opnfvsdn=$1 +opnfvlab=$2 +opnfvdistro=$3 +opnfvos=$4 if [ -f ./deployconfig.yaml ];then EXTERNAL_NETWORK=`grep floating-ip-range deployconfig.yaml | cut -d ' ' -f 4 ` @@ -110,8 +114,11 @@ if [ "$API_FQDN" != "None" ]; then echo 'API FQDN injected'; \ fi" - #change in jumphost as well as below commands will run on jumphost + # remove this enhancement for heat that does not manage endpoints + juju run --service=heat "cp /etc/hosts /tmp/hosts ; \ + grep -v $API_FQDN /tmp/hosts > /etc/hosts" + #change in jumphost as well as below commands will run on jumphost if grep $API_FQDN /etc/hosts; then echo 'API FQDN already present' else @@ -127,13 +134,36 @@ create_openrc echo "...... deploy public api proxy ......" -if [ "$opnfvlab" == "orangepod1" ] && [ "$opnfvsdn" == "nosdn" ]; then # only for first test phase - PUB_API_NET=$(grep floating-ip-range ./labconfig.yaml |cut -d/ -f2) - PUB_API_IP=$(grep public-api-ip ./labconfig.yaml |cut -d: -f2) - juju run --unit nodes/0 "sudo ip a a ${PUB_API_IP}/${PUB_API_NET} dev br-ex" || true - juju run --unit nodes/0 "sudo ip l set dev br-ex up" || true - python genPublicAPIProxyBundle.py -l labconfig.yaml >> bundles.yaml - juju-deployer -vW -d -t 7200 -r 5 -c bundles.yaml $opnfvdistro-"$openstack" || true +if ([ "$opnfvlab" == "orangepod1" ] \ + || [ "$opnfvlab" == "intelpod6" ]) \ + && [ "$opnfvsdn" == "nosdn" ] \ + && [ "$API_FQDN" != "None" ]; then # only for first test phase + if [ -e ./labconfig.yaml ]; then + PUB_API_MASK=$(grep floating-ip-range ./labconfig.yaml |cut -d/ -f2) + PUB_API_NET=$(grep floating-ip-range ./labconfig.yaml |cut -d, -f4) + PUB_API_IP=$(grep public-api-ip ./labconfig.yaml |cut -d: -f2) + if grep "- type: public" ./labconfig.yaml; then + # The public network exists on MAAS, so we push the dns record to it + + # Recover maas ips and login to it + maas_ip=$(grep " ip_address" deployment.yaml | cut -d ':' -f 2 | sed -e 's/ //') + maas_pubip=$(grep floating-ip-range ./labconfig.yaml |cut -d, -f4 |perl -pe 's!^(.*)\.\d+/\d+$!$1.5!') + apikey=$(grep maas-oauth: environments.yaml | cut -d "'" -f 2) + maas login maas http://${maas_ip}/MAAS/api/1.0 ${apikey} + + # Configure maas to add the record + CLUSTER_UUID=$(maas ubuntu node-groups list | grep uuid | cut -d\" -f4) + PUBLIC_MAAS_IF=$(maas ubuntu node-group-interfaces list $cluster_uuid |\ + python -c "import yaml; import sys; cfg=yaml.load(sys.stdin); net_h={net['ip']:net['name'] for net in cfg}; print(net_h['$maas_pubip'])") + maas maas node-group-interface update ${CLUSTER_UUID} ${PUBLIC_MAAS_IF} static_ip_range_high=${PUB_API_IP} static_ip_range_low=${PUB_API_IP} + maas maas ipaddresses reserve network=${PUB_API_NET} requested_address=${PUB_API_IP} hostname=${API_FQDN} + dig ${PUB_API_IP} @${maas_ip} # just for log + fi + juju run --unit nodes/0 "sudo ip a a ${PUB_API_IP}/${PUB_API_MASK} dev br-ex" || true + juju run --unit nodes/0 "sudo ip l set dev br-ex up" || true + python genPublicAPIProxyBundle.py -l labconfig.yaml >> bundles.yaml + juju-deployer -vW -d -t 7200 -r 5 -c bundles.yaml $opnfvdistro-"$opnfvos" || true + fi fi echo "...... deploy end public api proxy ......" @@ -211,4 +241,3 @@ openstack congress datasource create keystone "keystone" \ --config tenant_name=$OS_TENANT_NAME \ --config password=$OS_PASSWORD \ --config auth_url=http://$keystoneIp:5000/v2.0 -