After FFU from 16.2 to 17.1, instances cannot start due to "NotImplementedError: Cannot load 'pcpuset' in the base class" error

Solution Verified - Updated -

Issue

After FFU from 16.2 to 17.1, some instances cannot start with NotImplementedError: Cannot load 'pcpuset' in the base class error.
There is _get_cpu_numa_config_from_instance function in the traceback.

Note: If there is not _get_cpu_numa_config_from_instance function but there is _numa_fit_instance_cell function, please refer to After FFU from 16.2 to 17.1, migration and unshelving are failing with "NotImplementedError: Cannot load 'pcpuset' in the base class" instead.

[req-aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa - default default] Exception during message handling: NotImplementedError: Cannot load 'pcpuset' in the base class
Traceback (most recent call last):
  File "/usr/lib/python3.9/site-packages/oslo_messaging/rpc/server.py", line 165, in _process_incoming
    res = self.dispatcher.dispatch(message)
  File "/usr/lib/python3.9/site-packages/oslo_messaging/rpc/dispatcher.py", line 309, in dispatch 
    return self._do_dispatch(endpoint, method, ctxt, args)
  File "/usr/lib/python3.9/site-packages/oslo_messaging/rpc/dispatcher.py", line 229, in _do_dispatch
    result = func(ctxt, **new_args) 
  File "/usr/lib/python3.9/site-packages/nova/exception_wrapper.py", line 71, in wrapped
    _emit_versioned_exception_notification(
  File "/usr/lib/python3.9/site-packages/oslo_utils/excutils.py", line 227, in __exit__
    self.force_reraise()
  File "/usr/lib/python3.9/site-packages/oslo_utils/excutils.py", line 200, in force_reraise
    raise self.value
  File "/usr/lib/python3.9/site-packages/nova/exception_wrapper.py", line 63, in wrapped
    return f(self, context, *args, **kw)
  File "/usr/lib/python3.9/site-packages/nova/compute/manager.py", line 185, in decorated_function
    LOG.warning("Failed to revert task state for instance. "
  File "/usr/lib/python3.9/site-packages/oslo_utils/excutils.py", line 227, in __exit__
    self.force_reraise()
  File "/usr/lib/python3.9/site-packages/oslo_utils/excutils.py", line 200, in force_reraise
    raise self.value
  File "/usr/lib/python3.9/site-packages/nova/compute/manager.py", line 156, in decorated_function
    return function(self, context, *args, **kwargs) 
  File "/usr/lib/python3.9/site-packages/nova/compute/utils.py", line 1448, in decorated_function
    return function(self, context, *args, **kwargs)
  File "/usr/lib/python3.9/site-packages/nova/compute/manager.py", line 213, in decorated_function 
    compute_utils.add_instance_fault_from_exc(context,
  File "/usr/lib/python3.9/site-packages/oslo_utils/excutils.py", line 227, in __exit__
    self.force_reraise()
  File "/usr/lib/python3.9/site-packages/oslo_utils/excutils.py", line 200, in force_reraise
    raise self.value
  File "/usr/lib/python3.9/site-packages/nova/compute/manager.py", line 202, in decorated_function 
    return function(self, context, *args, **kwargs)
  File "/usr/lib/python3.9/site-packages/nova/compute/manager.py", line 3861, in reboot_instance
    do_reboot_instance(context, instance, block_device_info, reboot_type)
  File "/usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py", line 360, in inner
    return f(*args, **kwargs)
  File "/usr/lib/python3.9/site-packages/nova/compute/manager.py", line 3859, in do_reboot_instance
    self._reboot_instance(context, instance, block_device_info,
  File "/usr/lib/python3.9/site-packages/nova/compute/manager.py", line 3953, in _reboot_instance
    self._set_instance_obj_error_state(instance)
  File "/usr/lib/python3.9/site-packages/oslo_utils/excutils.py", line 227, in __exit__
    self.force_reraise()
  File "/usr/lib/python3.9/site-packages/oslo_utils/excutils.py", line 200, in force_reraise
    raise self.value
  File "/usr/lib/python3.9/site-packages/nova/compute/manager.py", line 3923, in _reboot_instance
    self.driver.reboot(context, instance,
  File "/usr/lib/python3.9/site-packages/nova/virt/libvirt/driver.py", line 3770, in reboot
    return self._hard_reboot(context, instance, network_info,
  File "/usr/lib/python3.9/site-packages/nova/virt/libvirt/driver.py", line 3860, in _hard_reboot
    xml = self._get_guest_xml(context, instance, network_info, disk_info,
  File "/usr/lib/python3.9/site-packages/nova/virt/libvirt/driver.py", line 7182, in _get_guest_xml
    conf = self._get_guest_config(instance, network_info, image_meta,
  File "/usr/lib/python3.9/site-packages/nova/virt/libvirt/driver.py", line 6737, in _get_guest_config
    guest_numa_config = self._get_guest_numa_config(
  File "/usr/lib/python3.9/site-packages/nova/virt/libvirt/driver.py", line 5776, in _get_guest_numa_config
    guest_cpu_numa_config = self._get_cpu_numa_config_from_instance(
  File "/usr/lib/python3.9/site-packages/nova/virt/libvirt/driver.py", line 5610, in _get_cpu_numa_config_from_instance
    guest_cell.cpus = instance_cell.total_cpus
  File "/usr/lib/python3.9/site-packages/nova/objects/instance_numa.py", line 101, in total_cpus
    return self.cpuset | self.pcpuset
  File "/usr/lib/python3.9/site-packages/oslo_versionedobjects/base.py", line 67, in getter
    self.obj_load_attr(name)
  File "/usr/lib/python3.9/site-packages/oslo_versionedobjects/base.py", line 600, in obj_load_attr
    raise NotImplementedError(
NotImplementedError: Cannot load 'pcpuset' in the base class

Environment

Red Hat OpenStack Platform 17.1.3 or earlier

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content