@@ -1619,7 +1619,7 @@ protected void runInContext() {
16191619 }
16201620
16211621 private SetMonitorServiceCommand createMonitorServiceCommand (DomainRouterVO router , List <MonitorServiceTO > services ,
1622- boolean reconfigure , boolean deleteFromProcessedCache ) {
1622+ boolean reconfigure , boolean deleteFromProcessedCache , Map < String , String > routerHealthCheckConfig ) {
16231623 final SetMonitorServiceCommand command = new SetMonitorServiceCommand (services );
16241624 command .setAccessDetail (NetworkElementCommand .ROUTER_IP , _routerControlHelper .getRouterControlIp (router .getId ()));
16251625 command .setAccessDetail (NetworkElementCommand .ROUTER_NAME , router .getInstanceName ());
@@ -1637,7 +1637,7 @@ private SetMonitorServiceCommand createMonitorServiceCommand(DomainRouterVO rout
16371637 }
16381638
16391639 command .setAccessDetail (SetMonitorServiceCommand .ROUTER_HEALTH_CHECKS_EXCLUDED , excludedTests );
1640- command .setHealthChecksConfig (getRouterHealthChecksConfig ( router ) );
1640+ command .setHealthChecksConfig (routerHealthCheckConfig );
16411641 command .setReconfigureAfterUpdate (reconfigure );
16421642 command .setDeleteFromProcessedCache (deleteFromProcessedCache ); // As part of updating
16431643 return command ;
@@ -1662,7 +1662,7 @@ private boolean updateRouterHealthChecksConfig(DomainRouterVO router) {
16621662 s_logger .info ("Updating data for router health checks for router " + router .getUuid ());
16631663 Answer origAnswer = null ;
16641664 try {
1665- SetMonitorServiceCommand command = createMonitorServiceCommand (router , null , true , true );
1665+ SetMonitorServiceCommand command = createMonitorServiceCommand (router , null , true , true , getRouterHealthChecksConfig ( router ) );
16661666 origAnswer = _agentMgr .easySend (router .getHostId (), command );
16671667 } catch (final Exception e ) {
16681668 s_logger .error ("Error while sending update data for health check to router: " + router .getInstanceName (), e );
@@ -1777,7 +1777,7 @@ private void updateWithLbRules(final DomainRouterJoinVO routerJoinVO, final Stri
17771777 }
17781778 }
17791779
1780- private Map <String , String > getRouterHealthChecksConfig (final DomainRouterVO router ) {
1780+ protected Map <String , String > getRouterHealthChecksConfig (final DomainRouterVO router ) {
17811781 Map <String , String > data = new HashMap <>();
17821782 List <DomainRouterJoinVO > routerJoinVOs = domainRouterJoinDao .searchByIds (router .getId ());
17831783 StringBuilder vmsData = new StringBuilder ();
@@ -2342,6 +2342,7 @@ public boolean finalizeCommandsOnStart(final Commands cmds, final VirtualMachine
23422342 final Provider provider = getVrProvider (router );
23432343
23442344 final List <Long > routerGuestNtwkIds = _routerDao .getRouterNetworks (router .getId ());
2345+ Map <String , String > routerHealthChecksConfig = getRouterHealthChecksConfig (router );
23452346 for (final Long guestNetworkId : routerGuestNtwkIds ) {
23462347 final AggregationControlCommand startCmd = new AggregationControlCommand (Action .Start , router .getInstanceName (), controlNic .getIPv4Address (), _routerControlHelper .getRouterIpInNetwork (
23472348 guestNetworkId , router .getId ()));
@@ -2350,7 +2351,7 @@ public boolean finalizeCommandsOnStart(final Commands cmds, final VirtualMachine
23502351 if (reprogramGuestNtwks ) {
23512352 finalizeIpAssocForNetwork (cmds , router , provider , guestNetworkId , null );
23522353 finalizeNetworkRulesForNetwork (cmds , router , provider , guestNetworkId );
2353- finalizeMonitorService (cmds , profile , router , provider , guestNetworkId , true );
2354+ finalizeMonitorService (cmds , profile , router , provider , guestNetworkId , true , routerHealthChecksConfig );
23542355 }
23552356
23562357 finalizeUserDataAndDhcpOnStart (cmds , router , provider , guestNetworkId );
@@ -2364,7 +2365,7 @@ public boolean finalizeCommandsOnStart(final Commands cmds, final VirtualMachine
23642365 }
23652366
23662367 protected void finalizeMonitorService (final Commands cmds , final VirtualMachineProfile profile , final DomainRouterVO router , final Provider provider ,
2367- final long networkId , boolean onStart ) {
2368+ final long networkId , boolean onStart , Map < String , String > routerHealthCheckConfig ) {
23682369 final NetworkOffering offering = _networkOfferingDao .findById (_networkDao .findById (networkId ).getNetworkOfferingId ());
23692370 if (offering .isRedundantRouter ()) {
23702371 // service monitoring is currently not added in RVR
@@ -2414,7 +2415,7 @@ protected void finalizeMonitorService(final Commands cmds, final VirtualMachineP
24142415 }
24152416
24162417 // As part of aggregate command we don't need to reconfigure if onStart and persist in processed cache. Subsequent updates are not needed.
2417- SetMonitorServiceCommand command = createMonitorServiceCommand (router , servicesTO , !onStart , false );
2418+ SetMonitorServiceCommand command = createMonitorServiceCommand (router , servicesTO , !onStart , false , routerHealthCheckConfig );
24182419 command .setAccessDetail (NetworkElementCommand .ROUTER_GUEST_IP , _routerControlHelper .getRouterIpInNetwork (networkId , router .getId ()));
24192420 if (!isMonitoringServicesEnabled ) {
24202421 command .setAccessDetail (SetMonitorServiceCommand .ROUTER_MONITORING_ENABLED , isMonitoringServicesEnabled .toString ());
0 commit comments