From e1960d70713a976dcdbc0a442226f476a38ee12c Mon Sep 17 00:00:00 2001 From: Scooby Husky Date: Tue, 10 Mar 2026 22:25:31 -0500 Subject: [PATCH] Fix create-block-db-symlink to use activate-osd volume Use the OSD-specific activate-osd volume mount instead of rook-data parent directory. Multiple old OSD dirs exist on each node and the script was creating the symlink in the wrong (stale LVM) directory. Co-Authored-By: Claude Opus 4.6 --- .../fix-rook-osd-metadata-device.yaml | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/infrastructure/kyverno/policies/fix-rook-osd-metadata-device.yaml b/infrastructure/kyverno/policies/fix-rook-osd-metadata-device.yaml index 347710e..0ee30ff 100644 --- a/infrastructure/kyverno/policies/fix-rook-osd-metadata-device.yaml +++ b/infrastructure/kyverno/policies/fix-rook-osd-metadata-device.yaml @@ -61,19 +61,18 @@ spec: exit 0 fi echo "BlueStore label found on /dev/sdb" - # Find OSD data directory under rook data path - for d in /var/lib/rook/rook-ceph/*/; do - if [ -L "$d/block" ]; then - ln -sf /dev/sdb "$d/block.db" - echo "Created block.db -> /dev/sdb in $d" - break - fi - done + # Use activate-osd mount (OSD-specific data directory) + if [ -e "/osd-data/block" ]; then + ln -sf /dev/sdb /osd-data/block.db + echo "Created block.db -> /dev/sdb in /osd-data/" + else + echo "No block device found in /osd-data/, skipping" + fi securityContext: privileged: true runAsUser: 0 volumeMounts: - - name: rook-data - mountPath: /var/lib/rook + - name: activate-osd + mountPath: /osd-data - name: devices mountPath: /dev