Skip to content

Commit 4351a66

Browse files
committed
Migrate from Ceph demo pod to Rook based Ceph Tentacle deployment
Replace the demo container-based Ceph deployment with a proper Rook operator setup supporting Ceph Tentacle (upstream v20) [1]. This migration: - Removes gen-ceph-kustomize.sh used for toy Ceph pod deployment - Updates Makefile to use rook_* targets instead of standalone ceph pod - Enhances gen-rook-kustomize.sh with pool creation, secrets, and config management - Upgrades from release-1.15 to release-1.18 with CSI operator support - Enables host networking configuration by default and proper cluster readiness checks The new deployment provides a Ceph cluster through Rook operator instead of the previous demo container approach. [1] https://ceph.com/en/news/blog/2025/v20-2-0-tentacle-released/ Signed-off-by: Francesco Pantano <[email protected]>
1 parent c4a2ca8 commit 4351a66

File tree

4 files changed

+130
-376
lines changed

4 files changed

+130
-376
lines changed

Makefile

Lines changed: 19 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -444,12 +444,14 @@ MANILA_KUTTL_DIR ?= ${OPERATOR_BASE_DIR}/manila-operator/test/kuttl/tests
444444
MANILA_KUTTL_NAMESPACE ?= manila-kuttl-tests
445445

446446
# Ceph
447-
CEPH_IMG ?= quay.io/ceph/demo:latest-squid
447+
CEPH_IMG ?= quay.io/ceph/ceph:v20
448+
CEPH_NAMESPACE ?= rook-ceph
448449
CEPH_REPO ?= https://github.com/rook/rook.git
449-
CEPH_BRANCH ?= release-1.15
450+
CEPH_BRANCH ?= release-1.18
450451
CEPH_CRDS ?= ${OPERATOR_BASE_DIR}/rook/deploy/examples/crds.yaml
451452
CEPH_COMMON ?= ${OPERATOR_BASE_DIR}/rook/deploy/examples/common.yaml
452453
CEPH_OP ?= ${OPERATOR_BASE_DIR}/rook/deploy/examples/operator-openshift.yaml
454+
CEPH_CSI_OP ?= ${OPERATOR_BASE_DIR}/rook/deploy/examples/csi-operator.yaml
453455
CEPH_CR ?= ${OPERATOR_BASE_DIR}/rook/deploy/examples/cluster-test.yaml
454456
CEPH_CLIENT ?= ${OPERATOR_BASE_DIR}/rook/deploy/examples/toolbox.yaml
455457

@@ -2252,30 +2254,13 @@ baremetal_cleanup: ## deletes the operator, but does not cleanup the service res
22522254
test -d ${OPERATOR_BASE_DIR}/baremetal-operator && make crc_bmo_cleanup || true
22532255

22542256
##@ CEPH
2255-
.PHONY: ceph_help
2256-
ceph_help: export CEPH_IMAGE=${CEPH_IMG}
2257-
ceph_help: ## Ceph helper
2258-
$(eval $(call vars,$@,ceph))
2259-
bash scripts/gen-ceph-kustomize.sh "help" "full"
22602257

22612258
.PHONY: ceph
22622259
ceph: export CEPH_IMAGE=${CEPH_IMG}
2263-
ceph: namespace input ## deploy the Ceph Pod
2264-
$(eval $(call vars,$@,ceph))
2265-
bash scripts/gen-ceph-kustomize.sh "build"
2266-
bash scripts/operator-deploy-resources.sh
2267-
bash scripts/gen-ceph-kustomize.sh "isready"
2268-
bash scripts/gen-ceph-kustomize.sh "config"
2269-
bash scripts/gen-ceph-kustomize.sh "cephfs"
2270-
bash scripts/gen-ceph-kustomize.sh "pools"
2271-
bash scripts/gen-ceph-kustomize.sh "secret"
2272-
bash scripts/gen-ceph-kustomize.sh "post"
2260+
ceph: rook_crc_disk rook rook_deploy ## deploy the Ceph Cluster
22732261

22742262
.PHONY: ceph_cleanup
2275-
ceph_cleanup: ## deletes the ceph pod
2276-
$(eval $(call vars,$@,ceph))
2277-
oc kustomize ${DEPLOY_DIR} | oc delete --ignore-not-found=true -f -
2278-
${CLEANUP_DIR_CMD} ${DEPLOY_DIR}
2263+
ceph_cleanup: rook_cleanup ## delete the Ceph Cluster, remove rook operator
22792264

22802265
##@ ROOK
22812266

@@ -2294,24 +2279,33 @@ rook: namespace rook_prep ## installs the CRDs and the operator, also runs the p
22942279
oc apply -f ${CEPH_CRDS}
22952280
# Apply roles, sa, scc and common resources
22962281
oc apply -f ${CEPH_COMMON}
2282+
# Apply csi-operator CRDs needed to deploy mons
2283+
oc apply -f ${CEPH_CSI_OP}
22972284
# Run the rook operator
22982285
oc apply -f ${CEPH_OP}
2299-
## Do not deploy NFS CEPH-CSI
2300-
oc -n rook-ceph patch configmap rook-ceph-operator-config --type='merge' -p '{"data": { "ROOK_CSI_ENABLE_CEPHFS": "false" }}'
2286+
# Do not deploy NFS CEPH-CSI
2287+
oc -n ${CEPH_NAMESPACE} patch configmap rook-ceph-operator-config --type='merge' -p '{"data": { "ROOK_CSI_ENABLE_CEPHFS": "false" }}'
2288+
# Wait for the operator
2289+
oc -n ${CEPH_NAMESPACE} wait --for=condition=Available deployment/rook-ceph-operator --timeout=${TIMEOUT}
23012290

23022291
.PHONY: rook_deploy_prep
23032292
rook_deploy_prep: export IMAGE=${CEPH_IMG}
23042293
rook_deploy_prep: # ceph_deploy_cleanup ## prepares the CR to install the service based on the service sample
23052294
$(eval $(call vars,$@,ceph))
23062295
# Patch the rook-ceph scc to allow using hostnetworking: this simulates an
23072296
# external ceph cluster
2308-
oc patch scc rook-ceph --type='merge' -p '{ "allowHostNetwork": true, "allowHostPID": true, "allowHostPorts": true}'
2309-
bash scripts/gen-rook-kustomize.sh
2297+
oc patch scc ${CEPH_NAMESPACE} --type='merge' -p '{ "allowHostNetwork": true, "allowHostPID": true, "allowHostPorts": true}'
2298+
bash scripts/gen-rook-kustomize.sh "build"
23102299

23112300
.PHONY: rook_deploy
2301+
rook_deploy: export IMAGE=${CEPH_IMG}
23122302
rook_deploy: rook_deploy_prep ## installs the service instance using kustomize.
23132303
$(eval $(call vars,$@,ceph))
23142304
oc kustomize ${DEPLOY_DIR} | oc apply -f -
2305+
bash scripts/gen-rook-kustomize.sh "isready"
2306+
bash scripts/gen-rook-kustomize.sh "cephfs"
2307+
bash scripts/gen-rook-kustomize.sh "pools"
2308+
bash scripts/gen-rook-kustomize.sh "secret"
23152309

23162310
.PHONY: rook_crc_disk
23172311
rook_crc_disk: ## Create a disk and attach to CRC / SNO VM

scripts/disk-setup.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,13 @@ mkdir -p "$DISK_PATH"
2424

2525
function create_disk {
2626
for disk in "${DISKS[@]}"; do
27-
qemu-img create -f raw "$DISK_PATH"/"$disk" "${DISK_SIZE}"G
27+
dd if=/dev/zero of="$DISK_PATH"/"$disk" bs=1G count=0 seek="${DISK_SIZE}"
2828
done
2929
}
3030

3131
function attach_disk {
3232
for disk in "${DISKS[@]}"; do
33-
sudo virsh attach-disk "$DOMAIN" "$DISK_PATH"/"$disk" "$disk" --targetbus virtio --persistent
33+
virsh attach-disk "$DOMAIN" "$DISK_PATH"/"$disk" "$disk" --targetbus virtio --persistent
3434
done
3535
}
3636

0 commit comments

Comments
 (0)