Admins sometimes need to take a node out of service temporarily, eg. to fix some hardware problem. Right now, the only way to stop Ironic from attempting to manage a node is to delete it. There should be a means to mark it as temporarily unavailable, eg, "in maintenance mode."
Furthermore, this should be possible while an instance is provisioned on the node -- and it should not immediately or adversely affect the management or operation of that instance. Maintenance-mode should only prevent certain actions, eg:
- the association of a new instance
- deployment of an image associated with an instance
It should not prevent the admin from doing such things as:
- accessing serial console
- managing power state
- deleting an instance
- [future] updating firmware
- [future] booting into a recovery or utility ramdisk, eg. to triage the hardware fault
Ideally this would remove the node from the scheduler immediately to avoid retry-fail loops against it.