feat(controller): wire real limits.yaml config through cluster_config

xcesched_push_configs() sent two hardcoded limit1/limits2 test
literals to the scheduler (behind a #if 0/FIXME "we use builtin limit
currently"), ignoring whatever was actually loaded from cluster_config.
Migrate those literals into limits.yaml as real entries and wire
conf4sched->nlimits/limits from c->myconf->cluster_config directly.

cluster_init_phase2 also downgrades its "cluster_config not loaded"
ERROR to INFO — a standby legitimately reaching phase2 before the
primary's config-push has delivered bytes yet is normal cold-boot
behavior, not a failure; it already matches load_primary_config's
INFO-level framing for the same condition.
This commit is contained in:
Rongsong Shen 2026-07-23 04:24:01 +00:00
parent 0649e17f62
commit 18e7a0e9e1
3 changed files with 45 additions and 49 deletions

View file

@ -47,3 +47,33 @@ limits:
- normal
resname: slots
value: 8
# migrated from src/controller/sched.c xcesched_push_configs()'s
# hardcoded limit1_config literal (all users except rshen, shared
# 3-slot cap)
- name: limit1
users:
members:
- all
exclude_members:
- rshen
resname: slots
value: 3.0
# migrated from src/controller/sched.c xcesched_push_configs()'s
# hardcoded limit2_config literal (rshen on the xce queue, per-user/
# per-queue/per-project/per-host 20% mem cap)
- name: limits2
per_user: true
per_queue: true
per_project: true
per_host: true
users:
members:
- rshen
queues:
members:
- xce
resname: mem
value: 0.2
percent: true