When updating node's driver do not try to load the new driver

Bug #1437276 reported by Lucas Alvares Gomes
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ironic
Invalid
Medium
Unassigned

Bug Description

When updating node's driver Ironic will try to load the new driver when it calls task_manager.acquire(), but if the new driver is not enabled on the current conductor managing the node (prior to update) that will fail.

We should not try to load the new driver on the current conductor but just verify if there's any conductor in the cluster that can handle that driver. I suggest doing that by checking the rpcapi.get_topic_for_driver()

Here's a snippet of the current code.

ironic/conductor/manager.py : ConductorManager.update_node()
<snippet>

 driver_name = node_obj.driver if 'driver' in delta else None
 with task_manager.acquire(context, node_id, shared=False,
                           driver_name=driver_name):
     ...

</snippet>

description: updated
Changed in ironic:
assignee: nobody → Lucas Alvares Gomes (lucasagomes)
importance: Undecided → Medium
milestone: none → kilo-rc1
summary: - When updating node's driver do not try to load the new driver on the
- current conductor managing it
+ When updating node's driver do not try to load the new driver
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to ironic (master)

Fix proposed to branch: master
Review: https://review.openstack.org/168307

Changed in ironic:
status: New → In Progress
Revision history for this message
Lucas Alvares Gomes (lucasagomes) wrote :
Changed in ironic:
status: In Progress → Invalid
assignee: Lucas Alvares Gomes (lucasagomes) → nobody
milestone: kilo-rc1 → none
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on ironic (master)

Change abandoned by Lucas Alvares Gomes (<email address hidden>) on branch: master
Review: https://review.openstack.org/168307

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.