Comment 0 for bug 1337447

Revision history for this message
Thang Pham (thang-pham) wrote :

In the latest devstack (pulled on 7/3/14), you cannot access an instance's noVNC console on the horizon dashboard after you launched the instance. If you look at the logs, you will find:

INFO nova.console.websocketproxy [req-0851007a-adbb-4aff-b712-0108702efa58 None None] handler exception: 'module' object has no attribute 'InstanceInfoCache'#012Traceback (most recent call last):

  File "/opt/stack/oslo.messaging/oslo/messaging/rpc/dispatcher.py", line 134, in _dispatch_and_reply
    incoming.message))

  File "/opt/stack/oslo.messaging/oslo/messaging/rpc/dispatcher.py", line 177, in _dispatch
    return self._do_dispatch(endpoint, method, ctxt, args)

  File "/opt/stack/oslo.messaging/oslo/messaging/rpc/dispatcher.py", line 123, in _do_dispatch
    result = getattr(endpoint, method)(ctxt, **new_args)

  File "/opt/stack/nova/nova/consoleauth/manager.py", line 128, in check_token
    if self._validate_token(context, token):

  File "/opt/stack/nova/nova/consoleauth/manager.py", line 114, in _validate_token
    instance = objects.Instance.get_by_uuid(context, instance_uuid)

  File "/opt/stack/nova/nova/objects/base.py", line 153, in wrapper
    result = fn(cls, context, *args, **kwargs)

  File "/opt/stack/nova/nova/objects/instance.py", line 312, in get_by_uuid
    return cls._from_db_object(context, cls(), db_inst,

  File "/opt/stack/nova/nova/objects/instance.py", line 288, in _from_db_object
    # passed to us by a backlevel service, things will break

AttributeError: 'module' object has no attribute 'InstanceInfoCache'

This was noted in the following forum post: https://ask.openstack.org/en/question/33966/vnc-in-the-dashbaord-says-failed-to-connect-to-server-code-1006-the-set-up-is-by-devstack-on-ubuntu-1204-with-kvm/

The problem is in line 228:
instance.info_cache = objects.InstanceInfoCache(context)

It should be corrected to:
from nova.objects import instance_info_cache
...
instance.info_cache = instance_info_cache.InstanceInfoCache(context)