summaryrefslogtreecommitdiffstats
path: root/archive/heat/setup.sh
diff options
context:
space:
mode:
Diffstat (limited to 'archive/heat/setup.sh')
-rwxr-xr-xarchive/heat/setup.sh142
1 files changed, 142 insertions, 0 deletions
diff --git a/archive/heat/setup.sh b/archive/heat/setup.sh
new file mode 100755
index 0000000..b95e56e
--- /dev/null
+++ b/archive/heat/setup.sh
@@ -0,0 +1,142 @@
+#!/bin/bash
+#############################################################################
+#
+# Copyright (c) 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.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+#############################################################################
+
+
+NETWORK="config_default"
+
+echo "Cleaning up any previously deployed cludify manager and registrator"
+docker stop registrator cloudify-manager
+docker rm registrator cloudify-manager
+
+echo "Launching registrator on dockerhost"
+docker run -d \
+--network=${NETWORK} \
+--name=registrator \
+-e EXTERNAL_IP={{ dcae_ip_addr }} \
+-e CONSUL_HOST=consul \
+-v /var/run/docker.sock:/tmp/docker.sock \
+onapdcae/registrator:v7
+
+
+
+
+rm -rf scripts-in-container
+mkdir scripts-in-container
+cat > scripts-in-container/install-plugins.sh << EOL
+#!/bin/bash
+source /cfy42/bin/activate
+pip install pip==9.0.3
+cfy profiles use 127.0.0.1 -u admin -p admin -t default_tenant
+cfy status
+cd /tmp/bin
+./build-plugins.sh https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R4 https://nexus.onap.org/service/local/repositories/raw/content/org.onap.ccsdk.platform.plugins/releases
+for wagon in ./wagons/*.wgn; do cfy plugins upload \$wagon ; done
+deactivate
+EOL
+
+#wget -O scripts-in-container/build-plugins.sh https://git.onap.org/dcaegen2/deployments/plain/k8s-bootstrap-container/build-plugins.sh
+cat > scripts-in-container/build-plugins.sh << EOL
+#!/bin/bash
+
+# Pull plugin archives from repos
+# Build wagons
+# $1 is the DCAE repo URL
+# $2 is the CCSDK repo URL
+# (This script runs at Docker image build time)
+#
+set -x
+DEST=wagons
+
+# For DCAE, we get zips of the archives and build wagons
+DCAEPLUGINFILES=\
+"\
+relationshipplugin/1.0.0/relationshipplugin-1.0.0.tgz
+dcaepolicyplugin/2.3.0/dcaepolicyplugin-2.3.0.tgz
+dockerplugin/3.2.1/dockerplugin-3.2.1.tgz \
+"
+
+# For CCSDK, we pull down the wagon files directly
+CCSDKPLUGINFILES=\
+"\
+plugins/pgaas-1.1.0-py27-none-any.wgn
+plugins/sshkeyshare-1.0.0-py27-none-any.wgn
+"
+
+# Build a set of wagon files from archives in a repo
+# $1 -- repo base URL
+# $2 -- list of paths to archive files in the repo
+function build {
+ for plugin in $2
+ do
+ # Could just do wagon create with the archive URL as source,
+ # but can't use a requirements file with that approach
+ mkdir work
+ target=$(basename ${plugin})
+ curl -Ss $1/${plugin} > ${target}
+ tar zxvf ${target} --strip-components=2 -C work
+ wagon create -t tar.gz -o ${DEST} -r work/requirements.txt --validate ./work
+ rm -rf work
+ done
+}
+
+# Copy a set of wagons from a repo
+# $1 -- repo baseURL
+# $2 -- list of paths to wagons in the repo
+function get_wagons {
+ for wagon in $2
+ do
+ target=$(basename ${wagon})
+ curl -Ss $1/${wagon} > ${DEST}/${target}
+ done
+}
+
+mkdir ${DEST}
+build $1 "${DCAEPLUGINFILES}"
+get_wagons $2 "${CCSDKPLUGINFILES}"
+EOL
+
+chmod 777 scripts-in-container/*
+
+echo "Launching Cloudify Manager container"
+docker run -d \
+--network="${NETWORK}" \
+--name cloudify-manager \
+--restart unless-stopped \
+-v /sys/fs/cgroup:/sys/fs/cgroup:ro \
+-v /opt/app/config/scripts-in-container:/tmp/bin \
+-p 80:80 \
+--tmpfs /run \
+--tmpfs /run/lock \
+--security-opt seccomp:unconfined \
+--cap-add SYS_ADMIN \
+--label "SERVICE_80_NAME=cloudify_manager" \
+--label "SERVICE_80_CHECK_TCP=true" \
+--label "SERVICE_80_CHECK_INTERVAL=15s" \
+--label "SERVICE_80_CHECK_INITIAL_STATUS=passing" \
+{{ nexus_docker_repo }}/onap/org.onap.dcaegen2.deployments.cm-container:{{ dcae_docker_cm }}
+
+echo "Cloudify Manager deployed, waiting for completion"
+while ! nc -z localhost 80; do sleep 1; done
+
+echo "Upload plugins to Cloudify Manager"
+
+# run as detached because this script is intended to be run in background
+docker exec -itd cloudify-manager /tmp/bin/install-plugins.sh
+
+echo "Cloudify Manager setup complete"
+