From 171a169a0ca70baf78614d829c84098d0e291a8b Mon Sep 17 00:00:00 2001 From: Petr Ospalý Date: Tue, 18 Dec 2018 13:23:55 +0100 Subject: Add a script to deploy kubernetes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This script depends on common-function.sh Change-Id: I37616f9e0d8ee0bb499e6e192077d76e0d4a574f Issue-ID: OOM-1551 Signed-off-by: Petr Ospalý --- bash/tools/deploy_kube.sh | 95 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100755 bash/tools/deploy_kube.sh (limited to 'bash') diff --git a/bash/tools/deploy_kube.sh b/bash/tools/deploy_kube.sh new file mode 100755 index 00000000..f2a77be1 --- /dev/null +++ b/bash/tools/deploy_kube.sh @@ -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 -- cgit 1.2.3-korg