@@ -107,7 +107,6 @@ use crate::machine_update_manager::MachineUpdateManager;
107107use crate :: measured_boot:: metrics_collector:: MeasuredBootMetricsCollector ;
108108use crate :: mqtt_state_change_hook:: hook:: MqttStateChangeHook ;
109109use crate :: scout_stream:: ConnectionRegistry ;
110- use crate :: state_controller:: common_services:: CommonStateHandlerServices ;
111110use crate :: { attestation, db_init, ethernet_virtualization, listener} ;
112111
113112/// The resolved set of network declarations passed from `start_api` into
@@ -1023,34 +1022,22 @@ pub async fn initialize_and_start_controllers<'a>(
10231022 emitter_builder. build ( )
10241023 } ;
10251024
1026- let handler_services = Arc :: new ( CommonStateHandlerServices {
1027- db_pool : db_pool. clone ( ) ,
1028- db_reader : db_pool. clone ( ) . into ( ) ,
1029- redfish_client_pool : shared_redfish_pool. clone ( ) ,
1030- ib_fabric_manager : ib_fabric_manager. clone ( ) ,
1031- ib_pools : common_pools. infiniband . clone ( ) ,
1032- ipmi_tool : ipmi_tool. clone ( ) ,
1033- site_config : carbide_config. clone ( ) ,
1034- dpa_info,
1035- rms_client : rms_client. clone ( ) ,
1036- switch_system_image_rms_client : carbide_config
1037- . rms
1038- . api_url
1039- . as_deref ( )
1040- . filter ( |url| !url. is_empty ( ) )
1041- . map ( |url| {
1042- let rms_client_config = librms:: client_config:: RmsClientConfig :: new (
1043- carbide_config. rms . root_ca_path . clone ( ) ,
1044- carbide_config. rms . client_cert . clone ( ) ,
1045- carbide_config. rms . client_key . clone ( ) ,
1046- carbide_config. rms . enforce_tls ,
1047- ) ;
1048- let rms_api_config = librms:: client:: RmsApiConfig :: new ( url, & rms_client_config) ;
1049- Arc :: new ( librms:: RackManagerApi :: new ( & rms_api_config) )
1050- as Arc < dyn carbide_rack:: rms_client:: SwitchSystemImageRmsClient >
1051- } ) ,
1052- credential_manager : credential_manager. clone ( ) ,
1053- } ) ;
1025+ let switch_system_image_rms_client = carbide_config
1026+ . rms
1027+ . api_url
1028+ . as_deref ( )
1029+ . filter ( |url| !url. is_empty ( ) )
1030+ . map ( |url| {
1031+ let rms_client_config = librms:: client_config:: RmsClientConfig :: new (
1032+ carbide_config. rms . root_ca_path . clone ( ) ,
1033+ carbide_config. rms . client_cert . clone ( ) ,
1034+ carbide_config. rms . client_key . clone ( ) ,
1035+ carbide_config. rms . enforce_tls ,
1036+ ) ;
1037+ let rms_api_config = librms:: client:: RmsApiConfig :: new ( url, & rms_client_config) ;
1038+ Arc :: new ( librms:: RackManagerApi :: new ( & rms_api_config) )
1039+ as Arc < dyn carbide_rack:: rms_client:: SwitchSystemImageRmsClient >
1040+ } ) ;
10541041
10551042 // Use the hostname as cluster-wide state controller ID
10561043 // The expectation here is that either the host only runs a single
@@ -1069,14 +1056,11 @@ pub async fn initialize_and_start_controllers<'a>(
10691056 . processor_id ( state_controller_id. clone ( ) )
10701057 . services (
10711058 MachineStateHandlerServices {
1072- db_pool : handler_services. db_pool . clone ( ) ,
1073- db_reader : handler_services. db_reader . clone ( ) ,
1074- redfish_client_pool : handler_services. redfish_client_pool . clone ( ) ,
1075- ipmi_tool : handler_services. ipmi_tool . clone ( ) ,
1076- site_config : handler_services
1077- . site_config
1078- . machine_state_handler_site_config ( )
1079- . into ( ) ,
1059+ db_pool : db_pool. clone ( ) ,
1060+ db_reader : db_pool. clone ( ) . into ( ) ,
1061+ redfish_client_pool : shared_redfish_pool. clone ( ) ,
1062+ ipmi_tool : ipmi_tool. clone ( ) ,
1063+ site_config : carbide_config. machine_state_handler_site_config ( ) . into ( ) ,
10801064 }
10811065 . into ( ) ,
10821066 )
@@ -1151,7 +1135,7 @@ pub async fn initialize_and_start_controllers<'a>(
11511135 . processor_id ( state_controller_id. clone ( ) )
11521136 . services (
11531137 NetworkSegmentStateHandlerServices {
1154- db_pool : handler_services . db_pool . clone ( ) ,
1138+ db_pool : db_pool. clone ( ) ,
11551139 }
11561140 . into ( ) ,
11571141 ) ;
@@ -1175,10 +1159,10 @@ pub async fn initialize_and_start_controllers<'a>(
11751159 . processor_id ( state_controller_id. clone ( ) )
11761160 . services (
11771161 DpaInterfaceStateHandlerServices {
1178- db_pool : handler_services . db_pool . clone ( ) ,
1179- db_reader : handler_services . db_reader . clone ( ) ,
1180- dpa_info : handler_services . dpa_info . clone ( ) ,
1181- hb_interval : handler_services . site_config . get_hb_interval ( ) ,
1162+ db_pool : db_pool. clone ( ) ,
1163+ db_reader : db_pool . clone ( ) . into ( ) ,
1164+ dpa_info,
1165+ hb_interval : carbide_config . get_hb_interval ( ) ,
11821166 }
11831167 . into ( ) ,
11841168 )
@@ -1203,8 +1187,8 @@ pub async fn initialize_and_start_controllers<'a>(
12031187 . processor_id ( state_controller_id. clone ( ) )
12041188 . services (
12051189 SpdmStateHandlerServices {
1206- db_pool : handler_services . db_pool . clone ( ) ,
1207- redfish_client_pool : handler_services . redfish_client_pool . clone ( ) ,
1190+ db_pool : db_pool. clone ( ) ,
1191+ redfish_client_pool : shared_redfish_pool . clone ( ) ,
12081192 }
12091193 . into ( ) ,
12101194 )
@@ -1223,9 +1207,9 @@ pub async fn initialize_and_start_controllers<'a>(
12231207 . processor_id ( state_controller_id. clone ( ) )
12241208 . services (
12251209 IBPartitionStateHandlerServices {
1226- db_pool : handler_services . db_pool . clone ( ) ,
1227- ib_fabric_manager : handler_services . ib_fabric_manager . clone ( ) ,
1228- ib_pools : handler_services . ib_pools . clone ( ) ,
1210+ db_pool : db_pool. clone ( ) ,
1211+ ib_fabric_manager : ib_fabric_manager. clone ( ) ,
1212+ ib_pools : common_pools . infiniband . clone ( ) ,
12291213 }
12301214 . into ( ) ,
12311215 )
@@ -1240,9 +1224,9 @@ pub async fn initialize_and_start_controllers<'a>(
12401224 . processor_id ( state_controller_id. clone ( ) )
12411225 . services (
12421226 PowerShelfStateHandlerServices {
1243- db_pool : handler_services . db_pool . clone ( ) ,
1244- rms_client : handler_services . rms_client . clone ( ) ,
1245- credential_manager : handler_services . credential_manager . clone ( ) ,
1227+ db_pool : db_pool. clone ( ) ,
1228+ rms_client : rms_client. clone ( ) ,
1229+ credential_manager : credential_manager. clone ( ) ,
12461230 }
12471231 . into ( ) ,
12481232 )
@@ -1257,21 +1241,16 @@ pub async fn initialize_and_start_controllers<'a>(
12571241 . processor_id ( state_controller_id. clone ( ) )
12581242 . services (
12591243 RackStateHandlerServices {
1260- db_pool : handler_services . db_pool . clone ( ) ,
1261- rms_client : handler_services . rms_client . clone ( ) ,
1244+ db_pool : db_pool. clone ( ) ,
1245+ rms_client : rms_client. clone ( ) ,
12621246 site_config : RackConfig {
1263- rms : handler_services. site_config . rms . clone ( ) ,
1264- rack_validation_config : handler_services
1265- . site_config
1266- . rack_validation_config
1267- . clone ( ) ,
1268- rack_profiles : handler_services. site_config . rack_profiles . clone ( ) ,
1247+ rms : carbide_config. rms . clone ( ) ,
1248+ rack_validation_config : carbide_config. rack_validation_config . clone ( ) ,
1249+ rack_profiles : carbide_config. rack_profiles . clone ( ) ,
12691250 }
12701251 . into ( ) ,
1271- switch_system_image_rms_client : handler_services
1272- . switch_system_image_rms_client
1273- . clone ( ) ,
1274- credential_manager : handler_services. credential_manager . clone ( ) ,
1252+ switch_system_image_rms_client,
1253+ credential_manager : credential_manager. clone ( ) ,
12751254 }
12761255 . into ( ) ,
12771256 )
@@ -1285,9 +1264,9 @@ pub async fn initialize_and_start_controllers<'a>(
12851264 . processor_id ( state_controller_id. clone ( ) )
12861265 . services (
12871266 SwitchStateHandlerServices {
1288- db_pool : handler_services . db_pool . clone ( ) ,
1289- rms_client : handler_services . rms_client . clone ( ) ,
1290- credential_manager : handler_services . credential_manager . clone ( ) ,
1267+ db_pool : db_pool. clone ( ) ,
1268+ rms_client : rms_client. clone ( ) ,
1269+ credential_manager : credential_manager. clone ( ) ,
12911270 }
12921271 . into ( ) ,
12931272 )
0 commit comments