docs(spec): host state never changes pools or shares; the scheduler skips unusable hosts
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
d1be84cd66
commit
d769b746fa
2 changed files with 5 additions and 3 deletions
|
|
@ -183,7 +183,7 @@ This feature makes projects first-class cluster configuration entities that cont
|
|||
|
||||
#### Acceptance Criteria
|
||||
1. The Scheduler shall divide the hosts, separately for each resource, into disjoint pools: one per host group named as a location in any share of that resource, and the rest of the cluster (all other hosts); all of Requirement 6 applies to each pool of each resource on its own, an unlocated share being a share in the rest-of-cluster pool.
|
||||
2. The Scheduler shall take a pool's capacity of a resource as the static total of that resource over the pool's registered hosts, including hosts that are down or closed and excluding decommissioned ones, so capacity changes only when hosts join, are added to or removed from a location's host group, or are decommissioned.
|
||||
2. The Scheduler shall take a pool's capacity of a resource as the static total of that resource over the pool's registered hosts, including hosts that are down or closed and excluding decommissioned ones, so capacity changes only when hosts join, are added to or removed from a location's host group, or are decommissioned. A change in a host's state (down, unavailable, closed, reopened) shall change no pool, capacity or share; when placing a job, the Scheduler only skips the hosts it cannot use.
|
||||
3. The Scheduler shall compute each project's effective share of a resource in a pool as its absolute amount, or as its percentage of its parent's effective share in that pool; a top-level project's percentage is of the pool's capacity.
|
||||
4. The Scheduler shall charge a job's allocation of a resource on a host to the pool that host belongs to for that resource.
|
||||
5. If a host joining the cluster belongs to two location host groups named for the same resource, then the Scheduler shall place it in the first such location in configuration order and log a warning naming the host, the resource and both groups.
|
||||
|
|
|
|||
|
|
@ -235,8 +235,10 @@ them:
|
|||
is 100% of every resource at a location.
|
||||
- **Pool capacity** is the static total of the resource over the pool's
|
||||
registered hosts, including down and closed hosts, excluding
|
||||
decommissioned ones; elastic hosts count once joined. A heartbeat loss
|
||||
never moves shares.
|
||||
decommissioned ones; elastic hosts count once joined. Host state
|
||||
(down, unavailable, closed) never changes a pool, its capacity or any
|
||||
share (user, 2026-10-13); the scheduler just skips hosts it cannot use
|
||||
when placing a job.
|
||||
- **No shares, no change.** A resource for which no project declares a
|
||||
share is unassigned at the root: no cap, today's behaviour.
|
||||
- **Shares are per resource** (slots, mem, gpu, licences, ...): a project
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue