From 312d113c478284abb127135340468c242d4addb9 Mon Sep 17 00:00:00 2001 From: jgrusewski Date: Fri, 27 Feb 2026 20:13:29 +0100 Subject: [PATCH] fix(ci): use k=v format for node selector overrides GitLab Runner 18.9 expects KUBERNETES_NODE_SELECTOR_* values in "key=value" format. Changed from bare values to "pool=services" and "pool=ci-training". Co-Authored-By: Claude Opus 4.6 --- .gitlab-ci.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ee6372c57..dc10ea662 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -5,7 +5,7 @@ # Note: .gitlab-ci.yml itself is NOT in changes: filters — CI-only edits skip build # # Node pool routing: Runner default nodeSelector pool=ci-compile. -# Override via KUBERNETES_NODE_SELECTOR_pool: +# Override via KUBERNETES_NODE_SELECTOR_pool: "pool=" (k=v format required) # Pools: ci-compile (L4 GPU), ci-training (L40S GPU), services (DEV1-M), gitlab (GP1-XS) # Ensure pipeline is always created — individual job rules handle filtering. @@ -462,8 +462,8 @@ build-training: variables: KUBERNETES_RUNTIME_CLASS_NAME: nvidia # Route to L40S pool (48GB VRAM for large supervised models) - # Label: pool=ci-training (simple label, overrides runner default pool=ci-compile) - KUBERNETES_NODE_SELECTOR_pool: ci-training + # Overrides runner default pool=ci-compile + KUBERNETES_NODE_SELECTOR_pool: "pool=ci-training" # Supervised is GPU-bound — minimal CPU. Low request allows 3-4 concurrent jobs. KUBERNETES_CPU_REQUEST: "1000m" KUBERNETES_CPU_LIMIT: "2000m" @@ -1252,8 +1252,8 @@ deploy: - kapsule variables: # Deploy only needs kubectl — route to services pool, not GPU nodes - # Label: pool=services (overrides runner default pool=ci-compile) - KUBERNETES_NODE_SELECTOR_pool: services + # Overrides runner default pool=ci-compile + KUBERNETES_NODE_SELECTOR_pool: "pool=services" KUBERNETES_CPU_REQUEST: "200m" KUBERNETES_CPU_LIMIT: "500m" KUBERNETES_MEMORY_REQUEST: "256Mi"