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:
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
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-4f76dd5659 df - - - - -] Auditing locally available compute resources for node ostack- ibm1.domain. com manager [req-58ed2649- a3a1-4006- 8fc1-4f76dd5659 df - - - - -] Error updating resources for node ostack- ibm1.mgmt. midas.lt. manager Traceback (most recent call last): 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 manager rt.update_ available_ resource( context) manager File "/openstack/ venvs/nova- 14.0.5/ lib/python2. 7/site- packages/ nova/compute/ resource_ tracker. py", line 511, in update_ available_ resource manager resources = self.driver. get_available_ resource( self.nodename) manager File "/openstack/ venvs/nova- 14.0.5/ lib/python2. 7/site- packages/ nova/virt/ libvirt/ driver. py", line 5310, in get_available_ resource manager disk_info_dict = self._get_ local_gb_ info() 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 manager info = LibvirtDriver. _get_rbd_ driver( ).get_pool_ info() 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 manager with RADOSClient(self) as client: manager File "/openstack/ venvs/nova- 14.0.5/ lib/python2. 7/site- packages/ nova/virt/ libvirt/ storage/ rbd_utils. py", line 105, in __init__ manager self.cluster, self.ioctx = driver. _connect_ to_rados( pool) 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 manager client.connect() manager File "/openstack/ venvs/nova- 14.0.5/ lib/python2. 7/rados. py", line 429, in connect manager raise make_ex(ret, "error connecting to the cluster") manager ObjectNotFound: error connecting to the cluster
2017-01-16 10:28:56.980 6929 ERROR nova.compute.
2017-01-16 10:28:56.980 6929 ERROR nova.compute.
2017-01-16 10:28:56.980 6929 ERROR nova.compute.
2017-01-16 10:28:56.980 6929 ERROR nova.compute.
2017-01-16 10:28:56.980 6929 ERROR nova.compute.
2017-01-16 10:28:56.980 6929 ERROR nova.compute.
2017-01-16 10:28:56.980 6929 ERROR nova.compute.
2017-01-16 10:28:56.980 6929 ERROR nova.compute.
2017-01-16 10:28:56.980 6929 ERROR nova.compute.
2017-01-16 10:28:56.980 6929 ERROR nova.compute.
2017-01-16 10:28:56.980 6929 ERROR nova.compute.
2017-01-16 10:28:56.980 6929 ERROR nova.compute.
2017-01-16 10:28:56.980 6929 ERROR nova.compute.
2017-01-16 10:28:56.980 6929 ERROR nova.compute.
2017-01-16 10:28:56.980 6929 ERROR nova.compute.
2017-01-16 10:28:56.980 6929 ERROR nova.compute.
2017-01-16 10:28:56.980 6929 ERROR nova.compute.
2017-01-16 10:28:56.980 6929 ERROR nova.compute.
2017-01-16 10:28:56.980 6929 ERROR nova.compute.
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
+----+- ------- ------- ------- ------+ ------- ------- ------- ------+ ibm1.domain. com |
| ID | Hypervisor Hostname |
+----+-
| 3 | ostack-
So as far as i can see, there are two problems: ceph.client. username. keyring file
1) rados.py is not installed into nova venv.
2) bad permissions on /etc/ceph/