fix(infra): rename L4 pool ci-compile → ci-rl, remove stale moved blocks

Applied terragrunt to recreate the L4 GPU pool with the correct name
`ci-rl` (was `ci-compile` due to immutable Scaleway pool names).
Updated all K8s manifests and comments to match. Removed the 3 stale
`moved` blocks from main.tf since the state renames are now applied.

Pool naming is now consistent across Terraform, Scaleway, and K8s configs:
- ci-compile-cpu (POP2-32C-128G) — CPU compilation
- ci-rl (L4-1-24G) — RL training / CUDA compile
- ci-training (L40S-1-48G) — supervised training + hyperopt

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
jgrusewski
2026-03-01 13:59:44 +01:00
parent a27ff8790c
commit c97c02677e
5 changed files with 5 additions and 24 deletions

View File

@@ -9,7 +9,7 @@
# kapsule,rust → CPU runner → ci-compile-cpu pool (POP2-32C-128G, 32 vCPU)
# kapsule,gpu → GPU runner → ci-training (L40S)
# Override nodeSelector: KUBERNETES_NODE_SELECTOR_k8s.scaleway.com/pool-name: "<name>" (k=v format)
# Pools: ci-compile-cpu (POP2-32C-128G), ci-compile (L4 compile), ci-training (L40S training), services, gitlab
# Pools: ci-compile-cpu (POP2-32C-128G), ci-rl (L4 GPU), ci-training (L40S training), services, gitlab
# All compilation (services + training) runs on ci-compile-cpu. CUDA stubs in ci-builder image.
# Ensure pipeline is always created — individual job rules handle filtering.

View File

@@ -94,7 +94,7 @@
4. Repeat for gitlab pool (if not autoscaling, same process).
5. Autoscaling pools (ci-training, ci-compile, gpu-dev):
5. Autoscaling pools (ci-training, ci-rl, gpu-dev):
- No action needed — next scale-up automatically uses private IP.
6. Verify Tailscale still works:

View File

@@ -1,5 +1,5 @@
# NVIDIA DCGM Exporter — GPU metrics for Cockpit
# Runs on all GPU node pools (ci-training, ci-compile, gpu-dev)
# Runs on all GPU node pools (ci-training, ci-rl, gpu-dev)
# Alloy auto-discovers and scrapes these pods via annotations
---
apiVersion: v1

View File

@@ -1,5 +1,5 @@
# DaemonSet image pre-puller — keeps training images cached on GPU nodes
# Runs on ci-compile (L4) and ci-training (L40S) pools so training jobs skip the pull.
# Runs on ci-rl (L4) and ci-training (L40S) pools so training jobs skip the pull.
# Init containers pull :latest tags, then the main container sleeps forever.
---
apiVersion: apps/v1
@@ -27,8 +27,7 @@ spec:
- key: k8s.scaleway.com/pool-name
operator: In
values:
- ci-compile
- ci-compile # remove after terragrunt apply renames pool
- ci-rl
- ci-training
tolerations:
- key: nvidia.com/gpu

View File

@@ -1,21 +1,3 @@
# Terraform state renames — prevents destroy+recreate of state entries.
# Pool name attribute changes (always-on→services, ci-build→ci-training)
# will still force replacement since Scaleway pool names are immutable.
moved {
from = scaleway_k8s_pool.always_on
to = scaleway_k8s_pool.services
}
moved {
from = scaleway_k8s_pool.ci_build
to = scaleway_k8s_pool.ci_training
}
moved {
from = scaleway_k8s_pool.ci_compile
to = scaleway_k8s_pool.ci_rl
}
resource "scaleway_vpc_private_network" "foxhunt" {
name = "${var.cluster_name}-pn"
region = var.region