Skip to content

Commit 23ab2b7

Browse files
authored
Merge pull request ceph#58517 from phlogistonjohn/jjm-cephadm-ranked-by-spec
mgr/cephadm: allow services to be conditionally ranked Reviewed-by: Adam King <[email protected]>
2 parents b2c7ab1 + 6aba0cd commit 23ab2b7

File tree

4 files changed

+7
-4
lines changed

4 files changed

+7
-4
lines changed

src/pybind/mgr/cephadm/module.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3321,6 +3321,9 @@ def _plan(self, spec: ServiceSpec) -> dict:
33213321
'data': self._preview_osdspecs(osdspecs=[cast(DriveGroupSpec, spec)])}
33223322

33233323
svc = self.cephadm_services[spec.service_type]
3324+
rank_map = None
3325+
if svc.ranked(spec):
3326+
rank_map = self.spec_store[spec.service_name()].rank_map
33243327
ha = HostAssignment(
33253328
spec=spec,
33263329
hosts=self.cache.get_schedulable_hosts(),
@@ -3329,7 +3332,7 @@ def _plan(self, spec: ServiceSpec) -> dict:
33293332
networks=self.cache.networks,
33303333
daemons=self.cache.get_daemons_by_service(spec.service_name()),
33313334
allow_colo=svc.allow_colo(),
3332-
rank_map=self.spec_store[spec.service_name()].rank_map if svc.ranked() else None
3335+
rank_map=rank_map
33333336
)
33343337
ha.validate()
33353338
hosts, to_add, to_remove = ha.place()

src/pybind/mgr/cephadm/serve.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -780,7 +780,7 @@ def has_interface_for_vip(host: str, sspec: ServiceSpec) -> bool:
780780
}
781781

782782
rank_map = None
783-
if svc.ranked():
783+
if svc.ranked(spec):
784784
rank_map = self.mgr.spec_store[spec.service_name()].rank_map or {}
785785
ha = HostAssignment(
786786
spec=spec,

src/pybind/mgr/cephadm/services/cephadmservice.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -288,7 +288,7 @@ def per_host_daemon_type(self, spec: Optional[ServiceSpec] = None) -> Optional[s
288288
"""
289289
return None
290290

291-
def ranked(self) -> bool:
291+
def ranked(self, spec: ServiceSpec) -> bool:
292292
"""
293293
If True, we will assign a stable rank (0, 1, ...) and monotonically increasing
294294
generation (0, 1, ...) to each daemon we create/deploy.

src/pybind/mgr/cephadm/services/nfs.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
class NFSService(CephService):
2424
TYPE = 'nfs'
2525

26-
def ranked(self) -> bool:
26+
def ranked(self, spec: ServiceSpec) -> bool:
2727
return True
2828

2929
def fence(self, daemon_id: str) -> None:

0 commit comments

Comments
 (0)