diff --git a/cinder/tests/unit/volume/drivers/test_rbd.py b/cinder/tests/unit/volume/drivers/test_rbd.py index d7fbd7c0855..62f603a50ff 100644 --- a/cinder/tests/unit/volume/drivers/test_rbd.py +++ b/cinder/tests/unit/volume/drivers/test_rbd.py @@ -1544,9 +1544,9 @@ class RBDTestCase(test.TestCase): return_value=dynamic_total): result = self.driver._get_pool_stats() client.cluster.mon_command.assert_has_calls([ - mock.call('{"prefix":"df", "format":"json"}', ''), + mock.call('{"prefix":"df", "format":"json"}', b''), mock.call('{"prefix":"osd pool get-quota", "pool": "rbd",' - ' "format":"json"}', ''), + ' "format":"json"}', b''), ]) self.assertEqual((free_capacity, total_capacity), result) @@ -1567,9 +1567,9 @@ class RBDTestCase(test.TestCase): ] result = self.driver._get_pool_stats() client.cluster.mon_command.assert_has_calls([ - mock.call('{"prefix":"df", "format":"json"}', ''), + mock.call('{"prefix":"df", "format":"json"}', b''), mock.call('{"prefix":"osd pool get-quota", "pool": "rbd",' - ' "format":"json"}', ''), + ' "format":"json"}', b''), ]) free_capacity = 1.56 total_capacity = 3.0 diff --git a/cinder/volume/drivers/rbd.py b/cinder/volume/drivers/rbd.py index 068821c1caf..f14ee13c192 100644 --- a/cinder/volume/drivers/rbd.py +++ b/cinder/volume/drivers/rbd.py @@ -558,14 +558,14 @@ class RBDDriver(driver.CloneableImageVD, driver.MigrateVD, with RADOSClient(self) as client: ret, df_outbuf, __ = client.cluster.mon_command( - '{"prefix":"df", "format":"json"}', '') + '{"prefix":"df", "format":"json"}', b'') if ret: LOG.warning('Unable to get rados pool stats.') return 'unknown', 'unknown' ret, quota_outbuf, __ = client.cluster.mon_command( '{"prefix":"osd pool get-quota", "pool": "%s",' - ' "format":"json"}' % pool_name, '') + ' "format":"json"}' % pool_name, b'') if ret: LOG.warning('Unable to get rados pool quotas.') return 'unknown', 'unknown' diff --git a/releasenotes/notes/bug-1913449-4796b366ae7e871b.yaml b/releasenotes/notes/bug-1913449-4796b366ae7e871b.yaml new file mode 100644 index 00000000000..4395292b43d --- /dev/null +++ b/releasenotes/notes/bug-1913449-4796b366ae7e871b.yaml @@ -0,0 +1,7 @@ +--- +fixes: + - | + `Bug 1913449 `_: + Fix RBD driver _update_volume_stats() failing when using Ceph + Pacific python rados libraries. This failed because we + were passing a str instead of bytes to cluster.mon_command()