'data': self._preview_osdspecs(osdspecs=[cast(DriveGroupSpec, spec)])}
svc = self.cephadm_services[spec.service_type]
+ rank_map = None
+ if svc.ranked(spec):
+ rank_map = self.spec_store[spec.service_name()].rank_map
ha = HostAssignment(
spec=spec,
hosts=self.cache.get_schedulable_hosts(),
networks=self.cache.networks,
daemons=self.cache.get_daemons_by_service(spec.service_name()),
allow_colo=svc.allow_colo(),
- rank_map=self.spec_store[spec.service_name()].rank_map if svc.ranked() else None
+ rank_map=rank_map
)
ha.validate()
hosts, to_add, to_remove = ha.place()
"""
return None
- def ranked(self) -> bool:
+ def ranked(self, spec: ServiceSpec) -> bool:
"""
If True, we will assign a stable rank (0, 1, ...) and monotonically increasing
generation (0, 1, ...) to each daemon we create/deploy.
class NFSService(CephService):
TYPE = 'nfs'
- def ranked(self) -> bool:
+ def ranked(self, spec: ServiceSpec) -> bool:
return True
def fence(self, daemon_id: str) -> None: