Public bug reported:

Description
===========
When a user attempts to resize an instance with memory encryption enabled, API 
returns 500 error consistently.
Looking into nova-api.log, it seems the issue is caused by a mechanism similar 
to https://bugs.launchpad.net/nova/+bug/2041511 .

Steps to reproduce
==================
* Create an image with hw_mem_encryption=True
 $ openstack image create encrypted ...
 $ openstack image set encrypted --property hw_mem_encryption=True

* Create an instance
 $ openstack server create testinstance --image encrypted --flavor flavor1 ...

* Resize the instance
 $ openstack server resize testinstance --flavor flavor2 

Expected result
===============
Instance resize is accepted and processed by nova, without errors

Actual result
=============
Nova api returns 500 error and does not accept the request

Environment
===========

1. Exact version of OpenStack you are running. See the following
  list for all releases: http://docs.openstack.org/releases/

Ubuntu 22.04 and UCA bobcat.

# dpkg -l | grep nova
ii nova-api 3:28.0.0-0ubuntu1~cloud0 all OpenStack Compute - API frontend
ii nova-common 3:28.0.0-0ubuntu1~cloud0 all OpenStack Compute - common files
ii nova-compute 3:28.0.0-0ubuntu1~cloud0 all OpenStack Compute - compute node 
base
ii nova-compute-kvm 3:28.0.0-0ubuntu1~cloud0 all OpenStack Compute - compute 
node (KVM)
ii nova-compute-libvirt 3:28.0.0-0ubuntu1~cloud0 all OpenStack Compute - 
compute node libvirt support
ii nova-conductor 3:28.0.0-0ubuntu1~cloud0 all OpenStack Compute - conductor 
service
ii nova-novncproxy 3:28.0.0-0ubuntu1~cloud0 all OpenStack Compute - NoVNC proxy
ii nova-scheduler 3:28.0.0-0ubuntu1~cloud0 all OpenStack Compute - virtual 
machine scheduler
ii python3-nova 3:28.0.0-0ubuntu1~cloud0 all OpenStack Compute Python 3 
libraries
ii python3-novaclient 2:18.4.0-0ubuntu1~cloud0 all client library for OpenStack 
Compute API - 3.x

2. Which hypervisor did you use?
Libvirt + KVM

3. Which storage type did you use?
LVM

4. Which networking type did you use?
ml2 + ovs

Logs & Configs
==============
The following traceback is found in nova-api.log

```
2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi [None 
req-20b9b69c-a792-45cd-8520-7e9cd3387c0d 838cd42e04884ddfa8ec4ac11e2f8818 
baf003aa0202430a92edd003f98794a3 - - default default] Unexpected exception in 
API method: NotImplementedError: Cannot load 'id' in the base class
2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi Traceback (most 
recent call last):
2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi   File 
"/usr/lib/python3/dist-packages/nova/api/openstack/wsgi.py", line 658, in 
wrapped
2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi     return f(*args, 
**kwargs)
2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi   File 
"/usr/lib/python3/dist-packages/nova/api/validation/__init__.py", line 110, in 
wrapper
2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi     return 
func(*args, **kwargs)
2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi   File 
"/usr/lib/python3/dist-packages/nova/api/openstack/compute/servers.py", line 
1146, in _action_resize
2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi     
self._resize(req, id, flavor_ref, **kwargs)
2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi   File 
"/usr/lib/python3/dist-packages/nova/api/openstack/compute/servers.py", line 
1060, in _resize
2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi     
self.compute_api.resize(context, instance, flavor_id,
2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi   File 
"/usr/lib/python3/dist-packages/nova/compute/api.py", line 389, in inner
2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi     return 
function(self, context, instance, *args, **kwargs)
2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi   File 
"/usr/lib/python3/dist-packages/nova/compute/api.py", line 374, in wrapper
2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi     return 
func(self, context, instance, *args, **kwargs)
2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi   File 
"/usr/lib/python3/dist-packages/nova/compute/api.py", line 357, in wrapper
2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi     return 
func(self, context, instance, *args, **kwargs)
2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi   File 
"/usr/lib/python3/dist-packages/nova/compute/api.py", line 242, in inner
2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi     return 
function(self, context, instance, *args, **kwargs)
2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi   File 
"/usr/lib/python3/dist-packages/nova/compute/api.py", line 168, in inner
2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi     return f(self, 
context, instance, *args, **kw)
2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi   File 
"/usr/lib/python3/dist-packages/nova/compute/api.py", line 232, in wrapped
2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi     return 
function(self, context, instance, *args, **kwargs)
2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi   File 
"/usr/lib/python3/dist-packages/nova/compute/api.py", line 4270, in resize
2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi     
self._validate_flavor_image_nostatus(
2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi   File 
"/usr/lib/python3/dist-packages/nova/compute/api.py", line 830, in 
_validate_flavor_image_nostatus
2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi     
API._validate_flavor_image_numa_pci(
2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi   File 
"/usr/lib/python3/dist-packages/nova/compute/api.py", line 880, in 
_validate_flavor_image_numa_pci
2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi     
hardware.get_mem_encryption_constraint(flavor, image_meta)
2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi   File 
"/usr/lib/python3/dist-packages/nova/virt/hardware.py", line 1195, in 
get_mem_encryption_constraint
2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi     image_meta.id)
2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi   File 
"/usr/lib/python3/dist-packages/oslo_versionedobjects/base.py", line 67, in 
getter
2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi     
self.obj_load_attr(name)
2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi   File 
"/usr/lib/python3/dist-packages/oslo_versionedobjects/base.py", line 600, in 
obj_load_attr
2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi     raise 
NotImplementedError(
2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi 
NotImplementedError: Cannot load 'id' in the base class
2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi
```

** Affects: nova
     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/2047399

Title:
  nova api returns 500 when resizing an instance with memory encryption
  enabled

Status in OpenStack Compute (nova):
  New

Bug description:
  Description
  ===========
  When a user attempts to resize an instance with memory encryption enabled, 
API returns 500 error consistently.
  Looking into nova-api.log, it seems the issue is caused by a mechanism 
similar to https://bugs.launchpad.net/nova/+bug/2041511 .

  Steps to reproduce
  ==================
  * Create an image with hw_mem_encryption=True
   $ openstack image create encrypted ...
   $ openstack image set encrypted --property hw_mem_encryption=True

  * Create an instance
   $ openstack server create testinstance --image encrypted --flavor flavor1 ...

  * Resize the instance
   $ openstack server resize testinstance --flavor flavor2 

  Expected result
  ===============
  Instance resize is accepted and processed by nova, without errors

  Actual result
  =============
  Nova api returns 500 error and does not accept the request

  Environment
  ===========

  1. Exact version of OpenStack you are running. See the following
    list for all releases: http://docs.openstack.org/releases/

  Ubuntu 22.04 and UCA bobcat.

  # dpkg -l | grep nova
  ii nova-api 3:28.0.0-0ubuntu1~cloud0 all OpenStack Compute - API frontend
  ii nova-common 3:28.0.0-0ubuntu1~cloud0 all OpenStack Compute - common files
  ii nova-compute 3:28.0.0-0ubuntu1~cloud0 all OpenStack Compute - compute node 
base
  ii nova-compute-kvm 3:28.0.0-0ubuntu1~cloud0 all OpenStack Compute - compute 
node (KVM)
  ii nova-compute-libvirt 3:28.0.0-0ubuntu1~cloud0 all OpenStack Compute - 
compute node libvirt support
  ii nova-conductor 3:28.0.0-0ubuntu1~cloud0 all OpenStack Compute - conductor 
service
  ii nova-novncproxy 3:28.0.0-0ubuntu1~cloud0 all OpenStack Compute - NoVNC 
proxy
  ii nova-scheduler 3:28.0.0-0ubuntu1~cloud0 all OpenStack Compute - virtual 
machine scheduler
  ii python3-nova 3:28.0.0-0ubuntu1~cloud0 all OpenStack Compute Python 3 
libraries
  ii python3-novaclient 2:18.4.0-0ubuntu1~cloud0 all client library for 
OpenStack Compute API - 3.x

  2. Which hypervisor did you use?
  Libvirt + KVM

  3. Which storage type did you use?
  LVM

  4. Which networking type did you use?
  ml2 + ovs

  Logs & Configs
  ==============
  The following traceback is found in nova-api.log

  ```
  2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi [None 
req-20b9b69c-a792-45cd-8520-7e9cd3387c0d 838cd42e04884ddfa8ec4ac11e2f8818 
baf003aa0202430a92edd003f98794a3 - - default default] Unexpected exception in 
API method: NotImplementedError: Cannot load 'id' in the base class
  2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi Traceback (most 
recent call last):
  2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi   File 
"/usr/lib/python3/dist-packages/nova/api/openstack/wsgi.py", line 658, in 
wrapped
  2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi     return 
f(*args, **kwargs)
  2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi   File 
"/usr/lib/python3/dist-packages/nova/api/validation/__init__.py", line 110, in 
wrapper
  2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi     return 
func(*args, **kwargs)
  2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi   File 
"/usr/lib/python3/dist-packages/nova/api/openstack/compute/servers.py", line 
1146, in _action_resize
  2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi     
self._resize(req, id, flavor_ref, **kwargs)
  2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi   File 
"/usr/lib/python3/dist-packages/nova/api/openstack/compute/servers.py", line 
1060, in _resize
  2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi     
self.compute_api.resize(context, instance, flavor_id,
  2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi   File 
"/usr/lib/python3/dist-packages/nova/compute/api.py", line 389, in inner
  2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi     return 
function(self, context, instance, *args, **kwargs)
  2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi   File 
"/usr/lib/python3/dist-packages/nova/compute/api.py", line 374, in wrapper
  2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi     return 
func(self, context, instance, *args, **kwargs)
  2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi   File 
"/usr/lib/python3/dist-packages/nova/compute/api.py", line 357, in wrapper
  2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi     return 
func(self, context, instance, *args, **kwargs)
  2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi   File 
"/usr/lib/python3/dist-packages/nova/compute/api.py", line 242, in inner
  2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi     return 
function(self, context, instance, *args, **kwargs)
  2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi   File 
"/usr/lib/python3/dist-packages/nova/compute/api.py", line 168, in inner
  2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi     return 
f(self, context, instance, *args, **kw)
  2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi   File 
"/usr/lib/python3/dist-packages/nova/compute/api.py", line 232, in wrapped
  2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi     return 
function(self, context, instance, *args, **kwargs)
  2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi   File 
"/usr/lib/python3/dist-packages/nova/compute/api.py", line 4270, in resize
  2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi     
self._validate_flavor_image_nostatus(
  2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi   File 
"/usr/lib/python3/dist-packages/nova/compute/api.py", line 830, in 
_validate_flavor_image_nostatus
  2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi     
API._validate_flavor_image_numa_pci(
  2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi   File 
"/usr/lib/python3/dist-packages/nova/compute/api.py", line 880, in 
_validate_flavor_image_numa_pci
  2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi     
hardware.get_mem_encryption_constraint(flavor, image_meta)
  2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi   File 
"/usr/lib/python3/dist-packages/nova/virt/hardware.py", line 1195, in 
get_mem_encryption_constraint
  2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi     image_meta.id)
  2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi   File 
"/usr/lib/python3/dist-packages/oslo_versionedobjects/base.py", line 67, in 
getter
  2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi     
self.obj_load_attr(name)
  2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi   File 
"/usr/lib/python3/dist-packages/oslo_versionedobjects/base.py", line 600, in 
obj_load_attr
  2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi     raise 
NotImplementedError(
  2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi 
NotImplementedError: Cannot load 'id' in the base class
  2023-12-26 08:02:19.371 30791 ERROR nova.api.openstack.wsgi
  ```

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/2047399/+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