aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xboot/dcae2_vm_init.sh785
-rw-r--r--heat/ONAP/cloud-config/dcae2_install.sh17
-rw-r--r--heat/ONAP/onap_openstack.env4
-rw-r--r--heat/ONAP/onap_openstack.yaml129
-rw-r--r--heat/ONAP/onap_openstack_template.env4
5 files changed, 67 insertions, 872 deletions
diff --git a/boot/dcae2_vm_init.sh b/boot/dcae2_vm_init.sh
index 29c2fa95..f423256e 100755
--- a/boot/dcae2_vm_init.sh
+++ b/boot/dcae2_vm_init.sh
@@ -1,7 +1,7 @@
#!/bin/bash
#############################################################################
#
-# Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
+# Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,645 +17,15 @@
#############################################################################
-# prepare a curl command
-# parameters: URL METHOD CURLOPTIONS EXTRA_HEADERS_AS_A_STRING AUTH_AS_USER:PASS DATA
-assemble_curl_command()
-{
- export http_proxy=""
- export https_proxy=""
-
- local URL="$1"
- local METHOD="$2"
- local CURLOPTIONS="$3"
- local EXTRA_HEADERS="$4"
- local AUTH="$5"
- local DATA="$6"
- local CMD=''
- if [ ! -z "$METHOD" ]; then
- CMD="curl $CURLOPTIONS $METHOD"
- else
- CMD="curl $CURLOPTIONS -X GET"
- fi
- if [ ! -z "$EXTRA_HEADERS" ]; then
- CMD="$CMD $EXTRA_HEADERS"
- fi
- if [ ! -z "$AUTH" ]; then
- CMD="$CMD $AUTH"
- fi
- if [ ! -z "$DATA" ]; then
- CMD="$CMD $DATA"
- fi
- CMD="$CMD $URL"
- echo "$CMD"
-}
-
-
-# Make a rest API call
-# parameters: URL METHOD expected_response_code EXTRA_HEADERS_AS_A_STRING AUTH_AS_USER:PASS DATA
-call_api_for_response_code()
-{
- export http_proxy=""
- export https_proxy=""
-
- local CURLOPTIONS='-kIso /dev/null -w "%{http_code}"'
- read -r CMDF <<-END
-$(assemble_curl_command "$1" "$2" "$CURLOPTIONS" "$4" "$5" "$6")
-END
- eval "$CMDF";
-}
-call_api_for_response_body()
-{
- export http_proxy=""
- export https_proxy=""
-
- local CURLOPTIONS='-ksb'
- read -r CMDF <<-END
-$(assemble_curl_command "$1" "$2" "$CURLOPTIONS" "$4" "$5" "$6")
-END
- eval "$CMDF"
-}
-call_api_for_response_header()
-{
- export http_proxy=""
- export https_proxy=""
-
- local CURLOPTIONS='-ks -o /dev/null -D -'
- read -r CMDF <<-END
-$(assemble_curl_command "$1" "$2" "$CURLOPTIONS" "$4" "$5" "$6")
-END
- eval "$CMDF"
-}
-call_api_for_verbose()
-{
- export http_proxy=""
- export https_proxy=""
-
- local CURLOPTIONS='-kIv'
- read -r CMDF <<-END
-$(assemble_curl_command "$1" "$2" "$CURLOPTIONS" "$4" "$5" "$6")
-END
- eval "$CMDF"
- #local TFILE=$(mktemp /tmp/curlcmd.XXXXXXXXX)
- #echo $CMD > $TFILE
- #eval $(cat $TFILE)
- #rm -f $TFILE
-}
-
-
-# Wait till a web service API return specified response code
-# parameters: URL METHOD EXPECTED_RESP_CODE EXTRA_HEADERS_AS_A_STRING AUTH_AS_USER:PASS DATA
-wait_for_api()
-{
- export http_proxy=""
- export https_proxy=""
-
- local RESP="$3"
- local ACTUALRESP
- ACTUALRESP=$(call_api_for_response_code "$1" "$2" "$3" "$4" "$5" "$6")
- while [ "$ACTUALRESP" != "$RESP" ]; do
- echo "RESP CODE $ACTUALRESP, not as expected RESP CODE $RESP @ $(date)."
- sleep 30
- ACTUALRESP=$(call_api_for_response_code "$1" "$2" "$3" "$4" "$5" "$6")
- done
- echo "RESP CODE $ACTUALRESP, matches with expected RESP CODE $RESP."
-}
-
-# Wait till a TCP port is open
-# parameters: HOST PORT
-wait_for_tcp_port()
-{
- export http_proxy=""
- export https_proxy=""
-
- local DEST="$1"
- local PORT="$2"
- while ! nc -z -w 1 "$DEST" "$PORT"; do
- sleep 4
- echo '.'
- done
-}
-
-
-
-
-wait_for_aai_ready()
-{
- export http_proxy=""
- export https_proxy=""
-
- # wait till A&AI up and ready
- local AAIHOST
- AAIHOST=$(cat /opt/config/aai1_ip_addr.txt)
- local AAIURL="https://$AAIHOST:8443/aai/v11/examples/cloud-regions"
- local AAIMETHOD='-X GET'
- local AAIRESP='200'
- local AAIHEADERS='-H "X-FromAppId: AAI-Temp-Tool" -H "X-TransactionId: AAI-Temp-Tool" -H "Real-Time: true" -H "Content-Type: application/json" -H "Accept: application/json"'
- local AAIAUTH='-u AAI:AAI'
- local AAIDATA=''
- echo "===> Waiting for A&AI to get ready for getting $AAIRESP from $AAIURL @ $(date)"
- wait_for_api "$AAIURL" "$AAIMETHOD" "$AAIRESP" "$AAIHEADERS" "$AAIAUTH" "$AAIDATA"
- echo "===> A&AI ready @ $(date)"
-}
-
-
-
-wait_for_multicloud_ready()
-{
- export http_proxy=""
- export https_proxy=""
-
- # wait till MultiCloud up and ready
- local MCHOST
- MCHOST=$(cat /opt/config/multiserv_ip_addr.txt)
- local MCURL="http://$MCHOST:9005/api/multicloud-titaniumcloud/v0/swagger.json"
- local MCMETHOD='-X GET'
- local MCRESP='200'
- local MCHEADERS='-H "Real-Time: true" -H "Content-Type: application/json" -H "Accept: application/json"'
- local MCAUTH=''
- local MCDATA=''
- echo "===> Waiting for MultiCloud to get ready for getting $MCRESP from $MCURL @ $(date)"
- wait_for_api "$MCURL" "$MCMETHOD" "$MCRESP" "$MCHEADERS" "$MCAUTH" "$MCDATA"
- echo "===> MultiCloud ready @ $(date)"
-}
-
-register_multicloud_pod25dns_with_aai()
-{
- export http_proxy=""
- export https_proxy=""
-
- # Register MultiCloud with A&AI
- local CLOUD_OWNER='pod25dns'
- local CLOUD_VERSION='titanium_cloud'
- local CLOUD_REGION
- local CLOUD_ENV
- local CLOUD_IDENTITY_URL
- local DNSAAS_SERVICE_URL
- local DNSAAS_USERNAME='demo'
- local DNSAAS_PASSWORD='onapdemo'
-
- CLOUD_REGION="$(cat /opt/config/dnsaas_region.txt)"
- CLOUD_ENV="$(cat /opt/config/cloud_env.txt)"
- MCIP="$(cat /opt/config/multiserv_ip_addr.txt)"
- CLOUD_IDENTITY_URL="http://${MCIP}/api/multicloud-titaniumcloud/v0/${CLOUD_OWNER}_${CLOUD_REGION}/identity/v2.0"
-
- local RESPCODE
- DNSAAS_SERVICE_URL="$(cat /opt/config/dnsaas_keystone_url.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",
- "cloud-region-id" : "$CLOUD_REGION",
- "cloud-region-version" : "$CLOUD_VERSION",
- "cloud-type" : "$CLOUD_ENV",
- "cloud-zone" : "cloud zone",
- "complex-name" : "complex name2",
- "identity-url": "$CLOUD_IDENTITY_URL",
- "owner-defined-type" : "owner-defined-type",
- "sriov-automation" : false,
- "esr-system-info-list" : {
- "esr-system-info" : [
- {
- "esr-system-info-id": "532ac032-e996-41f2-84ed-9c7a1766eb30",
- "cloud-domain": "Default",
- "default-tenant" : "$DNSAAS_TENANT_NAME",
- "user-name" : "$DNSAAS_USERNAME",
- "password" : "$DNSAAS_PASSWORD",
- "service-url" : "$DNSAAS_SERVICE_URL",
- "ssl-cacert": "example-ssl-cacert-val-75021",
- "ssl-insecure": true,
- "system-name": "example-system-name-val-29071",
- "system-type": "VIM",
- "ip-address": "example-ip-address-val-44432",
- "port": "example-port-val-93235",
- "type": "example-type-val-85255",
- "protocal": "example-protocal-val-52954",
- "vendor": "example-vendor-val-94515",
- "version": "example-version-val-71880"
- }
- ]
- }
-}
-EOL
-
-
- local REGHOST
- local REGURL
- local REGMETHOD='-X PUT'
- local REGHEADERS='-H "X-FromAppId: AAI-Temp-Tool" -H "X-TransactionId: AAI-Temp-Tool" -H "Real-Time: true" -H "Content-Type: application/json" -H "Accept: application/json"'
- local REGRESP='201'
- local REGAUTH='-u AAI:AAI'
- local REGDATA
-
- REGHOST="$(cat /opt/config/aai1_ip_addr.txt)"
- REGURL="https://$REGHOST:8443/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/$CLOUD_OWNER/$CLOUD_REGION"
- REGDATA="-T /tmp/${CLOUD_OWNER}_${CLOUD_REGION}.json"
- echo "Register MultiCloud with A&AI owner $CLOUD_OWNER"
- RESP=$(call_api_for_response_code "$REGURL" "$REGMETHOD" "$REGRESP" "$REGHEADERS" "$REGAUTH" "$REGDATA")
- echo "RESP CODE: $RESP"
-}
-
-
-register_multicloud_pod25_with_aai()
-{
- export http_proxy=""
- export https_proxy=""
-
- # Register MultiCloud with A&AI
- 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_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/multiserv_ip_addr.txt)"
- CLOUD_IDENTITY_URL="http://${MCIP}/api/multicloud-titaniumcloud/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_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",
- "cloud-type" : "$CLOUD_ENV",
- "cloud-zone" : "cloud zone",
- "complex-name" : "complex name",
- "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\":\"${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_NAME",
- "user-name" : "$USERNAME",
- "password" : "$PASSWORD",
- "service-url" : "$KEYSTONE_URL",
- "ssl-cacert": "example-ssl-cacert-val-75021",
- "ssl-insecure": true,
- "system-name": "example-system-name-val-29070",
- "system-type": "VIM",
- "ip-address": "example-ip-address-val-44431",
- "port": "example-port-val-93234",
- "type": "example-type-val-85254",
- "protocal": "example-protocal-val-52954",
- "vendor": "example-vendor-val-94515",
- "version": "example-version-val-71880"
- }
- ]
- }
-}
-EOL
-
- local REGHOST
- local REGURL
- local REGMETHOD='-X PUT'
- local REGHEADERS='-H "X-FromAppId: AAI-Temp-Tool" -H "X-TransactionId: AAI-Temp-Tool" -H "Real-Time: true" -H "Content-Type: application/json" -H "Accept: application/json"'
- local REGRESP='201'
- local REGAUTH='-u AAI:AAI'
- local REGDATA
-
- REGHOST="$(cat /opt/config/aai1_ip_addr.txt)"
- REGURL="https://$REGHOST:8443/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/$CLOUD_OWNER/$CLOUD_REGION"
- REGDATA="-T /tmp/${CLOUD_OWNER}_${CLOUD_REGION}.json"
- echo "Register MultiCloud with A&AI owner $CLOUD_OWNER"
- RESP=$(call_api_for_response_code "$REGURL" "$REGMETHOD" "$REGRESP" "$REGHEADERS" "$REGAUTH" "$REGDATA")
- echo "RESP CODE: $RESP"
-}
-
-
-
-verify_multicloud_registration()
-{
- export http_proxy=""
- export https_proxy=""
-
- local CLOUD_OWNER='pod25'
- local CLOUD_REGION
- local CLOUD_VERSION='titanium_cloud'
- local CLOUD_ENV
- local REGHOST
- local REGURL
- local REGMETHOD='-X GET'
- local REGHEADERS='-H "X-FromAppId: AAI-Temp-Tool" -H "X-TransactionId: AAI-Temp-Tool" -H "Real-Time: true" -H "Content-Type: application/json" -H "Accept: application/json"'
- local REGRESP='200'
- local REGAUTH='-u AAI:AAI'
- local REGDATA=''
- local RESPCODE
-
- CLOUD_REGION="$(cat /opt/config/openstack_region.txt)"
- CLOUD_ENV="$(cat /opt/config/cloud_env.txt)"
- REGHOST="$(cat /opt/config/aai1_ip_addr.txt)"
-
- REGURL="https://$REGHOST:8443/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/${CLOUD_OWNER}/${CLOUD_REGION}?depth=all"
- # Verify MultiCloud with A&AI
- RESPCODE=$(call_api_for_response_code "$REGURL" "$REGMETHOD" "$REGRESP" "$REGHEADERS" "$REGAUTH" "$REGDATA")
- echo "Register MultiCloud with A&AI owner $CLOUD_OWNER verify response code: $RESPCODE"
-
- CLOUD_OWNER='pod25dns'
- REGURL="https://$REGHOST:8443/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/${CLOUD_OWNER}/${CLOUD_REGION}?depth=all"
- RESPCODE=$(call_api_for_response_code "$REGURL" "$REGMETHOD" "$REGRESP" "$REGHEADERS" "$REGAUTH" "$REGDATA")
- echo "Register MultiCloud with A&AI owner $CLOUD_OWNER verify response code: $RESPCODE"
-}
-
-
-register_dns_zone_proxied_designate()
-{
- export http_proxy=""
- export https_proxy=""
-
- local CLOUD_OWNER='pod25'
- local CLOUD_REGION
- local CLOUD_VERSION='titanium_cloud'
- local CLOUD_ENV
- local DNSAAS_TENANT_NAME
- local MCHOST
- local MCURL
- local MCMETHOD='-X POST'
- local MCRESP='200'
- local MCHEADERS='-H "Content-Type: application/json" -H "Accept: application/json"'
- local MCAUTH=''
- local MCDATA=''
-
- ## export endpoint prefix
- local MULTICLOUD_PLUGIN_ENDPOINT
-
- 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_NAME="$(cat /opt/config/dnsaas_tenant_name.txt)"
- MCHOST=$(cat /opt/config/multiserv_ip_addr.txt)
- MCURL="http://$MCHOST:9005/api/multicloud-titaniumcloud/v0/swagger.json"
-
- MCDATA='-d "{\"auth\":{\"tenantName\": \"'${DNSAAS_TENANT_NAME}'\"}}"'
- MULTICLOUD_PLUGIN_ENDPOINT=http://${MCHOST}/api/multicloud-titaniumcloud/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 DCAE_DOMAIN
- local ZONENAME
- DCAE_DOMAIN="$(cat /opt/config/dcae_domain.txt)"
- ZONENAME="${DCAE_ZONE}.${DCAE_DOMAIN}."
-
- echo "===> Register DNS zone $ZONENAME under $DNSAAS_TENANT_NAME"
-
-
- ### Get Token
- local TOKEN
-
- MCURL="${MULTICLOUD_PLUGIN_ENDPOINT}/identity/v3/auth/tokens"
- 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"
- if [ -z "$TOKEN" ]; then
- echo "Faile to acquire token for creating DNS zone. Exit"
- exit 1
- fi
-
- local PROJECTID
- PROJECTID=$(curl -v -s -H "Content-Type: application/json" -H "X-Auth-Token: $TOKEN" -X GET "${MULTICLOUD_PLUGIN_ENDPOINT}/dns-delegate/v2/zones?name=${ZONENAME}" |grep 'project_id' |sed 's/^.*"project_id":"\([a-zA-Z0-9-]*\)",.*$/\1/')
- if [ ! -z "$PROJECTID" ]; then
- ### query the zone with zone id
- echo "!!!!!!> zone $ZONENAME already registered by project $PROJECTID"
- else
- ### create a zone
- echo "=====> No zone of same name $ZONENAME found, creating new zone "
- 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"
- fi
-
- ### list zones
- echo "=====> Zone listing"
- curl -sv -H "Content-Type: application/json" -H "X-Auth-Token: $TOKEN" -X GET "${MULTICLOUD_PLUGIN_ENDPOINT}/dns-delegate/v2/zones" | python -m json.tool
-
- ### 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 -sb -H "Content-Type: application/json" -H "X-Auth-Token: $TOKEN" -X GET "${MULTICLOUD_PLUGIN_ENDPOINT}/dns-delegate/v2/zones?name=${ZONENAME}" |grep 'id' |sed 's/^.*"id":"\([a-zA-Z0-9-]*\)",.*$/\1/')
- echo "=====> After creation, zone $ZONENAME ID is $ZONEID"
-
- ### query the zone with zone id
- #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}"
-}
-
-
-register_dns_zone_designate()
-{
- export http_proxy=""
- export https_proxy=""
-
- local HEADER_CONTENT_TYPE_JSON="Content-Type: application/json"
- local HEADER_ACCEPT_JSON="Accept: application/json"
- local HEADER_TOKEN
- local DCAE_ZONE
- local DCAE_DOMAIN
- local ZONE_NAME
- local ZONE_ID
- local KEYSTONE_URL
- local API_ENDPOINT
- local API_DATA
- local TENANT_NAME
- local TENANT_ID
- local ZONE_PROJECT_ID
-
- if [ -z "$1" ]; then DCAE_ZONE="$(cat /opt/config/dcae_zone.txt)"; else DCAE_ZONE="$1"; fi
- DCAE_DOMAIN="$(cat /opt/config/dcae_domain.txt)"
- ZONE_NAME="${DCAE_ZONE}.${DCAE_DOMAIN}."
-
- TENANT_NAME="$(cat /opt/config/tenant_name.txt)"
- TENANT_ID="$(cat /opt/config/tenant_id.txt)"
-
- 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}/v2.0"
- echo "$KEYSTONE_URL"
- fi
-
- USERNAME="$(cat /opt/config/openstack_user.txt)"
- PASSWORD="$(cat /opt/config/openstack_password.txt)"
-
-
- API_ENDPOINT="${KEYSTONE_URL}/tokens"
- API_DATA="{\"auth\": {\"project\": \"${TENANT_NAME}\", \"tenantId\": \"${TENANT_ID}\", \"passwordCredentials\": {\"username\": \"${USERNAME}\", \"password\": \"${PASSWORD}\"}}}"
-
- echo "===> Getting token from ${API_ENDPOINT}"
- RESP=$(curl -s -v -H "${HEADER_CONTENT_TYPE_JSON}" -d "${API_DATA}" "${API_ENDPOINT}")
-
- TOKEN="$(echo ${RESP} | jq -r .access.token.id)"
- if [ -z "$TOKEN" ]; then
- echo "Faile to acquire token for creating DNS zone. Exit"
- exit 1
- fi
- HEADER_TOKEN="X-Auth-Token: ${TOKEN}"
-
-
- DESIGNATE_URL=$(echo ${RESP} | jq -r '.access.serviceCatalog[] | select(.name=="designate") | .endpoints[0].publicURL')
- if [ -z ${DESIGNATE_URL} ]; then
- echo "Fail to find Designate API endpoint. Exit"
- exit 1
- fi
-
-
- API_ENDPOINT="${DESIGNATE_URL}/v2/zones"
- echo "===> Register DNS zone $ZONE_NAME at Designate API endpoint ${API_ENDPOINT}"
-
- RESP=$(curl -v -s -H "$HEADER_TOKEN" "$API_ENDPOINT")
- ZONE_ID=$(echo $RESP |jq -r --arg ZONE_NAME "$ZONE_NAME" '.zones[] |select(.name==$ZONE_NAME) |.id')
- if [ -z "$ZONE_ID" ]; then
- echo "======> Zone ${ZONE_NAME} does not exist. Create"
- API_DATA="{\"name\": \"${ZONE_NAME}\", \"email\": \"dcae@onap.org\", \"type\": \"PRIMARY\", \"ttl\": 7200, \"description\": \"DCAE DNS zoen created for ONAP deployment $DCAE_ZONE\"}"
- RESP=$(curl -s -v -X POST -H "$HEADER_ACCEPT_JSON" -H "$HEADER_CONTENT_TYPE_JSON" -H "$HEADER_TOKEN" -d "$API_DATA" "$API_ENDPOINT")
- ZONE_ID=$(echo $RESP | jq .id)
-
- if [ -z "$ZONE_ID" ]; then
- echo "Fail to create DNS zone ${ZONE_NAME}. Exit"
- exit 1
- fi
- else
- echo "======> Zone ${ZONE_NAME} already exists."
- API_ENDPOINT="${DESIGNATE_URL}/v2/zones/${ZONE_ID}"
- RESP=$(curl -s -v -H "$HEADER_ACCEPT_JSON" -H "$HEADER_TOKEN" "$API_ENDPOINT")
- ZONE_PROJECT_ID=$(echo $RESP | jq -r .project_id)
- if [ "$ZONE_PROJECT_ID" != "noauth-project" ] && [ "$ZONE_PROJECT_ID" != "$TENANT_ID" ]; then
- echo "======> Zone ${ZONE_NAME} owned by other projects, may have problem creating records"
- else
- echo "======> Zone ${ZONE_NAME} okay to create new records"
- fi
- fi
-}
-delete_dns_zone()
-{
- export http_proxy=""
- export https_proxy=""
-
- local CLOUD_OWNER='pod25'
- local CLOUD_REGION
- local CLOUD_VERSION='titanium_cloud'
- local CLOUD_ENV
- local DCAE_ZONE
- local DNSAAS_TENANT_NAME
- local MCHOST
- local MCURL
- local MCMETHOD='-X GET'
- local MCRESP='200'
- local MCHEADERS='-H "Real-Time: true" -H "Content-Type: application/json" -H "Accept: application/json"'
- local MCAUTH=''
- local MCDATA=''
- local MULTICLOUD_PLUGIN_ENDPOINT
-
- 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_NAME="$(cat /opt/config/dnsaas_tenant_name.txt)"
- MCHOST=$(cat /opt/config/multiserv_ip_addr.txt)
- MCURL="http://$MCHOST:9005/api/multicloud-titaniumcloud/v0/swagger.json"
-
- local DCAE_DOMAIN
- local ZONENAME
- DCAE_DOMAIN="$(cat /opt/config/dcae_domain.txt)"
- ZONENAME="${DCAE_ZONE}.${DCAE_DOMAIN}."
-
- MCDATA='"{\"auth\":{\"tenantName\": \"'${DNSAAS_TENANT_NAME}'\"}}"'
- MULTICLOUD_PLUGIN_ENDPOINT=http://${MCHOST}/api/multicloud-titaniumcloud/v0/${CLOUD_OWNER}_${CLOUD_REGION}
-
- ### Get Token
- local TOKEN
- 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 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/')
-
- curl -s -H "Content-Type: application/json" -H "X-Auth-Token: $TOKEN" -X DELETE "${MULTICLOUD_PLUGIN_ENDPOINT}/dns-delegate/v2/zones/${ZONEID}"
-}
-
-list_dns_zone()
-{
- export http_proxy=""
- export https_proxy=""
-
- local CLOUD_OWNER='pod25'
- local CLOUD_REGION
- local CLOUD_VERSION='titanium_cloud'
- local CLOUD_ENV
- local DCAE_ZONE
- local DNSAAS_TENANT_NAME
- local MCHOST
- local MCURL
- local MCMETHOD='-X GET'
- local MCRESP='200'
- local MCHEADERS='-H "Real-Time: true" -H "Content-Type: application/json" -H "Accept: application/json"'
- local MCAUTH=''
- local MCDATA=''
- local MULTICLOUD_PLUGIN_ENDPOINT
-
- 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_NAME="$(cat /opt/config/dnsaas_tenant_name.txt)"
- MCHOST=$(cat /opt/config/multiserv_ip_addr.txt)
- MCURL="http://$MCHOST:9005/api/multicloud-titaniumcloud/v0/swagger.json"
-
- MCDATA='"{\"auth\":{\"tenantName\": \"'${DNSAAS_TENANT_NAME}'\"}}"'
- MULTICLOUD_PLUGIN_ENDPOINT=http://${MCHOST}/api/multicloud-titaniumcloud/v0/${CLOUD_OWNER}_${CLOUD_REGION}
-
- ### Get Token
- local TOKEN
- 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 DCAE_DOMAIN
- local ZONENAME
- DCAE_DOMAIN="$(cat /opt/config/dcae_domain.txt)"
- ZONENAME="${DCAE_ZONE}.${DCAE_DOMAIN}."
- 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/')
-
- curl -v -s -H "Content-Type: application/json" -H "X-Auth-Token: $TOKEN" -X GET "${MULTICLOUD_PLUGIN_ENDPOINT}/dns-delegate/v2/zones/${ZONEID}/recordsets"
-}
################################## start of vm_init #####################################
-# prepare the configurations needed by DCAEGEN2 installer
-rm -rf /opt/app/config
-mkdir -p /opt/app/config
-
+set -ex
-# private key
-sed -e 's/\\n/\n/g' /opt/config/priv_key | sed -e 's/^[ \t]*//g; s/[ \t]*$//g' > /opt/app/config/key
-chmod 777 /opt/app/config/key
-
-# move keystone url file
-#cp /opt/config/keystone_url.txt /opt/app/config/keystone_url.txt
+# add well-known DCAE hostname aliases
+echo "$(cat /opt/config/dcae_ip_addr.txt) consul" >>/etc/hosts
+echo "$(cat /opt/config/dcae_ip_addr.txt) dockerhost" >>/etc/hosts
URL_ROOT='nexus.onap.org/service/local/repositories/raw/content'
@@ -664,14 +34,13 @@ REPO_DEPLOYMENTS='org.onap.dcaegen2.deployments'
if [ -e /opt/config/dcae_deployment_profile.txt ]; then
DEPLOYMENT_PROFILE=$(cat /opt/config/dcae_deployment_profile.txt)
fi
-DEPLOYMENT_PROFILE=${DEPLOYMENT_PROFILE:-R1}
+DEPLOYMENT_PROFILE=${DEPLOYMENT_PROFILE:-R3}
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)
-# 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)
HTTP_PROXY=$(cat /opt/config/http_proxy.txt)
@@ -683,87 +52,14 @@ then
export https_proxy=$HTTPS_PROXY
fi
-# start docker image pulling while we are waiting for A&AI to come online
-docker login -u "$NEXUS_USER" -p "$NEXUS_PASSWORD" "$NEXUS_DOCKER_REPO"
-
-
-if [ "$DEPLOYMENT_PROFILE" == "R1" ]; then
- RELEASE_TAG='releases'
- # download blueprint input template files
- rm -rf /opt/app/inputs-templates
- mkdir -p /opt/app/inputs-templates
- wget -P /opt/app/inputs-templates https://${URL_ROOT}/${REPO_BLUEPRINTS}/${RELEASE_TAG}/input-templates/inputs.yaml
- wget -P /opt/app/inputs-templates https://${URL_ROOT}/${REPO_BLUEPRINTS}/${RELEASE_TAG}/input-templates/cdapinputs.yaml
- wget -P /opt/app/inputs-templates https://${URL_ROOT}/${REPO_BLUEPRINTS}/${RELEASE_TAG}/input-templates/phinputs.yaml
- wget -P /opt/app/inputs-templates https://${URL_ROOT}/${REPO_BLUEPRINTS}/${RELEASE_TAG}/input-templates/dhinputs.yaml
- wget -P /opt/app/inputs-templates https://${URL_ROOT}/${REPO_BLUEPRINTS}/${RELEASE_TAG}/input-templates/invinputs.yaml
- wget -P /opt/app/inputs-templates https://${URL_ROOT}/${REPO_BLUEPRINTS}/${RELEASE_TAG}/input-templates/vesinput.yaml
- wget -P /opt/app/inputs-templates https://${URL_ROOT}/${REPO_BLUEPRINTS}/${RELEASE_TAG}/input-templates/tcainputs.yaml
- wget -P /opt/app/inputs-templates https://${URL_ROOT}/${REPO_BLUEPRINTS}/${RELEASE_TAG}/input-templates/he-ip.yaml
- wget -P /opt/app/inputs-templates https://${URL_ROOT}/${REPO_BLUEPRINTS}/${RELEASE_TAG}/input-templates/hr-ip.yaml
-
- # generate blueprint input files
- pip install --upgrade jinja2
- wget https://${URL_ROOT}/${REPO_DEPLOYMENTS}/${RELEASE_TAG}/scripts/detemplate-bpinputs.py \
- && \
- (python detemplate-bpinputs.py /opt/config /opt/app/inputs-templates /opt/app/config; \
- rm detemplate-bpinputs.py)
-
- # Run docker containers
- cd /opt
-
-
- docker pull "$NEXUS_DOCKER_REPO/onap/org.onap.dcaegen2.deployments.bootstrap:$DOCKER_VERSION" \
- && docker pull nginx &
-
- #########################################
- # Wait for then register with A&AI
- ########################################
-
- DNSAAS_PROXYED=$(tr '[:upper:]' '[:lower:]' < /opt/config/dnsaas_config_enabled.txt)
- if [ "$DNSAAS_PROXYED" == 'true' ]; then
- echo "Using proxyed DNSaaS service, performing additional registration and configuration"
- wait_for_aai_ready
-
- register_multicloud_pod25_with_aai
- register_multicloud_pod25dns_with_aai
-
- verify_multicloud_registration
-
- wait_for_multicloud_ready
- register_dns_zone_proxied_designate "$ZONE"
- echo "Registration and configuration for proxying DNSaaS completed."
- else
- echo "Using Designate DNSaaS service, performing additional registration and configuration"
- register_dns_zone_designate "$ZONE"
- fi
-
- #########################################
- # Start DCAE Bootstrap container
- #########################################
-
- chmod 777 /opt/app/config
- rm -f /opt/config/runtime.ip.consul
- rm -f /opt/config/runtime.ip.cm
-
-
- #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 run -d --name boot -v /opt/app/config:/opt/app/installer/config -e "LOCATION=$ZONE" "$NEXUS_DOCKER_REPO/onap/org.onap.dcaegen2.deployments.bootstrap:$DOCKER_VERSION"
-
-
- # waiting for bootstrap to complete then starting nginx for proxying healthcheck calls
- echo "Waiting for Consul to become accessible"
- while [ ! -f /opt/app/config/runtime.ip.consul ]; do echo "."; sleep 30; done
+docker login -u "$NEXUS_USER" -p "$NEXUS_PASSWORD" "$NEXUS_DOCKER_REPO"
- # start proxy for consul's health check
- CONSULIP=$(head -1 /opt/app/config/runtime.ip.consul | sed 's/[[:space:]]//g')
- echo "Consul is available at $CONSULIP"
-fi
+if [[ $DEPLOYMENT_PROFILE == R1* || $DEPLOYMENT_PROFILE == R2* ]]; then
+ echo "R1 and R2 deployment profiles are not supported in Casablanca Heat deployment"
+elif [[ $DEPLOYMENT_PROFILE == R3* ]]; then
+ RELEASE_TAG='R3'
-if [[ $DEPLOYMENT_PROFILE == R2* ]]; then
- RELEASE_TAG='R2'
set +e
rm -rf /opt/app/inputs-templates
mkdir -p /opt/app/inputs-templates
@@ -795,9 +91,11 @@ if [[ $DEPLOYMENT_PROFILE == R2* ]]; then
cd /opt/app/config
# deploy essentials
/opt/docker/docker-compose -f docker-compose-1.yaml up -d
+
+ # wait for essentials to become ready
echo "Waiting for Consul to come up ready"
while ! nc -z localhost 8500; do sleep 1; done
- echo "Waiting for DB to come up ready"
+ echo "Waiting for Postgres DB to come up ready"
while ! nc -z localhost 5432; do sleep 1; done
echo "Waiting for CBS to come up ready"
while ! nc -z localhost 10000; do sleep 1; done
@@ -811,17 +109,16 @@ if [[ $DEPLOYMENT_PROFILE == R2* ]]; then
export http_proxy=""
export https_proxy=""
-
./register.sh
echo "Bring up DCAE MIN service components for R2 use cases"
/opt/docker/docker-compose -f docker-compose-2.yaml up -d
- if [[ "$DEPLOYMENT_PROFILE" == "R2" || "$DEPLOYMENT_PROFILE" == "R2PLUS" ]]; then
+ if [[ "$DEPLOYMENT_PROFILE" == "R3" || "$DEPLOYMENT_PROFILE" == "R3PLUS" ]]; then
echo "Bring up DCAE platform components"
/opt/docker/docker-compose -f docker-compose-3.yaml up -d
- if [ "$DEPLOYMENT_PROFILE" == "R2PLUS" ]; then
+ if [[ "$DEPLOYMENT_PROFILE" == "R3PLUS" ]]; then
echo "Bring up additional (plus) DCAE service components"
/opt/docker/docker-compose -f docker-compose-4.yaml up -d
fi
@@ -841,17 +138,14 @@ server {
location /healthcheck {
try_files /services.yaml =404;
}
- location /R1 {
- proxy_pass http://${CONSULIP}:8500/v1/health/state/passing;
- }
- location /R2MIN{
- try_files /r2mvp_healthy.yaml =404;
+ location /R3MIN{
+ try_files /r3mvp_healthy.yaml =404;
}
- location /R2 {
- try_files /r2_healthy.yaml =404;
+ location /R3 {
+ try_files /r3_healthy.yaml =404;
}
- location /R2PLUS {
- try_files /r2plus_healthy.yaml =404;
+ location /R3PLUS {
+ try_files /r3plus_healthy.yaml =404;
}
}
EOL
@@ -869,9 +163,9 @@ docker run -d \
nginx
echo "Healthcheck API available at http://${MYFLOATIP}:${HEALTHPORT}/healthcheck"
-echo " http://${MYFLOATIP}:${HEALTHPORT}/R1"
-echo " http://${MYFLOATIP}:${HEALTHPORT}/R2MIN"
-echo " http://${MYFLOATIP}:${HEALTHPORT}/R2PLUS"
+echo " http://${MYFLOATIP}:${HEALTHPORT}/R3"
+echo " http://${MYFLOATIP}:${HEALTHPORT}/R3MIN"
+echo " http://${MYFLOATIP}:${HEALTHPORT}/R3PLUS"
# run forever for updating health status based on consul
set +e
@@ -889,8 +183,8 @@ do
SERVICES_JSON=$(echo "$SERVICES" | sed 's/\"$/\",/g' | sed '$ s/.$//')
echo "$(date): running healthy services:"
- echo ">>> " $SERVICES
- PLT_CONSUL=$(echo "$SERVICES" |grep consul)
+ echo ">>> $SERVICES"
+ PLT_CONSUL=$(echo "$SERVICES" |grep "consul")
PLT_CBS=$(echo "$SERVICES" |grep "config_binding_service")
MVP_PG_HOLMES=$(echo "$SERVICES" |grep "pgHolmes")
MVP_VES=$(echo "$SERVICES" |grep "mvp.*ves")
@@ -912,28 +206,29 @@ do
DATA="{\"healthy\" : \"$(date)\", \"healthy_services\": [${SERVICES_JSON}]}"
if [[ -n "$PLT_CONSUL" && -n "$PLT_CBS" && -n "$MVP_PG_HOLMES" && -n "$MVP_VES" && \
- -n "$MVP_TCA" && -n "$MVP_HR" && -n "$MVP_HE" ]]; then
- echo "${DATA}" > /tmp/healthcheck/r2mvp_healthy.yaml
+ -n "$MVP_TCA" ]]; then
+ echo "${DATA}" > /tmp/healthcheck/r3mvp_healthy.yaml
echo "${DATA}" > /tmp/healthcheck/services.yaml
- echo ">>>>>> enough services satisfying R2MIN service deployment"
+ echo ">>>>>> enough services satisfying R3MIN service deployment"
else
- echo ">>>>>> not enough services satisfying R2MIN service deployment"
+ echo ">>>>>> not enough services satisfying R3MIN service deployment"
fi
if [[ -n "$PLT_CONSUL" && -n "$PLT_CBS" && -n "$PLT_CM" && -n "$PLT_DH" && \
-n "$PLT_PH" && -n "$PLT_SCH" && -n "$PLT_INV" && -n "$PLT_PG_INVENTORY" ]]; then
- echo ">>>>>> enough services satisfying R2 platform deployment"
- echo "${DATA}" > /tmp/healthcheck/r2_healthy.yaml
+ echo ">>>>>> enough services satisfying R3 platform deployment"
+ echo "${DATA}" > /tmp/healthcheck/r3_healthy.yaml
- if [[ -n "$PLUS_MHB" && -n "$PLUS_PRH" && -n "$PLUS_MPR" && -n "$PLUS_TRAP" ]]; then
- echo ">>>>>> enough services satisfying R2PLUS deployment"
- echo "${DATA}" > /tmp/healthcheck/r2plus_healthy.yaml
+ if [[ -n "$PLUS_MHB" && -n "$PLUS_PRH" && -n "$PLUS_MPR" && -n "$PLUS_TRAP" && -n "$MVP_HR" && -n "$MVP_HE" ]]; then
+ echo ">>>>>> enough services satisfying R3PLUS deployment"
+ echo "${DATA}" > /tmp/healthcheck/r3plus_healthy.yaml
else
- echo ">>>>>> not enough services satisfying R2PLUS service deployment"
+ echo ">>>>>> not enough services satisfying R3PLUS service deployment"
fi
else
- echo ">>>>>> not enough services satisfying R2 platform or R2PLUS service deployment"
+ echo ">>>>>> not enough services satisfying R3 platform or R3PLUS service deployment"
fi
+
sleep 60
done
diff --git a/heat/ONAP/cloud-config/dcae2_install.sh b/heat/ONAP/cloud-config/dcae2_install.sh
index fbc8db3c..e7d72df5 100644
--- a/heat/ONAP/cloud-config/dcae2_install.sh
+++ b/heat/ONAP/cloud-config/dcae2_install.sh
@@ -1,7 +1,7 @@
#!/bin/bash
#############################################################################
#
-# Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
+# Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -39,22 +39,21 @@ apt-get install -y python python-pip
cp /opt/boot/dcae2_vm_init.sh /opt/dcae2_vm_init.sh
chmod +x /opt/dcae2_vm_init.sh
-echo "DOCKER_OPTS=\"\$DOCKER_OPTS --raw-logs -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock\"" >> /etc/default/docker
+echo "DOCKER_OPTS=\" $DOCKER_OPTS --raw-logs -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock\" " >> /etc/default/docker
sed -i "/ExecStart/s/$/ -H tcp:\/\/0.0.0.0:2376 --raw-logs/g" /etc/systemd/system/docker.service
+if [ ! -e /etc/docker/daemon.json ]; then
+ REGISTRY="$(cat /opt/config/nexus_docker_repo.txt)"
+ if [[ $REGISTRY != nexus3.onap.org* ]]; then
+ echo "{ \"insecure-registries\" : [\"${REGISTRY}\"] }" > /etc/docker/daemon.json
+ fi
+fi
systemctl daemon-reload
service docker restart
-# add hostname aliases
-echo "$(cat /opt/config/dcae_ip_addr.txt) consul" >>/etc/hosts
-echo "$(cat /opt/config/dcae_ip_addr.txt) dockerhost" >>/etc/hosts
-
# prepare the configurations needed by DCAEGEN2 installer
rm -rf /opt/app/config
mkdir -p /opt/app/config
-# private key
-sed -e 's/\\n/\n/g' /opt/config/priv_key | sed -e 's/^[ \t]*//g; s/[ \t]*$//g' > /opt/app/config/key
-chmod 777 /opt/app/config/key
cd /opt
./dcae2_vm_init.sh
diff --git a/heat/ONAP/onap_openstack.env b/heat/ONAP/onap_openstack.env
index 41c5e2e6..db23dd7e 100644
--- a/heat/ONAP/onap_openstack.env
+++ b/heat/ONAP/onap_openstack.env
@@ -97,7 +97,7 @@ parameters:
# #
###########################
- dcae_deployment_profile: PUT DCAE DEPLOYMENT PROFILE (R2MVP, R2, or R2PLUS)
+ dcae_deployment_profile: PUT DCAE DEPLOYMENT PROFILE (R3MVP, R3, or R3PLUS)
################################
# #
@@ -154,6 +154,8 @@ parameters:
dcae_docker: "1.1.3"
dcae_snmptrap_docker: "1.3.0"
dcae_ves_docker: "1.2.0"
+ dcae_hvves_docker: "latest"
+ dcae_datafile_docker: "latest"
dcae_bootstrap_docker: "1.1.3"
dcae_cm_docker: "1.3.0"
dcae_k8sbootstrap_docker: "1.1.11"
diff --git a/heat/ONAP/onap_openstack.yaml b/heat/ONAP/onap_openstack.yaml
index fba9bfb4..1a877ece 100644
--- a/heat/ONAP/onap_openstack.yaml
+++ b/heat/ONAP/onap_openstack.yaml
@@ -224,64 +224,9 @@ parameters:
dcae_deployment_profile:
type: string
- default: R2
+ default: R3
description: DCAE deployment profile. Currently supported profiles R2, R2MVP, and R2PLUS.
- dnsaas_config_enabled:
- type: string
- default: ""
- description: (deprecated in R2) whether the DNSaaS configuration section is enabled
-
- dnsaas_region:
- type: string
- default: ""
- description: (deprecated in R2) the region of the cloud instance providing the Designate DNS as a Service
-
- dnsaas_keystone_url:
- type: string
- default: ""
- description: (deprecated in R2) the keystone URL of the cloud instance providing the Designate DNS as a Service
-
- dnsaas_username:
- type: string
- default: ""
- description: (deprecated in R2) the username of the cloud instance providing the Designate DNS as a Service
-
- dnsaas_password:
- type: string
- default: ""
- description: (deprecated in R2) the password of the cloud instance providing the Designate DNS as a Service
-
- dnsaas_tenant_name:
- type: string
- default: ""
- description: (deprecated in R2) the name of the tenant in the cloud instance providing the Designate DNS as a Service
-
- dcae_keystone_url:
- type: string
- default: ""
- description: (deprecated in R2) the keystone URL for DCAE to use (via MultiCloud)
-
- dcae_private_key:
- type: string
- default: ""
- description: (deprecated in R2) the private key of the key-apir used between the DCAE bootstrap container and DCAE VMs
-
- dcae_public_key:
- type: string
- default: ""
- description: (deprecated in R2) the prublic key of the key-apir used between the DCAE bootstrap container and DCAE VMs
-
- dcae_centos_7_image:
- type: string
- default: ""
- description: (deprecated in R2) the id/name of the CentOS 7 VM imange
-
- dcae_domain:
- type: string
- default: ""
- description: (deprecated in R2) the top level domain to register DCAE VMs (the zone will be random-str.dcae_domain)
-
#####################
# #
# ONAP repositories #
@@ -345,6 +290,14 @@ parameters:
type: string
default: latest
description: Docker image version for onap/org.dcaegen2.collectors.ves.vescollector
+ dcae_hvves_docker:
+ type: string
+ default: latest
+ description: Docker image version for onap/org.dcaegen2.collectors.hv-ves
+ dcae_datafile_docker:
+ type: string
+ default: latest
+ description: Docker image version for onap/org.dcaegen2.collectors.datafile
dcae_bootstrap_docker:
type: string
default: latest
@@ -2095,38 +2048,6 @@ resources:
__mac_addr__: { get_attr: [dcae_private_port, mac_address] }
__dcae_ip_addr__: { get_param: dcae_ip_addr }
__dcae_float_ip__: { get_attr: [dcae_floating_ip, floating_ip_address] }
- __dns_forwarder__: { get_param: dns_forwarder }
- __dcae_domain__: { get_param: dcae_domain }
- # conf for VMs DCAE is to bringup
- __openstack_keystone_url__: { get_param: keystone_url }
- __dcae_keystone_url__: { get_param: dcae_keystone_url }
- __dcaeos_cloud_env__: { get_param: cloud_env }
- __dcaeos_keystone_url__: { get_param: dcae_keystone_url }
- __dcaeos_region__: { get_param: openstack_region }
- __dcaeos_tenant_id__: { get_param: openstack_tenant_id }
- __dcaeos_tenant_name__: { get_param: openstack_tenant_name }
- __dcaeos_security_group__:
- str_replace:
- template: 'onap_sg_rand'
- params:
- rand: { get_resource: random-str }
- __dcaeos_username__: { get_param: openstack_username }
- __dcaeos_password__: { get_param: openstack_api_key }
- __dcaeos_key_name__: { get_resource: vm_key }
- __dcaeos_public_key__: { get_param: dcae_public_key }
- __dcaeos_private_key__: { get_param: dcae_private_key }
- __dcaeos_private_network_name__: { get_attr: [oam_onap, name] }
- __dcaeos_public_network_name__: { get_param: public_net_name }
- __dcaeos_ubuntu_1604_image__: { get_param: ubuntu_1604_image }
- __dcaeos_centos_7_image__: { get_param: dcae_centos_7_image }
- __dcaeos_flavor_id__: { get_param: flavor_medium }
- __dcaeos_flavor_id_cdap__: { get_param: flavor_large }
- __dcaeos_dnsaas_config_enabled__: { get_param: dnsaas_config_enabled }
- __dcaeos_dnsaas_region__: { get_param: dnsaas_region }
- __dcaeos_dnsaas_keystone_url__: { get_param: dnsaas_keystone_url }
- __dnsaas_tenant_name__: { get_param: dnsaas_tenant_name }
- __dcaeos_dnsaas_username__: { get_param: dnsaas_username }
- __dcaeos_dnsaas_password__: { get_param: dnsaas_password }
# fixed private IPs
__mr_ip_addr__: { get_param: mr_ip_addr }
__policy_ip_addr__: { get_param: policy_ip_addr }
@@ -2147,6 +2068,8 @@ resources:
__dcae_docker__: { get_param: dcae_docker }
__dcae_snmptrap_docker__: { get_param: dcae_snmptrap_docker }
__dcae_ves_docker__: { get_param: dcae_ves_docker }
+ __dcae_hvves_docker__: { get_param: dcae_hvves_docker }
+ __dcae_datafile_docker__: { get_param: dcae_datafile_docker }
__dcae_bootstrap_docker__: { get_param: dcae_bootstrap_docker }
__dcae_cm_docker__: { get_param: dcae_cm_docker }
__dcae_k8sbootstrap_docker__: { get_param: dcae_k8sbootstrap_docker }
@@ -2176,34 +2099,6 @@ resources:
echo "__dcae_deployment_profile__" > /opt/config/dcae_deployment_profile.txt
echo "__mac_addr__" > /opt/config/mac_addr.txt
echo "__dcae_ip_addr__" > /opt/config/dcae_ip_addr.txt
- echo "__dns_forwarder__" > /opt/config/dns_forwarder.txt
- echo "__dcae_domain__" > /opt/config/dcae_domain.txt
- # conf for the OpenStack env where DCAE is deployed
- echo "__openstack_keystone_url__" > /opt/config/openstack_keystone_url.txt
- echo "__dcaeos_cloud_env__" > /opt/config/cloud_env.txt
- echo "__dcaeos_keystone_url__" > /opt/config/keystone_url.txt
- echo "__dcaeos_region__" > /opt/config/openstack_region.txt
- echo "__dcaeos_tenant_id__" > /opt/config/tenant_id.txt
- echo "__dcaeos_tenant_name__" > /opt/config/tenant_name.txt
- echo "__dcaeos_username__" > /opt/config/openstack_user.txt
- echo "__dcaeos_password__" > /opt/config/openstack_password.txt
- echo "__dcaeos_key_name__" > /opt/config/key_name.txt
- echo "__dcaeos_public_key__" > /opt/config/pub_key.txt
- echo "__dcaeos_private_key__" > /opt/config/priv_key
- echo "__dcaeos_private_network_name__" > /opt/config/openstack_private_network_name.txt
- echo "__dcaeos_public_network_name__" > /opt/config/public_net_name.txt
- echo "__dcaeos_public_network_name__" > /opt/config/public_net_id.txt
- echo "__dcaeos_ubuntu_1604_image__" > /opt/config/ubuntu_1604_image.txt
- echo "__dcaeos_centos_7_image__" > /opt/config/centos_7_image.txt
- echo "__dcaeos_security_group__" > /opt/config/security_group.txt
- echo "__dcaeos_flavor_id__" > /opt/config/flavor_id.txt
- echo "__dcaeos_flavor_id_cdap__" > /opt/config/flavor_id_cdap.txt
- echo "__dcaeos_dnsaas_config_enabled__" > /opt/config/dnsaas_config_enabled.txt
- echo "__dcaeos_dnsaas_region__" > /opt/config/dnsaas_region.txt
- echo "__dcaeos_dnsaas_keystone_url__" > /opt/config/dnsaas_keystone_url.txt
- echo "__dnsaas_tenant_name__" > /opt/config/dnsaas_tenant_name.txt
- echo "__dcaeos_dnsaas_username__" > /opt/config/dnsaas_username.txt
- echo "__dcaeos_dnsaas_password__" > /opt/config/dnsaas_password.txt
# fixed private IP addresses of other ONAP components
echo "__mr_ip_addr__" > /opt/config/mr_ip_addr.txt
echo "__policy_ip_addr__" > /opt/config/policy_ip_addr.txt
@@ -2225,6 +2120,8 @@ resources:
echo "__dcae_docker__" > /opt/config/dcae_docker.txt
echo "__dcae_snmptrap_docker__" > /opt/config/dcae_docker_snmptrap.txt
echo "__dcae_ves_docker__" > /opt/config/dcae_docker_ves.txt
+ echo "__dcae_hvves_docker__" > /opt/config/dcae_docker_hvves.txt
+ echo "__dcae_datafile_docker__" > /opt/config/dcae_docker_datafile.txt
echo "__dcae_bootstrap_docker__" > /opt/config/dcae_docker_bootstrap.txt
echo "__dcae_cm_docker__" > /opt/config/dcae_docker_cm.txt
echo "__dcae_k8sbootstrap_docker__" > /opt/config/dcae_docker_k8sbootstrap.txt
diff --git a/heat/ONAP/onap_openstack_template.env b/heat/ONAP/onap_openstack_template.env
index 13ed5071..4deabdf1 100644
--- a/heat/ONAP/onap_openstack_template.env
+++ b/heat/ONAP/onap_openstack_template.env
@@ -97,7 +97,7 @@ parameters:
# #
###########################
- dcae_deployment_profile: PUT DCAE DEPLOYMENT PROFILE (R2MVP, R2, or R2PLUS)
+ dcae_deployment_profile: PUT DCAE DEPLOYMENT PROFILE (R3MVP, R3, or R3PLUS)
################################
# #
@@ -154,6 +154,8 @@ parameters:
dcae_docker: "${BOOTSTRAP_DOCKER}"
dcae_snmptrap_docker: "${SNMPTRAP_DOCKER}"
dcae_ves_docker: "${VESCOLLECTOR_DOCKER}"
+ dcae_hvves_docker: "${HVVESCOLLECTOR_DOCKER}"
+ dcae_datafile_docker: "${DATAFILECOLLECTOR_DOCKER}"
dcae_bootstrap_docker: "${BOOTSTRAP_DOCKER}"
dcae_cm_docker: "${CM_CONTAINER_DOCKER}"
dcae_k8sbootstrap_docker: "${K8S_BOOTSTRAP_CONTAINER_DOCKER}"