diff options
author | Petr Ospalý <p.ospaly@partner.samsung.com> | 2018-12-18 13:23:55 +0100 |
---|---|---|
committer | Petr Ospalý <p.ospaly@partner.samsung.com> | 2018-12-18 13:37:39 +0100 |
commit | 171a169a0ca70baf78614d829c84098d0e291a8b (patch) | |
tree | 4a801e3ee37ead604bb98b1108ef4ec2d7d748ac /bash/tools | |
parent | a69b4f62f10c2215f40eb2217c5e660b68f0802b (diff) |
Add a script to deploy kubernetes
This script depends on common-function.sh
Change-Id: I37616f9e0d8ee0bb499e6e192077d76e0d4a574f
Issue-ID: OOM-1551
Signed-off-by: Petr Ospalý <p.ospaly@partner.samsung.com>
Diffstat (limited to 'bash/tools')
-rwxr-xr-x | bash/tools/deploy_kube.sh | 95 |
1 files changed, 95 insertions, 0 deletions
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 |