blob: fa21b8cd24b296d8d9e8893a29b4fe710c7a9460 [file] [log] [blame]
garciadeblas8d8cd992024-05-21 16:04:14 +02001#!/bin/bash
2#######################################################################################
3# Copyright ETSI Contributors and Others.
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
14# implied.
15# See the License for the specific language governing permissions and
16# limitations under the License.
17#######################################################################################
18
19set -e
20
21export HERE=$(dirname "$(readlink --canonicalize "$BASH_SOURCE")")
22source "${HERE}/library/functions.sh"
23source "${HERE}/library/trap.sh"
24
25############################################
26# Main script starts here
27############################################
28
29# In case no arguments are passed, takes the value of the corresponding environment variables
30MINIO_TENANT_NAME=${1:-${MINIO_TENANT_NAME}}
31MINIO_TENANT_CAPACITY=${2:-${MINIO_TENANT_CAPACITY}}
32
33# Adjusts tenant sizes
34export MINIO_TENANT_SERVERS=${MINIO_TENANT_SERVERS:-4}
35export MINIO_TENANT_VOLUMES=${MINIO_TENANT_VOLUMES:-8}
36
37
38m "\nDeploying ${MINIO_TENANT_NAME} tenant..."
39
40# Create Minio tenant
41kubectl create ns ${MINIO_TENANT_NAME}
42OPTIONS=""
43# OPTIONS="--storage-class default"
44kubectl minio tenant create \
45 ${MINIO_TENANT_NAME} \
46 --servers ${MINIO_TENANT_SERVERS} \
47 --volumes ${MINIO_TENANT_VOLUMES} \
48 --capacity ${MINIO_TENANT_CAPACITY} \
49 --namespace ${MINIO_TENANT_NAME} \
50 ${OPTIONS} \
51 --output | \
52 # Fix malformed manifest with wrong fields
53 yq 'del(.spec.pools[0].volumeClaimTemplate.metadata.creationTimestamp)' | \
54 kubectl apply -f -
55
56# Wait until completion
57echo "Waiting for tenant's statefulset to be ready..."
58sleep 30 # To allow the statefulset object to exist
59kubectl rollout status sts/minio-osm-tenant-ss-0 --namespace=${MINIO_TENANT_NAME} --watch --timeout=1h