Can execution fit?
CPU, memory, and inherited workload placement constraints filter nodes.
Investigation 026 - Persistent State Principles
A healthy node and a healthy volume can still form an impossible placement when each belongs to a different topology.
Begin the investigation downPrologue
The scheduler chooses a node with available CPU and memory. The persistent volume remains healthy in another topology. Attachment never becomes possible.
Storage outlives execution.
Storage can follow any valid compute placement.
The chosen node cannot reach the required volume.
How should a platform place computation when storage has location?
First Principles
Compute feasibility and storage reachability are different constraint sets. A destination is valid only when it belongs to both.
CPU, memory, and inherited workload placement constraints filter nodes.
Hardware, zone, or another topology boundary may filter the same nodes.
An unreachable node is infeasible, not merely less desirable.
Storage topology is a correctness filter when it makes attachment impossible. Ranking among feasible outcomes remains policy.
Topology observations are reports from a distributed system. They may be delayed or incomplete; no instant global view is assumed.
Naive Architecture
The scheduler owns workload placement. The storage subsystem owns persistence. Each makes its decision independently, preserving clean responsibility boundaries.
The Architecture That Almost Worked
For universally reachable storage, this decomposition works. For storage with geography, each owner sees a valid local decision while neither can guarantee a valid combined outcome.
It filters compute candidates from the evidence available to it.
It creates, preserves, and exposes storage within its own constraints.
Independent ownership remains correct. Independent placement does not always remain correct.
Breaking Our Design
Each expanded experiment starts from its own clean model and stops at its assigned discovery.
Pressure. Node A in zone-a and Node B in zone-b are compute-feasible. A required healthy volume already exists in zone-a.
Prediction. A scheduler using compute constraints alone may choose Node B and expect attachment to follow.
Choose compute, reveal topology, attempt attachment.
Node B and the volume are healthy.
Different zones make the pair incompatible.
Reachability must be visible to scheduling.
What if topology is visible from the start?
No conclusion about commitment timing yet.
This model assumes the observed zone-a location for illustration. In reality, topology evidence may be delayed or incomplete.
Pressure. Storage topology is visible from the start. Zone-a compute is full; zone-b compute is available.
Prediction. Binding storage in zone-a before evaluating compute may leave no compatible outcome.
Commit storage, then evaluate both constraints.
Storage reaches zone-a; capacity exists in zone-b.
The feasible intersection is empty.
Compatibility must remain unresolved before commitment.
How should applications express storage need?
No application abstraction introduced yet.
Pressure. The application directly names fast-ssd-zone-a. Another environment provides equivalent properties under different provider and tier identities.
Prediction. The application description will fail to migrate even when its actual requirements can be met.
Migrate identity, express properties, map locally, coordinate.
Equivalent capability exists under another name.
Infrastructure identity couples the application.
Applications state properties; platforms map them.
Coordinate both feasible sets before commitment.
Provider participation belongs to INV-027.
The Turning Point
Coordination changes how decisions interact. It does not transfer ownership.
The Storage Placement Contract
When persistent storage possesses placement constraints, computation and storage become one coordinated placement problem, even though they remain independently owned resources.
Location that makes attachment impossible filters execution candidates.
Neither resource becomes permanent while compatibility remains unresolved.
Evaluate compute and storage feasibility before committing both decisions.
Applications state required properties; the platform selects local implementation.
The scheduler owns workload placement. The storage subsystem owns storage lifecycle. The platform coordinates their decisions.
The contract requires coordinated correctness, not a universal transaction mechanism, instant observation, or one ranking policy.
Only Now: Kubernetes
A StorageClass lets an application request a class of storage properties without directly naming one backend identity. The platform maps that request to infrastructure available in the cluster.
volumeBindingMode: WaitForFirstConsumer delays binding and dynamic provisioning until a consuming Pod exists. That delay allows Pod scheduling constraints to inform storage topology rather than committing storage location independently.
The workload requests a class rather than selecting a provider mechanism.
The scheduler considers volume requirements with workload feasibility.
At a high level, volume topology constrains which nodes may use a bound volume.
Not every StorageClass or backend is topology constrained. Delayed binding does not guarantee provisioning or attachment will succeed under partial failure, stale evidence, exhausted capacity, or backend failure.
How providers participate belongs to INV-027. Stateful workload identity belongs to INV-028.
Engineering Reflection
Independent ownership does not imply independent placement.
When storage is universally reachable or data is ephemeral or reconstructable, coordination may add cost without improving correctness.
When one resource constrains where another may exist, both constraints must be respected before commitment.
The platform evaluates compute and storage feasibility together.
Decisions depend on delayed information from independent owners.
Commitment waits while compatibility is established.
Healthy components may still have an empty feasible intersection.
Investigation Exercise
A volume exists in zone-a while free compute exists only in zone-b. Predict each outcome.
Compare compute first, storage first, and coordinated placement.
Ask whether each strategy can eliminate every valid outcome.
Separate individual component health from collective feasibility.
Bridge to INV-027
Computation and storage now participate in one placement outcome.
Applications express required properties rather than infrastructure identities.
The scheduler and storage subsystem retain independent ownership.
Local disks, cloud volumes, and storage appliances expose different operations.
The platform cannot grow by learning each implementation directly.
This investigation inherits constraint filtering, desired-state reconciliation, and independent responsibility from earlier investigations. Its placement lineage includes Borg and Omega, while it applies those inherited ideas to two resources whose placement constraints participate in one outcome. It does not claim that Borg or Omega introduced Kubernetes volume binding or topology-aware provisioning.