sync_power_states does not handle missing driver info well
Bug #1262912 reported by
aeva black
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ironic |
Fix Released
|
High
|
Ruby Loo |
Bug Description
The ConductorManage
sync_power_state should catch the exceptions, log them, and continue checking other nodes.
Changed in ironic: | |
status: | New → Triaged |
importance: | Undecided → High |
milestone: | none → icehouse-2 |
tags: | added: low-hanging-fruit |
Changed in ironic: | |
assignee: | nobody → Ruby Loo (rloo) |
Changed in ironic: | |
status: | Fix Committed → Fix Released |
Changed in ironic: | |
milestone: | icehouse-2 → 2014.1 |
To post a comment you must log in.
@Devananda, I checked code - https:/ /github. com/openstack/ ironic/ blob/master/ ironic/ conductor/ manager. py#L331, ConductorManage r._sync_ power_states( ) call driver. power.get_ power_state( ) to get current power state, sync the state and save the state to database, and handle exception. NodeLocked, exception. NodeNotFound exceptions, will not call node.driver. power.validate( ). r._sync_ power_states( ) periodic task will continue checking power states if one node has wrong driver configurations. So just has concern here how to reproduce this issue, and try to fix it.
And I try to recreate this issue with my local env, just set wrong driver_info, and our ConductorManage