Add scripts for development for v2 57/101357/3
authorRitu Sood <ritu.sood@intel.com>
Fri, 7 Feb 2020 07:52:18 +0000 (23:52 -0800)
committerRitu Sood <ritu.sood@intel.com>
Fri, 7 Feb 2020 08:48:21 +0000 (00:48 -0800)
Adding scripts to pull docker
images for mongo and etcd and
run orchestrator

Issue-ID: MULTICLOUD-871
Signed-off-by: Ritu Sood <ritu.sood@intel.com>
Change-Id: Ib09db02ec67f1555ef722e0d5408017c9f73c70a

src/orchestrator/scripts/_functions.sh [new file with mode: 0755]
src/orchestrator/scripts/docker-compose.yml [new file with mode: 0644]
src/orchestrator/scripts/start-dev.sh [new file with mode: 0755]

diff --git a/src/orchestrator/scripts/_functions.sh b/src/orchestrator/scripts/_functions.sh
new file mode 100755 (executable)
index 0000000..cba65d9
--- /dev/null
@@ -0,0 +1,41 @@
+#!/bin/bash
+# SPDX-license-identifier: Apache-2.0
+##############################################################################
+# Copyright 2020 Intel Corporation.
+# 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 start_etcd {
+    docker-compose up -d etcd
+}
+
+
+function generate_config {
+cat << EOF > config.json
+{
+    "database-ip": "${DATABASE_IP}",
+    "database-type": "mongo",
+    "plugin-dir": "plugins",
+    "service-port": "9015"
+}
+EOF
+}
+
+function start_all {
+    docker-compose up -d
+}
diff --git a/src/orchestrator/scripts/docker-compose.yml b/src/orchestrator/scripts/docker-compose.yml
new file mode 100644 (file)
index 0000000..e5a1d68
--- /dev/null
@@ -0,0 +1,35 @@
+# Copyright 2020 Intel Corporation.
+# 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.
+
+version: '3.0'
+
+services:
+  mongo:
+    image: mongo
+    environment:
+      - HTTP_PROXY=${HTTP_PROXY}
+      - HTTPS_PROXY=${HTTPS_PROXY}
+      - NO_PROXY=${NO_PROXY}
+  etcd:
+    image: bitnami/etcd:3
+    environment:
+      - ALLOW_NONE_AUTHENTICATION=yes
+      - HTTP_PROXY=${HTTP_PROXY}
+      - HTTPS_PROXY=${HTTPS_PROXY}
+      - NO_PROXY=${NO_PROXY}
+    volumes:
+      - etcd_data:/bitnami/etcd
+    ports:
+      - 2379:2379
+      - 2380:2380
+volumes:
+  etcd_data:
+    driver: local
diff --git a/src/orchestrator/scripts/start-dev.sh b/src/orchestrator/scripts/start-dev.sh
new file mode 100755 (executable)
index 0000000..c97451a
--- /dev/null
@@ -0,0 +1,32 @@
+#!/bin/bash
+# SPDX-license-identifier: Apache-2.0
+##############################################################################
+# Copyright 2020 Intel Corporation.
+# 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 from compiled binaries to foreground. This is usable for development use.
+#
+source /etc/environment
+opath="$(git rev-parse --show-toplevel)"/src/orchestrator
+
+stop_all
+start_mongo
+start_etcd
+
+echo "Compiling source code"
+pushd $opath
+generate_config
+make all
+./orchestrator
+popd