← Back to team overview

yahoo-eng-team team mailing list archive

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

 

Reviewed:  https://review.openstack.org/200630
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=920586868daeef4367a5ea367e394d3fe3e572f5
Submitter: Jenkins
Branch:    master

commit 920586868daeef4367a5ea367e394d3fe3e572f5
Author: lyanchih <lyan.h@xxxxxxxxxxxxxx>
Date:   Fri Jul 10 17:03:31 2015 +0000

    NUMATopologyFilter raise exception and not continue filter next node
    
    NUMATopologyFilter raise exception and not continue filter next node
    when there is no wanted pagesize in current filtered host.
    
    Catch MemoryPageSizeNotSupported exception to prevent this exception
    suspend procedure of filter hosts.
    
    Change-Id: Ice092c871beeca5de2fa6bbf274240f4db508008
    Closes-Bug: 1473308


** Changed in: nova
       Status: In Progress => Fix Released

-- 
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):
  Fix Released
Status in OpenStack Compute (nova) kilo series:
  New
Status in OpenStack Compute (nova) liberty series:
  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


References