From aed2e85ba079fb1e5136f335c2b803da6b3a2e96 Mon Sep 17 00:00:00 2001 From: Bryan Sullivan Date: Wed, 8 Nov 2017 16:45:03 -0800 Subject: WIP: clearwater-docker deployment JIRA: MODELS-3 Change-Id: I30df9050fd8391691bda533302a5610896ff462c Signed-off-by: Bryan Sullivan --- tools/cloudify/k8s-cloudify-clearwater.sh | 96 +++++++++++++++++++++++++++++++ tools/kubernetes/demo_deploy.sh | 1 + 2 files changed, 97 insertions(+) create mode 100644 tools/cloudify/k8s-cloudify-clearwater.sh diff --git a/tools/cloudify/k8s-cloudify-clearwater.sh b/tools/cloudify/k8s-cloudify-clearwater.sh new file mode 100644 index 0000000..800d357 --- /dev/null +++ b/tools/cloudify/k8s-cloudify-clearwater.sh @@ -0,0 +1,96 @@ +#!/bin/bash +# Copyright 2017 AT&T Intellectual Property, Inc +# +# 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. +# +#. What this is: Setup script for clearwater-docker as deployed by Cloudify +#. with Kubernetes. See https://github.com/Metaswitch/clearwater-docker +#. for more info. +#. Prerequisites: +#. - Kubernetes cluster installed per k8s-cluster.sh (in this repo) +#. - user (running this script) added to the "docker" group +#. Usage: +#. From a server with access to the kubernetes master node: +#. $ git clone https://gerrit.opnfv.org/gerrit/models ~/models + +#. Status: this is a work in progress, under test. + +function fail() { + log "$1" + exit 1 +} + +function log() { + f=$(caller 0 | awk '{print $2}') + l=$(caller 0 | awk '{print $1}') + echo "" + echo "$f:$l ($(date)) $1" +} + +function setup() { + 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 \ + registry registry:2 + + # per https://github.com/Metaswitch/clearwater-docker + log "clone clearwater-docker" + cd ~ + git clone https://github.com/Metaswitch/clearwater-docker.git + + log "build docker images" + cd clearwater-docker + vnfc="base astaire cassandra chronos bono ellis homer homestead homestead-prov ralf sprout" + for i in $vnfc ; do + docker build -t clearwater/$i $i + done + + 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 + done +} + +function start() { + master=$1 +} + +function stop() { + master=$1 +} + +function clean() { + master=$1 +} + +dist=`grep DISTRIB_ID /etc/*-release | awk -F '=' '{print $2}'` +case "$1" in + "setup") + setup $2 + ;; + "start") + start $2 + ;; + "stop") + stop $2 + ;; + "clean") + clean + ;; + *) + grep '#. ' $0 +esac + diff --git a/tools/kubernetes/demo_deploy.sh b/tools/kubernetes/demo_deploy.sh index 7922434..187caa2 100644 --- a/tools/kubernetes/demo_deploy.sh +++ b/tools/kubernetes/demo_deploy.sh @@ -27,6 +27,7 @@ #. - Ubuntu server for kubernetes cluster nodes (master and worker nodes) #. - MAAS server as cluster admin for kubernetes master/worker nodes #. - 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 "" -- cgit 1.2.3-korg