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
Proposed patch: /review. opendev. org/c/openstack /cinder/ +/773694
https:/