diff options
author | Brian Rosmaita <rosmaita.fossdev@gmail.com> | 2021-07-29 11:06:31 -0400 |
---|---|---|
committer | Brian Rosmaita <rosmaita.fossdev@gmail.com> | 2021-10-25 12:53:32 +0000 |
commit | d5f10f430d7e269f5e59467d3ee547ca3a3a62ae (patch) | |
tree | 7194830d78bcca87e6d6debbc73264e27b9b1f4f | |
parent | f1c1ac4fa5f00f6d5ab916a3d351a16836772d11 (diff) | |
download | python-cinderclient-d5f10f430d7e269f5e59467d3ee547ca3a3a62ae.tar.gz |
[stable-only] Add missing classes to cinderclient.v3ussuri-em7.0.2stable/ussuri
The QuotaSet class was never added to cinderclient.v3.quotas, and
the VolumeTransfer class was never added to cinderclient.v3.
volume_transfers.
Note: this fix is proposed directly to the stable branches, as the
issue was fixed differently in master (Xena development) when the
cinderclient.v2 classes were removed by change I335db5c1799e.
Change-Id: Ie00f068d7818e20683a0c242b51027d657382dd4
Closes-bug: #1938451
(cherry picked from commit 579846c7a4446be98763540b1669f39464c2cab8)
(cherry picked from commit c6f74bf1bceeaf8e5130868a39188894ff9b87cb)
-rw-r--r-- | cinderclient/tests/unit/v3/test_v2_compatibility.py | 46 | ||||
-rw-r--r-- | cinderclient/v3/quotas.py | 4 | ||||
-rw-r--r-- | cinderclient/v3/volume_transfers.py | 4 |
3 files changed, 54 insertions, 0 deletions
diff --git a/cinderclient/tests/unit/v3/test_v2_compatibility.py b/cinderclient/tests/unit/v3/test_v2_compatibility.py new file mode 100644 index 0000000..249fbfb --- /dev/null +++ b/cinderclient/tests/unit/v3/test_v2_compatibility.py @@ -0,0 +1,46 @@ +# Copyright (c) 2021 Red Hat, Inc +# +# All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +import importlib +import inspect + +from cinderclient.tests.unit import utils +import cinderclient.v2 as cv2 +import cinderclient.v3 as cv3 + + +class v2_CompatibilityTest(utils.TestCase): + + def test_all_v2_classes_are_v3_classes(self): + CV2 = 'cinderclient.v2' + CV3 = 'cinderclient.v3' + + v2_class_names = [] + for mod_name, mod_data in inspect.getmembers(cv2, inspect.ismodule): + mod = importlib.import_module(CV2 + '.' + mod_name) + v2_class_names.extend([cls_name for cls_name, cls_data + in inspect.getmembers(mod, + inspect.isclass)]) + + v3_class_names = [] + for mod_name, mod_data in inspect.getmembers(cv3, inspect.ismodule): + mod = importlib.import_module(CV3 + '.' + mod_name) + v3_class_names.extend([cls_name for cls_name, cls_data + in inspect.getmembers(mod, + inspect.isclass)]) + + for cls_name in v2_class_names: + self.assertIn(cls_name, v3_class_names) diff --git a/cinderclient/v3/quotas.py b/cinderclient/v3/quotas.py index 63dfba8..1097f40 100644 --- a/cinderclient/v3/quotas.py +++ b/cinderclient/v3/quotas.py @@ -16,6 +16,10 @@ from cinderclient.v2 import quotas +class QuotaSet(quotas.QuotaSet): + pass + + class QuotaSetManager(quotas.QuotaSetManager): def update(self, tenant_id, **updates): diff --git a/cinderclient/v3/volume_transfers.py b/cinderclient/v3/volume_transfers.py index f40c519..67c911f 100644 --- a/cinderclient/v3/volume_transfers.py +++ b/cinderclient/v3/volume_transfers.py @@ -19,6 +19,10 @@ from cinderclient import base from cinderclient.v2 import volume_transfers +class VolumeTransfer(volume_transfers.VolumeTransfer): + pass + + class VolumeTransferManager(volume_transfers.VolumeTransferManager): def create(self, volume_id, name=None, no_snapshots=False): """Creates a volume transfer. |