aboutsummaryrefslogtreecommitdiffstats
path: root/boot/dcae2_vm_init.sh
diff options
context:
space:
mode:
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