← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 2063364] Re: forbidden traits in flavor not honored

 

Hey,

Despite I do see this was deployed with OpenStack-Ansible, it feels this
has very little to do with deployment method, but rather service itself.

With that I will transfer this bug to Nova project, so that they could
assist you.

** Project changed: openstack-ansible => nova

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

Title:
  forbidden traits in flavor not honored

Status in OpenStack Compute (nova):
  New

Bug description:
  For compatibility reasons of some older VMs, I've used the following cpu_mode and cpu_models definition in one of the compute nodes nova.conf:
  [libvirt]
  inject_partition = -2
  inject_password = False
  inject_key = False
  virt_type = kvm
  live_migration_with_native_tls = true
  live_migration_scheme = tls
  live_migration_inbound_addr = 172.29.236.114
  hw_disk_discard = ignore
  disk_cachemodes =
  cpu_mode = custom
  cpu_models = IvyBridge

  In terms of flavor definition, I've set the following trait:
  openstack image set  --property traits:HW_CPU_X86_AVX512BW=forbidden flavor.test

  I know for sure that HW_CPU_X86_AVX512BW is not supported in IvyBridge so my understanding is that this trait definition should suffice to select the specific compute node. In fact I have verified that placement service does NOT return the specific compute when quering for the specific trait (and instead returns all other nodes).
  Yet, when scheduling an instance using this flavor, I get the following error.

  Traceback (most recent call last): File
  "/openstack/venvs/nova-28.0.0/lib/python3.10/site-
  packages/nova/conductor/manager.py", line 1654, in
  schedule_and_build_instances host_lists =
  self._schedule_instances(context, request_specs[0], File
  "/openstack/venvs/nova-28.0.0/lib/python3.10/site-
  packages/nova/conductor/manager.py", line 942, in _schedule_instances
  host_lists = self.query_client.select_destinations( File
  "/openstack/venvs/nova-28.0.0/lib/python3.10/site-
  packages/nova/scheduler/client/query.py", line 41, in
  select_destinations return
  self.scheduler_rpcapi.select_destinations(context, spec_obj, File
  "/openstack/venvs/nova-28.0.0/lib/python3.10/site-
  packages/nova/scheduler/rpcapi.py", line 160, in select_destinations
  return cctxt.call(ctxt, 'select_destinations', **msg_args) File
  "/openstack/venvs/nova-28.0.0/lib/python3.10/site-
  packages/oslo_messaging/rpc/client.py", line 190, in call result =
  self.transport._send( File
  "/openstack/venvs/nova-28.0.0/lib/python3.10/site-
  packages/oslo_messaging/transport.py", line 123, in _send return
  self._driver.send(target, ctxt, message, File
  "/openstack/venvs/nova-28.0.0/lib/python3.10/site-
  packages/oslo_messaging/_drivers/amqpdriver.py", line 689, in send
  return self._send(target, ctxt, message, wait_for_reply, timeout, File
  "/openstack/venvs/nova-28.0.0/lib/python3.10/site-
  packages/oslo_messaging/_drivers/amqpdriver.py", line 681, in _send
  raise result nova.exception_Remote.NoValidHost_Remote: No valid host
  was found. Traceback (most recent call last): File
  "/openstack/venvs/nova-28.0.0/lib/python3.10/site-
  packages/oslo_messaging/rpc/server.py", line 244, in inner return
  func(*args, **kwargs) File
  "/openstack/venvs/nova-28.0.0/lib/python3.10/site-
  packages/nova/scheduler/manager.py", line 243, in select_destinations
  raise exception.NoValidHost(reason="") nova.exception.NoValidHost: No
  valid host was found.

  This seems like a bug of the trait selection logic of nova.

  openstack ansible version is 2023.2

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