Add a script to deploy kubernetes 56/74856/1
authorPetr Ospalý <p.ospaly@partner.samsung.com>
Tue, 18 Dec 2018 12:23:55 +0000 (13:23 +0100)
committerPetr Ospalý <p.ospaly@partner.samsung.com>
Tue, 18 Dec 2018 12:37:39 +0000 (13:37 +0100)
This script depends on common-function.sh

Change-Id: I37616f9e0d8ee0bb499e6e192077d76e0d4a574f
Issue-ID: OOM-1551
Signed-off-by: Petr Ospalý <p.ospaly@partner.samsung.com>
bash/tools/deploy_kube.sh [new file with mode: 0755]

diff --git a/bash/tools/deploy_kube.sh b/bash/tools/deploy_kube.sh
new file mode 100755 (executable)
index 0000000..f2a77be
--- /dev/null
@@ -0,0 +1,95 @@
+#! /usr/bin/env bash
+
+#   COPYRIGHT NOTICE STARTS HERE
+#
+#   Copyright 2018 © Samsung Electronics Co., Ltd.
+#
+#   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.
+#
+#   COPYRIGHT NOTICE ENDS HERE
+
+
+# fail fast
+set -e
+
+# OS check
+. /etc/os-release
+OS_ID="${ID}"
+
+case "$OS_ID" in
+    centos)
+        ;;
+    rhel)
+        ;;
+    ubuntu)
+        ;;
+    *)
+        echo This OS is not supported: $OS_ID
+        exit 1
+        ;;
+esac
+
+# boilerplate
+RELATIVE_PATH=./ # relative path from this script to 'common-functions.sh'
+if [ "$IS_COMMON_FUNCTIONS_SOURCED" != YES ] ; then
+    SCRIPT_DIR=$(dirname "${0}")
+    LOCAL_PATH=$(readlink -f "$SCRIPT_DIR")
+    . "${LOCAL_PATH}"/"${RELATIVE_PATH}"/common-functions.sh
+fi
+
+message info "Reading configuration"
+get_configuration
+if [ -z "$NODES_IPS" ] ; then
+    get_cfg_val "NODES_IPS" "Enter the public IPv4 addresses of kubernetes nodes separated by space," \
+    "\n(for example: 10.0.0.2 10.0.0.3 ...): "
+fi
+
+echo "Wait for nexus startup (1min)"
+sleep 60
+
+
+# on install server
+deploy_rancher
+deploy_kubernetes "$OS_ID"
+
+echo "Setting up ONAP Local Repo on Kubernetes nodes"
+for node in ${NODES_IPS} ; do
+    enable_remote_repo $node
+done
+
+# setup NFS on nodes
+assort_nodes_ips() {
+    nfs_server="$1"
+    shift
+    nfs_clients="$*"
+}
+assort_nodes_ips ${NODES_IPS}
+if [ -n "${nfs_clients}" ]; then
+    echo "Setting up NFS"
+    remote_setup_nfs_server $OS_ID ${nfs_server} ${nfs_clients}
+    for node in ${nfs_clients} ; do
+        remote_setup_nfs_mount $OS_ID $node ${nfs_server}
+    done
+else
+    echo "Only one node set. Skipping nfs configuration"
+fi
+
+echo "Copy ansible packages for onap ansible-server"
+for node in ${NODES_IPS} ; do
+    upload_ansible_pkgs $OS_ID $node
+done
+
+# to nodes
+for node in ${NODES_IPS} ; do
+    deploy_node $node $OS_ID
+done