From c6c6878b6e881f649d25639c6ae686260034e500 Mon Sep 17 00:00:00 2001 From: Sven Anderson Date: Thu, 14 Jun 2018 16:08:04 +0200 Subject: [PATCH] Add script to deploy into a single node minikube instance This script takes an existing minikube instance in which it creates a block device image under mnt/vda1/heketi-bricks.img that is connected to /dev/loop1. Then gk-deploy is started in the single-node mode on top of minikube and a default storage class gluster-storage is created. --- deploy/gk-deploy-minikube | 49 +++++++++++++++++++++++++++++++++++ deploy/topology-minikube.json | 24 +++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100755 deploy/gk-deploy-minikube create mode 100644 deploy/topology-minikube.json diff --git a/deploy/gk-deploy-minikube b/deploy/gk-deploy-minikube new file mode 100755 index 00000000..e282c0ec --- /dev/null +++ b/deploy/gk-deploy-minikube @@ -0,0 +1,49 @@ +#!/bin/bash +# Copyright (c) 2018 Red Hat, 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. + +SCRIPT_DIR="$(cd "$(dirname "${0}")" && pwd)" +TOPOLOGY='topology-minikube.json' +CLI='kubectl' + +set -ex + +minikube ssh "\ + sudo truncate -s 10G /mnt/vda1/heketi-bricks.img \ + && sudo losetup /dev/loop1 /mnt/vda1/heketi-bricks.img \ + && sudo pvcreate /dev/loop1 \ +" + +${SCRIPT_DIR}/gk-deploy --yes --single-node --cli ${CLI} --deploy-gluster ${SCRIPT_DIR}/${TOPOLOGY} + +HEKETI_URL=$(${CLI} get --no-headers endpoints/heketi | awk '{print $2}') + +if minikube addons list | grep -q "default-storageclass: enabled" ; then + minikube addons disable default-storageclass + ${CLI} patch storageclass standard -p '{"metadata":{"annotations":{"storageclass.beta.kubernetes.io/is-default-class":"false"}}}' +fi + +${CLI} create -f - <