rbd/rados lib changes in ceph pacific prevents c-vol to initialize properly

Bug #1913449 reported by Victoria Martinez de la Cruz
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Cinder
Fix Released
Undecided
Eric Harney

Bug Description

Ceph Pacific (ceph version 16.1.0-8-g5f17c37f (5f17c37f78a331b7a4bf793890f9d324c64183e5) pacific (rc)) introduces a bunch of changes, one in particular is breaking c-vol. Precisely, rados expects a inbuf param to be passed as bytes instead of string [0]. Cinder driver needs to encode the inbuf driver before calling the rados lib.

Steps to reproduce: deploy Cinder with Ceph Pacific (devstack with the devstack-ceph-plugin enabled will do)

How reproducible: always

Expected output: use Cinder with Ceph as backend

Actual output:

Jan 25 11:46:55.943047 ubuntu-focal-rax-ord-0022703720 cinder-volume[350883]: INFO cinder.service [-] Starting cinder-volume node (version 17.1.0)
Jan 25 11:46:55.970623 ubuntu-focal-rax-ord-0022703720 cinder-volume[350883]: INFO cinder.volume.manager [None req-2e87de1f-2129-4ab6-a34e-c76dd947d242 None None] Starting volume driver RBDDriver (1.2.0)
Jan 25 11:46:55.971936 ubuntu-focal-rax-ord-0022703720 cinder-volume[350883]: DEBUG cinder.volume.drivers.rbd [None req-2e87de1f-2129-4ab6-a34e-c76dd947d242 None None] connecting to cinder@ceph (conf=/etc/ceph/ceph.conf, timeout=-1). {{(pid=350883) _do_conn /opt/stack/cinder/cinder/volume/drivers/rbd.py:459}}
Jan 25 11:46:56.001906 ubuntu-focal-rax-ord-0022703720 cinder-volume[350883]: DEBUG cinder.volume.drivers.rbd [None req-2e87de1f-2129-4ab6-a34e-c76dd947d242 None None] connecting to cinder@ceph (conf=/etc/ceph/ceph.conf, timeout=-1). {{(pid=350883) _do_conn /opt/stack/cinder/cinder/volume/drivers/rbd.py:459}}
Jan 25 11:46:56.021345 ubuntu-focal-rax-ord-0022703720 cinder-volume[350883]: DEBUG cinder.volume.drivers.rbd [None req-2e87de1f-2129-4ab6-a34e-c76dd947d242 None None] connecting to cinder@ceph (conf=/etc/ceph/ceph.conf, timeout=-1). {{(pid=350883) _do_conn /opt/stack/cinder/cinder/volume/drivers/rbd.py:459}}
Jan 25 11:46:56.043793 ubuntu-focal-rax-ord-0022703720 cinder-volume[350883]: ERROR oslo_service.service [None req-2e87de1f-2129-4ab6-a34e-c76dd947d242 None None] Error starting thread.: TypeError: Argument 'inbuf' has incorrect type (expected bytes, got str)
Jan 25 11:46:56.043793 ubuntu-focal-rax-ord-0022703720 cinder-volume[350883]: ERROR oslo_service.service Traceback (most recent call last):
Jan 25 11:46:56.043793 ubuntu-focal-rax-ord-0022703720 cinder-volume[350883]: ERROR oslo_service.service File "/usr/local/lib/python3.8/dist-packages/oslo_service/service.py", line 807, in run_service
Jan 25 11:46:56.043793 ubuntu-focal-rax-ord-0022703720 cinder-volume[350883]: ERROR oslo_service.service service.start()
Jan 25 11:46:56.043793 ubuntu-focal-rax-ord-0022703720 cinder-volume[350883]: ERROR oslo_service.service File "/opt/stack/cinder/cinder/service.py", line 228, in start
Jan 25 11:46:56.043793 ubuntu-focal-rax-ord-0022703720 cinder-volume[350883]: ERROR oslo_service.service self.manager.init_host(added_to_cluster=self.added_to_cluster,
Jan 25 11:46:56.043793 ubuntu-focal-rax-ord-0022703720 cinder-volume[350883]: ERROR oslo_service.service File "/opt/stack/cinder/cinder/volume/manager.py", line 442, in init_host
Jan 25 11:46:56.043793 ubuntu-focal-rax-ord-0022703720 cinder-volume[350883]: ERROR oslo_service.service self._init_host(added_to_cluster, **kwargs)
Jan 25 11:46:56.043793 ubuntu-focal-rax-ord-0022703720 cinder-volume[350883]: ERROR oslo_service.service File "/opt/stack/cinder/cinder/volume/manager.py", line 476, in _init_host
Jan 25 11:46:56.043793 ubuntu-focal-rax-ord-0022703720 cinder-volume[350883]: ERROR oslo_service.service self.driver.init_capabilities()
Jan 25 11:46:56.043793 ubuntu-focal-rax-ord-0022703720 cinder-volume[350883]: ERROR oslo_service.service File "/opt/stack/cinder/cinder/volume/driver.py", line 768, in init_capabilities
Jan 25 11:46:56.043793 ubuntu-focal-rax-ord-0022703720 cinder-volume[350883]: ERROR oslo_service.service stats = self.get_volume_stats(True)
Jan 25 11:46:56.043793 ubuntu-focal-rax-ord-0022703720 cinder-volume[350883]: ERROR oslo_service.service File "/opt/stack/cinder/cinder/volume/driver.py", line 636, in get_volume_stats
Jan 25 11:46:56.043793 ubuntu-focal-rax-ord-0022703720 cinder-volume[350883]: ERROR oslo_service.service self._update_volume_stats()
Jan 25 11:46:56.043793 ubuntu-focal-rax-ord-0022703720 cinder-volume[350883]: ERROR oslo_service.service File "/opt/stack/cinder/cinder/volume/drivers/rbd.py", line 632, in _update_volume_stats
Jan 25 11:46:56.043793 ubuntu-focal-rax-ord-0022703720 cinder-volume[350883]: ERROR oslo_service.service free_capacity, total_capacity = self._get_pool_stats()
Jan 25 11:46:56.043793 ubuntu-focal-rax-ord-0022703720 cinder-volume[350883]: ERROR oslo_service.service File "/opt/stack/cinder/cinder/volume/drivers/rbd.py", line 560, in _get_pool_stats
Jan 25 11:46:56.043793 ubuntu-focal-rax-ord-0022703720 cinder-volume[350883]: ERROR oslo_service.service ret, df_outbuf, __ = client.cluster.mon_command(
Jan 25 11:46:56.045357 ubuntu-focal-rax-ord-0022703720 cinder-volume[350883]: ERROR oslo_service.service TypeError: Argument 'inbuf' has incorrect type (expected bytes, got str)
Jan 25 11:46:56.045357 ubuntu-focal-rax-ord-0022703720 cinder-volume[350883]: ERROR oslo_service.service
Jan 25 11:46:56.047503 ubuntu-focal-rax-ord-0022703720 cinder-volume[350883]: DEBUG oslo_concurrency.lockutils [None req-de88984f-7ca5-4e31-b108-530a70a20398 None None] Acquired lock "singleton_lock" {{(pid=350883) lock /usr/local/lib/python3.8/dist-packages/oslo_concurrency/lockutils.py:266}}
Jan 25 11:46:56.047761 ubuntu-focal-rax-ord-0022703720 cinder-volume[350883]: DEBUG oslo_concurrency.lockutils [None req-de88984f-7ca5-4e31-b108-530a70a20398 None None] Releasing lock "singleton_lock" {{(pid=350883) lock /usr/local/lib/python3.8/dist-packages/oslo_concurrency/lockutils.py:282}}
Jan 25 11:46:56.060497 ubuntu-focal-rax-ord-0022703720 cinder-volume[99057]: INFO oslo_service.service [None req-de88984f-7ca5-4e31-b108-530a70a20398 None None] Child 350883 exited with status 1

[0] https://github.com/ceph/ceph/blob/pacific/src/pybind/rados/rados.pyx#L1011

Tags: rbd volume
tags: added: rbd volume
Eric Harney (eharney)
Changed in cinder:
assignee: nobody → Eric Harney (eharney)
Revision history for this message
Gorka Eguileor (gorka) wrote :
Eric Harney (eharney)
Changed in cinder:
status: New → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/cinder 18.0.0.0b1

This issue was fixed in the openstack/cinder 18.0.0.0b1 development milestone.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/cinder 17.1.0

This issue was fixed in the openstack/cinder 17.1.0 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/cinder 16.3.0

This issue was fixed in the openstack/cinder 16.3.0 release.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.