Skip to content

Commit 20ca878

Browse files
committed
ci(e2e): SDS flow hardened — explicit ModuleConfigs in d8-system; correct readiness checks; CRD-compatible LVMVolumeGroup; restore jump-host; cleanup
1 parent 1931da2 commit 20ca878

File tree

1 file changed

+28
-18
lines changed

1 file changed

+28
-18
lines changed

ci/dvp-e2e/Taskfile.yaml

Lines changed: 28 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -898,11 +898,12 @@ tasks:
898898
- |
899899
set -euo pipefail
900900
echo "[SDS] Step 1: Enabling sds-node-configurator..."
901-
cat <<'EOF' | KUBECONFIG={{ .NESTED_KUBECONFIG }} kubectl apply --validate=false -f -
901+
cat <<'EOF' | KUBECONFIG={{ .NESTED_KUBECONFIG }} kubectl -n d8-system apply --validate=false -f -
902902
apiVersion: deckhouse.io/v1alpha1
903903
kind: ModuleConfig
904904
metadata:
905905
name: sds-node-configurator
906+
namespace: d8-system
906907
spec:
907908
enabled: true
908909
version: 1
@@ -914,7 +915,7 @@ tasks:
914915
set -euo pipefail
915916
echo "[SDS] Step 2: Waiting for sds-node-configurator to be Ready..."
916917
for i in $(seq 1 60); do
917-
STATUS=$(KUBECONFIG={{ .NESTED_KUBECONFIG }} kubectl get module sds-node-configurator -o jsonpath='{.status.status}' 2>/dev/null || echo "")
918+
STATUS=$(KUBECONFIG={{ .NESTED_KUBECONFIG }} kubectl get module sds-node-configurator -o json | jq -r '.status.phase // .status.status // ""' 2>/dev/null || true)
918919
if [ "$STATUS" = "Ready" ]; then
919920
echo "[SDS] sds-node-configurator is Ready!"
920921
break
@@ -928,18 +929,21 @@ tasks:
928929
- |
929930
set -euo pipefail
930931
echo "[SDS] Step 3: Enabling sds-replicated-volume..."
931-
yq eval -n '
932-
.apiVersion = "deckhouse.io/v1alpha1" |
933-
.kind = "ModuleConfig" |
934-
.metadata.name = "sds-replicated-volume" |
935-
.spec.enabled = true |
936-
.spec.version = 1
937-
' | KUBECONFIG={{ .NESTED_KUBECONFIG }} kubectl apply --validate=false -f -
932+
cat <<'EOF' | KUBECONFIG={{ .NESTED_KUBECONFIG }} kubectl -n d8-system apply --validate=false -f -
933+
apiVersion: deckhouse.io/v1alpha1
934+
kind: ModuleConfig
935+
metadata:
936+
name: sds-replicated-volume
937+
namespace: d8-system
938+
spec:
939+
enabled: true
940+
version: 1
941+
EOF
938942
- |
939943
set -euo pipefail
940944
echo "[SDS] Step 4: Waiting for sds-replicated-volume to be Ready..."
941945
for i in $(seq 1 60); do
942-
STATUS=$(KUBECONFIG={{ .NESTED_KUBECONFIG }} kubectl get module sds-replicated-volume -o jsonpath='{.status.status}' 2>/dev/null || echo "")
946+
STATUS=$(KUBECONFIG={{ .NESTED_KUBECONFIG }} kubectl get module sds-replicated-volume -o json | jq -r '.status.phase // .status.status // ""' 2>/dev/null || true)
943947
if [ "$STATUS" = "Ready" ]; then
944948
echo "[SDS] sds-replicated-volume is Ready!"
945949
break
@@ -979,15 +983,21 @@ tasks:
979983
fi
980984
for node in $NODES; do
981985
[ -z "$node" ] && continue
982-
NODE="$node" yq eval -n "
983-
.apiVersion = \"storage.deckhouse.io/v1alpha1\" |
984-
.kind = \"LVMVolumeGroup\" |
985-
.metadata.name = \"data-\" + env(NODE) |
986-
.spec.type = \"Local\" |
986+
# Build matchExpressions for known device paths per docs (label key is storage.deckhouse.io/device-path)
987+
MATCH_EXPR=$(yq eval -n '
988+
.key = "storage.deckhouse.io/device-path" |
989+
.operator = "In" |
990+
.values = ["/dev/sdb","/dev/vdb","/dev/xvdb","/dev/sdc","/dev/vdc","/dev/xvdc","/dev/sdd","/dev/vdd","/dev/xvdd"]
991+
')
992+
NODE="$node" MATCH_EXPR="$MATCH_EXPR" yq eval -n '
993+
.apiVersion = "storage.deckhouse.io/v1alpha1" |
994+
.kind = "LVMVolumeGroup" |
995+
.metadata.name = "data-" + env(NODE) |
996+
.spec.type = "Local" |
987997
.spec.local.nodeName = env(NODE) |
988-
.spec.local.actualVGNameOnTheNode = \"data\" |
989-
.spec.blockDeviceSelector.devicePaths = [\"/dev/sdb\",\"/dev/vdb\",\"/dev/xvdb\",\"/dev/sdc\",\"/dev/vdc\",\"/dev/xvdc\",\"/dev/sdd\",\"/dev/vdd\",\"/dev/xvdd\"]
990-
" | KUBECONFIG={{ .NESTED_KUBECONFIG }} kubectl apply -f -
998+
.spec.actualVGNameOnTheNode = "data" |
999+
.spec.blockDeviceSelector.matchExpressions = [ env(MATCH_EXPR) ]
1000+
' | KUBECONFIG={{ .NESTED_KUBECONFIG }} kubectl apply -f -
9911001
done
9921002
echo "[SDS] Creating ReplicatedStoragePool 'data' from LVMVolumeGroups..."
9931003
LVGS=$(printf "%s\n" $NODES | sed 's/^/ - name: data-/')

0 commit comments

Comments
 (0)