← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1724589] [NEW] Unable to transition to Ironic Node Resource Classes in Pike

 

Public bug reported:

In Pike we ask people to:

* Update Ironic Node with a Resource Class
* Update flavors to request the new Resource Class (and not request VCPU, RAM, DISK), using the docs: https://docs.openstack.org/ironic/latest/install/configure-nova-flavors.html#scheduling-based-on-resource-classes

Consider this case:

* some old instances are running from before the updates
* some new instances are created after the updates

In placement:

* all inventory is correct, new resource class and legacy resource classes are both present
* old instance allocations: only request

In nova db:

* old instances and new instances correctly request the new resource class in their flavor
* new instances also include the anti-request for VCPU, DISK and RAM

Now this is the flow that shows the problem:

* get list of candidate allocations
* this includes nodes that already have instances on (they only claim part of the inventory, but the new instance is only requesting the bit of the inventory the old instance isn't using)
* boom, scheduling new instances fails after you hit the retry count, unless you got lucky and found a free slot by accident

Possible reason for this:

* Pike no longer updated instance allocations, if we updated the
allocations of old instances to request the new custom resource class
allocations, we would fix the above issue.

Possible work around:

* in the new flavor, keep requesting VCPU, RAM and CPU resources for
pike, fix that up in queens?

** Affects: nova
     Importance: High
         Status: New


** Tags: ironic placement

** Tags added: ironic placement

** Changed in: nova
   Importance: Undecided => High

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

Title:
  Unable to transition to Ironic Node Resource Classes in Pike

Status in OpenStack Compute (nova):
  New

Bug description:
  In Pike we ask people to:

  * Update Ironic Node with a Resource Class
  * Update flavors to request the new Resource Class (and not request VCPU, RAM, DISK), using the docs: https://docs.openstack.org/ironic/latest/install/configure-nova-flavors.html#scheduling-based-on-resource-classes

  Consider this case:

  * some old instances are running from before the updates
  * some new instances are created after the updates

  In placement:

  * all inventory is correct, new resource class and legacy resource classes are both present
  * old instance allocations: only request

  In nova db:

  * old instances and new instances correctly request the new resource class in their flavor
  * new instances also include the anti-request for VCPU, DISK and RAM

  Now this is the flow that shows the problem:

  * get list of candidate allocations
  * this includes nodes that already have instances on (they only claim part of the inventory, but the new instance is only requesting the bit of the inventory the old instance isn't using)
  * boom, scheduling new instances fails after you hit the retry count, unless you got lucky and found a free slot by accident

  Possible reason for this:

  * Pike no longer updated instance allocations, if we updated the
  allocations of old instances to request the new custom resource class
  allocations, we would fix the above issue.

  Possible work around:

  * in the new flavor, keep requesting VCPU, RAM and CPU resources for
  pike, fix that up in queens?

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


Follow ups