trying Qpid on Ubuntu 12.04 -- ClassNotFound exception

Asked by Upendra

Hi,

I have nova Essex over Ubuntu-12.04 installed on my cluster. I am trying to experiment with the Qpid instead of RabbitMQ. I have installed Qpid and its other utilities using the following command:
apt-get install qpidd qpid-tools qpid-doc qpid-client python-qpid-extras-qmf python-qpid python-cqpid

and have enabled the quid backend using the following flags in nova.conf
--rpc_backend=nova.rpc.impl_qpid
--qpid_hostname=192.168.1.7

But when I start nova-compute and other nova services, they are unable to find impl_qpid; the exact error from nova-compute.log is:
2012-05-21 08:58:13 TRACE nova ClassNotFound: Class impl_qpid could not be found: 'module' object has no attribute 'impl_qpid'

However, I can see impl_qpid.py and impl_qpid.pyc in /usr/lib/python2.7/dist-packages/nova/rpc. Please let me know where am I going wrong.

I have am pasting the relevant portions of nova-compute.log and nova.conf below

thanks in advance
-upendra

===== nova.conf ====
--dhcpbridge_flagfile=/etc/nova/nova.conf
--dhcpbridge=/usr/bin/nova-dhcpbridge
--logdir=/var/log/nova
--state_path=/var/lib/nova
--lock_path=/var/lock/nova
--force_dhcp_release
--iscsi_helper=tgtadm
--libvirt_use_virtio_for_bridges
--connection_type=libvirt
--root_helper=sudo nova-rootwrap
--verbose
--debug
--ec2_private_dns_show_ip
--auth_strategy=keystone
# GLANCE
--image_service=nova.image.glance.GlanceImageService
--glance_api_servers=192.168.1.4:9292
# RPC backend
# rabbit
#--rabbit_host=192.168.1.4
--rabbit_host=192.168.1.6
# Qpid
--rpc_backend=nova.rpc.impl_qpid
--qpid_hostname=192.168.1.7
# NETWORK
--network_manager=nova.network.manager.FlatDHCPManager
--flat_injected=False
--fixed_range=192.168.100.0/24
--public_interface=eth0
--flat_interface=eth2
--flat_network_bridge=br100
--multi_host=True
# DATABASE
--sql_connection=mysql://nova:nova@192.168.1.4/nova
===================================================

========== nova-compute.log ==============
2012-05-21 08:58:09 DEBUG nova.service [-] network_driver : nova.network.linux_net from (pid=5173) wait /usr/lib/python2.7/dist-packages/nova/service.py:411
2012-05-21 08:58:09 DEBUG nova.service [-] quota_instances : 10 from (pid=5173) wait /usr/lib/python2.7/dist-packages/nova/service.py:411
2012-05-21 08:58:09 DEBUG nova.service [-] vnc_keymap : FLAG SET from (pid=5173) wait /usr/lib/python2.7/dist-packages/nova/service.py:409
2012-05-21 08:58:09 DEBUG nova.service [-] image_service : nova.image.glance.GlanceImageService from (pid=5173) wait /usr/lib/python2.7/dist-packages/nova/service.py:411
2012-05-21 08:58:09 DEBUG nova.service [-] libvirt_inject_password : FLAG SET from (pid=5173) wait /usr/lib/python2.7/dist-packages/nova/service.py:409
2012-05-21 08:58:09 DEBUG nova.service [-] control_exchange : nova from (pid=5173) wait /usr/lib/python2.7/dist-packages/nova/service.py:411
2012-05-21 08:58:09 DEBUG nova.service [-] volume_group : nova-volumes from (pid=5173) wait /usr/lib/python2.7/dist-packages/nova/service.py:411
2012-05-21 08:58:09 DEBUG nova.service [-] log_file : None from (pid=5173) wait /usr/lib/python2.7/dist-packages/nova/service.py:411
2012-05-21 08:58:09 DEBUG nova.service [-] compute_manager : nova.compute.manager.ComputeManager from (pid=5173) wait /usr/lib/python2.7/dist-packages/nova/service.py:411
2012-05-21 08:58:09 DEBUG nova.service [-] compute_driver : nova.virt.connection.get_connection from (pid=5173) wait /usr/lib/python2.7/dist-packages/nova/service.py:411
2012-05-21 08:58:09 DEBUG nova.service [-] network_topic : network from (pid=5173) wait /usr/lib/python2.7/dist-packages/nova/service.py:411
2012-05-21 08:58:09 AUDIT nova.service [-] Starting compute node (version 2012.1-LOCALBRANCH:LOCALREVISION)
2012-05-21 08:58:09 DEBUG nova.utils [-] Found lockfile nova-iptables.lock with link count 2 from (pid=5173) cleanup_file_locks /usr/lib/python2.7/dist-packages/nova/utils.py:1023
2012-05-21 08:58:10 DEBUG nova.utils [req-3a7a8444-44f8-42df-9415-3976d096c214 None None] backend <module 'nova.db.sqlalchemy.api' from '/usr/lib/python2.7/dist-packages/nova/db/sqlalchemy/api.pyc'> from (pid=5173) __get_backend /usr/lib/python2.7/dist-packages/nova/utils.py:658
2012-05-21 08:58:10 DEBUG nova.virt.libvirt.connection [-] Connecting to libvirt: qemu:///system from (pid=5173) _get_connection /usr/lib/python2.7/dist-packages/nova/virt/libvirt/connection.py:292
2012-05-21 08:58:13 INFO nova.virt.libvirt.connection [-] Compute_service record updated for ubuntu
2012-05-21 08:58:13 DEBUG nova.utils [-] Inner Exception: 'module' object has no attribute 'impl_qpid' from (pid=5173) import_class /usr/lib/python2.7/dist-packages/nova/utils.py:78
2012-05-21 08:58:13 CRITICAL nova [-] Class impl_qpid could not be found: 'module' object has no attribute 'impl_qpid'
2012-05-21 08:58:13 TRACE nova Traceback (most recent call last):
2012-05-21 08:58:13 TRACE nova File "/usr/bin/nova-compute", line 49, in <module>
2012-05-21 08:58:13 TRACE nova service.wait()
2012-05-21 08:58:13 TRACE nova File "/usr/lib/python2.7/dist-packages/nova/service.py", line 413, in wait
2012-05-21 08:58:13 TRACE nova _launcher.wait()
2012-05-21 08:58:13 TRACE nova File "/usr/lib/python2.7/dist-packages/nova/service.py", line 131, in wait
2012-05-21 08:58:13 TRACE nova service.wait()
2012-05-21 08:58:13 TRACE nova File "/usr/lib/python2.7/dist-packages/eventlet/greenthread.py", line 166, in wait
2012-05-21 08:58:13 TRACE nova return self._exit_event.wait()
2012-05-21 08:58:13 TRACE nova File "/usr/lib/python2.7/dist-packages/eventlet/event.py", line 116, in wait
2012-05-21 08:58:13 TRACE nova return hubs.get_hub().switch()
2012-05-21 08:58:13 TRACE nova File "/usr/lib/python2.7/dist-packages/eventlet/hubs/hub.py", line 177, in switch
2012-05-21 08:58:13 TRACE nova return self.greenlet.switch()
2012-05-21 08:58:13 TRACE nova File "/usr/lib/python2.7/dist-packages/eventlet/greenthread.py", line 192, in main
2012-05-21 08:58:13 TRACE nova result = function(*args, **kwargs)
2012-05-21 08:58:13 TRACE nova File "/usr/lib/python2.7/dist-packages/nova/service.py", line 101, in run_server
2012-05-21 08:58:13 TRACE nova server.start()
2012-05-21 08:58:13 TRACE nova File "/usr/lib/python2.7/dist-packages/nova/service.py", line 176, in start
2012-05-21 08:58:13 TRACE nova self.conn = rpc.create_connection(new=True)
2012-05-21 08:58:13 TRACE nova File "/usr/lib/python2.7/dist-packages/nova/rpc/__init__.py", line 46, in create_connection
2012-05-21 08:58:13 TRACE nova return _get_impl().create_connection(new=new)
2012-05-21 08:58:13 TRACE nova File "/usr/lib/python2.7/dist-packages/nova/rpc/__init__.py", line 201, in _get_impl
2012-05-21 08:58:13 TRACE nova _RPCIMPL = utils.import_object(FLAGS.rpc_backend)
2012-05-21 08:58:13 TRACE nova File "/usr/lib/python2.7/dist-packages/nova/utils.py", line 88, in import_object
2012-05-21 08:58:13 TRACE nova cls = import_class(import_str)
2012-05-21 08:58:13 TRACE nova File "/usr/lib/python2.7/dist-packages/nova/utils.py", line 79, in import_class
2012-05-21 08:58:13 TRACE nova raise exception.ClassNotFound(class_name=class_str, exception=exc)
2012-05-21 08:58:13 TRACE nova ClassNotFound: Class impl_qpid could not be found: 'module' object has no attribute 'impl_qpid'
2012-05-21 08:58:13 TRACE nova
========================================================

Question information

Language:
English Edit question
Status:
Solved
For:
OpenStack Compute (nova) Edit question
Assignee:
No assignee Edit question
Solved by:
Upendra
Solved:
Last query:
Last reply:
Revision history for this message
Upendra (upendras) said :
#1

Managed to find the solution.

I had not installed the necessary libraries for Qpid on 192.168.1.4 and thus that error. The error message was misleading but did give a hint of the main problem.

so just ran the following on 192.168.1.4 also
apt-get install qpidd qpid-tools qpid-doc qpid-client python-qpid-extras-qmf python-qpid python-cqpid

-u