summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tools/kubernetes/demo_deploy.sh29
-rw-r--r--tools/kubernetes/helm-tools.sh19
2 files changed, 26 insertions, 22 deletions
diff --git a/tools/kubernetes/demo_deploy.sh b/tools/kubernetes/demo_deploy.sh
index d5568f4..ebb4dd2 100644
--- a/tools/kubernetes/demo_deploy.sh
+++ b/tools/kubernetes/demo_deploy.sh
@@ -28,8 +28,9 @@
#. - Password-less ssh key provided for node setup
#. - hostname of kubernetes master setup in DNS or /etc/hosts
#. Usage: on the MAAS server
-#. $ git clone https://gerrit.opnfv.org/gerrit/models ~/models
-#. $ bash ~/models/tools/kubernetes/demo_deploy.sh "<hosts>" <os> <key>
+#. $ git clone https://gerrit.opnfv.org/gerrit/models models
+#. $ git clone https://gerrit.opnfv.org/gerrit/ves ves
+#. $ bash models/tools/kubernetes/demo_deploy.sh "<hosts>" <os> <key>
#. <master> "<workers>" <pub-net> <priv-net> <ceph-mode> "<ceph-dev>"
#. <base|all> [<extras>]
#. <hosts>: space separated list of hostnames managed by MAAS
@@ -89,7 +90,7 @@ if [[ "$4" != "$5" ]]; then
else
k8s_master_hostname=$1
fi
-cat <<EOF >~/k8s_env.sh
+cat <<EOF >k8s_env.sh
#!/bin/bash
k8s_nodes="$1"
k8s_user=$2
@@ -112,13 +113,13 @@ export k8s_pub_net
export k8s_ceph_mode
export k8s_ceph_dev
EOF
-source ~/k8s_env.sh
+source k8s_env.sh
env | grep k8s_
echo; echo "$0 $(date): Deploying base OS for master and worker nodes..."
start=$((`date +%s`/60))
-source ~/models/tools/maas/deploy.sh $k8s_user $k8s_key "$k8s_nodes" $extras
-step_end "source ~/models/tools/maas/deploy.sh $k8s_user $k8s_key \"$k8s_nodes\" $extras"
+source models/tools/maas/deploy.sh $k8s_user $k8s_key "$k8s_nodes" $extras
+step_end "source models/tools/maas/deploy.sh $k8s_user $k8s_key \"$k8s_nodes\" $extras"
eval `ssh-agent`
ssh-add $k8s_key
@@ -128,11 +129,11 @@ while ! scp -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no $k8s_key
sleep 10
done
scp -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no \
- ~/k8s_env.sh $k8s_user@$k8s_master:/home/$k8s_user/k8s_env.sh
+ k8s_env.sh $k8s_user@$k8s_master:/home/$k8s_user/k8s_env.sh
echo; echo "$0 $(date): Setting up kubernetes master..."
scp -r -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no \
- ~/models/tools/kubernetes/* $k8s_user@$k8s_master:/home/$k8s_user/.
+ models/tools/kubernetes/* $k8s_user@$k8s_master:/home/$k8s_user/.
run_master "bash k8s-cluster.sh master"
if [[ "$k8s_master" != "$k8s_workers" ]]; then
@@ -161,14 +162,14 @@ else
fi
echo; echo "Setting up Prometheus..."
-scp -r -o StrictHostKeyChecking=no ~/models/tools/prometheus/* \
+scp -r -o StrictHostKeyChecking=no models/tools/prometheus/* \
$k8s_user@$k8s_master:/home/$k8s_user/.
run_master "bash prometheus-tools.sh setup prometheus helm"
run_master "bash prometheus-tools.sh setup grafana helm"
if [[ "$deploy" == "all" ]]; then
echo; echo "$0 $(date): Setting up cloudify..."
- scp -r -o StrictHostKeyChecking=no ~/models/tools/cloudify \
+ scp -r -o StrictHostKeyChecking=no models/tools/cloudify \
$k8s_user@$k8s_master:/home/$k8s_user/.
run_master "bash cloudify/k8s-cloudify.sh prereqs"
run_master "bash cloudify/k8s-cloudify.sh setup"
@@ -178,9 +179,9 @@ if [[ "$deploy" == "all" ]]; then
echo; echo "$0 $(date): Setting up VES..."
# not re-cloned if existing - allows patch testing locally
- if [[ ! -d ~/ves ]]; then
+ if [[ ! -d ves ]]; then
echo; echo "$0 $(date): Cloning VES..."
- git clone https://gerrit.opnfv.org/gerrit/ves ~/ves
+ git clone https://gerrit.opnfv.org/gerrit/ves ves
fi
# Can't pass quoted strings in commands
start=$((`date +%s`/60))
@@ -211,12 +212,12 @@ if [[ "$k8s_master" != "$k8s_workers" ]]; then
fi
if [[ "$deploy" == "all" ]]; then
- source ~/ves/tools/ves_env.sh
+ source ves/tools/ves_env.sh
echo "InfluxDB API is available at http://$ves_influxdb_host:$ves_influxdb_port/query&db=veseventsdb&q=<string>"
echo "Grafana dashboards are available at http://$ves_grafana_host:$ves_grafana_port (login as $ves_grafana_auth)"
echo "Grafana API is available at http://$ves_grafana_auth@$ves_grafana_host:$ves_grafana_port/api/v1/query?query=<string>"
echo "Cloudify API access example: curl -u admin:admin --header 'Tenant: default_tenant' http://$k8s_master/api/v3.1/status"
- port=$(bash ~/models/tools/cloudify/k8s-cloudify.sh nodePort nginx)
+ port=$(bash models/tools/cloudify/k8s-cloudify.sh nodePort nginx)
echo "Cloudify-deployed demo app nginx is available at http://$k8s_master:$port"
fi
diff --git a/tools/kubernetes/helm-tools.sh b/tools/kubernetes/helm-tools.sh
index aa4bf23..0572fe9 100644
--- a/tools/kubernetes/helm-tools.sh
+++ b/tools/kubernetes/helm-tools.sh
@@ -73,15 +73,18 @@ function setup_helm() {
function wait_for_service() {
log "Waiting for service $1 to be available"
# TODO: fix 'head' workaround for more than one pod per service
- pod=$(kubectl get pods --namespace default | awk "/$1/ { print \$1 }" | head -1)
- log "Service $1 is at pod $pod"
- ready=$(kubectl get pods --namespace default -o jsonpath='{.status.containerStatuses[0].ready}' $pod)
- while [[ "$ready" != "true" ]]; do
- log "pod $1 is not yet ready... waiting 10 seconds"
+ pods=$(kubectl get pods --namespace default | awk "/$1/ { print \$1 }")
+ log "Service $1 is at pod(s) $pods"
+ ready="false"
+ while [[ "$ready" != "true" ]] ; do
+ log "Waiting 10 seconds to check pod status"
sleep 10
- # TODO: figure out why transient pods sometimes mess up this logic, thus need to re-get the pods
- pod=$(kubectl get pods --namespace default | awk "/$1/ { print \$1 }")
- ready=$(kubectl get pods --namespace default -o jsonpath='{.status.containerStatuses[0].ready}' $pod)
+ for pod in $pods ; do
+ ready=$(kubectl get pods --namespace default -o jsonpath='{.status.containerStatuses[0].ready}' $pod)
+ if [[ "$ready" != "true" ]]; then
+ log "pod $1 is $ready"
+ fi
+ done
done
log "pod $pod is ready"
host_ip=$(kubectl get pods --namespace default -o jsonpath='{.status.hostIP}' $pod)