From 93827e8703d9c2b8b829d5b6608340b05d65b842 Mon Sep 17 00:00:00 2001 From: Guillaume Abrioux Date: Wed, 8 Jan 2025 15:52:21 +0000 Subject: [PATCH] ceph-volume: add type annotations to devices.lvm.common This commit adds the Python type annotations to `devices.lvm.common`. Signed-off-by: Guillaume Abrioux --- src/ceph-volume/ceph_volume/devices/lvm/common.py | 13 +++++++------ src/ceph-volume/ceph_volume/devices/lvm/create.py | 2 +- .../ceph_volume/objectstore/lvmbluestore.py | 2 +- .../ceph_volume/objectstore/rawbluestore.py | 2 +- .../tests/objectstore/test_lvmbluestore.py | 2 +- .../tests/objectstore/test_rawbluestore.py | 2 +- 6 files changed, 12 insertions(+), 11 deletions(-) diff --git a/src/ceph-volume/ceph_volume/devices/lvm/common.py b/src/ceph-volume/ceph_volume/devices/lvm/common.py index e18d98bb6fbd9..a74931155c25a 100644 --- a/src/ceph-volume/ceph_volume/devices/lvm/common.py +++ b/src/ceph-volume/ceph_volume/devices/lvm/common.py @@ -3,8 +3,9 @@ from ceph_volume import process, conf from ceph_volume import terminal from ceph_volume.devices.lvm.zap import Zap import argparse +from typing import Any, Dict, Optional -def rollback_osd(args, osd_id=None): +def rollback_osd(osd_id: Optional[str] = None) -> None: """ When the process of creating or preparing fails, the OSD needs to be destroyed so that the ID can be reused. This prevents from leaving the ID @@ -35,7 +36,7 @@ def rollback_osd(args, osd_id=None): Zap(['--destroy', '--osd-id', osd_id]).main() -common_args = { +common_args: Dict[str, Any] = { '--objectstore': { 'dest': 'objectstore', 'help': 'The OSD objectstore.', @@ -95,7 +96,7 @@ common_args = { }, } -bluestore_args = { +bluestore_args: Dict[str, Any] = { '--bluestore': { 'action': 'store_true', 'help': 'Use the bluestore objectstore. (DEPRECATED: use --objectstore instead)', @@ -139,16 +140,16 @@ bluestore_args = { } -def get_default_args(): +def get_default_args() -> Dict[str, Any]: defaults = {} - def format_name(name): + def format_name(name: str) -> str: return name.strip('-').replace('-', '_').replace('.', '_') for argset in (common_args, bluestore_args): defaults.update({format_name(name): val.get('default', None) for name, val in argset.items()}) return defaults -def common_parser(prog, description): +def common_parser(prog: str, description: str) -> argparse.ArgumentParser: """ Both prepare and create share the same parser, those are defined here to avoid duplication diff --git a/src/ceph-volume/ceph_volume/devices/lvm/create.py b/src/ceph-volume/ceph_volume/devices/lvm/create.py index c1914fe8e9772..70113346c29e7 100644 --- a/src/ceph-volume/ceph_volume/devices/lvm/create.py +++ b/src/ceph-volume/ceph_volume/devices/lvm/create.py @@ -38,7 +38,7 @@ class Create(object): except Exception: logger.exception('lvm activate was unable to complete, while creating the OSD') logger.info('will rollback OSD ID creation') - rollback_osd(self.args, osd_id) + rollback_osd(osd_id) raise terminal.success("ceph-volume lvm create successful for: %s" % self.args.data) diff --git a/src/ceph-volume/ceph_volume/objectstore/lvmbluestore.py b/src/ceph-volume/ceph_volume/objectstore/lvmbluestore.py index 1662ae3f1bce8..fa3fb43261fcb 100644 --- a/src/ceph-volume/ceph_volume/objectstore/lvmbluestore.py +++ b/src/ceph-volume/ceph_volume/objectstore/lvmbluestore.py @@ -131,7 +131,7 @@ class LvmBlueStore(BlueStore): except Exception: logger.exception('lvm prepare was unable to complete') logger.info('will rollback OSD ID creation') - rollback_osd(self.args, self.osd_id) + rollback_osd(self.osd_id) raise terminal.success("ceph-volume lvm prepare successful for: %s" % self.args.data) diff --git a/src/ceph-volume/ceph_volume/objectstore/rawbluestore.py b/src/ceph-volume/ceph_volume/objectstore/rawbluestore.py index 1677504259710..3065342c7a91f 100644 --- a/src/ceph-volume/ceph_volume/objectstore/rawbluestore.py +++ b/src/ceph-volume/ceph_volume/objectstore/rawbluestore.py @@ -75,7 +75,7 @@ class RawBlueStore(BlueStore): except Exception: logger.exception('raw prepare was unable to complete') logger.info('will rollback OSD ID creation') - rollback_osd(self.args, self.osd_id) + rollback_osd(self.osd_id) raise dmcrypt_log = 'dmcrypt' if hasattr(args, 'dmcrypt') else 'clear' terminal.success("ceph-volume raw {} prepare " diff --git a/src/ceph-volume/ceph_volume/tests/objectstore/test_lvmbluestore.py b/src/ceph-volume/ceph_volume/tests/objectstore/test_lvmbluestore.py index 2dc089267a4b5..eed1f35f68bd7 100644 --- a/src/ceph-volume/ceph_volume/tests/objectstore/test_lvmbluestore.py +++ b/src/ceph-volume/ceph_volume/tests/objectstore/test_lvmbluestore.py @@ -188,7 +188,7 @@ class TestLvmBlueStore: m_rollback_osd.return_value = MagicMock() with pytest.raises(Exception): self.lvm_bs.safe_prepare() - assert m_rollback_osd.mock_calls == [call(self.lvm_bs.args, '111')] + assert m_rollback_osd.mock_calls == [call('111')] @patch('ceph_volume.objectstore.baseobjectstore.BaseObjectStore.get_ptuuid', Mock(return_value='c6798f59-01')) @patch('ceph_volume.api.lvm.Volume.set_tags', MagicMock()) diff --git a/src/ceph-volume/ceph_volume/tests/objectstore/test_rawbluestore.py b/src/ceph-volume/ceph_volume/tests/objectstore/test_rawbluestore.py index fd7c468037c5c..138ec828d8b8c 100644 --- a/src/ceph-volume/ceph_volume/tests/objectstore/test_rawbluestore.py +++ b/src/ceph-volume/ceph_volume/tests/objectstore/test_rawbluestore.py @@ -60,7 +60,7 @@ class TestRawBlueStore: self.raw_bs.osd_id = self.raw_bs.args.osd_id with pytest.raises(Exception): self.raw_bs.safe_prepare() - assert m_rollback_osd.mock_calls == [call(self.raw_bs.args, '1')] + assert m_rollback_osd.mock_calls == [call('1')] @patch('ceph_volume.objectstore.rawbluestore.RawBlueStore.prepare', MagicMock()) def test_safe_prepare(self, -- 2.39.5