← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1704231] Re: Ironic driver calling _get_node() with nodename

 

Reviewed:  https://review.openstack.org/485803
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=b890eec613a17f2a1c7b801f5fecce2aadbe5101
Submitter: Jenkins
Branch:    master

commit b890eec613a17f2a1c7b801f5fecce2aadbe5101
Author: Robert Ellis <bob.ellis42@xxxxxxxxx>
Date:   Thu Jul 20 15:07:04 2017 -0500

    Clarifying node_uuid usage in ironic driver.
    
    Original bug text:
    The _get_node() method in the Ironic virt driver has the following
    signature and docstring:
    
        def _get_node(self, node_uuid):
            """Get a node by its UUID."""
    
    However, there are 4 places in the code where this method is called
    that passes the string for the nodename instead:
    
    node_is_available()
    _node_from_cache()
    plug_vifs()
    unplug_vifs()
    
    I don't know how any of these are working, but I guess the periodic
    update that correctly calls _get_node() with a UUID keeps the node
    cache current.
    Original bug text END!
    
    This change addresses bug 1704231. In the Ironic driver nodename is
    often times used because the inherited class uses nodename for method
    parameters. However the ironic driver doesn't actually use the
    nodename but uses node_uuid. Driver.py is update by code in some
    places and documentation in others to try to make it more clear
    that node_uuid is being used without changing the signature of the
    methods that are inhereted.
    
    Change-Id: I3b69c7d90ed40816e740a2a609c115312fb466ac
    Closes-Bug: #1704231


** Changed in: nova
       Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1704231

Title:
  Ironic driver calling _get_node() with nodename

Status in OpenStack Compute (nova):
  Fix Released

Bug description:
  The _get_node() method in the Ironic virt driver has the following
  signature and docstring:

      def _get_node(self, node_uuid):
          """Get a node by its UUID."""

  However, there are 4 places in the code where this method is called
  that passes the string for the nodename instead:

  node_is_available()
  _node_from_cache()
  plug_vifs()
  unplug_vifs()

  I don't know how any of these are working, but I guess the periodic
  update that correctly calls _get_node() with a UUID keeps the node
  cache current.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1704231/+subscriptions


References