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

dimuthuupe pushed a commit to branch staging
in repository https://gitbox.apache.org/repos/asf/airavata.git


The following commit(s) were added to refs/heads/staging by this push:
     new 2d9ae11  Externalizing monitor intervals
2d9ae11 is described below

commit 2d9ae114290404309cbc55b843a5a45f7e189adf
Author: Dimuthu Wannipurage <dimuthu.wannipur...@datasprouts.com>
AuthorDate: Mon Nov 19 17:53:55 2018 -0500

    Externalizing monitor intervals
---
 dev-tools/ansible/platform-monitor.yml             |  1 +
 .../roles/platform_monitor/defaults/main.yml       |  2 ++
 .../ansible/roles/platform_monitor/tasks/main.yml  | 24 +++++++---------------
 .../templates/airavata-server.properties.j2        |  4 +++-
 .../conf/airavata-server.properties                |  4 +++-
 .../helix/cluster/monitoring/MainMonitor.java      |  5 ++++-
 .../monitoring/agents/HelixParticipantMonitor.java |  2 +-
 .../src/main/resources/airavata-server.properties  |  4 +++-
 8 files changed, 24 insertions(+), 22 deletions(-)

diff --git a/dev-tools/ansible/platform-monitor.yml 
b/dev-tools/ansible/platform-monitor.yml
index 510c034..2460877 100644
--- a/dev-tools/ansible/platform-monitor.yml
+++ b/dev-tools/ansible/platform-monitor.yml
@@ -20,6 +20,7 @@
 
 ---
 - hosts: helix
+  gather_facts: yes
   tags: helix, airavata
   roles:
     - role: common
diff --git a/dev-tools/ansible/roles/platform_monitor/defaults/main.yml 
b/dev-tools/ansible/roles/platform_monitor/defaults/main.yml
index 0f247e2..cead74a 100644
--- a/dev-tools/ansible/roles/platform_monitor/defaults/main.yml
+++ b/dev-tools/ansible/roles/platform_monitor/defaults/main.yml
@@ -23,4 +23,6 @@ platform_monitor_name: "platform-monitor"
 platform_monitor_version: "platform-monitor-{{ snapshot_version }}"
 platform_monitor_dist_name: "{{ platform_monitor_version }}-bin.tar.gz"
 platform_monitor_log_dir: "{{ helix_dir }}/{{ platform_monitor_version }}/logs"
+platform_monitor_interval_minutes: "10"
+platform_mock_workflow_timeout_ms: "300000"
 ...
diff --git a/dev-tools/ansible/roles/platform_monitor/tasks/main.yml 
b/dev-tools/ansible/roles/platform_monitor/tasks/main.yml
index 0926493..3046852 100644
--- a/dev-tools/ansible/roles/platform_monitor/tasks/main.yml
+++ b/dev-tools/ansible/roles/platform_monitor/tasks/main.yml
@@ -25,9 +25,7 @@
   file: path="{{ helix_dir }}" state=directory owner={{ user }} group={{ group 
}} recurse=yes
 
 - name: Stop daemons if running
-  command: "{{ item.command }} chdir={{ helix_dir }}/{{ item.dir }}/"
-  with_items:
-  - { command: ./bin/platform-monitor-daemon.sh stop, dir: "{{ 
platform_monitor_version }}" }
+  command: "./bin/platform-monitor-daemon.sh stop chdir={{ helix_dir }}/{{ 
platform_monitor_version }}/"
   ignore_errors: yes
 
 # Copy required distributions to the deployment directory
@@ -40,31 +38,23 @@
 # Copy properties files & logback.xml files
 
 - name: Copy Airavata server properties files
-  template: "src={{ item.name }}/airavata-server.properties.j2
-            dest={{ helix_dir }}/{{ item.dir }}/conf/airavata-server.properties
+  template: "src=airavata-server.properties.j2
+            dest={{ helix_dir }}/{{ platform_monitor_version 
}}/conf/airavata-server.properties
             owner={{ user }}
             group={{ group }}
             mode=\"u=rw,g=r,o=r\""
-  with_items:
-  - { name: platform_monitor, dir: "{{ platform_monitor_version }}" }
 
 - name: Copy logback configuration file
-  template: "src={{ item.name }}/logback.xml.j2
-            dest={{ helix_dir }}/{{ item.dir }}/conf/logback.xml
+  template: "src=logback.xml.j2
+            dest={{ helix_dir }}/{{ platform_monitor_version 
}}/conf/logback.xml
             owner={{ user }}
             group={{ group }}
             mode=\"u=rw,g=r,o=r\""
-  with_items:
-  - { name: platform_monitor, dir: "{{ platform_monitor_version }}" }
 
 - name: Create logs directory
-  file: "path={{ item }} state=directory owner={{ user }} group={{ group }}"
-  with_items:
-  - "{{ platform_monitor_log_dir }}"
+  file: "path={{ platform_monitor_log_dir }} state=directory owner={{ user }} 
group={{ group }}"
 
 # Run bash-scripts
 - name: Start daemons
-  command: "{{ item.command }} chdir={{ helix_dir }}/{{ item.dir }}/"
-  with_items:
-  - { command: ./bin/platform-monitor-daemon.sh start, dir: "{{ 
platform_monitor_version }}" }
+  command: "./bin/platform-monitor-daemon.sh start chdir={{ helix_dir }}/{{ 
platform_monitor_version }}/"
 ...
diff --git 
a/dev-tools/ansible/roles/platform_monitor/templates/airavata-server.properties.j2
 
b/dev-tools/ansible/roles/platform_monitor/templates/airavata-server.properties.j2
index 6805de2..90b06c4 100644
--- 
a/dev-tools/ansible/roles/platform_monitor/templates/airavata-server.properties.j2
+++ 
b/dev-tools/ansible/roles/platform_monitor/templates/airavata-server.properties.j2
@@ -8,4 +8,6 @@ zookeeper.server.connection={{ zookeeper_connection_url }}
 sender.email.account={{ platform_monitor_email_address }}
 sender.email.password={{ platform_monitor_email_password }}
 target.email.accounts={{ platform_monitor_target_email_addresses }}
-platform.name={{ platform_name }}
\ No newline at end of file
+platform.name={{ platform_name }}
+platform_monitor_interval_minutes={{ platform_monitor_interval_minutes }}
+platform_mock_workflow_timeout_ms={{ platform_mock_workflow_timeout_ms }}
\ No newline at end of file
diff --git 
a/modules/airavata-helix/helix-distribution/src/main/resources/platform-monitor/conf/airavata-server.properties
 
b/modules/airavata-helix/helix-distribution/src/main/resources/platform-monitor/conf/airavata-server.properties
index 194a0d0..1cd0bd0 100644
--- 
a/modules/airavata-helix/helix-distribution/src/main/resources/platform-monitor/conf/airavata-server.properties
+++ 
b/modules/airavata-helix/helix-distribution/src/main/resources/platform-monitor/conf/airavata-server.properties
@@ -30,4 +30,6 @@ zookeeper.server.connection=CHANGE_ME
 sender.email.account=CHANGE_ME
 sender.email.password=CHANGE_ME
 target.email.accounts=CHANGE_ME
-platform.name=CHANGE_ME
\ No newline at end of file
+platform.name=CHANGE_ME
+platform_monitor_interval_minutes=CHANGE_ME
+platform_mock_workflow_timeout_ms=CHANGE_ME
\ No newline at end of file
diff --git 
a/modules/airavata-helix/platform-monitor/src/main/java/org/apache/airavata/helix/cluster/monitoring/MainMonitor.java
 
b/modules/airavata-helix/platform-monitor/src/main/java/org/apache/airavata/helix/cluster/monitoring/MainMonitor.java
index c727b7e..96b0c47 100644
--- 
a/modules/airavata-helix/platform-monitor/src/main/java/org/apache/airavata/helix/cluster/monitoring/MainMonitor.java
+++ 
b/modules/airavata-helix/platform-monitor/src/main/java/org/apache/airavata/helix/cluster/monitoring/MainMonitor.java
@@ -1,6 +1,7 @@
 package org.apache.airavata.helix.cluster.monitoring;
 
 import org.apache.airavata.common.exception.ApplicationSettingsException;
+import org.apache.airavata.common.utils.ServerSettings;
 import org.apache.airavata.helix.cluster.monitoring.agents.*;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -27,7 +28,9 @@ public class MainMonitor {
 
         for (PlatformMonitor monitor : platformMonitors) {
             ScheduledExecutorService executorService = 
Executors.newSingleThreadScheduledExecutor();
-            executorService.scheduleWithFixedDelay(() -> 
monitor.monitor(errorNotifier), 0, 1, TimeUnit.MINUTES);
+            executorService.scheduleWithFixedDelay(() -> 
monitor.monitor(errorNotifier), 0,
+                    
Integer.parseInt(ServerSettings.getSetting("platform_monitor_interval_minutes")),
+                    TimeUnit.MINUTES);
         }
     }
 }
\ No newline at end of file
diff --git 
a/modules/airavata-helix/platform-monitor/src/main/java/org/apache/airavata/helix/cluster/monitoring/agents/HelixParticipantMonitor.java
 
b/modules/airavata-helix/platform-monitor/src/main/java/org/apache/airavata/helix/cluster/monitoring/agents/HelixParticipantMonitor.java
index ad2989e..f1cb026 100644
--- 
a/modules/airavata-helix/platform-monitor/src/main/java/org/apache/airavata/helix/cluster/monitoring/agents/HelixParticipantMonitor.java
+++ 
b/modules/airavata-helix/platform-monitor/src/main/java/org/apache/airavata/helix/cluster/monitoring/agents/HelixParticipantMonitor.java
@@ -80,7 +80,7 @@ public class HelixParticipantMonitor implements 
PlatformMonitor {
         try {
             WorkflowOperator operator = new WorkflowOperator(helixClusterName, 
"mock-wf-operator", zkConnectionString);
             String workflow = 
operator.launchWorkflow(UUID.randomUUID().toString(), 
Collections.singletonList(mockTask), true, false);
-            TaskState state = operator.pollForWorkflowCompletion(workflow, 
120000);
+            TaskState state = operator.pollForWorkflowCompletion(workflow, 
Long.parseLong(ServerSettings.getSetting("platform_mock_workflow_timeout_ms")));
             if (state != TaskState.COMPLETED) {
                 PlatformMonitorError monitorError = new PlatformMonitorError();
                 monitorError.setReason("Mock workflow failed to execute with 
status " + state.name() + ". " +
diff --git 
a/modules/airavata-helix/platform-monitor/src/main/resources/airavata-server.properties
 
b/modules/airavata-helix/platform-monitor/src/main/resources/airavata-server.properties
index 11ac6df..afd4ecc 100644
--- 
a/modules/airavata-helix/platform-monitor/src/main/resources/airavata-server.properties
+++ 
b/modules/airavata-helix/platform-monitor/src/main/resources/airavata-server.properties
@@ -8,4 +8,6 @@ zookeeper.server.connection=149.165.170.103:2181
 sender.email.account=CHANGE_ME
 sender.email.password=CHANGE_ME
 target.email.accounts=dimuthu.upeks...@gmail.com,dwann...@iu.edu
-platform.name=Testing Environment
\ No newline at end of file
+platform.name=Testing Environment
+platform_monitor_interval_minutes=10
+platform_mock_workflow_timeout_ms=300000
\ No newline at end of file

Reply via email to