fix(admin-config-tool): resolve xceadmin config build warnings

Cross-reference warnings ("references undefined entry") were genuine
gaps in the example configs, not validator bugs: src/configs/hosts.yaml
had a typo'd resource ref (mg -> mem) and referenced a nonexistent
host3/hostgroup pair; queues.yaml referenced hgroup1/hgroup2/ugroup1
instead of the real hg1/ug1 names; resources.yaml was missing the
r1m/r15s/tmp built-in worker load-index resources
(worker/src/resource_sync.c's init_builtin_load_indices()). Added the
missing host3 host, hg2 hostgroup, ug2 usergroup, and three resource
entries; fixed the typo'd refs.

"schema-valid but has no ClusterConfig destination" warnings for
resources.yaml's type/order/consumable/release fields were a real gap
in xcecommon/mapping.py's _build_resource, not an inherent limitation
-- the encoding (XCE_VAL_*/xce_order_t/XCE_RESF_CONSUMABLE/
XCE_RESF_RELEASE) is documented in include/xce/types.h and actively
read by the scheduler; the old docstring's claim that it was
undocumented was wrong. Only resourcemap remains genuinely unmapped
(its capnp destination fields are commented out).

Updated test_mapping.py/test_config_build.py for the new mapping
behavior and regenerated the full golden fixture's expected.bin
(legitimate representation-drift from the mapping fix, not a bug).
This commit is contained in:
Rongsong Shen 2026-07-23 09:10:14 +00:00
parent 4ec401672b
commit 1705495a5e
9 changed files with 139 additions and 32 deletions

View file

@ -6,7 +6,7 @@ hosts:
max_slot: -1
description: "default host"
resource:
- name: mg
- name: mem
- name: maxswap
value: 10000
sched_stop:
@ -30,10 +30,20 @@ hosts:
- name: gstring
value: "This is a G string"
- hostname: host3
type: "x86_64-linux-gnu"
model: "x86_64-linux-gnu"
max_slot: 128
hostgroups:
- groupname: hg1
members:
- all
exclude_members: [h3]
exclude_members: [host3]
- groupname: hg2
members:
- worker2
- host3

View file

@ -68,8 +68,8 @@ queues:
- user3
hosts:
members:
- hgroup1
- hgroup2
- hg1
- hg2
exclude_members:
- host3
@ -87,8 +87,8 @@ queues:
backfill: true
users:
members:
- ugroup1
- ug1
hosts:
members:
- hgroup1
- hg1

View file

@ -15,6 +15,29 @@ resources:
order: decrease
description: "available memory in MB (built-in dynamic load index)"
# built-in: worker load indices registered by
# worker/src/resource_sync.c init_builtin_load_indices()
- name: r1m
type: numeric
interval: 60
consumable: false
order: decrease
description: "1-minute load average (built-in dynamic load index)"
- name: r15s
type: numeric
interval: 60
consumable: false
order: decrease
description: "15-second load average (built-in dynamic load index)"
- name: tmp
type: numeric
interval: 60
consumable: false
order: decrease
description: "available tmp disk space in MB (built-in dynamic load index)"
# built-in host attributes, registered per-worker by
# controller/worker.c add_hostattrs_resvals()
- name: type

View file

@ -1,8 +1,13 @@
---
#define usergroup share
#define usergroup share
usergroups:
- groupname: ug1
members:
- user1
- user2
- groupname: ug2
members:
- user3
- user4