]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph-volume: add tests for raw prepare --osd-fsid 68338/head
authorGuillaume Abrioux <gabrioux@ibm.com>
Fri, 24 Apr 2026 08:19:11 +0000 (10:19 +0200)
committerGuillaume Abrioux <gabrioux@ibm.com>
Fri, 24 Apr 2026 08:20:28 +0000 (10:20 +0200)
Add unit tests to cover the raw prepare help text for --osd-fsid,
assert generate_uuid is used when no osd_fsid is supplied and
assert an externally provided osd_fsid is passed through to
create_id without generating a new UUID.

Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
src/ceph-volume/ceph_volume/tests/devices/raw/test_prepare.py
src/ceph-volume/ceph_volume/tests/objectstore/test_raw.py

index 248121b9364554381d70db0292576c6c2b9763ab..5d4c2e33140355d1d2314697c495532230b65d39 100644 (file)
@@ -46,6 +46,7 @@ class TestPrepare(object):
         assert 'Path to bluestore block.db block device' in stdout
         assert 'Path to bluestore block.wal block device' in stdout
         assert 'Enable device encryption via dm-crypt' in stdout
+        assert 'Reuse an existing OSD fsid' in stdout
 
     @patch('ceph_volume.util.arg_validators.set_dmcrypt_no_workqueue', return_value=MagicMock())
     @patch('ceph_volume.util.arg_validators.ValidRawDevice.__call__')
index ba244d05e18dc82cda4aad3461d94e00a9719f6e..4b297980b163e0a3c4cb44d4d71e99f9efe1da44 100644 (file)
@@ -92,6 +92,34 @@ class TestRaw:
         assert self.raw_bs.prepare_osd_req.mock_calls == [call(tmpfs=True)]
         assert self.raw_bs.osd_mkfs.called
         assert self.raw_bs.prepare_dmcrypt.called
+        m_generate_uuid.assert_called_once()
+
+    @patch('ceph_volume.objectstore.raw.nvme_utils.preformat', return_value=False)
+    @patch('ceph_volume.objectstore.raw.prepare_utils.create_id')
+    @patch('ceph_volume.objectstore.raw.system.generate_uuid')
+    def test_prepare_uses_external_osd_fsid(self,
+                                            m_generate_uuid,
+                                            m_create_id,
+                                            m_nvme_preformat,
+                                            is_root,
+                                            factory):
+        external = '824f7edf-371f-4b75-9231-4ab62a32d5c0'
+        m_create_id.return_value = MagicMock()
+        args = factory(crush_device_class=None, no_tmpfs=True, osd_fsid=external)
+        args.data = '/dev/sdx'
+        self.raw_bs.args = args
+        self.raw_bs.osd_fsid = getattr(args, 'osd_fsid', '')
+        self.raw_bs.block_device_path = args.data
+        self.raw_bs.prepare_dmcrypt = MagicMock()
+        self.raw_bs.prepare_osd_req = MagicMock()
+        self.raw_bs.osd_mkfs = MagicMock()
+        self.raw_bs.secrets = {}
+        self.raw_bs.encrypted = False
+        self.raw_bs.prepare()
+        m_generate_uuid.assert_not_called()
+        m_create_id.assert_called_once()
+        assert m_create_id.call_args[0][0] == external
+        assert self.raw_bs.osd_fsid == external
 
     @patch('ceph_volume.objectstore.raw.nvme_utils.preformat', return_value=True)
     @patch('ceph_volume.objectstore.raw.prepare_utils.create_id')