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