csharp
public interface IFleetGrainA region's whole fleet: what exists, and what a rollout is aiming at.
Remarks
Keyed by the region. The singleton doc 27 § Grains describes, and the thing an escalation reaches when a drain cannot finish — which ends in a human or a maintenance window rather than in a kick.
Methods (6)
Task<ShardReport[]> Shards()Every shard in the region.
Task ShardChanged(ShardReport report)Told by a map grain when one of its shards changes.
Task Escalate(ShardId shard, string reason)A drain that could not finish.
Task<RealmVersion> Target()The version new shards are started on.
Task SetTarget(RealmVersion version)Points the fleet at a version. Rolling back is the same call with the old pair.
Task<double> VersionSpread()The fraction of shards not on Target — doc 27 § Upgrades' watched number.
Used by (1)
- FleetGrainVixen.Live.Orchestrator