#!/bin/bash # 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. set -xe # Specify the Rook release tag to use for the Rook operator here ROOK_RELEASE=v1.16.3 : ${CEPH_OSD_DATA_DEVICE:="/dev/loop100"} #NOTE: Deploy command : ${OSH_EXTRA_HELM_ARGS:=""} [ -s /tmp/ceph-fs-uuid.txt ] || uuidgen > /tmp/ceph-fs-uuid.txt CEPH_FS_ID="$(cat /tmp/ceph-fs-uuid.txt)" #NOTE(portdirect): to use RBD devices with Ubuntu kernels < 4.5 this # should be set to 'hammer' . /etc/os-release if [ "x${ID}" == "xcentos" ] || \ ([ "x${ID}" == "xubuntu" ] && \ dpkg --compare-versions "$(uname -r)" "lt" "4.5"); then CRUSH_TUNABLES=hammer else CRUSH_TUNABLES=null fi tee /tmp/rook.yaml < /dev/null 2>&1; then kubectl wait --namespace=ceph --for=condition=ready "pod/$MON_POD" --timeout=600s else echo "Pod $MON_POD not found, skipping..." fi done echo "=========== CEPH K8S PODS LIST ============" kubectl get pods -n rook-ceph -o wide kubectl get pods -n ceph -o wide #NOTE: Wait for deploy RGW_POD=$(kubectl get pods \ --namespace=ceph \ --selector="app=rook-ceph-rgw" \ --no-headers | awk '{print $1; exit}') while [[ -z "${RGW_POD}" ]] do sleep 5 echo "=========== CEPH STATUS ============" kubectl exec -n ceph ${TOOLS_POD} -- ceph -s echo "=========== CEPH OSD POOL LIST ============" kubectl exec -n ceph ${TOOLS_POD} -- ceph osd pool ls echo "=========== CEPH K8S PODS LIST ============" kubectl get pods -n ceph -o wide RGW_POD=$(kubectl get pods \ --namespace=ceph \ --selector="app=rook-ceph-rgw" \ --no-headers | awk '{print $1; exit}') done helm osh wait-for-pods ceph #NOTE: Validate deploy kubectl exec -n ceph ${TOOLS_POD} -- ceph -s