← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1289048] Re: Ironic nova driver spawn() makes too many redundant calls

 

This bug should now be fixed in Nova, as Ironic driver now lives there

** Summary changed:

- nova virt driver performance issue
+ Ironic nova driver spawn() makes too many redundant calls

** Also affects: nova
   Importance: Undecided
       Status: New

** Changed in: ironic
       Status: Triaged => Invalid

-- 
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/1289048

Title:
  Ironic nova driver spawn() makes too many redundant calls

Status in OpenStack Bare Metal Provisioning Service (Ironic):
  Invalid
Status in OpenStack Compute (Nova):
  New

Bug description:
  The nova virt driver has a scale issue in that it makes way too many
  API calls, especially on behalf of spawn. I have submitted a review to
  remove at least 2 API calls by not having to re-query the node when
  plugging vifs.  But after that, we are still left with for spawn:

  spawn() gets node from Ironic
  spawn() updates node
  spawn() -> _add_driver_fields() updates node 'n' times where 'n' is # of required pxe fields
  spawn() makes a node validate call
  spawn() -> _plug_vifs() -> _unplug_vifs() lists ports.
  spawn() -> _plug_vifs() -> _unplug_vifs() makes 'n' calls to update ports where 'n' is number of ports.
  spawn() -> _plug_vifs() lists ports.
  spawn() -> _plug_vifs() makes 'n' calls to update ports where 'n' is number of ports.
  spawn() updates node to set 'active' provision state

  We need to figure out a way to make batch calls for some of these,
  IMO.

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