← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1270076] [NEW] Exception isn't handled in virt/libvirt/driver.py

 

Public bug reported:

when a ConsoleTypeUnavailable exception is raised in
nova/virt/libvirt/driver.py, it isn't well handled.

I found this bug by running this command:

nova --debug --os-compute-api-version 3 get-spice-console inst1 spice-
html5

I got the error message in compute log.

2014-01-18 02:59:24.419 ERROR nova.openstack.common.rpc.amqp [req-14ec1e04-1980-4893-8023-ec9f6c75c973 demo demo] Exception during message handling
2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp Traceback (most recent call last):
2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp   File "/opt/stack/nova/nova/openstack/common/rpc/amqp.py", line 461, in _process_data
2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp     **args)
2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp   File "/opt/stack/nova/nova/openstack/common/rpc/dispatcher.py", line 172, in dispatch
2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp     result = getattr(proxyobj, method)(ctxt, **kwargs)
2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp   File "/opt/stack/nova/nova/openstack/common/rpc/common.py", line 439, in inner
2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp     return catch_client_exception(exceptions, func, *args, **kwargs)
2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp   File "/opt/stack/nova/nova/openstack/common/rpc/common.py", line 420, in catch_client_exception
2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp     return func(*args, **kwargs)
2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp   File "/opt/stack/nova/nova/exception.py", line 90, in wrapped
2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp     payload)
2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp   File "/opt/stack/nova/nova/openstack/common/excutils.py", line 68, in __exit__
2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp     six.reraise(self.type_, self.value, self.tb)
2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp   File "/opt/stack/nova/nova/exception.py", line 73, in wrapped
2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp     return f(self, context, *args, **kw)
2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp   File "/opt/stack/nova/nova/compute/manager.py", line 271, in decorated_function
2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp     e, sys.exc_info())
2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp   File "/opt/stack/nova/nova/openstack/common/excutils.py", line 68, in __exit__
2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp     six.reraise(self.type_, self.value, self.tb)
2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp   File "/opt/stack/nova/nova/compute/manager.py", line 258, in decorated_function
2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp     return function(self, context, *args, **kwargs)
2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp   File "/opt/stack/nova/nova/compute/manager.py", line 356, in decorated_function
2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp     return function(self, context, *args, **kwargs)
2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp   File "/opt/stack/nova/nova/compute/manager.py", line 3676, in get_spice_console
2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp     connect_info = self.driver.get_spice_console(context, instance)
2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp   File "/opt/stack/nova/nova/virt/libvirt/driver.py", line 2305, in get_spice_console
2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp     ports = get_spice_ports_for_instance(instance['name'])
2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp   File "/opt/stack/nova/nova/virt/libvirt/driver.py", line 2303, in get_spice_ports_for_instance
2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp     raise exception.ConsoleTypeUnavailable(console_type='spice')
2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp ConsoleTypeUnavailable: Unavailable console type spice.

** Affects: nova
     Importance: Undecided
     Assignee: Haiwei Xu (xu-haiwei)
         Status: New

** Changed in: nova
     Assignee: (unassigned) => Haiwei Xu (xu-haiwei)

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

Title:
  Exception isn't handled in virt/libvirt/driver.py

Status in OpenStack Compute (Nova):
  New

Bug description:
  when a ConsoleTypeUnavailable exception is raised in
  nova/virt/libvirt/driver.py, it isn't well handled.

  I found this bug by running this command:

  nova --debug --os-compute-api-version 3 get-spice-console inst1 spice-
  html5

  I got the error message in compute log.

  2014-01-18 02:59:24.419 ERROR nova.openstack.common.rpc.amqp [req-14ec1e04-1980-4893-8023-ec9f6c75c973 demo demo] Exception during message handling
  2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp Traceback (most recent call last):
  2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp   File "/opt/stack/nova/nova/openstack/common/rpc/amqp.py", line 461, in _process_data
  2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp     **args)
  2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp   File "/opt/stack/nova/nova/openstack/common/rpc/dispatcher.py", line 172, in dispatch
  2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp     result = getattr(proxyobj, method)(ctxt, **kwargs)
  2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp   File "/opt/stack/nova/nova/openstack/common/rpc/common.py", line 439, in inner
  2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp     return catch_client_exception(exceptions, func, *args, **kwargs)
  2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp   File "/opt/stack/nova/nova/openstack/common/rpc/common.py", line 420, in catch_client_exception
  2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp     return func(*args, **kwargs)
  2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp   File "/opt/stack/nova/nova/exception.py", line 90, in wrapped
  2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp     payload)
  2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp   File "/opt/stack/nova/nova/openstack/common/excutils.py", line 68, in __exit__
  2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp     six.reraise(self.type_, self.value, self.tb)
  2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp   File "/opt/stack/nova/nova/exception.py", line 73, in wrapped
  2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp     return f(self, context, *args, **kw)
  2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp   File "/opt/stack/nova/nova/compute/manager.py", line 271, in decorated_function
  2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp     e, sys.exc_info())
  2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp   File "/opt/stack/nova/nova/openstack/common/excutils.py", line 68, in __exit__
  2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp     six.reraise(self.type_, self.value, self.tb)
  2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp   File "/opt/stack/nova/nova/compute/manager.py", line 258, in decorated_function
  2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp     return function(self, context, *args, **kwargs)
  2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp   File "/opt/stack/nova/nova/compute/manager.py", line 356, in decorated_function
  2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp     return function(self, context, *args, **kwargs)
  2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp   File "/opt/stack/nova/nova/compute/manager.py", line 3676, in get_spice_console
  2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp     connect_info = self.driver.get_spice_console(context, instance)
  2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp   File "/opt/stack/nova/nova/virt/libvirt/driver.py", line 2305, in get_spice_console
  2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp     ports = get_spice_ports_for_instance(instance['name'])
  2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp   File "/opt/stack/nova/nova/virt/libvirt/driver.py", line 2303, in get_spice_ports_for_instance
  2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp     raise exception.ConsoleTypeUnavailable(console_type='spice')
  2014-01-18 02:59:24.419 TRACE nova.openstack.common.rpc.amqp ConsoleTypeUnavailable: Unavailable console type spice.

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


Follow ups

References