SIGN IN SIGN UP

dra: support derived attributes in structured allocator

Plumb the DRADerivedAttributes feature gate to the scheduler and the
experimental structured allocator, and implement runtime evaluation
and request-scoped caching of CEL-derived virtual attributes.

Specifically:
- Update the `allocator` struct to maintain a request-scoped cache of
  evaluated derived attributes (`derivedAttributesCache`), preventing
  leakage or interference when different requests/subrequests define
  conflicting CEL expressions for the same virtual attribute name.
- Implement unified attribute resolution in `lookupAttribute` that first
  resolves and caches derived attributes via CEL compilation and
  evaluation, falling back to static physical attributes on failure or
  absence.
- Refactor the `constraint` interface (`add` and `remove` methods) to
  receive the full `requestData` context, enabling constraints to leverage
  the allocator's unified request-aware attribute lookup.
- Plumb the `DRADerivedAttributes` feature gate through the scheduler's
  feature framework down to the allocator.
- Add allocator test cases covering cross-request hardware alignment
  (e.g. mapping `numa` and `numaNode` to a virtual shared numa node),
  attribute shadowing/overriding, and CEL evaluation error handling.
G
Gaurav Ghildiyal committed
f2b64488feabd3d7230c809cc8caf8bebba37f6a
Parent: a94cc46