Comment 2 for bug 1655941

Revision history for this message
Tadas Ustinavičius (tadas-u) wrote :

After manually copying rados.py to /openstack/venvs/nova-14.0.5/lib/python2.7 this problem disappeared, but I've bumped into new one:

2017-01-16 10:28:56.957 6929 INFO nova.compute.resource_tracker [req-58ed2649-a3a1-4006-8fc1-4f76dd5659df - - - - -] Auditing locally available compute resources for node ostack-ibm1.domain.com
2017-01-16 10:28:56.980 6929 ERROR nova.compute.manager [req-58ed2649-a3a1-4006-8fc1-4f76dd5659df - - - - -] Error updating resources for node ostack-ibm1.mgmt.midas.lt.
2017-01-16 10:28:56.980 6929 ERROR nova.compute.manager Traceback (most recent call last):
2017-01-16 10:28:56.980 6929 ERROR nova.compute.manager File "/openstack/venvs/nova-14.0.5/lib/python2.7/site-packages/nova/compute/manager.py", line 6415, in update_available_resource_for_node
2017-01-16 10:28:56.980 6929 ERROR nova.compute.manager rt.update_available_resource(context)
2017-01-16 10:28:56.980 6929 ERROR nova.compute.manager File "/openstack/venvs/nova-14.0.5/lib/python2.7/site-packages/nova/compute/resource_tracker.py", line 511, in update_available_resource
2017-01-16 10:28:56.980 6929 ERROR nova.compute.manager resources = self.driver.get_available_resource(self.nodename)
2017-01-16 10:28:56.980 6929 ERROR nova.compute.manager File "/openstack/venvs/nova-14.0.5/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 5310, in get_available_resource
2017-01-16 10:28:56.980 6929 ERROR nova.compute.manager disk_info_dict = self._get_local_gb_info()
2017-01-16 10:28:56.980 6929 ERROR nova.compute.manager File "/openstack/venvs/nova-14.0.5/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 4946, in _get_local_gb_info
2017-01-16 10:28:56.980 6929 ERROR nova.compute.manager info = LibvirtDriver._get_rbd_driver().get_pool_info()
2017-01-16 10:28:56.980 6929 ERROR nova.compute.manager File "/openstack/venvs/nova-14.0.5/lib/python2.7/site-packages/nova/virt/libvirt/storage/rbd_utils.py", line 367, in get_pool_info
2017-01-16 10:28:56.980 6929 ERROR nova.compute.manager with RADOSClient(self) as client:
2017-01-16 10:28:56.980 6929 ERROR nova.compute.manager File "/openstack/venvs/nova-14.0.5/lib/python2.7/site-packages/nova/virt/libvirt/storage/rbd_utils.py", line 105, in __init__
2017-01-16 10:28:56.980 6929 ERROR nova.compute.manager self.cluster, self.ioctx = driver._connect_to_rados(pool)
2017-01-16 10:28:56.980 6929 ERROR nova.compute.manager File "/openstack/venvs/nova-14.0.5/lib/python2.7/site-packages/nova/virt/libvirt/storage/rbd_utils.py", line 136, in _connect_to_rados
2017-01-16 10:28:56.980 6929 ERROR nova.compute.manager client.connect()
2017-01-16 10:28:56.980 6929 ERROR nova.compute.manager File "/openstack/venvs/nova-14.0.5/lib/python2.7/rados.py", line 429, in connect
2017-01-16 10:28:56.980 6929 ERROR nova.compute.manager raise make_ex(ret, "error connecting to the cluster")
2017-01-16 10:28:56.980 6929 ERROR nova.compute.manager ObjectNotFound: error connecting to the cluster

Though running python test script which tries to get info from ceph cluster works fine.
I've found, that nova user is unable to read keyring file from /etc/ceph/ directory.
After changing permissions for my keyring file, nova started without any error.
Hypervysor appeared in hypervisors list:

openstack hypervisor list

+----+----------------------------+
| ID | Hypervisor Hostname |
+----+----------------------------+
| 3 | ostack-ibm1.domain.com |

So as far as i can see, there are two problems:
1) rados.py is not installed into nova venv.
2) bad permissions on /etc/ceph/ceph.client.username.keyring file