From 1ff6c15c3bc7d724597867e54204095a832df08e Mon Sep 17 00:00:00 2001 From: Bryan Sullivan Date: Mon, 29 Jan 2018 14:28:04 -0800 Subject: Refactor clearwater build and deploy scripts JIRA: MODELS-2 Change-Id: I2554187ce61112b4757bc8d5865755ccae5acdd3 Signed-off-by: Bryan Sullivan --- tools/cloudify/k8s-cloudify-clearwater.sh | 102 ++++++++++++++++++++++++++---- 1 file changed, 88 insertions(+), 14 deletions(-) (limited to 'tools/cloudify') diff --git a/tools/cloudify/k8s-cloudify-clearwater.sh b/tools/cloudify/k8s-cloudify-clearwater.sh index 430d31a..5ed19a3 100644 --- a/tools/cloudify/k8s-cloudify-clearwater.sh +++ b/tools/cloudify/k8s-cloudify-clearwater.sh @@ -28,7 +28,12 @@ #. From a server with access to the kubernetes master node: #. $ git clone https://gerrit.opnfv.org/gerrit/models ~/models #. $ cd ~/models/tools/cloudify/ -#. $ bash k8s-cloudify-clearwater.sh +#. $ bash k8s-cloudify-clearwater.sh start +#. k8s_master_hostname: hostname of the k8s master node +#. image_path: "image path" for images (e.g. user on docker hub) +#. image_tag: "image tag" for images e.g. latest, test, stable +#. $ bash k8s-cloudify-clearwater.sh stop> +#. k8s_master_hostname: hostname of the k8s master node #. #. Status: this is a work in progress, under test. @@ -45,17 +50,18 @@ function log() { } function build_local() { - master=$1 log "deploy local docker registry on k8s master" # Per https://docs.docker.com/registry/deploying/ ssh -x -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no \ - ubuntu@$master sudo docker run -d -p 5000:5000 --restart=always --name \ + ubuntu@$k8s_master sudo docker run -d -p 5000:5000 --restart=always --name \ registry registry:2 # per https://github.com/Metaswitch/clearwater-docker log "clone clearwater-docker" cd ~ - git clone https://github.com/Metaswitch/clearwater-docker.git + if [[ ! -d ~/clearwater-docker ]]; then + git clone --recursive https://github.com/Metaswitch/clearwater-docker.git + fi log "build docker images" cd clearwater-docker @@ -67,16 +73,16 @@ function build_local() { # workaround for https://www.bountysource.com/issues/37326551-server-gave-http-response-to-https-client-error # May not need both... if [[ "$dist" == "ubuntu" ]]; then - check=$(grep -c $master /etc/default/docker) + check=$(grep -c $k8s_master /etc/default/docker) if [[ $check -eq 0 ]]; then - echo "DOCKER_OPTS=\"--insecure-registry $master:5000\"" | sudo tee -a /etc/default/docker + echo "DOCKER_OPTS=\"--insecure-registry $k8s_master:5000\"" | sudo tee -a /etc/default/docker sudo systemctl daemon-reload sudo service docker restart fi fi check=$(grep -c insecure-registry /lib/systemd/system/docker.service) if [[ $check -eq 0 ]]; then - sudo sed -i -- "s~ExecStart=/usr/bin/dockerd -H fd://~ExecStart=/usr/bin/dockerd -H fd:// --insecure-registry $master:5000~" /lib/systemd/system/docker.service + sudo sed -i -- "s~ExecStart=/usr/bin/dockerd -H fd://~ExecStart=/usr/bin/dockerd -H fd:// --insecure-registry $k8s_master:5000~" /lib/systemd/system/docker.service sudo systemctl daemon-reload sudo service docker restart fi @@ -87,27 +93,95 @@ function build_local() { log "push images to local docker repo on k8s master" for i in $vnfc ; do - docker tag clearwater/$i:latest $master:5000/clearwater/$i:latest - docker push $master:5000/clearwater/$i:latest + docker tag clearwater/$i:latest $k8s_master:5000/clearwater/$i:latest + docker push $k8s_master:5000/clearwater/$i:latest done } - function start() { - master=$1 + ssh -x -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no \ + $k8s_user@$k8s_master <~/callsip.yaml +apiVersion: v1 +kind: Pod +metadata: + name: callsip + namespace: default +spec: + containers: + - name: callsip + image: ubuntu + command: + - sleep + - "3600" + imagePullPolicy: IfNotPresent + restartPolicy: Always +EOF +kubectl create -f ~/callsip.yaml +kubectl exec -d --namespace default callsip <