The master will need to do a number of things to implement the maintenance primitives:
- For machines that have a maintenance window:
- Disambiguate machines to agents.
- For unused resources, offers must be augmented with an Unavailability.
- For used resources, inverse offers must be sent.
- For inverse offers:
- Filter them before sending them again.
- For declined inverse offers, do something with the reason (store or log).
- Recover the maintenance information upon failover.
Note: Some amount of this logic will need to be placed in the allocator.