aboutsummaryrefslogtreecommitdiffstats
path: root/boot/dcae2_vm_init.sh
diff options
context:
space:
mode:
authorLusheng Ji <lji@research.att.com>2017-10-31 01:55:41 -0400
committerLusheng Ji <lji@research.att.com>2017-10-31 14:23:06 +0000
commitb810810e3c4c7470163a8964aff6a67a762be448 (patch)
tree1cac47eab5c4f6b642a09eb8bc2c89b836ffa22d /boot/dcae2_vm_init.sh
parent25137730b55170e41e0304d5c9580487572f3275 (diff)
Add fix for separating name from ID
MultiCould expects tenant name and network name instead of IDs. Integration Heat passes in only IDs. Added additional parameters for names. Fix a file path issue when setting up nginx. Issue-Id: DCAEGEN2-128 Change-Id: Iac6025c4ab1f38682c8f75d13c6ea6b31d43106a Signed-off-by: Lusheng Ji <lji@research.att.com>
Diffstat (limited to 'boot/dcae2_vm_init.sh')
-rw-r--r--boot/dcae2_vm_init.sh102
1 files changed, 61 insertions, 41 deletions
diff --git a/boot/dcae2_vm_init.sh b/boot/dcae2_vm_init.sh
index d5df44e4..d15d3c12 100644
--- a/boot/dcae2_vm_init.sh
+++ b/boot/dcae2_vm_init.sh
@@ -160,20 +160,19 @@ register_multicloud_pod25dns_with_aai()
local CLOUD_ENV
local CLOUD_IDENTITY_URL
local DNSAAS_SERVICE_URL
- local DNSAAS_USERNAME
- local DNSAAS_PASSWORD
+ local DNSAAS_USERNAME='demo'
+ local DNSAAS_PASSWORD='onapdemo'
local DNSAAS_TENANT_ID
- CLOUD_REGION="$(cat /opt/config/openstack_region.txt)"
+ CLOUD_REGION="$(cat /opt/config/dnsaas_region.txt)"
CLOUD_ENV="$(cat /opt/config/cloud_env.txt)"
MCIP="$(cat /opt/config/openo_ip_addr.txt)"
CLOUD_IDENTITY_URL="http://${MCIP}/api/multicloud-titanium_cloud/v0/${CLOUD_OWNER}_${CLOUD_REGION}/identity/v2.0"
local RESPCODE
DNSAAS_SERVICE_URL="$(cat /opt/config/dnsaas_keystone_url.txt)"
- DNSAAS_USERNAME="$(cat /opt/config/dnsaas_username.txt)"
- DNSAAS_PASSWORD="$(cat /opt/config/dnsaas_password.txt)"
- DNSAAS_TENANT_ID="$(cat /opt/config/dnsaas_tenant_id.txt)"
+ # a tenant of the same name must be set up on the Deisgnate providing OpenStack
+ DNSAAS_TENANT_NAME="$(cat /opt/config/dnsaas_tenant_name.txt)"
cat >"/tmp/${CLOUD_OWNER}_${CLOUD_REGION}.json" <<EOL
{
"cloud-owner" : "$CLOUD_OWNER",
@@ -190,7 +189,7 @@ register_multicloud_pod25dns_with_aai()
{
"esr-system-info-id": "532ac032-e996-41f2-84ed-9c7a1766eb30",
"cloud-domain": "Default",
- "default-tenant" : "$DNSAAS_TENANT_ID",
+ "default-tenant" : "$DNSAAS_TENANT_NAME",
"user-name" : "$DNSAAS_USERNAME",
"password" : "$DNSAAS_PASSWORD",
"service-url" : "$DNSAAS_SERVICE_URL",
@@ -234,24 +233,34 @@ register_multicloud_pod25_with_aai()
local CLOUD_OWNER='pod25'
local CLOUD_VERSION='titanium_cloud'
local CLOUD_REGION
+ local DNSAAS_CLOUD_REGION
local CLOUD_ENV
local MCIP
local CLOUD_IDENTITY_URL
local KEYSTONE_URL
local USERNAME
local PASSWORD
- local TENANT_ID
+ local TENANT_NAME
CLOUD_REGION="$(cat /opt/config/openstack_region.txt)"
+ DNSAAS_CLOUD_REGION="$(cat /opt/config/dnsaas_region.txt)"
CLOUD_ENV="$(cat /opt/config/cloud_env.txt)"
MCIP="$(cat /opt/config/openo_ip_addr.txt)"
CLOUD_IDENTITY_URL="http://${MCIP}/api/multicloud-titanium_cloud/v0/${CLOUD_OWNER}_${CLOUD_REGION}/identity/v2.0"
KEYSTONE_URL="$(cat /opt/config/openstack_keystone_url.txt)"
+ if [[ "$KEYSTONE_URL" == */v3 ]]; then
+ echo $KEYSTONE_URL
+ elif [[ "$KEYSTONE_URL" == */v2.0 ]]; then
+ echo $KEYSTONE_URL
+ else
+ KEYSTONE_URL="${KEYSTONE_URL}/v3"
+ echo $KEYSTONE_URL
+ fi
USERNAME="$(cat /opt/config/openstack_user.txt)"
PASSWORD="$(cat /opt/config/openstack_password.txt)"
- TENANT_ID="$(cat /opt/config/tenant_id.txt)"
+ TENANT_NAME="$(cat /opt/config/tenant_name.txt)"
cat >"/tmp/${CLOUD_OWNER}_${CLOUD_REGION}.json" <<EOL
-{
+{
"cloud-owner" : "$CLOUD_OWNER",
"cloud-region-id" : "$CLOUD_REGION",
"cloud-region-version" : "$CLOUD_VERSION",
@@ -261,13 +270,13 @@ register_multicloud_pod25_with_aai()
"identity-url": "$CLOUD_IDENTITY_URL",
"owner-defined-type" : "owner-defined-type",
"sriov-automation" : false,
- "cloud-extra-info" : "{\"epa-caps\":{\"huge_page\":\"true\",\"cpu_pinning\":\"true\",\"cpu_thread_policy\":\"true\",\"numa_aware\":\"true\",\"sriov\":\"true\",\"dpdk_vswitch\":\"true\",\"rdt\":\"false\",\"numa_locality_pci\":\"true\"},\"dns-delegate\":{\"cloud-owner\":\"pod25dns\",\"cloud-region-id\":\"RegionOne\"}}",
+ "cloud-extra-info" : "{\"epa-caps\":{\"huge_page\":\"true\",\"cpu_pinning\":\"true\",\"cpu_thread_policy\":\"true\",\"numa_aware\":\"true\",\"sriov\":\"true\",\"dpdk_vswitch\":\"true\",\"rdt\":\"false\",\"numa_locality_pci\":\"true\"},\"dns-delegate\":{\"cloud-owner\":\"pod25dns\",\"cloud-region-id\":\"${DNSAAS_CLOUD_REGION}\"}}",
"esr-system-info-list" : {
"esr-system-info" : [
- {
+ {
"esr-system-info-id": "432ac032-e996-41f2-84ed-9c7a1766eb29",
"cloud-domain": "Default",
- "default-tenant" : "$TENANT_ID",
+ "default-tenant" : "$TENANT_NAME",
"user-name" : "$USERNAME",
"password" : "$PASSWORD",
"service-url" : "$KEYSTONE_URL",
@@ -343,7 +352,7 @@ register_dns_zone()
local CLOUD_VERSION='titanium_cloud'
local CLOUD_ENV
local DCAE_ZONE
- local DNSAAS_TENANT_ID
+ local DNSAAS_TENANT_NAME
local MCHOST
local MCURL
local MCMETHOD='-X POST'
@@ -358,43 +367,54 @@ register_dns_zone()
CLOUD_REGION="$(cat /opt/config/openstack_region.txt)"
CLOUD_ENV="$(cat /opt/config/cloud_env.txt)"
if [ -z "$1" ]; then DCAE_ZONE="$(cat /opt/config/dcae_zone.txt)"; else DCAE_ZONE="$1"; fi
- DNSAAS_TENANT_ID="$(cat /opt/config/dnsaas_tenant_id.txt)"
+ DNSAAS_TENANT_NAME="$(cat /opt/config/dnsaas_tenant_name.txt)"
MCHOST=$(cat /opt/config/openo_ip_addr.txt)
MCURL="http://$MCHOST:9005/api/multicloud-titanium_cloud/v0/swagger.json"
+ MCDATA='-d "{\"auth\":{\"tenantName\": \"${DNSAAS_TENANT_NAME}\"}}"'
MULTICLOUD_PLUGIN_ENDPOINT=http://${MCHOST}/api/multicloud-titanium_cloud/v0/${CLOUD_OWNER}_${CLOUD_REGION}
- MULTICLOUD_PLUGIN_ENDPOINT=http://${MCHOST}:9005/api/multicloud-titanium_cloud/v0/${CLOUD_OWNER}_${CLOUD_REGION}
+
+ ### zone operations
+ # because all VM's use 10.0.100.1 as their first DNS server, the designate DNS server as seocnd, we need to use a
+ # domain outside of the first DNS server's domain
+ local ZONENAME
+ ZONENAME="${DCAE_ZONE}.dcaeg2.simpledemo.onap.org."
+
+ echo "===> Register DNS zone $ZONENAME under $DNSAAS_TENANT_NAME"
### Get Token
local TOKEN
MCURL="${MULTICLOUD_PLUGIN_ENDPOINT}/identity/v3/auth/tokens"
- TOKEN=$(call_api_for_response_header "$MCURL" "$MCMETHOD" "$MCRESP" "$MCHEADERS" "$MCAUTH" "$MCDATA" | grep 'X-Subject-Token' | sed "s/^.*: //")
- #TOKEN=$(curl -v -s -H "Content-Type: application/json" -X POST -d "{\"tenantName\": \"${DNSAAS_TENANT_ID}\"}" "${MULTICLOUD_PLUGIN_ENDPOINT}/identity/v3/auth/tokens" 2>&1 | grep X-Subject-Token | sed "s/^.*: //")
+ echo "=====> Getting token from $MCURL"
+ #TOKEN=$(call_api_for_response_header "$MCURL" "$MCMETHOD" "$MCRESP" "$MCHEADERS" "$MCAUTH" "$MCDATA" | grep 'X-Subject-Token' | sed "s/^.*: //")
+ TOKEN=$(curl -v -s -H "Content-Type: application/json" -X POST -d "{\"auth\":{\"tenantName\": \"${DNSAAS_TENANT_NAME}\"}}" "${MCURL}" 2>&1 | grep X-Subject-Token | sed "s/^.*: //")
echo "Received Keystone token $TOKEN from $MCURL"
-
- ### zone operations
- local ZONENAME
- ZONENAME="${DCAE_ZONE}.dcaeg2.simpledemo.onap.org."
+ if [ -z "$TOKEN" ]; then
+ echo "Faile to acquire token for creating DNS zone. Exit"
+ exit 1
+ fi
### list zones
+ echo "=====> Get current zone listing"
curl -sv -H "Content-Type: application/json" -H "X-Auth-Token: $TOKEN" -X GET "${MULTICLOUD_PLUGIN_ENDPOINT}/dns-delegate/v2/zones"
### create a zone
- echo "Creating zone $ZONENAME"
+ echo "=====> Creating zone $ZONENAME"
curl -sv -H "Content-Type: application/json" -H "X-Auth-Token: $TOKEN" -X POST -d "{ \"name\": \"$ZONENAME\", \"email\": \"lji@research.att.com\"}" "${MULTICLOUD_PLUGIN_ENDPOINT}/dns-delegate/v2/zones"
### query the zone with zone name
+ echo "=====> Querying zone $ZONENAME"
curl -s -H "Content-Type: application/json" -H "X-Auth-Token: $TOKEN" -X GET "${MULTICLOUD_PLUGIN_ENDPOINT}/dns-delegate/v2/zones?name=${ZONENAME}"
### export ZONE id
local ZONEID
ZONEID=$(curl -v -s -H "Content-Type: application/json" -H "X-Auth-Token: $TOKEN" -X GET "${MULTICLOUD_PLUGIN_ENDPOINT}/dns-delegate/v2/zones?name=${ZONENAME}" |sed 's/^.*"id":"\([a-zA-Z0-9-]*\)",.*$/\1/')
- echo "After creation, zone $ZONENAME ID is $ZONEID"
+ echo "=====> After creation, zone $ZONENAME ID is $ZONEID"
### query the zone with zone id
- echo "Test listing zone info for zone $ZONENAME"
+ echo "=====> Querying zone $ZONENAME by ID $ZONEID"
curl -sv -H "Content-Type: application/json" -H "X-Auth-Token: $TOKEN" -X GET "${MULTICLOUD_PLUGIN_ENDPOINT}/dns-delegate/v2/zones/${ZONEID}"
}
@@ -406,7 +426,7 @@ delete_dns_zone()
local CLOUD_VERSION='titanium_cloud'
local CLOUD_ENV
local DCAE_ZONE
- local DNSAAS_TENANT_ID
+ local DNSAAS_TENANT_NAME
local MCHOST
local MCURL
local MCMETHOD='-X GET'
@@ -419,19 +439,19 @@ delete_dns_zone()
CLOUD_REGION="$(cat /opt/config/openstack_region.txt)"
CLOUD_ENV="$(cat /opt/config/cloud_env.txt)"
DCAE_ZONE="$(cat /opt/config/dcae_zone.txt)"
- DNSAAS_TENANT_ID="$(cat /opt/config/dnsaas_tenant_id.txt)"
+ DNSAAS_TENANT_NAME="$(cat /opt/config/dnsaas_tenant_name.txt)"
MCHOST=$(cat /opt/config/openo_ip_addr.txt)
MCURL="http://$MCHOST:9005/api/multicloud-titanium_cloud/v0/swagger.json"
+ MCDATA='"{\"auth\":{\"tenantName\": \"${DNSAAS_TENANT_NAME}\"}}"'
MULTICLOUD_PLUGIN_ENDPOINT=http://${MCHOST}/api/multicloud-titanium_cloud/v0/${CLOUD_OWNER}_${CLOUD_REGION}
- MULTICLOUD_PLUGIN_ENDPOINT=http://${MCHOST}:9005/api/multicloud-titanium_cloud/v0/${CLOUD_OWNER}_${CLOUD_REGION}
### Get Token
local TOKEN
- TOKEN=$(curl -v -s -H "Content-Type: application/json" -X POST -d "{\"tenantName\": \"${DNSAAS_TENANT_ID}\"}" "${MULTICLOUD_PLUGIN_ENDPOINT}/identity/v3/auth/tokens" 2>&1 | grep X-Subject-Token | sed "s/^.*: //")
+ TOKEN=$(curl -v -s -H "Content-Type: application/json" -X POST -d "{\"auth\":{\"tenantName\": \"${DNSAAS_TENANT_NAME}\"}}" "${MULTICLOUD_PLUGIN_ENDPOINT}/identity/v3/auth/tokens" 2>&1 | grep X-Subject-Token | sed "s/^.*: //")
local ZONENAME
- ZONENAME="$1.dcae.simpledemo.onap.org."
+ ZONENAME="$1.dcaeg2.simpledemo.onap.org."
local ZONEID
ZONEID=$(curl -v -s -H "Content-Type: application/json" -H "X-Auth-Token: $TOKEN" -X GET "${MULTICLOUD_PLUGIN_ENDPOINT}/dns-delegate/v2/zones?name=${ZONENAME}" |sed 's/^.*"id":"\([a-zA-Z0-9-]*\)",.*$/\1/')
@@ -445,7 +465,7 @@ list_dns_zone()
local CLOUD_VERSION='titanium_cloud'
local CLOUD_ENV
local DCAE_ZONE
- local DNSAAS_TENANT_ID
+ local DNSAAS_TENANT_NAME
local MCHOST
local MCURL
local MCMETHOD='-X GET'
@@ -458,19 +478,19 @@ list_dns_zone()
CLOUD_REGION="$(cat /opt/config/openstack_region.txt)"
CLOUD_ENV="$(cat /opt/config/cloud_env.txt)"
DCAE_ZONE="$(cat /opt/config/dcae_zone.txt)"
- DNSAAS_TENANT_ID="$(cat /opt/config/dnsaas_tenant_id.txt)"
+ DNSAAS_TENANT_NAME="$(cat /opt/config/dnsaas_tenant_name.txt)"
MCHOST=$(cat /opt/config/openo_ip_addr.txt)
MCURL="http://$MCHOST:9005/api/multicloud-titanium_cloud/v0/swagger.json"
+ MCDATA='"{\"auth\":{\"tenantName\": \"${DNSAAS_TENANT_NAME}\"}}"'
MULTICLOUD_PLUGIN_ENDPOINT=http://${MCHOST}/api/multicloud-titanium_cloud/v0/${CLOUD_OWNER}_${CLOUD_REGION}
- MULTICLOUD_PLUGIN_ENDPOINT=http://${MCHOST}:9005/api/multicloud-titanium_cloud/v0/${CLOUD_OWNER}_${CLOUD_REGION}
### Get Token
local TOKEN
- TOKEN=$(curl -v -s -H "Content-Type: application/json" -X POST -d "{\"tenantName\": \"${DNSAAS_TENANT_ID}\"}" "${MULTICLOUD_PLUGIN_ENDPOINT}/identity/v3/auth/tokens" 2>&1 | grep X-Subject-Token | sed "s/^.*: //")
+ TOKEN=$(curl -v -s -H "Content-Type: application/json" -X POST -d "{\"auth\":{\"tenantName\": \"${DNSAAS_TENANT_NAME}\"}}" "${MULTICLOUD_PLUGIN_ENDPOINT}/identity/v3/auth/tokens" 2>&1 | grep X-Subject-Token | sed "s/^.*: //")
local ZONENAME
- ZONENAME="$1.dcae.simpledemo.onap.org."
+ ZONENAME="$1.dcaeg2.simpledemo.onap.org."
local ZONEID
ZONEID=$(curl -v -s -H "Content-Type: application/json" -H "X-Auth-Token: $TOKEN" -X GET "${MULTICLOUD_PLUGIN_ENDPOINT}/dns-delegate/v2/zones?name=${ZONENAME}" |sed 's/^.*"id":"\([a-zA-Z0-9-]*\)",.*$/\1/')
@@ -485,15 +505,15 @@ NEXUS_USER=$(cat /opt/config/nexus_username.txt)
NEXUS_PASSWORD=$(cat /opt/config/nexus_password.txt)
NEXUS_DOCKER_REPO=$(cat /opt/config/nexus_docker_repo.txt)
DOCKER_VERSION=$(cat /opt/config/docker_version.txt)
-ZONE=$(cat /opt/config/dcae_zone.txt)
-RANDSTR=$(cat /opt/config/rand_str.txt)
+# use rand_str as zone
+ZONE=$(cat /opt/config/rand_str.txt)
MYFLOATIP=$(cat /opt/config/dcae_float_ip.txt)
MYLOCALIP=$(cat /opt/config/dcae_ip_addr.txt)
-TENANTNAME=$(cat /opt/config/tenant_name.txt)
-OSUSERNAME=$(cat /opt/config/openstack_user.txt)
-OSPASSWORD=$(cat /opt/config/openstack_password.txt)
+docker login -u "$NEXUS_USER" -p "$NEXUS_PASSWORD" "$NEXUS_DOCKER_REPO"
+docker pull "$NEXUS_DOCKER_REPO/onap/org.onap.dcaegen2.deployments.bootstrap:$DOCKER_VERSION" && docker pull nginx &
+
#########################################
# Wait for then register with A&AI
########################################
@@ -540,7 +560,7 @@ while [ ! -f /opt/app/config/runtime.ip.consul ]; do echo "."; sleep 30; done
# start proxy for consul's health check
-CONSULIP=$(head -1 /opt/config/runtime.ip.consul | sed 's/[[:space:]]//g')
+CONSULIP=$(head -1 /opt/app/config/runtime.ip.consul | sed 's/[[:space:]]//g')
echo "Consul is available at $CONSULIP"
cat >./nginx.conf <<EOL