self.cache.loading_osdspec_preview.add(search_host)
previews = []
# query OSDSpecs for host <search host> and generate/get the preview
- for preview in self.osd_service.get_previews(search_host):
- # There can be multiple previews for one host due to multiple OSDSpecs.
- previews.append(preview)
+ # There can be multiple previews for one host due to multiple OSDSpecs.
+ previews.extend(self.osd_service.get_previews(search_host))
self.log.debug(f"Loading OSDSpec previews to HostCache")
self.cache.osdspec_previews[search_host] = previews
# Unset global 'pending' flag for host
def get_previews(self, host) -> List[Dict[str, Any]]:
# Find OSDSpecs that match host.
osdspecs = self.mgr.resolve_osdspecs_for_host(host)
- return self.generate_previews(osdspecs)
+ return self.generate_previews(osdspecs, host)
- def generate_previews(self, osdspecs: List[DriveGroupSpec]) -> List[Dict[str, Any]]:
+ def generate_previews(self, osdspecs: List[DriveGroupSpec], for_host: str) -> List[Dict[str, Any]]:
"""
The return should look like this:
# prepare driveselection
for host, ds in self.prepare_drivegroup(osdspec):
+ if host != for_host:
+ continue
# driveselection for host
cmd = self.driveselection_to_ceph_volume(osdspec,
table.add_row((dg_name, host, block_data, db_path, wal_path))
ret = table.get_string()
if not ret:
- ret = "Couldn't draw any conclusion.. This is likely a bug and should be reported"
+ ret = "No preview available"
return ret
if preview and (unmanaged is not None):