← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1473308] [NEW] NUMATopologyFilter raise exception and not continue filter next node when there is no wanted pagesize in current filtered host

 

Public bug reported:

version: 
2015.1.0

question:
NUMATopologyFilter raise exception and not continue filter next node when there is no wanted pagesize in current filtered host

Reproduce steps:
There are two compute nodes: Node1 and Node2 . 
Node1 has 2M and 4K page size, and  Node2 has 1G and 4K page size. 
set hw:mem_page_size=1048576 in flavor, and create an instance by using this flavor

Expected result:
NUMATopologyFilter returns Node2 to build instance

Actual result:
NUMATopologyFilter raise this exception when NUMATopologyFilter filters Node1 and do not continue to filter Node2.

Exception during message handling: Page size 1048576 is not supported by the host.
2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher Traceback (most recent call last):
2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher   File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 142, in _dispatch_and_reply
2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher     executor_callback))
2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher   File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 186, in _dispatch
2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher     executor_callback)
2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher   File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 130, in _do_dispatch
2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher     result = func(ctxt, **new_args)
2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher   File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/server.py", line 142, in inner
2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher     return func(*args, **kwargs)
2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher   File "/usr/lib/python2.7/site-packages/nova/scheduler/manager.py", line 86, in select_destinations
2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher     filter_properties)
2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher   File "/usr/lib/python2.7/site-packages/nova/scheduler/filter_scheduler.py", line 67, in select_destinations
2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher     filter_properties)
2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher   File "/usr/lib/python2.7/site-packages/nova/scheduler/filter_scheduler.py", line 138, in _schedule
2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher     filter_properties, index=num)
2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher   File "/usr/lib/python2.7/site-packages/nova/scheduler/host_manager.py", line 524, in get_filtered_hosts
2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher     hosts, filter_properties, index)
2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher   File "/usr/lib/python2.7/site-packages/nova/filters.py", line 78, in get_filtered_objects
2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher     list_objs = list(objs)
2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher   File "/usr/lib/python2.7/site-packages/nova/filters.py", line 44, in filter_all
2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher     if self._filter_one(obj, filter_properties):
2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher   File "/usr/lib/python2.7/site-packages/nova/scheduler/filters/__init__.py", line 27, in _filter_one
2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher     return self.host_passes(obj, filter_properties)
2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher   File "/usr/lib/python2.7/site-packages/nova/scheduler/filters/numa_topology_filter.py", line 54, in host_passes
2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher     pci_stats=host_state.pci_stats))
2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher   File "/usr/lib/python2.7/site-packages/nova/virt/hardware.py", line 1048, in numa_fit_instance_to_host
2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher     host_cell, instance_cell, limits)
2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher   File "/usr/lib/python2.7/site-packages/nova/virt/hardware.py", line 778, in _numa_fit_instance_cell
2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher     host_cell, instance_cell)
2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher   File "/usr/lib/python2.7/site-packages/nova/virt/hardware.py", line 631, in _numa_cell_supports_pagesize_request
2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher     return verify_pagesizes(host_cell, inst_cell, [inst_cell.pagesize])
2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher   File "/usr/lib/python2.7/site-packages/nova/virt/hardware.py", line 621, in verify_pagesizes
2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher     if host_cell.can_fit_hugepages(pagesize, inst_cell_mem):
2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher   File "/usr/lib/python2.7/site-packages/nova/objects/numa.py", line 144, in can_fit_hugepages
2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher     raise exception.MemoryPageSizeNotSupported(pagesize=pagesize)
2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher MemoryPageSizeNotSupported: Page size 1048576 is not supported by the host.

** 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/1473308

Title:
  NUMATopologyFilter raise exception and not continue filter next node
  when there is no wanted pagesize in current filtered host

Status in OpenStack Compute (nova):
  New

Bug description:
  version: 
  2015.1.0

  question:
  NUMATopologyFilter raise exception and not continue filter next node when there is no wanted pagesize in current filtered host

  Reproduce steps:
  There are two compute nodes: Node1 and Node2 . 
  Node1 has 2M and 4K page size, and  Node2 has 1G and 4K page size. 
  set hw:mem_page_size=1048576 in flavor, and create an instance by using this flavor

  Expected result:
  NUMATopologyFilter returns Node2 to build instance

  Actual result:
  NUMATopologyFilter raise this exception when NUMATopologyFilter filters Node1 and do not continue to filter Node2.

  Exception during message handling: Page size 1048576 is not supported by the host.
  2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher Traceback (most recent call last):
  2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher   File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 142, in _dispatch_and_reply
  2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher     executor_callback))
  2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher   File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 186, in _dispatch
  2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher     executor_callback)
  2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher   File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 130, in _do_dispatch
  2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher     result = func(ctxt, **new_args)
  2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher   File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/server.py", line 142, in inner
  2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher     return func(*args, **kwargs)
  2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher   File "/usr/lib/python2.7/site-packages/nova/scheduler/manager.py", line 86, in select_destinations
  2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher     filter_properties)
  2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher   File "/usr/lib/python2.7/site-packages/nova/scheduler/filter_scheduler.py", line 67, in select_destinations
  2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher     filter_properties)
  2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher   File "/usr/lib/python2.7/site-packages/nova/scheduler/filter_scheduler.py", line 138, in _schedule
  2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher     filter_properties, index=num)
  2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher   File "/usr/lib/python2.7/site-packages/nova/scheduler/host_manager.py", line 524, in get_filtered_hosts
  2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher     hosts, filter_properties, index)
  2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher   File "/usr/lib/python2.7/site-packages/nova/filters.py", line 78, in get_filtered_objects
  2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher     list_objs = list(objs)
  2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher   File "/usr/lib/python2.7/site-packages/nova/filters.py", line 44, in filter_all
  2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher     if self._filter_one(obj, filter_properties):
  2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher   File "/usr/lib/python2.7/site-packages/nova/scheduler/filters/__init__.py", line 27, in _filter_one
  2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher     return self.host_passes(obj, filter_properties)
  2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher   File "/usr/lib/python2.7/site-packages/nova/scheduler/filters/numa_topology_filter.py", line 54, in host_passes
  2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher     pci_stats=host_state.pci_stats))
  2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher   File "/usr/lib/python2.7/site-packages/nova/virt/hardware.py", line 1048, in numa_fit_instance_to_host
  2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher     host_cell, instance_cell, limits)
  2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher   File "/usr/lib/python2.7/site-packages/nova/virt/hardware.py", line 778, in _numa_fit_instance_cell
  2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher     host_cell, instance_cell)
  2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher   File "/usr/lib/python2.7/site-packages/nova/virt/hardware.py", line 631, in _numa_cell_supports_pagesize_request
  2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher     return verify_pagesizes(host_cell, inst_cell, [inst_cell.pagesize])
  2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher   File "/usr/lib/python2.7/site-packages/nova/virt/hardware.py", line 621, in verify_pagesizes
  2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher     if host_cell.can_fit_hugepages(pagesize, inst_cell_mem):
  2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher   File "/usr/lib/python2.7/site-packages/nova/objects/numa.py", line 144, in can_fit_hugepages
  2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher     raise exception.MemoryPageSizeNotSupported(pagesize=pagesize)
  2015-07-09 13:08:56.771 10446 TRACE oslo_messaging.rpc.dispatcher MemoryPageSizeNotSupported: Page size 1048576 is not supported by the host.

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


Follow ups