@@ -309,7 +309,7 @@ def get_dependencies(cls, mgr: "CephadmOrchestrator",
309309 daemon_type : Optional [str ] = None ) -> List [str ]:
310310 deps = []
311311 deps .append (f'secure_monitoring_stack:{ mgr .secure_monitoring_stack } ' )
312- deps = deps + mgr .cache .get_daemons_by_types (['alertmanager' , 'snmp-gateway' , 'mgmt-gateway' , 'oauth2-proxy' ])
312+ deps += mgr .cache .get_daemons_by_types (['alertmanager' , 'snmp-gateway' , 'mgmt-gateway' , 'oauth2-proxy' ])
313313 security_enabled , mgmt_gw_enabled , _ = mgr ._get_security_config ()
314314 if security_enabled :
315315 alertmanager_user , alertmanager_password = mgr ._get_alertmanager_credentials ()
@@ -654,19 +654,9 @@ def get_dependencies(cls, mgr: "CephadmOrchestrator",
654654 spec : Optional [ServiceSpec ] = None ,
655655 daemon_type : Optional [str ] = None ) -> List [str ]:
656656 deps = [] # type: List[str]
657- port = cast (int , mgr .get_module_option_ex ('prometheus' , 'server_port' , PrometheusService .DEFAULT_MGR_PROMETHEUS_PORT ))
658- deps .append (str (port ))
659657 deps .append (str (mgr .service_discovery_port ))
660658 deps .append (f'secure_monitoring_stack:{ mgr .secure_monitoring_stack } ' )
661659 security_enabled , mgmt_gw_enabled , _ = mgr ._get_security_config ()
662-
663- if not mgmt_gw_enabled :
664- # add an explicit dependency on the active manager. This will force to
665- # re-deploy prometheus if the mgr has changed (due to a fail-over i.e).
666- # when mgmt_gw is enabled there's no need for such dep as mgmt-gw wil
667- # route to the active mgr automatically
668- deps .append (mgr .get_active_mgr ().name ())
669-
670660 if security_enabled :
671661 alertmanager_user , alertmanager_password = mgr ._get_alertmanager_credentials ()
672662 prometheus_user , prometheus_password = mgr ._get_prometheus_credentials ()
@@ -675,16 +665,19 @@ def get_dependencies(cls, mgr: "CephadmOrchestrator",
675665 if alertmanager_user and alertmanager_password :
676666 deps .append (f'{ utils .md5_hash (alertmanager_user + alertmanager_password )} ' )
677667
678- # add a dependency since url_prefix depends on the existence of mgmt-gateway
679- deps += [d .name () for d in mgr .cache .get_daemons_by_service ('mgmt-gateway' )]
680- # add a dependency since enbling basic-auth (or not) depends on the existence of 'oauth2-proxy'
681- deps += [d .name () for d in mgr .cache .get_daemons_by_service ('oauth2-proxy' )]
668+ # Adding other services as deps (with corresponding justification):
669+ # ceph-exporter: scraping target
670+ # node-exporter: scraping target
671+ # ingress : scraping target
672+ # alert-manager: part of prometheus configuration
673+ # mgmt-gateway : since url_prefix depends on the existence of mgmt-gateway
674+ # oauth2-proxy : enbling basic-auth (or not) depends on the existence of 'oauth2-proxy'
675+ for svc in ['mgmt-gateway' , 'oauth2-proxy' , 'alertmanager' , 'node-exporter' , 'ceph-exporter' , 'ingress' ]:
676+ deps .append (f'{ svc } _configured:{ bool (mgr .cache .get_daemons_by_service (svc ))} ' )
682677
683- # add dependency on ceph-exporter daemons
684- deps += [d .name () for d in mgr .cache .get_daemons_by_service ('ceph-exporter' )]
685- deps += [s for s in ['node-exporter' , 'alertmanager' ] if mgr .cache .get_daemons_by_service (s )]
686- if len (mgr .cache .get_daemons_by_type ('ingress' )) > 0 :
687- deps .append ('ingress' )
678+ if not mgmt_gw_enabled :
679+ # Ceph mgrs are dependency because when mgmt-gateway is not enabled the service-discovery depends on mgrs ips
680+ deps += mgr .cache .get_daemons_by_types (['mgr' ])
688681
689682 return sorted (deps )
690683
@@ -797,7 +790,7 @@ def get_dependencies(cls, mgr: "CephadmOrchestrator",
797790 daemon_type : Optional [str ] = None ) -> List [str ]:
798791 deps = []
799792 deps .append (f'secure_monitoring_stack:{ mgr .secure_monitoring_stack } ' )
800- deps = deps + mgr .cache .get_daemons_by_types (['mgmt-gateway' ])
793+ deps += mgr .cache .get_daemons_by_types (['mgmt-gateway' ])
801794 return sorted (deps )
802795
803796 def prepare_create (self , daemon_spec : CephadmDaemonDeploySpec ) -> CephadmDaemonDeploySpec :
0 commit comments