Bug 1166033 - rbd libvirt driver fails
Summary: rbd libvirt driver fails
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-nova
Version: 5.0 (RHEL 7)
Hardware: All
OS: Linux
urgent
urgent
Target Milestone: z3
: 5.0 (RHEL 7)
Assignee: Pádraig Brady
QA Contact: Ami Jeain
URL:
Whiteboard:
Depends On:
Blocks: 1062022 1111743
TreeView+ depends on / blocked
 
Reported: 2014-11-20 10:12 UTC by Yogev Rabl
Modified: 2019-09-09 14:09 UTC (History)
9 users (show)

Fixed In Version: openstack-nova-2014.1.3-9.el6ost openstack-nova-2014.1.3-9.el7ost
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-11-20 14:51:25 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Yogev Rabl 2014-11-20 10:12:54 UTC
Description of problem:

The nova rbd libvirt driver fails with the following trace:

2014-11-20 11:43:57.327 24448 ERROR nova.openstack.common.threadgroup [-] global name 'self' is not defined
2014-11-20 11:43:57.327 24448 TRACE nova.openstack.common.threadgroup Traceback (most recent call last):
2014-11-20 11:43:57.327 24448 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/openstack/common/threadgroup.py", line 117, in wait
2014-11-20 11:43:57.327 24448 TRACE nova.openstack.common.threadgroup x.wait()
2014-11-20 11:43:57.327 24448 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/openstack/common/threadgroup.py", line 49, in wait
2014-11-20 11:43:57.327 24448 TRACE nova.openstack.common.threadgroup return self.thread.wait()
2014-11-20 11:43:57.327 24448 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/eventlet/greenthread.py", line 168, in wait
2014-11-20 11:43:57.327 24448 TRACE nova.openstack.common.threadgroup return self._exit_event.wait()
2014-11-20 11:43:57.327 24448 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/eventlet/event.py", line 116, in wait
2014-11-20 11:43:57.327 24448 TRACE nova.openstack.common.threadgroup return hubs.get_hub().switch()
2014-11-20 11:43:57.327 24448 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/eventlet/hubs/hub.py", line 187, in switch
2014-11-20 11:43:57.327 24448 TRACE nova.openstack.common.threadgroup return self.greenlet.switch()
2014-11-20 11:43:57.327 24448 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/eventlet/greenthread.py", line 194, in main
2014-11-20 11:43:57.327 24448 TRACE nova.openstack.common.threadgroup result = function(*args, **kwargs)
2014-11-20 11:43:57.327 24448 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/openstack/common/service.py", line 486, in run_service
2014-11-20 11:43:57.327 24448 TRACE nova.openstack.common.threadgroup service.start()
2014-11-20 11:43:57.327 24448 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/service.py", line 180, in start
2014-11-20 11:43:57.327 24448 TRACE nova.openstack.common.threadgroup self.manager.pre_start_hook()
2014-11-20 11:43:57.327 24448 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 1063, in pre_start_hook
2014-11-20 11:43:57.327 24448 TRACE nova.openstack.common.threadgroup self.update_available_resource(nova.context.get_admin_context())
2014-11-20 11:43:57.327 24448 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 5524, in update_available_resource
2014-11-20 11:43:57.327 24448 TRACE nova.openstack.common.threadgroup nodenames = set(self.driver.get_available_nodes())
2014-11-20 11:43:57.327 24448 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/virt/driver.py", line 1169, in get_available_nodes
2014-11-20 11:43:57.327 24448 TRACE nova.openstack.common.threadgroup stats = self.get_host_stats(refresh=refresh)
2014-11-20 11:43:57.327 24448 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 4961, in get_host_stats
2014-11-20 11:43:57.327 24448 TRACE nova.openstack.common.threadgroup return self.host_state.get_host_stats(refresh=refresh)
2014-11-20 11:43:57.327 24448 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 441, in host_state
2014-11-20 11:43:57.327 24448 TRACE nova.openstack.common.threadgroup self._host_state = HostState(self)
2014-11-20 11:43:57.327 24448 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 5355, in __init__
2014-11-20 11:43:57.327 24448 TRACE nova.openstack.common.threadgroup self.update_status()
2014-11-20 11:43:57.327 24448 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 5386, in update_status
2014-11-20 11:43:57.327 24448 TRACE nova.openstack.common.threadgroup disk_info_dict = self.driver.get_local_gb_info()
2014-11-20 11:43:57.327 24448 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 3892, in get_local_gb_info
2014-11-20 11:43:57.327 24448 TRACE nova.openstack.common.threadgroup info = self._get_rbd_driver().get_pool_info()
2014-11-20 11:43:57.327 24448 TRACE nova.openstack.common.threadgroup NameError: global name 'self' is not defined
2014-11-20 11:43:57.327 24448 TRACE nova.openstack.common.threadgroup

The nova configuration file is set with:
rbd_user = cinder
rbd_secret_uuid = <generated uuid>

And in the libvirt section:
images_type=rbd
images_rbd_pool=vms
images_rbd_ceph_conf=/etc/ceph/ceph.conf

The Nova version is:

python-nova-2014.1.3-8.el7ost.noarch
openstack-nova-novncproxy-2014.1.3-8.el7ost.noarch
openstack-nova-console-2014.1.3-8.el7ost.noarch
openstack-nova-api-2014.1.3-8.el7ost.noarch
openstack-nova-conductor-2014.1.3-8.el7ost.noarch
openstack-nova-cert-2014.1.3-8.el7ost.noarch
python-novaclient-2.17.0-2.el7ost.noarch
openstack-nova-compute-2014.1.3-8.el7ost.noarch
openstack-nova-common-2014.1.3-8.el7ost.noarch
openstack-nova-scheduler-2014.1.3-8.el7ost.noarch

the libvirt version is:
libvirt-daemon-driver-qemu-1.1.1-29.el7_0.3.x86_64
libvirt-daemon-config-nwfilter-1.1.1-29.el7_0.3.x86_64
libvirt-daemon-driver-nwfilter-1.1.1-29.el7_0.3.x86_64
libvirt-client-1.1.1-29.el7_0.3.x86_64
libvirt-daemon-1.1.1-29.el7_0.3.x86_64
libvirt-daemon-driver-nodedev-1.1.1-29.el7_0.3.x86_64
libvirt-daemon-kvm-1.1.1-29.el7_0.3.x86_64
libvirt-1.1.1-29.el7_0.3.x86_64
libvirt-python-1.1.1-29.el7_0.3.x86_64
libvirt-daemon-driver-network-1.1.1-29.el7_0.3.x86_64
libvirt-daemon-driver-interface-1.1.1-29.el7_0.3.x86_64
libvirt-daemon-driver-lxc-1.1.1-29.el7_0.3.x86_64
libvirt-daemon-driver-storage-1.1.1-29.el7_0.3.x86_64
libvirt-daemon-driver-secret-1.1.1-29.el7_0.3.x86_64
libvirt-daemon-config-network-1.1.1-29.el7_0.3.x86_64

Comment 2 Yogev Rabl 2014-11-20 14:28:07 UTC
this bug has been verified.

Comment 3 Pádraig Brady 2014-11-20 14:51:25 UTC
Closing this now that it's verified, so it no longer blocks bug 1111743 which is tracking this code for the release


Note You need to log in before you can comment on or make changes to this bug.