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 <lya...@inwinstack.com>
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

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