[RFE] Ironic-set maintenance conditions should be different than operator-set maintenance
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ironic |
Fix Released
|
Wishlist
|
Kaifeng Wang |
Bug Description
Currently, Ironic's API and data model makes no differentiation between Ironic setting maintenance on a node (for instance, when cleaning fails, or when the power status loop cannot contact the BMC) and an operator setting maintenance on a node (an explicit API action).
I propose to add a field on the node so that Ironic sees a fault on a node, it explicitly identifies it as detected by Ironic, separate from operator set maintenance and maintenance_reason.
This new field on the node would not be boolean, as the current maintenance mode is, but instead should explicitly indicate what kind of issue is going on. This would enable periodic tasks to be created to clean up specific kinds of failures. The classic example of this would be an unreachable BMC caused by temporary network issues. The machine could be put into a fault state indicating the BMC is unreachable, and periodically a task could attempt to reestablish contact with the BMC. If it does, the node could be removed from the fault state. This pattern could be completed for several different types of faults, including cleaning failures caused by timeout while waiting for an agent to heartbeat.
Changed in ironic: | |
status: | New → Confirmed |
summary: |
- [RFC] Ironic-set maintenance conditions should be different than + [RFE] Ironic-set maintenance conditions should be different than operator-set maintenance |
tags: | added: needs-spec |
Changed in ironic: | |
assignee: | Kaifeng Wang (kaifeng) → Julia Kreger (juliaashleykreger) |
Changed in ironic: | |
assignee: | Julia Kreger (juliaashleykreger) → Kaifeng Wang (kaifeng) |
Related fix proposed to branch: master /review. openstack. org/334113
Review: https:/