11from unittest .mock import MagicMock
22from cephadm .service_discovery import Root
3+ from cephadm .services .service_registry import service_registry
34
45
56class FakeDaemonDescription :
@@ -39,15 +40,31 @@ def get_daemons_by_service(self, service_type):
3940 FakeDaemonDescription ('1.2.3.5' , [9200 ], 'node1' )]
4041
4142 def get_daemons_by_type (self , daemon_type ):
42- return [FakeDaemonDescription ('1.2.3.4' , [9100 ], 'node0' , 'ingress' , 'haproxy' ),
43- FakeDaemonDescription ('1.2.3.5' , [9200 ], 'node1' , 'ingress' , 'haproxy' )]
43+ if daemon_type == 'ingress' :
44+ return [FakeDaemonDescription ('1.2.3.4' , [9100 ], 'node0' , 'ingress' , 'haproxy' ),
45+ FakeDaemonDescription ('1.2.3.5' , [9200 ], 'node1' , 'ingress' , 'haproxy' )]
46+ else :
47+ return [FakeDaemonDescription ('1.2.3.4' , [1234 ], 'node0' , daemon_type , daemon_type ),
48+ FakeDaemonDescription ('1.2.3.5' , [1234 ], 'node1' , daemon_type , daemon_type )]
4449
4550
4651class FakeInventory :
4752 def get_addr (self , name : str ):
4853 return '1.2.3.4'
4954
5055
56+ class FakeNFSServiceSpec :
57+ def __init__ (self , port ):
58+ self .monitoring_port = None
59+ self .monitoring_ip_addrs = None
60+ self .monitoring_networks = None
61+
62+
63+ class FakeIngressServiceSpec :
64+ def __init__ (self , port ):
65+ self .monitor_port = port
66+
67+
5168class FakeServiceSpec :
5269 def __init__ (self , port ):
5370 self .monitor_port = port
@@ -58,20 +75,25 @@ def metrics_exporter_port(self):
5875
5976
6077class FakeSpecDescription :
61- def __init__ (self , port ):
62- self .spec = FakeServiceSpec (port )
78+ def __init__ (self , service , port ):
79+ if service == 'ingress' :
80+ self .spec = FakeIngressServiceSpec (port )
81+ elif service == 'nfs' :
82+ self .spec = FakeNFSServiceSpec (port )
83+ else :
84+ self .spec = FakeServiceSpec (port )
6385
6486
6587class FakeSpecStore ():
6688 def __init__ (self , mgr ):
6789 self .mgr = mgr
68- self ._specs = {'ingress' : FakeSpecDescription (9049 )}
90+ self ._specs = {'ingress' : FakeSpecDescription ('ingress' , 9049 ), 'nfs' : FakeSpecDescription ( 'nfs' , 9587 )}
6991
7092 def __contains__ (self , name ):
7193 return name in self ._specs
7294
7395 def __getitem__ (self , name ):
74- return self ._specs ['ingress' ]
96+ return self ._specs [name ]
7597
7698
7799class FakeMgr :
@@ -84,6 +106,7 @@ def __init__(self):
84106 self .inventory = FakeInventory ()
85107 self .cache = FakeCache ()
86108 self .spec_store = FakeSpecStore (self )
109+ service_registry .init_services (self )
87110
88111 def get_mgr_id (self ):
89112 return 'mgr-1'
0 commit comments