mirror of
https://github.com/ceph/ceph
synced 2025-02-24 19:47:44 +00:00
mgr/cephadm: add container digests of mgr that deployed daemon to unit.meta
For use in upgrade. It's useful to see if daemon was deployed by mgr running same container digest as container we are upgrading to. Signed-off-by: Adam King <adking@redhat.com>
This commit is contained in:
parent
4f746f2655
commit
baa95a7a13
@ -1757,6 +1757,11 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule,
|
||||
def daemon_is_self(self, daemon_type: str, daemon_id: str) -> bool:
|
||||
return daemon_type == 'mgr' and daemon_id == self.get_mgr_id()
|
||||
|
||||
def get_active_mgr_digests(self) -> List[str]:
|
||||
digests = self.mgr_service.get_active_daemon(
|
||||
self.cache.get_daemons_by_type('mgr')).container_image_digests
|
||||
return digests if digests else []
|
||||
|
||||
def _schedule_daemon_action(self, daemon_name: str, action: str) -> str:
|
||||
dd = self.cache.get_daemon(daemon_name)
|
||||
assert dd.daemon_type is not None
|
||||
|
@ -279,6 +279,7 @@ class CephadmServe:
|
||||
sd.memory_request = d.get('memory_request')
|
||||
sd.memory_limit = d.get('memory_limit')
|
||||
sd._service_name = d.get('service_name')
|
||||
sd.deployed_by = d.get('deployed_by')
|
||||
sd.version = d.get('version')
|
||||
sd.ports = d.get('ports')
|
||||
sd.ip = d.get('ip')
|
||||
@ -880,6 +881,7 @@ class CephadmServe:
|
||||
'service_name': daemon_spec.service_name,
|
||||
'ports': daemon_spec.ports,
|
||||
'ip': daemon_spec.ip,
|
||||
'deployed_by': self.mgr.get_active_mgr_digests(),
|
||||
}),
|
||||
'--config-json', '-',
|
||||
] + daemon_spec.extra_args,
|
||||
|
@ -289,7 +289,7 @@ class TestCephadm(object):
|
||||
_run_cephadm.assert_called_with(
|
||||
'test', 'mon.test', 'deploy', [
|
||||
'--name', 'mon.test',
|
||||
'--meta-json', '{"service_name": "mon", "ports": [], "ip": null}',
|
||||
'--meta-json', '{"service_name": "mon", "ports": [], "ip": null, "deployed_by": []}',
|
||||
'--config-json', '-',
|
||||
'--reconfig',
|
||||
],
|
||||
|
@ -793,6 +793,7 @@ class DaemonDescription(object):
|
||||
service_name: Optional[str] = None,
|
||||
ports: Optional[List[int]] = None,
|
||||
ip: Optional[str] = None,
|
||||
deployed_by: Optional[List[str]] = None,
|
||||
) -> None:
|
||||
|
||||
# Host is at the same granularity as InventoryHost
|
||||
@ -847,6 +848,8 @@ class DaemonDescription(object):
|
||||
|
||||
self.ports: Optional[List[int]] = ports
|
||||
self.ip: Optional[str] = ip
|
||||
|
||||
self.deployed_by = deployed_by
|
||||
|
||||
self.is_active = is_active
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user