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
