← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1816034] Re: Ironic flavor migration and default resource classes

 

** Changed in: nova
     Assignee: Matt Riedemann (mriedem) => (unassigned)

** Changed in: nova
       Status: In Progress => Triaged

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

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

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

Title:
  Ironic flavor migration and default resource classes

Status in OpenStack Compute (nova):
  Triaged
Status in OpenStack Compute (nova) rocky series:
  Triaged
Status in OpenStack Compute (nova) stein series:
  New
Status in OpenStack Compute (nova) train series:
  New

Bug description:
  The Ironic flavor migration to use resource classes happened in
  Pike/Queens.

  The flavors and the instances needed to be upgraded with the correct resource class.
  This was done by an online data migration. 
  Looking into Rocky code: ironic.driver._pike_flavor_migration
  There is also an offline data migration using nova-manage.

  These migrations added the node resource class into
  instance_extra.flavor however I don't see that they also included the
  default resource classes (VCPU, MEMORY_MB, DISK_GB) set to 0.

  Looking into Rocky code there is also a TODO in _pike_flavor_migration:
  "This code can be removed in Queens, and will need to be updated to also alter extra_specs to zero-out the old-style standard resource classes of VCPU, MEMORY_MB, and DISK_GB."

  Currently all my Ironic instances have the correct node resource class
  defined, but "old" instances (created before the flavor migration)
  don't have VCPU, MEMORY_MB, DISK_GB set to 0, in
  instance_extra.flavor.

  In Rocky the resource tracker raises the following message:
  "There was a conflict when trying to complete your request.\n\n Unable to allocate inventory: Inventory for 'VCPU' on resource provider XXXX invalid.  ", "title": "Conflict"

  because it tries to update the allocation but the inventory doesn't
  have vcpu resources.

  
  ---
  As mitigation we now have: "requires_allocation_refresh = False" in the Ironic Driver.

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


References