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