yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #20703
[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