diff options
author | Cyril Roelandt <cyril@redhat.com> | 2022-08-03 18:57:05 +0200 |
---|---|---|
committer | Cyril Roelandt <cyril@redhat.com> | 2022-08-04 15:29:28 +0200 |
commit | b1d0feeba4e16046c7840bd4966f31a0e7527e67 (patch) | |
tree | 615d84e22751731072a006d0276853366d418e45 /glance_store | |
parent | 6851cab51a3d5dbf018f755efee8e0e640ac12ab (diff) | |
download | glance_store-b1d0feeba4e16046c7840bd4966f31a0e7527e67.tar.gz |
Rbd: Deprecate unused rados_connect_timeout
This option determines the value we pass as the "timeout" argument to
rados.Rados.connect. Unfortunately, this argument is silently ignored by
librados[1].
[1] https://docs.ceph.com/en/latest/rados/api/python/#rados.Rados.connect
Closes-Bug: #1983499
Change-Id: I819df987f690c7a8c0a1153ad0e30bd5dbeb7b57
Diffstat (limited to 'glance_store')
-rw-r--r-- | glance_store/_drivers/rbd.py | 13 | ||||
-rw-r--r-- | glance_store/tests/unit/test_multistore_rbd.py | 8 | ||||
-rw-r--r-- | glance_store/tests/unit/test_rbd_store.py | 8 |
3 files changed, 8 insertions, 21 deletions
diff --git a/glance_store/_drivers/rbd.py b/glance_store/_drivers/rbd.py index b632854..a9409e9 100644 --- a/glance_store/_drivers/rbd.py +++ b/glance_store/_drivers/rbd.py @@ -133,6 +133,13 @@ Related options: """), cfg.IntOpt('rados_connect_timeout', default=0, + deprecated_for_removal=True, + deprecated_since='Zed', + deprecated_reason=""" +This option has not had any effect in years. Users willing to set a timeout for +connecting to the Ceph cluster should use 'client_mount_timeout' in Ceph's +configuration file. +""", help=""" Timeout value for connecting to Ceph cluster. @@ -288,7 +295,7 @@ class Store(driver.Store): client = rados.Rados(conffile=conffile, rados_id=rados_id) try: - client.connect(timeout=self.connect_timeout) + client.connect() except (rados.Error, rados.ObjectNotFound) as e: if self.backend_group and len(self.conf.enabled_backends) > 1: reason = _("Error in store configuration: %s") % e @@ -319,8 +326,6 @@ class Store(driver.Store): user = getattr(self.conf, self.backend_group).rbd_store_user conf_file = getattr(self.conf, self.backend_group).rbd_store_ceph_conf - connect_timeout = getattr( - self.conf, self.backend_group).rados_connect_timeout thin_provisioning = getattr(self.conf, self.backend_group).\ rbd_thin_provisioning @@ -329,7 +334,6 @@ class Store(driver.Store): pool = self.conf.glance_store.rbd_store_pool user = self.conf.glance_store.rbd_store_user conf_file = self.conf.glance_store.rbd_store_ceph_conf - connect_timeout = self.conf.glance_store.rados_connect_timeout thin_provisioning = \ self.conf.glance_store.rbd_thin_provisioning @@ -343,7 +347,6 @@ class Store(driver.Store): self.pool = str(pool) self.user = str(user) self.conf_file = str(conf_file) - self.connect_timeout = connect_timeout except cfg.ConfigFileValueError as e: reason = _("Error in store configuration: %s") % e LOG.error(reason) diff --git a/glance_store/tests/unit/test_multistore_rbd.py b/glance_store/tests/unit/test_multistore_rbd.py index 4113e6c..5b37d0a 100644 --- a/glance_store/tests/unit/test_multistore_rbd.py +++ b/glance_store/tests/unit/test_multistore_rbd.py @@ -450,14 +450,6 @@ class TestMultiStore(base.MultiStoreBaseTest, self.assertRaises(exceptions.StoreRandomGetNotSupported, self.store.get, loc, chunk_size=1) - @mock.patch.object(MockRados.Rados, 'connect') - def test_rados_connect_timeout(self, mock_rados_connect): - socket_timeout = 1 - self.config(rados_connect_timeout=socket_timeout, group="ceph1") - self.store.configure() - with self.store.get_connection('conffile', 'rados_id'): - mock_rados_connect.assert_called_with(timeout=socket_timeout) - @mock.patch.object(MockRados.Rados, 'connect', side_effect=MockRados.Error) def test_rados_connect_error(self, _): rbd_store.rados.Error = MockRados.Error diff --git a/glance_store/tests/unit/test_rbd_store.py b/glance_store/tests/unit/test_rbd_store.py index c1c3f05..08ade51 100644 --- a/glance_store/tests/unit/test_rbd_store.py +++ b/glance_store/tests/unit/test_rbd_store.py @@ -656,14 +656,6 @@ class TestStore(base.StoreBaseTest, self.assertRaises(exceptions.StoreRandomGetNotSupported, self.store.get, loc, chunk_size=1) - @mock.patch.object(MockRados.Rados, 'connect') - def test_rados_connect_timeout(self, mock_rados_connect): - socket_timeout = 1 - self.config(rados_connect_timeout=socket_timeout) - self.store.configure() - with self.store.get_connection('conffile', 'rados_id'): - mock_rados_connect.assert_called_with(timeout=socket_timeout) - @mock.patch.object(MockRados.Rados, 'connect', side_effect=MockRados.Error) def test_rados_connect_error(self, _): rbd_store.rados.Error = MockRados.Error |