From 764a55132c3a4b3e209aba25f9f64f6718986fba Mon Sep 17 00:00:00 2001 From: Manohar Reddy Date: Thu, 10 Sep 2026 11:07:46 +0200 Subject: [PATCH] chore: retire the io.simplyblock.node-type label references DO NOT MERGE while R25.x is a supported upgrade source. Parked as a draft so the work is ready when it stops being one. simplyblock-operator #508 retires io.simplyblock.node-type on the operator side: it was written onto exactly the nodes io.simplyblock.storagenodeset already marked and removed with them, so it carried no information the per-set label did not, and its two consumers now select the per-set label instead. The four references here are the other half of that key's life. They are the legacy R25 path, where an administrator labels workers by hand and the R25 spdk-csi chart's storagenode.create DaemonSet matches on the unsuffixed value simplyblock-storage-plane, as does the CSI driver's mgmt-api job. Nothing here ever referenced the cluster-suffixed value the operator wrote, so #508 did not make any of it stale. Removed: - UPGRADE.md, section 1.3, which labeled the workers before the R25 chart install; 1.4 and 1.5 renumber - R25_MANUAL_SETUP_STEPS.md, the labeling loop in Phase 4, whose heading loses "Label workers +" - .github/workflows/k8s-native-upgrade.yaml, the "Label worker nodes for R25 storage plane" step of the r25-to-r2x job - e2e/scripts/cleanup_upgrade_test.sh, the teardown that stripped the label in Phase 10 Merging before R25 is dropped breaks the r25-to-r2x CI job and leaves UPGRADE.md telling a reader to install a chart whose nodeSelector nothing satisfies. It also has to land with, or after, the removal of the chart's storagenode.create branch and the mgmt-api job's label_selector in the simplyblock-operator repository, which are what actually consume the label. Verified: the workflow still parses as YAML, the cleanup script still passes bash -n, and no io.simplyblock.node-type reference remains in this repository. Co-Authored-By: Claude Opus 5 (1M context) --- .github/workflows/k8s-native-upgrade.yaml | 11 ----------- R25_MANUAL_SETUP_STEPS.md | 7 +------ UPGRADE.md | 15 ++------------- e2e/scripts/cleanup_upgrade_test.sh | 1 - 4 files changed, 3 insertions(+), 31 deletions(-) diff --git a/.github/workflows/k8s-native-upgrade.yaml b/.github/workflows/k8s-native-upgrade.yaml index dcf21c6473..0332c95669 100644 --- a/.github/workflows/k8s-native-upgrade.yaml +++ b/.github/workflows/k8s-native-upgrade.yaml @@ -873,17 +873,6 @@ jobs: echo "CLUSTER_SECRET=${CLUSTER_SECRET}" >> $GITHUB_ENV echo "R25_ADMIN_POD=${ADMIN_POD}" >> $GITHUB_ENV - - name: Label worker nodes for R25 storage plane - if: ${{ github.event.inputs.use_existing_cluster != 'true' && github.event.inputs.upgrade_type == 'r25-to-r2x' }} - run: | - set -euxo pipefail - echo "=== Labeling worker nodes for R25 storage plane ===" - IFS=',' read -ra NODES <<< "${{ github.event.inputs.worker_nodes }}" - for NODE in "${NODES[@]}"; do - kubectl label node "$NODE" io.simplyblock.node-type=simplyblock-storage-plane --overwrite - echo "Labeled $NODE with io.simplyblock.node-type=simplyblock-storage-plane" - done - - name: Install spdk-csi chart for R25 storage nodes if: ${{ github.event.inputs.use_existing_cluster != 'true' && github.event.inputs.upgrade_type == 'r25-to-r2x' }} run: | diff --git a/R25_MANUAL_SETUP_STEPS.md b/R25_MANUAL_SETUP_STEPS.md index ee3d5e3c46..6bed43c642 100644 --- a/R25_MANUAL_SETUP_STEPS.md +++ b/R25_MANUAL_SETUP_STEPS.md @@ -157,16 +157,11 @@ fi --- -## Phase 4: Label workers + Install R25 spdk-csi chart +## Phase 4: Install R25 spdk-csi chart ```bash NAMESPACE=simplyblock -# Label workers -for NODE in worker-0.ocp.simplyblock.ai worker-1.ocp.simplyblock.ai worker-2.ocp.simplyblock.ai worker-3.ocp.simplyblock.ai worker-4.ocp.simplyblock.ai worker-5.ocp.simplyblock.ai; do - kubectl label node "$NODE" io.simplyblock.node-type=simplyblock-storage-plane --overwrite -done - # Clone simplyblock-operator (R25 CSI chart branch) git clone --branch v0.2.4 https://github.com/simplyblock/simplyblock-operator.git simplyblock-operator-r25 diff --git a/UPGRADE.md b/UPGRADE.md index b029cb0881..d8629c6eab 100644 --- a/UPGRADE.md +++ b/UPGRADE.md @@ -67,18 +67,7 @@ Cluster ID: Cluster Secret: ``` -### 1.3 Label Worker Nodes for Storage Plane - -The R25 spdk-csi chart uses the `io.simplyblock.node-type` label to discover which -worker nodes should run storage node pods. Label all workers before installing the chart: - -```bash -for NODE in ; do - kubectl label node "$NODE" io.simplyblock.node-type=simplyblock-storage-plane --overwrite -done -``` - -### 1.4 Install the `spdk-csi` Helm Chart (Includes Storage Node Creation) +### 1.3 Install the `spdk-csi` Helm Chart (Includes Storage Node Creation) This deploys the CSI driver and creates storage nodes via `storagenode.create=true`. Use the cluster UUID, secret, and pool name from step 1.2. @@ -116,7 +105,7 @@ sbcli-dev sn list **Expected**: All storage nodes show `online` status. -### 1.5 Verify R25.x Cluster +### 1.4 Verify R25.x Cluster ```bash # Cluster should be active diff --git a/e2e/scripts/cleanup_upgrade_test.sh b/e2e/scripts/cleanup_upgrade_test.sh index 94e6f97072..c40f4a69b3 100644 --- a/e2e/scripts/cleanup_upgrade_test.sh +++ b/e2e/scripts/cleanup_upgrade_test.sh @@ -399,7 +399,6 @@ echo "=== Phase 10: Remove stale node labels ===" for NODE in "${NODES[@]}"; do kubectl label node "$NODE" io.simplyblock.storagenodeset- 2>/dev/null || true - kubectl label node "$NODE" io.simplyblock.node-type- 2>/dev/null || true echo " Removed labels from $NODE" done