allow-transfer { none; }; # disable zone transfers by default
forwarders {
+ dns_forwarder;
external_dns;
- 8.8.8.8;
8.8.4.4;
};
rm -rf /opt/app/inputs-templates
mkdir -p /opt/app/inputs-templates
wget -P /opt/app/inputs-templates https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.blueprints/releases/input-templates/inputs.yaml
+wget -P /opt/app/inputs-templates https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.blueprints/releases/input-templates/cdapinputs.yaml
wget -P /opt/app/inputs-templates https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.blueprints/releases/input-templates/phinputs.yaml
wget -P /opt/app/inputs-templates https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.blueprints/releases/input-templates/dhinputs.yaml
wget -P /opt/app/inputs-templates https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.blueprints/releases/input-templates/invinputs.yaml
wget -P /opt/app/inputs-templates https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.blueprints/releases/input-templates/he-ip.yaml
wget -P /opt/app/inputs-templates https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.blueprints/releases/input-templates/hr-ip.yaml
+
# generate blueprint input files
pip install jinja2
wget https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.deployments/releases/scripts/detemplate-bpinputs.py && (python detemplate-bpinputs.py /opt/config /opt/app/inputs-templates /opt/app/config; rm detemplate-bpinputs.py)
local CLOUD_ENV
local CLOUD_IDENTITY_URL
local DNSAAS_SERVICE_URL
- local DNSAAS_USERNAME
- local DNSAAS_PASSWORD
- local DNSAAS_TENANT_ID
+ local DNSAAS_USERNAME='demo'
+ local DNSAAS_PASSWORD='onapdemo'
- 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",
{
"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",
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",
"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",
local CLOUD_REGION
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'
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 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"
- 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"
+ if [ -z "$TOKEN" ]; then
+ echo "Faile to acquire token for creating DNS zone. Exit"
+ exit 1
+ fi
- ### zone operations
- local ZONENAME
- ZONENAME="${DCAE_ZONE}.dcaeg2.simpledemo.onap.org."
+ 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
- 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"
- 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"
+ 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
- curl -s -H "Content-Type: application/json" -H "X-Auth-Token: $TOKEN" -X GET "${MULTICLOUD_PLUGIN_ENDPOINT}/dns-delegate/v2/zones?name=${ZONENAME}"
+ #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"
+ 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 "Test listing zone info for zone $ZONENAME"
- curl -sv -H "Content-Type: application/json" -H "X-Auth-Token: $TOKEN" -X GET "${MULTICLOUD_PLUGIN_ENDPOINT}/dns-delegate/v2/zones/${ZONEID}"
+ #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}"
}
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'
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"
+ 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-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."
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/')
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'
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 DCAE_DOMAIN
local ZONENAME
- ZONENAME="$1.dcae.simpledemo.onap.org."
+ 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/')
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)
+# 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"
+docker pull "$NEXUS_DOCKER_REPO/onap/org.onap.dcaegen2.deployments.bootstrap:$DOCKER_VERSION" && docker pull nginx &
#########################################
# Wait for then register with A&AI
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 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"
# 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
ARTIFACTS_VERSION=$(cat /opt/config/artifacts_version.txt)
CLOUD_ENV=$(cat /opt/config/cloud_env.txt)
+
if [[ $CLOUD_ENV != "rackspace" ]]
then
# Add host name to /etc/host to avoid warnings in openstack images
curl -k $NEXUS_REPO/org.onap.demo/boot/$ARTIFACTS_VERSION/$OPTIONS_FILE -o /etc/bind/named.conf.options
curl -k $NEXUS_REPO/org.onap.demo/boot/$ARTIFACTS_VERSION/named.conf.local -o /etc/bind/named.conf.local
+
+
# Set the private IP address of each ONAP VM in the Bind configuration in OpenStack deployments
if [[ $CLOUD_ENV != "rackspace" ]]
then
+ sed -i "s/dns_forwarder/"$(cat /opt/config/dns_forwarder.txt)"/g" /etc/bind/named.conf.options
sed -i "s/dns_ip_addr/"$(cat /opt/config/dns_ip_addr.txt)"/g" /etc/bind/named.conf.options
sed -i "s/external_dns/"$(cat /opt/config/external_dns.txt)"/g" /etc/bind/named.conf.options
sed -i "s/aai1_ip_addr/"$(cat /opt/config/aai1_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.openecomp.org
# Configure Bind
modprobe ip_gre
sed -i "s/OPTIONS=.*/OPTIONS=\"-4 -u bind\"/g" /etc/default/bind9
-service bind9 restart
\ No newline at end of file
+service bind9 restart
+
allow-transfer { none; }; # disable zone transfers by default
forwarders {
- 8.8.8.8;
- 8.8.4.4;
+ dns_forwarder;
};
// If there is a firewall between you and nameservers you want
apt-get install -y --allow-unauthenticated docker-engine
mkdir /opt/docker
-curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-`uname -s`-`uname -m` > /opt/docker/docker-compose
+curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` > /opt/docker/docker-compose
chmod +x /opt/docker/docker-compose
# Set the MTU size of docker containers to the minimum MTU size supported by vNICs. OpenStack deployments may need to know the external DNS IP
resolvconf -u
# Clone Gerrit repository and run docker containers
-mkdir -p /PROJECT/OpenSource/UbuntuEP/logs
cd /opt
git clone -b $GERRIT_BRANCH --single-branch $CODE_REPO
-./portal_vm_init.sh
\ No newline at end of file
+./portal_vm_init.sh
docker pull $NEXUS_DOCKER_REPO/onap/ccsdk-dgbuilder-image:$DGBUILDER_IMAGE_VERSION
docker tag $NEXUS_DOCKER_REPO/onap/ccsdk-dgbuilder-image:$DGBUILDER_IMAGE_VERSION onap/ccsdk-dgbuilder-image:latest
+docker pull $NEXUS_DOCKER_REPO/onap/sdnc-ueb-listener-image:$DOCKER_IMAGE_VERSION
+docker tag $NEXUS_DOCKER_REPO/onap/sdnc-ueb-listener-image:$DOCKER_IMAGE_VERSION onap/sdnc-ueb-listener-image:latest
+
/opt/docker/docker-compose up -d
docker run -i -t -d --name vfc_emsdriver -p 8206:8206 -e MSB_ADDR=$OPENO_IP:80 -e VES_ADDR=$DCAE_COLL_IP:8080 -e VES_AUTHINFO="":"" $NEXUS_DOCKER_REPO/onap/vfc/emsdriver:$DOCKER_IMAGE_VERSION
docker run -i -t -d --name vfc_gvnfmdriver -p 8484:8484 -e MSB_ADDR=$OPENO_IP:80 $NEXUS_DOCKER_REPO/onap/vfc/gvnfmdriver:$DOCKER_IMAGE_VERSION
docker run -i -t -d --name vfc_jujudriver -p 8483:8483 -e MSB_ADDR=$OPENO_IP:80 $NEXUS_DOCKER_REPO/onap/vfc/jujudriver:$DOCKER_IMAGE_VERSION
-docker run -i -t -d --name vfc_svnfm_huawei -p 8482:8482 -e MSB_ADDR=$OPENO_IP:80 $NEXUS_DOCKER_REPO/onap/vfc/nfvo/svnfm/huawei:$DOCKER_IMAGE_VERSION
+docker run -i -t -d --name vfc_svnfm_huawei -p 8482:8482 -p 8443:8443 -e MSB_ADDR=$OPENO_IP:80 $NEXUS_DOCKER_REPO/onap/vfc/nfvo/svnfm/huawei:$DOCKER_IMAGE_VERSION
docker run -i -t -d --name vfc_nslcm -p 8403:8403 -e MSB_ADDR=$OPENO_IP:80 $NEXUS_DOCKER_REPO/onap/vfc/nslcm:$DOCKER_IMAGE_VERSION
docker run -i -t -d --name vfc_resmanagement -p 8480:8480 -e MSB_ADDR=$OPENO_IP:80 $NEXUS_DOCKER_REPO/onap/vfc/resmanagement:$DOCKER_IMAGE_VERSION
docker run -i -t -d --name vfc_vnflcm -p 8801:8801 -e MSB_ADDR=$OPENO_IP:80 $NEXUS_DOCKER_REPO/onap/vfc/vnflcm:$DOCKER_IMAGE_VERSION
docker run -i -t -d --name vfc_vnfres -p 8802:8802 -e MSB_ADDR=$OPENO_IP:80 $NEXUS_DOCKER_REPO/onap/vfc/vnfres:$DOCKER_IMAGE_VERSION
docker run -i -t -d --name vfc_ztesdncdriver -p 8411:8411 -e MSB_ADDR=$OPENO_IP:80 $NEXUS_DOCKER_REPO/onap/vfc/ztesdncdriver:$DOCKER_IMAGE_VERSION
docker run -i -t -d --name vfc_ztevmanagerdriver -p 8410:8410 -e MSB_ADDR=$OPENO_IP:80 $NEXUS_DOCKER_REPO/onap/vfc/ztevmanagerdriver:$DOCKER_IMAGE_VERSION
-docker run -i -t -d --name vfc_svnfm_nokia -p 8486:8486 -e MSB_ADDR=$OPENO_IP:80 $NEXUS_DOCKER_REPO/onap/vfc/nfvo/svnfm/nokia:$DOCKER_IMAGE_VERSION
\ No newline at end of file
+docker run -i -t -d --name vfc_svnfm_nokia -p 8486:8486 -e MSB_ADDR=$OPENO_IP:80 $NEXUS_DOCKER_REPO/onap/vfc/nfvo/svnfm/nokia:$DOCKER_IMAGE_VERSION
# #
##############################################
- public_net_id: PUT YOUR NETWORK ID/NAME HERE
+ public_net_id: PUT YOUR NETWORK ID HERE
+
+ public_net_name: PUT YOUR NETWORK NAME HERE
ubuntu_1404_image: PUT THE UBUNTU 14.04 IMAGE NAME HERE
openstack_tenant_id: PUT YOUR OPENSTACK PROJECT ID HERE
+ openstack_tenant_name: PUT YOUR OPENSTACK PROJECT NAME HERE
+
openstack_username: PUT YOUR OPENSTACK USERNAME HERE
openstack_api_key: PUT YOUR OPENSTACK PASSWORD HERE
dns_list: PUT THE ADDRESS OF THE EXTERNAL DNS HERE (e.g. a comma-separated list of IP addresses in your /etc/resolv.conf in UNIX-based Operating Systems)
external_dns: PUT THE FIRST ADDRESS OF THE EXTERNAL DNS LIST HERE
+ dns_forwarder: PUT THE IP OF DNS FORWARDER FOR ONAP DEPLOYMENT'S OWN DNS SERVER
oam_network_cidr: 10.0.0.0/16
### Private IP addresses ###
dnsaas_config_enabled: PUT WHETHER TO USE PROXYED DESIGNATE
dnsaas_region: PUT THE DESIGNATE PROVIDING OPENSTACK'S REGION HERE
- dnsaas_tenant_id: PUT THE DESIGNATE PROVIDING OPENSTACK'S DEFAULT TENANT HERE
dnsaas_keystone_url: PUT THE DESIGNATE PROVIDING OPENSTACK'S KEYSTONE URL HERE
+ dnsaas_tenant_name: PUT THE TENANT NAME IN THE DESIGNATE PROVIDING OPENSTACK HERE (FOR R1 USE THE SAME AS openstack_tenant_name)
dnsaas_username: PUT THE DESIGNATE PROVIDING OPENSTACK'S USERNAME HERE
dnsaas_password: PUT THE DESIGNATE PROVIDING OPENSTACK'S PASSWORD HERE
dcae_keystone_url: PUT THE MULTIVIM PROVIDED KEYSTONE API URL HERE
dcae_centos_7_image: PUT THE CENTOS7 VM IMAGE NAME HERE FOR DCAE LAUNCHED CENTOS7 VM
- dcae_security_group: PUT THE SECURITY GROUP NAME HERE FOR DCAE LAUNCHED VMS
- dcae_key_name: PUT THE ON BOARDED KEY-PAIR NAME HERE FOR DCAE LAUNCHED VMS
+ dcae_domain: PUT THE NAME OF DOMAIN THAT DCAE VMS REGISTER UNDER
dcae_public_key: PUT THE PUBLIC KEY OF A KEYPAIR HERE TO BE USED BETWEEN DCAE LAUNCHED VMS
dcae_private_key: PUT THE SECRET KEY OF A KEYPAIR HERE TO BE USED BETWEEN DCAE LAUNCHED VMS
public_net_id:
type: string
- description: Public network for floating IP address allocation
+ description: The ID of the Public network for floating IP address allocation
+
+ public_net_name:
+ type: string
+ description: The name of the Public network referred by public_net_id
ubuntu_1404_image:
type: string
type: string
description: OpenStack tenant ID
+ openstack_tenant_name:
+ type: string
+ description: OpenStack tenant name (matching with the openstack_tenant_id)
+
openstack_username:
type: string
description: OpenStack username
type: string
description: First element of the dns_list for ONAP network
+ dns_forwarder:
+ type: string
+ description: the forwarder address for setting up ONAP's private DNS server
+
oam_network_cidr:
type: string
description: CIDR of the OAM ONAP network
type: string
description: the region of the cloud instance providing the Designate DNS as a Service
- dnsaas_tenant_id:
- type: string
- description: the (default) tenant id of the cloud instance providing the Designate DNS as a Service
-
dnsaas_keystone_url:
type: string
description: the keystone URL of the cloud instance providing the Designate DNS as a Service
type: string
description: the password of the cloud instance providing the Designate DNS as a Service
- dcae_keystone_url:
+ dnsaas_tenant_name:
type: string
- description: the keystone URL for DCAE to use (via MultiCloud)
+ description: the name of the tenant in the cloud instance providing the Designate DNS as a Service
- dcae_key_name:
+ dcae_keystone_url:
type: string
- description: the name of the keypair on-boarded with Cloud
+ description: the keystone URL for DCAE to use (via MultiCloud)
dcae_private_key:
type: string
type: string
description: the id/name of the CentOS 7 VM imange
- dcae_security_group:
+ dcae_domain:
type: string
- description: the security group to be used by DCAE VMs
-
+ description: the top level domain to register DCAE VMs (the zone will be random-str.dcae_domain)
# dcae_base_environment:
# type: string
properties:
length: 4
-
# Public key used to access ONAP components
vm_key:
type: OS::Nova::KeyPair
public_key: { get_param: pub_key }
save_private_key: false
+
+ # ONAP security group
+ onap_sg:
+ type: OS::Neutron::SecurityGroup
+ properties:
+ name:
+ str_replace:
+ template: base_rand
+ params:
+ base: onap_sg
+ rand: { get_resource: random-str }
+ description: security group used by ONAP
+ rules:
+ # All egress traffic
+ - direction: egress
+ ethertype: IPv4
+ - direction: egress
+ ethertype: IPv6
+ # ingress traffic
+ # ICMP
+ - protocol: icmp
+ - protocol: udp
+ port_range_min: 1
+ port_range_max: 65535
+ - protocol: tcp
+ port_range_min: 1
+ port_range_max: 65535
+
+
+
# ONAP management private network
oam_onap:
type: OS::Neutron::Net
__openo_ip_addr__: { get_param: openo_ip_addr }
__cloud_env__: { get_param: cloud_env }
__external_dns__: { get_param: external_dns }
+ __dns_forwarder__: { get_param: dns_forwarder }
template: |
#!/bin/bash
echo "__clamp_ip_addr__" > /opt/config/clamp_ip_addr.txt
echo "__openo_ip_addr__" > /opt/config/openo_ip_addr.txt
echo "__external_dns__" > /opt/config/external_dns.txt
+ echo "__dns_forwarder__" > /opt/config/dns_forwarder.txt
# Download and run install script
curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/dns_install.sh -o /opt/dns_install.sh
type: OS::Nova::Server
properties:
image: { get_param: ubuntu_1604_image }
- flavor: { get_param: flavor_medium }
+ flavor: { get_param: flavor_small }
name:
str_replace:
template: base-dcae-bootstrap
key_name: { get_resource: vm_key }
networks:
- port: { get_resource: dcae_c_private_port }
+ #security_groups:
+ # - { get_resource: onap_sg }
user_data_format: RAW
user_data:
str_replace:
__dcae_float_ip__: { get_attr: [dcae_c_floating_ip, floating_ip_address] }
__dns_ip_addr__: { get_param: dns_ip_addr }
__external_dns__: { get_param: external_dns }
+ __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_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_security_group__: { get_attr: [onap_sg, name] }
__dcaeos_username__: { get_param: openstack_username }
__dcaeos_password__: { get_param: openstack_api_key }
- __dcaeos_key_name__: { get_attr: [vm_key, name] }
- __dcaeos_key_name__: { get_param: dcae_key_name }
+ __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_id }
+ __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_security_group__ : { get_param: dcae_security_group }
__dcaeos_flavor_id__: { get_param: flavor_medium }
+ __dcaeos_flavor_id_cdap__: { get_param: flavor_xlarge }
__dcaeos_dnsaas_config_enabled__: { get_param: dnsaas_config_enabled }
__dcaeos_dnsaas_region__: { get_param: dnsaas_region }
- __dcaeos_dnsaas_tenant_id__: { get_param: dnsaas_tenant_id}
__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
echo "__dcae_float_ip__" > /opt/config/dcae_float_ip.txt
echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
echo "__external_dns__" > /opt/config/external_dns.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_id__" > /opt/config/tenant_name.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_tenant_id__" > /opt/config/dnsaas_tenant_id.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
curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/dcae2_install.sh -o /opt/dcae2_install.sh
cd /opt
chmod +x dcae2_install.sh
- ./dcae2_install.sh
+ ./dcae2_install.sh > /tmp/dcae2_install.log 2>&1
mr_branch: master
dcae_branch: master
policy_branch: master
- portal_branch: master
+ portal_branch: release-1.3.0
robot_branch: master
sdc_branch: master
sdnc_branch: master
mr_branch: master
dcae_branch: master
policy_branch: master
- portal_branch: master
+ portal_branch: release-1.3.0
robot_branch: master
sdc_branch: master
sdnc_branch: master
mr_branch: master
dcae_branch: master
policy_branch: master
- portal_branch: master
+ portal_branch: release-1.3.0
robot_branch: master
sdc_branch: master
sdnc_branch: master
--- /dev/null
+{
+ "name": "virtualFireWall",
+ "description": "",
+ "data": [
+ {
+ "file": "base_vfw.yaml",
+ "type": "HEAT",
+ "isBase": "true",
+ "data": [
+ {
+ "file": "base_vfw.env",
+ "type": "HEAT_ENV"
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
--- /dev/null
+{
+ "name": "virtualLoadBalancer",
+ "description": "",
+ "data": [
+ {
+ "file": "base_vlb.yaml",
+ "type": "HEAT",
+ "isBase": "true",
+ "data": [
+ {
+ "file": "base_vlb.env",
+ "type": "HEAT_ENV"
+ }
+ ]
+ },
+ {
+ "file": "dnsscaling.yaml",
+ "type": "HEAT",
+ "isBase": "false",
+ "data": [
+ {
+ "file": "dnsscaling.env",
+ "type": "HEAT_ENV"
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
--- /dev/null
+{
+ "name": "",
+ "description": "",
+ "data": [
+ {
+ "file": "base_vvg.yaml",
+ "type": "HEAT",
+ "isBase": "true",
+ "data": [
+ {
+ "file": "base_vvg.env",
+ "type": "HEAT_ENV"
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
--- /dev/null
+parameters:
+ volume_size: 100
+ nova_instance: 1234456
\ No newline at end of file
--- /dev/null
+heat_template_version: 2013-05-23
+description: create a Nova instance, a Cinder volume and attach the volume to the instance.
+
+parameters:
+ nova_instance:
+ type: string
+ label: Instance name or ID
+ description: ID of the vm to use for the disk to be attached too
+ volume_size:
+ type: number
+ label: GB
+ description: Size of the volume to be created.
+resources:
+ cinder_volume:
+ type: OS::Cinder::Volume
+ properties:
+ size: { get_param: volume_size }
+ volume_attachment:
+ type: OS::Cinder::VolumeAttachment
+ properties:
+ volume_id: { get_resource: cinder_volume }
+ instance_uuid: { get_param: nova_instance }
\ No newline at end of file
"pools" : [ { "pool": "10.3.0.2 - 10.3.0.255"} ],
"next-server": "10.3.0.1",
"option-data": [
- {"name": "tftp-server-name",
- "data": "10.4.0.1"},
- {"name": "boot-file-name",
- "data": "/dev/null"}
+ {
+ "name": "routers",
+ "data": "10.3.0.1"
+ }
]
}
]
"pools" : [ { "pool": "10.3.0.2 - 10.3.0.255"} ],
"next-server": "10.3.0.1",
"option-data": [
- {"name": "tftp-server-name",
- "data": "10.4.0.1"},
- {"name": "boot-file-name",
- "data": "/dev/null"}
+ {
+ "name": "routers",
+ "data": "10.3.0.1"
+ }
]
+
}
]
# Also keep in mind that if kea doesn't receive the desired values for some
# reason, these values will be sent to the client.
"subnet4": [
- { "subnet": "10.2.0.0/24",
- "pools" : [ { "pool": "10.2.0.2 - 10.2.0.255"} ],
- "next-server": "10.2.0.1",
+ { "subnet": "10.3.0.0/24",
+ "pools" : [ { "pool": "10.3.0.2 - 10.3.0.255"} ],
+ "next-server": "10.3.0.1",
"option-data": [
- {"name": "tftp-server-name",
- "data": "10.2.0.1"},
- {"name": "boot-file-name",
- "data": "/dev/null"}
+ {
+ "name": "routers",
+ "data": "10.3.0.1"
+ }
]
}
]