Public bug reported:

The nova-manage placement heal_allocations tool predates nested
allocation support in nova. It gained explicit support for nested
allocation only in case if the nested resources are coming from the port
resource request [1]. If the resource request are coming from the flavor
extra_specs (e.g. resources:VGPU=1) then the tool assumes that such
resource can be fulfilled from the root resource provider[2][3]. This is
obviously wrong for the VGPU resource that are provided on nested
resource providers. Also [3] does not resolve cyborg device profiles to
request groups so that request is also ignored.

As --force flag allows recreating instance allocations even if the tool
does not detect a missing allocation using the tool on VGPU and Cyborg
instances could result in loosing otherwise correct resource
allocations. Loosing such resource allocation can lead to physical
resource over-allocation later.

[1] 
https://github.com/openstack/nova/blob/2ffd9738602531e93495a1feca76bbb687c3e72c/nova/cmd/manage.py#L1814
[2] 
https://github.com/openstack/nova/blob/2ffd9738602531e93495a1feca76bbb687c3e72c/nova/cmd/manage.py#L1700
[3] 
https://github.com/openstack/nova/blob/2ffd9738602531e93495a1feca76bbb687c3e72c/nova/scheduler/utils.py#L607-L614

** Affects: nova
     Importance: Wishlist
     Assignee: Sylvain Bauza (sylvain-bauza)
         Status: Confirmed


** Tags: nova-manage

** Tags added: nova-manage

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

Title:
  nova-manage placement heal_allocations does not support instances with
  VGPU or Cyborg device profile request

Status in OpenStack Compute (nova):
  Confirmed

Bug description:
  The nova-manage placement heal_allocations tool predates nested
  allocation support in nova. It gained explicit support for nested
  allocation only in case if the nested resources are coming from the
  port resource request [1]. If the resource request are coming from the
  flavor extra_specs (e.g. resources:VGPU=1) then the tool assumes that
  such resource can be fulfilled from the root resource provider[2][3].
  This is obviously wrong for the VGPU resource that are provided on
  nested resource providers. Also [3] does not resolve cyborg device
  profiles to request groups so that request is also ignored.

  As --force flag allows recreating instance allocations even if the
  tool does not detect a missing allocation using the tool on VGPU and
  Cyborg instances could result in loosing otherwise correct resource
  allocations. Loosing such resource allocation can lead to physical
  resource over-allocation later.

  [1] 
https://github.com/openstack/nova/blob/2ffd9738602531e93495a1feca76bbb687c3e72c/nova/cmd/manage.py#L1814
  [2] 
https://github.com/openstack/nova/blob/2ffd9738602531e93495a1feca76bbb687c3e72c/nova/cmd/manage.py#L1700
  [3] 
https://github.com/openstack/nova/blob/2ffd9738602531e93495a1feca76bbb687c3e72c/nova/scheduler/utils.py#L607-L614

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


-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to