summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBryan Sullivan <bryan.sullivan@att.com>2017-11-30 14:34:45 -0800
committerBryan Sullivan <bryan.sullivan@att.com>2017-11-30 14:34:45 -0800
commit6cdbe0e89cc275fab34afb0e3c9cb640bb1de26f (patch)
treeea151545d68617bc010ecc2c5ef0f97fc4fb8da2
parentaed2e85ba079fb1e5136f335c2b803da6b3a2e96 (diff)
Factor out build script for clearwater-docker etc
JIRA: MODELS-2 Change-Id: I36f1f7c7b1a37bb34ad4e31240b2b27512348b52 Signed-off-by: Bryan Sullivan <bryan.sullivan@att.com>
-rw-r--r--.gitignore1
-rw-r--r--build/clearwater-docker.sh61
-rw-r--r--tools/cloudify/k8s-cloudify-clearwater.sh45
-rw-r--r--tools/kubernetes/ceph-helm.sh2
4 files changed, 94 insertions, 15 deletions
diff --git a/.gitignore b/.gitignore
index 2f5ddf9..33a0451 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,5 @@
*~
.*.sw?
-/build/
/docs_build/
/docs_output/
/releng/
diff --git a/build/clearwater-docker.sh b/build/clearwater-docker.sh
new file mode 100644
index 0000000..a8228ca
--- /dev/null
+++ b/build/clearwater-docker.sh
@@ -0,0 +1,61 @@
+#!/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: Build script for the github clearwater-docker project
+#. https://github.com/Metaswitch/clearwater-docker
+#.
+#. Prerequisites:
+#. Docker hub user logged on so images can be pushed to docker hub, i.e. via
+#. $ docker login -u <hub-user>
+#.
+#. Usage:
+#. bash clearwater-docker.sh <hub-user>
+#. hub-user: username for dockerhub
+#.
+#. Status: this is a work in progress, under test.
+
+dist=`grep DISTRIB_ID /etc/*-release | awk -F '=' '{print $2}'`
+
+echo; echo "$0 $(date): Update package repos"
+if [ "$dist" == "Ubuntu" ]; then
+ sudo apt-get update
+else
+ sudo yum update -y
+fi
+
+echo; echo "$0 $(date): Starting VES agent build process"
+if [[ -d /tmp/clearwater-docker ]]; then rm -rf /tmp/clearwater-docker; fi
+
+echo; echo "$0 $(date): Cloning clearwater-docker repo to /tmp/clearwater-docker"
+ git clone https://github.com/Metaswitch/clearwater-docker.git \
+ /tmp/clearwater-docker
+
+echo; echo "$0 $(date): Building the images"
+cd /tmp/clearwater-docker
+vnfc="base astaire cassandra chronos bono ellis homer homestead homestead-prov ralf sprout"
+for i in $vnfc ; do
+ sudo docker build -t clearwater/$i $i
+done
+
+echo; echo "$0 $(date): push images to docker hub"
+for i in $vnfc ; do
+ echo; echo "$0 $(date): Tagging the image as $1/clearwater-$i:latest"
+ id=$(sudo docker images | grep clearwater/$i | awk '{print $3}')
+ id=$(echo $id | cut -d ' ' -f 1)
+ sudo docker tag $id $1/clearwater-$i:latest
+
+ echo; echo "$0 $(date): Pushing the image to dockerhub as $1/clearwater-$i"
+ sudo docker push $1/clearwater-$i
+done
diff --git a/tools/cloudify/k8s-cloudify-clearwater.sh b/tools/cloudify/k8s-cloudify-clearwater.sh
index 800d357..430d31a 100644
--- a/tools/cloudify/k8s-cloudify-clearwater.sh
+++ b/tools/cloudify/k8s-cloudify-clearwater.sh
@@ -16,13 +16,20 @@
#. 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
+#. - clearwater-docker images created and uploaded to docker hub under the
+#. <hub-user> account as <hub-user>/clearwater-<vnfc> where vnfc is the name
+#. of the specific containers as built by build/clearwater-docker.sh
+#.
#. Usage:
#. 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 <start|stop> <hub-user> <manager>
+#.
#. Status: this is a work in progress, under test.
function fail() {
@@ -37,7 +44,7 @@ function log() {
echo "$f:$l ($(date)) $1"
}
-function setup() {
+function build_local() {
master=$1
log "deploy local docker registry on k8s master"
# Per https://docs.docker.com/registry/deploying/
@@ -57,6 +64,27 @@ function setup() {
docker build -t clearwater/$i $i
done
+ # 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)
+ if [[ $check -eq 0 ]]; then
+ echo "DOCKER_OPTS=\"--insecure-registry $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 systemctl daemon-reload
+ sudo service docker restart
+ fi
+
+ log "deploy local docker registry on k8s master"
+ # Per https://docs.docker.com/registry/deploying/
+ # sudo docker run -d -p 5000:5000 --restart=always --name registry registry:2
+
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
@@ -64,6 +92,7 @@ function setup() {
done
}
+
function start() {
master=$1
}
@@ -72,24 +101,14 @@ function stop() {
master=$1
}
-function clean() {
- master=$1
-}
-
-dist=`grep DISTRIB_ID /etc/*-release | awk -F '=' '{print $2}'`
+dist=$(grep --m 1 ID /etc/os-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/ceph-helm.sh b/tools/kubernetes/ceph-helm.sh
index ea5dccf..a1be588 100644
--- a/tools/kubernetes/ceph-helm.sh
+++ b/tools/kubernetes/ceph-helm.sh
@@ -65,7 +65,7 @@ search ceph.svc.cluster.local svc.cluster.local cluster.local
options ndots:5
EOF
- ./helm-install-ceph.sh cephtest $private_net $public_net
+ ./helm-install-ceph.sh cephtest $public_net $private_net
log "Check the pod status of ceph-mon, ceph-mgr, ceph-mon-check, and rbd-provisioner"
services="rbd-provisioner ceph-mon-0 ceph-mgr ceph-mon-check"