summaryrefslogtreecommitdiffstats
path: root/deployments
diff options
context:
space:
mode:
authorSamuli Silvius <s.silvius@partner.samsung.com>2019-05-21 10:32:22 +0300
committerSamuli Silvius <s.silvius@partner.samsung.com>2019-05-31 08:23:02 +0300
commitd311b7ef3feb598daf9172cc292f06ae5daeb4d5 (patch)
tree6b372959cd80eefa431e0f24a090a4622751dd7b /deployments
parent98fdb49bd98debd97fe62c5daa3ca54228ae74bf (diff)
Starting of k8splugin with docker-compose is brokendublin
docker-compose.yml and start.sh script cannot be used in installer.sh to start k8splugin and mongo. This commit modifies start.sh script to be usable in installer.sh to start plugin before tests. Also fixed kud_tests variable in installer.sh. Issue-ID: MULTICLOUD-640 Change-Id: I60cc850d6f5b58df574f79ad3c65b801c59b3a14 Signed-off-by: Samuli Silvius <s.silvius@partner.samsung.com>
Diffstat (limited to 'deployments')
-rw-r--r--deployments/.env6
-rwxr-xr-xdeployments/_functions.sh36
-rw-r--r--deployments/docker-compose.yml31
-rwxr-xr-xdeployments/start-dev.sh31
-rwxr-xr-xdeployments/start.sh35
5 files changed, 80 insertions, 59 deletions
diff --git a/deployments/.env b/deployments/.env
index c2630b85..b4740f9b 100644
--- a/deployments/.env
+++ b/deployments/.env
@@ -1,7 +1 @@
IMAGE_NAME=nexus3.onap.org:10003/onap/multicloud/k8s
-CSAR_DIR=/opt/csar
-KUBE_CONFIG_DIR=/opt/kubeconfig
-DATABASE_TYPE=mongo
-DATABASE_IP=172.19.0.2
-PLUGIN_IP=172.19.0.3
-PLUGINS_DIR=/opt/multicloud/k8s
diff --git a/deployments/_functions.sh b/deployments/_functions.sh
new file mode 100755
index 00000000..7942aed0
--- /dev/null
+++ b/deployments/_functions.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+# SPDX-license-identifier: Apache-2.0
+##############################################################################
+# Copyright 2019 © Samsung Electronics Co., Ltd.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+function stop_all {
+ docker-compose kill
+ docker-compose down
+}
+
+function start_mongo {
+ docker-compose up -d mongo
+ export DATABASE_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aqf "name=mongo"))
+ export no_proxy=${no_proxy:-},${DATABASE_IP}
+ export NO_PROXY=${NO_PROXY:-},${DATABASE_IP}
+}
+
+function generate_k8sconfig {
+cat << EOF > k8sconfig.json
+{
+ "database-address": "${DATABASE_IP}",
+ "database-type": "mongo",
+ "plugin-dir": "plugins",
+ "service-port": "9015"
+}
+EOF
+}
+
+function start_all {
+ docker-compose up -d
+}
diff --git a/deployments/docker-compose.yml b/deployments/docker-compose.yml
index c4faa537..3fa82fe5 100644
--- a/deployments/docker-compose.yml
+++ b/deployments/docker-compose.yml
@@ -9,53 +9,30 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-version: '2'
+version: '3'
services:
multicloud-k8s:
image: ${IMAGE_NAME}
- networks:
- multicloud_net:
- ipv4_address: ${PLUGIN_IP}
build:
context: ./
args:
- HTTP_PROXY=${HTTP_PROXY}
- HTTPS_PROXY=${HTTPS_PROXY}
- NO_PROXY=${NO_PROXY}
- ports:
- - "8081:8081"
environment:
- - CSAR_DIR=${CSAR_DIR}
- - KUBE_CONFIG_DIR=${KUBE_CONFIG_DIR}
- - DATABASE_TYPE=${DATABASE_TYPE}
- - DATABASE_IP=${DATABASE_IP}
- - PLUGINS_DIR=${PLUGINS_DIR}
- HTTP_PROXY=${HTTP_PROXY}
- HTTPS_PROXY=${HTTPS_PROXY}
- - NO_PROXY=${NO_PROXY},${DATABASE_IP}
+ - NO_PROXY=${NO_PROXY},mongo
depends_on:
- mongo
- links:
- - mongo
+ network_mode: host
volumes:
- /opt/csar:/opt/csar
- - /opt/kubeconfig:/opt/kubeconfig
+ - ${PWD}/k8sconfig.json:/opt/multicloud/k8splugin/k8sconfig.json:ro
mongo:
image: mongo
- networks:
- multicloud_net:
- ipv4_address: ${DATABASE_IP}
environment:
- HTTP_PROXY=${HTTP_PROXY}
- HTTPS_PROXY=${HTTPS_PROXY}
- NO_PROXY=${NO_PROXY}
-
-networks:
- multicloud_net:
- driver: bridge
- ipam:
- driver: default
- config:
- -
- subnet: 172.19.0.0/27
diff --git a/deployments/start-dev.sh b/deployments/start-dev.sh
new file mode 100755
index 00000000..c4b0cbc4
--- /dev/null
+++ b/deployments/start-dev.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+# SPDX-license-identifier: Apache-2.0
+##############################################################################
+# Copyright 2019 © Samsung Electronics Co., Ltd.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+set -o errexit
+set -o nounset
+set -o pipefail
+
+source _functions.sh
+
+#
+# Start k8splugin from compiled binaries to foreground. This is usable for development use.
+#
+source /etc/environment
+k8s_path="$(git rev-parse --show-toplevel)"
+
+stop_all
+start_mongo
+
+echo "Compiling source code"
+pushd $k8s_path/src/k8splugin/
+generate_k8sconfig
+make all
+./k8plugin
+popd
diff --git a/deployments/start.sh b/deployments/start.sh
index a57a6377..e7ff1334 100755
--- a/deployments/start.sh
+++ b/deployments/start.sh
@@ -8,33 +8,16 @@
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
+set -o errexit
set -o nounset
set -o pipefail
-source /etc/environment
+source _functions.sh
-k8s_path="$(git rev-parse --show-toplevel)"
-export GOPATH=$k8s_path
-export GO111MODULE=on
-
-echo "Starting mongo services"
-docker-compose kill
-docker-compose up -d mongo
-export DATABASE_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aqf "name=mongo"))
-export no_proxy=${no_proxy:-},$DATABASE_IP
-export NO_PROXY=${NO_PROXY:-},$DATABASE_IP
-
-echo "Compiling source code"
-pushd $k8s_path/src/k8splugin/
-cat << EOF > k8sconfig.json
-{
- "database-address": "$DATABASE_IP",
- "database-type": "mongo",
- "plugin-dir": "$(pwd)/plugins",
- "service-port": "9015",
- "kube-config-dir": "$(pwd)/kubeconfigs"
-}
-EOF
-make all
-./k8plugin
-popd
+#
+# Start k8splugin from containers. build.sh should be run prior this script.
+#
+stop_all
+start_mongo
+generate_k8sconfig
+start_all