This is an automated email from the ASF dual-hosted git repository.

yasith pushed a commit to branch worktree-reliability+server-hardening
in repository https://gitbox.apache.org/repos/asf/airavata.git

commit 3607e974a230df609fbd192cea60ffe9b9f9bc48
Author: yasithdev <[email protected]>
AuthorDate: Mon Mar 30 11:54:17 2026 -0400

    refactor: consolidate per-service monitoring servers into unified 
MonitoringServer on :9097
    
    Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
---
 .../airavata/execution/orchestrator/GlobalParticipant.java  | 10 ----------
 .../execution/orchestrator/ParserWorkflowManager.java       | 10 ----------
 .../execution/orchestrator/PostWorkflowManager.java         | 10 ----------
 .../airavata/execution/orchestrator/PreWorkflowManager.java | 10 ----------
 airavata-api/src/main/resources/airavata-server.properties  | 13 -------------
 dev-tools/ansible/roles/airavata_services/defaults/main.yml | 13 -------------
 .../templates/airavata-server.properties.j2                 | 12 ------------
 7 files changed, 78 deletions(-)

diff --git 
a/airavata-api/src/main/java/org/apache/airavata/execution/orchestrator/GlobalParticipant.java
 
b/airavata-api/src/main/java/org/apache/airavata/execution/orchestrator/GlobalParticipant.java
index 59871fa4ed..7269f87e19 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/execution/orchestrator/GlobalParticipant.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/execution/orchestrator/GlobalParticipant.java
@@ -24,7 +24,6 @@ import java.util.List;
 import org.apache.airavata.common.config.ServerSettings;
 import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.server.IServer;
-import org.apache.airavata.common.server.MonitoringServer;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -95,15 +94,6 @@ public class GlobalParticipant extends 
HelixParticipant<AbstractTask> implements
                 
taskClasses.add(Class.forName(taskClassName).asSubclass(AbstractTask.class));
             }
 
-            if 
(ServerSettings.getBooleanSetting("participant.monitoring.enabled")) {
-                MonitoringServer monitoringServer = new MonitoringServer(
-                        
ServerSettings.getSetting("participant.monitoring.host"),
-                        
ServerSettings.getIntSetting("participant.monitoring.port"));
-                new Thread(monitoringServer, "monitoring-server").start();
-
-                Runtime.getRuntime().addShutdownHook(new 
Thread(monitoringServer::stop));
-            }
-
             GlobalParticipant participant = new GlobalParticipant(taskClasses, 
null);
             participant.run();
 
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/execution/orchestrator/ParserWorkflowManager.java
 
b/airavata-api/src/main/java/org/apache/airavata/execution/orchestrator/ParserWorkflowManager.java
index 749881239f..7a14f563bf 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/execution/orchestrator/ParserWorkflowManager.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/execution/orchestrator/ParserWorkflowManager.java
@@ -24,7 +24,6 @@ import org.apache.airavata.common.config.ServerSettings;
 import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.server.CountMonitor;
 import org.apache.airavata.common.server.IServer;
-import org.apache.airavata.common.server.MonitoringServer;
 import org.apache.airavata.execution.task.*;
 import org.apache.airavata.execution.task.ParsingTaskInput;
 import org.apache.airavata.execution.task.ParsingTaskInputs;
@@ -67,15 +66,6 @@ public class ParserWorkflowManager implements IServer {
 
     public static void main(String[] args) throws Exception {
 
-        if 
(ServerSettings.getBooleanSetting("parser.workflow.manager.monitoring.enabled"))
 {
-            MonitoringServer monitoringServer = new MonitoringServer(
-                    
ServerSettings.getSetting("parser.workflow.manager.monitoring.host"),
-                    
ServerSettings.getIntSetting("parser.workflow.manager.monitoring.port"));
-            new Thread(monitoringServer, "monitoring-server").start();
-
-            Runtime.getRuntime().addShutdownHook(new 
Thread(monitoringServer::stop));
-        }
-
         ParserWorkflowManager manager = new ParserWorkflowManager();
         manager.run();
     }
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/execution/orchestrator/PostWorkflowManager.java
 
b/airavata-api/src/main/java/org/apache/airavata/execution/orchestrator/PostWorkflowManager.java
index 8fbdd24c95..f0ddd9af1f 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/execution/orchestrator/PostWorkflowManager.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/execution/orchestrator/PostWorkflowManager.java
@@ -25,7 +25,6 @@ import org.apache.airavata.common.config.ServerSettings;
 import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.server.CountMonitor;
 import org.apache.airavata.common.server.IServer;
-import org.apache.airavata.common.server.MonitoringServer;
 import org.apache.airavata.common.util.AiravataUtils;
 import org.apache.airavata.common.util.ThriftUtils;
 import org.apache.airavata.execution.monitor.JobStateValidator;
@@ -69,15 +68,6 @@ public class PostWorkflowManager implements IServer {
 
     public static void main(String[] args) throws Exception {
 
-        if 
(ServerSettings.getBooleanSetting("post.workflow.manager.monitoring.enabled")) {
-            MonitoringServer monitoringServer = new MonitoringServer(
-                    
ServerSettings.getSetting("post.workflow.manager.monitoring.host"),
-                    
ServerSettings.getIntSetting("post.workflow.manager.monitoring.port"));
-            new Thread(monitoringServer, "monitoring-server").start();
-
-            Runtime.getRuntime().addShutdownHook(new 
Thread(monitoringServer::stop));
-        }
-
         PostWorkflowManager postManager = new PostWorkflowManager();
         postManager.run();
     }
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/execution/orchestrator/PreWorkflowManager.java
 
b/airavata-api/src/main/java/org/apache/airavata/execution/orchestrator/PreWorkflowManager.java
index 5dccbc63fd..d11c1560a6 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/execution/orchestrator/PreWorkflowManager.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/execution/orchestrator/PreWorkflowManager.java
@@ -30,7 +30,6 @@ import org.apache.airavata.common.exception.AiravataException;
 import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.server.CountMonitor;
 import org.apache.airavata.common.server.IServer;
-import org.apache.airavata.common.server.MonitoringServer;
 import org.apache.airavata.common.util.ThriftUtils;
 import org.apache.airavata.execution.task.CancelCompletingTask;
 import org.apache.airavata.execution.task.CompletingTask;
@@ -314,15 +313,6 @@ public class PreWorkflowManager implements IServer {
 
     public static void main(String[] args) throws Exception {
 
-        if 
(ServerSettings.getBooleanSetting("pre.workflow.manager.monitoring.enabled")) {
-            MonitoringServer monitoringServer = new MonitoringServer(
-                    
ServerSettings.getSetting("pre.workflow.manager.monitoring.host"),
-                    
ServerSettings.getIntSetting("pre.workflow.manager.monitoring.port"));
-            new Thread(monitoringServer, "monitoring-server").start();
-
-            Runtime.getRuntime().addShutdownHook(new 
Thread(monitoringServer::stop));
-        }
-
         PreWorkflowManager preWorkflowManager = new PreWorkflowManager();
         preWorkflowManager.run();
     }
diff --git a/airavata-api/src/main/resources/airavata-server.properties 
b/airavata-api/src/main/resources/airavata-server.properties
index 956e307386..976f3dc606 100644
--- a/airavata-api/src/main/resources/airavata-server.properties
+++ b/airavata-api/src/main/resources/airavata-server.properties
@@ -47,9 +47,6 @@ data.analyzer.job.scanning.enable=false
 data.parser.delete.container=true
 data.parser.broker.publisher.id=ParsingPublisher
 parser.workflow.manager.name=ParserWorkflowManager
-parser.workflow.manager.monitoring.enabled=false
-parser.workflow.manager.monitoring.host=localhost
-parser.workflow.manager.monitoring.port=9095
 
 default.registry.gateway=default
 default.registry.oauth.client.id=pga
@@ -108,20 +105,10 @@ metaschedluer.job.scanning.enable=false
 
 data.parser.storage.resource.id=CHANGE_ME
 
-participant.monitoring.enabled=true
-participant.monitoring.host=localhost
-participant.monitoring.port=9096
-
 post.workflow.manager.loadbalance.clusters=false
-post.workflow.manager.monitoring.enabled=true
-post.workflow.manager.monitoring.host=localhost
-post.workflow.manager.monitoring.port=9094
 post.workflow.manager.name=AiravataPostWM
 
 pre.workflow.manager.loadbalance.clusters=false
-pre.workflow.manager.monitoring.enabled=true
-pre.workflow.manager.monitoring.host=localhost
-pre.workflow.manager.monitoring.port=9093
 pre.workflow.manager.name=AiravataPreWM
 
 
diff --git a/dev-tools/ansible/roles/airavata_services/defaults/main.yml 
b/dev-tools/ansible/roles/airavata_services/defaults/main.yml
index 1f0ac4ea01..1aebdffdc3 100644
--- a/dev-tools/ansible/roles/airavata_services/defaults/main.yml
+++ b/dev-tools/ansible/roles/airavata_services/defaults/main.yml
@@ -37,16 +37,6 @@ monitoring_port: 9097
 # Service hosts
 api_server_host: "airavata.localhost"
 
-# Monitoring hosts
-participant_monitoring_host: "airavata.localhost"
-pre_workflow_manager_monitoring_host: "airavata.localhost"
-post_workflow_manager_monitoring_host: "airavata.localhost"
-
-# Monitoring ports (workflow managers)
-participant_monitoring_port: 9096
-pre_wm_monitoring_port: 9093
-post_wm_monitoring_port: 9094
-
 # All services run on Airavata server (no separate server hosts needed)
 
 # Airavata Server (replaces separate service configurations)
@@ -95,7 +85,6 @@ embedded_zk: false
 helix_cluster_name: "AiravataCluster"
 helix_controller_name: "AiravataController"
 helix_participant_name: "AiravataParticipant"
-participant_monitoring_enabled: true
 
 # Job monitor configuration
 enable_realtime_monitor: true
@@ -119,12 +108,10 @@ archive_logs_on_stop: true
 
 # Pre-workflow manager configuration
 pre_workflow_manager_loadbalance_clusters: false
-pre_workflow_manager_monitoring_enabled: true
 pre_workflow_manager_name: "AiravataPreWM"
 
 # Post-workflow manager configuration
 post_workflow_manager_loadbalance_clusters: false
-post_workflow_manager_monitoring_enabled: true
 post_workflow_manager_name: "AiravataPostWM"
 
 # Parser-workflow configuration
diff --git 
a/dev-tools/ansible/roles/airavata_services/templates/airavata-server.properties.j2
 
b/dev-tools/ansible/roles/airavata_services/templates/airavata-server.properties.j2
index b5a59fb4ab..a53258e31a 100644
--- 
a/dev-tools/ansible/roles/airavata_services/templates/airavata-server.properties.j2
+++ 
b/dev-tools/ansible/roles/airavata_services/templates/airavata-server.properties.j2
@@ -118,9 +118,6 @@ iam.server.super.admin.password={{ iam_admin_password }}
 helix.cluster.name={{ helix_cluster_name }}
 helix.controller.name={{ helix_controller_name }}
 helix.participant.name={{ helix_participant_name }}
-participant.monitoring.enabled={{ participant_monitoring_enabled }}
-participant.monitoring.host={{ participant_monitoring_host }}
-participant.monitoring.port={{ participant_monitoring_port }}
 
 ###########################################################################
 # Job Monitor related properties
@@ -157,23 +154,14 @@ thrift.client.pool.abandoned.removal.logged={{ 
thrift_client_pool_abandoned_remo
 # Pre-workflow Configuration
 ###########################################################################
 pre.workflow.manager.loadbalance.clusters={{ 
pre_workflow_manager_loadbalance_clusters }}
-pre.workflow.manager.monitoring.enabled={{ 
pre_workflow_manager_monitoring_enabled }}
-pre.workflow.manager.monitoring.host={{ pre_workflow_manager_monitoring_host }}
-pre.workflow.manager.monitoring.port={{ pre_wm_monitoring_port }}
 pre.workflow.manager.name={{ pre_workflow_manager_name }}
 
 ###########################################################################
 # Post-workflow Configuration
 ###########################################################################
 post.workflow.manager.loadbalance.clusters={{ 
post_workflow_manager_loadbalance_clusters }}
-post.workflow.manager.monitoring.enabled={{ 
post_workflow_manager_monitoring_enabled }}
-post.workflow.manager.monitoring.host={{ post_workflow_manager_monitoring_host 
}}
-post.workflow.manager.monitoring.port={{ post_wm_monitoring_port }}
 post.workflow.manager.name={{ post_workflow_manager_name }}
 parser.workflow.manager.name={{ parser_workflow_manager_name | 
default('ParserWorkflowManager') }}
-parser.workflow.manager.monitoring.enabled={{ 
parser_workflow_manager_monitoring_enabled | default('false') }}
-parser.workflow.manager.monitoring.host={{ 
parser_workflow_manager_monitoring_host | default('localhost') }}
-parser.workflow.manager.monitoring.port={{ 
parser_workflow_manager_monitoring_port | default('9095') }}
 
 ###########################################################################
 # Parser-workflow Configuration

Reply via email to