Skip to content
This repository was archived by the owner on Dec 16, 2025. It is now read-only.

Commit 4845e24

Browse files
committed
Return representive state data for module migrate_osd_pools
Signed-off-by: Tobias Wolf <[email protected]>
1 parent bc9fa4a commit 4845e24

File tree

1 file changed

+27
-3
lines changed
  • src/rookify/modules/migrate_osd_pools

1 file changed

+27
-3
lines changed

src/rookify/modules/migrate_osd_pools/main.py

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# -*- coding: utf-8 -*-
22

3-
from typing import Any, Dict
3+
from collections import OrderedDict
4+
from typing import Any, Dict, List
45
from ..machine import Machine
56
from ..module import ModuleHandler
67

@@ -14,8 +15,12 @@ class MigrateOSDPoolsHandler(ModuleHandler):
1415
]
1516

1617
def execute(self) -> None:
17-
state_data = self.machine.get_preflight_state("AnalyzeCephHandler").data
18+
pools = self._get_filtered_osd_pools_list()
19+
20+
for pool in pools:
21+
self._migrate_pool(pool)
1822

23+
def _get_filtered_osd_pools_list(self) -> List[Dict[str, Any]]:
1924
migrated_mds_pools = self.machine.get_execution_state_data(
2025
name="MigrateMdsPoolsHandler", tag="migrated_pools", default_value=[]
2126
)
@@ -25,6 +30,8 @@ def execute(self) -> None:
2530

2631
migrated_pools = migrated_mds_pools + migrated_rgw_pools
2732

33+
state_data = self.machine.get_preflight_state("AnalyzeCephHandler").data
34+
2835
osd_pool_configurations = self.ceph.get_osd_pool_configurations_from_osd_dump(
2936
state_data["osd"]["dump"]
3037
)
@@ -38,8 +45,25 @@ def execute(self) -> None:
3845
):
3946
pools.append(pool)
4047

48+
return pools
49+
50+
def get_readable_key_value_state(self) -> Dict[str, str]:
51+
migrated_pools = self.machine.get_execution_state_data(
52+
"MigrateOSDPoolsHandler", "migrated_pools", default_value=[]
53+
)
54+
55+
pools = self._get_filtered_osd_pools_list()
56+
57+
kv_state_data = OrderedDict()
58+
4159
for pool in pools:
42-
self._migrate_pool(pool)
60+
key_name = "ceph OSD pool {0}".format(pool["pool_name"])
61+
kv_state_data[key_name] = self._get_readable_json_dump(pool)
62+
63+
key_name = "ceph OSD pool {0} is created".format(pool["pool_name"])
64+
kv_state_data[key_name] = pool["pool_name"] in migrated_pools
65+
66+
return kv_state_data
4367

4468
def _migrate_pool(self, pool: Dict[str, Any]) -> None:
4569
migrated_pools = self.machine.get_execution_state_data(

0 commit comments

Comments
 (0)