You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sc...@apache.org on 2017/05/31 16:39:54 UTC

[1/2] airavata git commit: hacky way to handle SIU Little Dog EMail issue

Repository: airavata
Updated Branches:
  refs/heads/develop a9c4ba18c -> 64ea7eebd


hacky way to handle SIU Little Dog EMail issue


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/d8132b78
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/d8132b78
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/d8132b78

Branch: refs/heads/develop
Commit: d8132b784f20fa7440615e45161f6cd00888190e
Parents: a9c4ba1
Author: scnakandala <su...@gmail.com>
Authored: Wed May 31 12:34:43 2017 -0400
Committer: scnakandala <su...@gmail.com>
Committed: Wed May 31 12:37:11 2017 -0400

----------------------------------------------------------------------
 .../monitor/email/parser/LDSIUEmailParser.java  | 107 -------------------
 .../monitor/email/parser/UGEEmailParser.java    |   4 +
 .../compute_resource_model.thrift               |   1 -
 3 files changed, 4 insertions(+), 108 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/d8132b78/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/email/parser/LDSIUEmailParser.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/email/parser/LDSIUEmailParser.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/email/parser/LDSIUEmailParser.java
deleted file mode 100644
index 6edbc64..0000000
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/email/parser/LDSIUEmailParser.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.airavata.gfac.monitor.email.parser;
-
-import org.apache.airavata.common.exception.AiravataException;
-import org.apache.airavata.gfac.core.monitor.EmailParser;
-import org.apache.airavata.gfac.core.monitor.JobStatusResult;
-import org.apache.airavata.model.status.JobState;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.mail.Message;
-import javax.mail.MessagingException;
-import java.io.IOException;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-public class LDSIUEmailParser implements EmailParser {
-
-    private static final Logger log = LoggerFactory.getLogger(LDSIUEmailParser.class);
-    private static final String REGEX = "[\\w]*[ ]*(?<"+ JOBID + ">[\\d]*)[ ]*\\((?<" + JOBNAME
-            + ">[a-zA-Z0-9]*)\\)[ ]*(?<" + STATUS + ">[a-zA-Z\\s]*)";
-    public static final String STARTED = "Started";
-    public static final String COMPLETE = "Complete";
-    public static final String FAILED = "Set in error state";
-    public static final String KILLED = "Killed";
-    private static final String REGEX_EXIT_STATUS = "Exit Status[ ]*=[ ]*(?<" + EXIT_STATUS + ">[\\d]+)";
-    public static final String ABORTED = "Aborted";
-
-
-    @Override
-    public JobStatusResult parseEmail(Message message) throws MessagingException, AiravataException {
-        JobStatusResult jobStatusResult = new JobStatusResult();
-
-        parseContent(message, jobStatusResult);
-        return jobStatusResult;
-    }
-
-    private void parseContent(Message message, JobStatusResult jobStatusResult) throws MessagingException, AiravataException {
-        String subject = message.getSubject();
-        Pattern pattern = Pattern.compile(REGEX);
-        Matcher matcher = pattern.matcher(subject);
-        try {
-            if (matcher.find()) {
-                jobStatusResult.setJobId(matcher.group(JOBID));
-                jobStatusResult.setJobName(matcher.group(JOBNAME));
-                String content = (String) message.getContent();
-                jobStatusResult.setState(getJobState(matcher.group(STATUS), content));
-            } else {
-                log.error("[EJM]: No matched found for subject => \n" + subject);
-            }
-        } catch (IOException e) {
-            throw new AiravataException("[EJM]: Error while reading content of the email message");
-        }
-    }
-
-    private JobState getJobState(String status, String content) {
-        switch (status) {
-            case STARTED:
-                return JobState.ACTIVE;
-            case COMPLETE:
-                int exitStatus = getExitStatus(content);
-                if (exitStatus == 0) {
-                    return JobState.COMPLETE;
-                } else {
-                    log.info("[EJM]: Job returns with Exit Status = " + exitStatus + "  , Marked as Failed");
-                    return JobState.FAILED;
-                }
-            case FAILED:
-                return JobState.FAILED;
-            case ABORTED:
-                return JobState.CANCELED;
-            default:
-                return JobState.UNKNOWN;
-
-        }
-    }
-
-    private int getExitStatus(String content) {
-        Pattern statusPattern = Pattern.compile(REGEX_EXIT_STATUS);
-        Matcher statusMatcher = statusPattern.matcher(content);
-        if (statusMatcher.find()) {
-            String group = statusMatcher.group(EXIT_STATUS);
-            if (group != null && !group.trim().isEmpty()) {
-                return Integer.valueOf(group.trim());
-            }
-        }
-        return -1;
-    }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/d8132b78/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/email/parser/UGEEmailParser.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/email/parser/UGEEmailParser.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/email/parser/UGEEmailParser.java
index c1b930d..d5fdf06 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/email/parser/UGEEmailParser.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/email/parser/UGEEmailParser.java
@@ -55,6 +55,10 @@ public class UGEEmailParser implements EmailParser {
 
     private void parseContent(Message message, JobStatusResult jobStatusResult) throws MessagingException, AiravataException {
         String subject = message.getSubject();
+
+        //FIXME - HACK to handle Little Dog email issue from SIU
+        subject = subject.replace("Set in error state", "Failed");
+
         Pattern pattern = Pattern.compile(REGEX);
         Matcher matcher = pattern.matcher(subject);
         try {

http://git-wip-us.apache.org/repos/asf/airavata/blob/d8132b78/thrift-interface-descriptions/data-models/resource-catalog-models/compute_resource_model.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/data-models/resource-catalog-models/compute_resource_model.thrift b/thrift-interface-descriptions/data-models/resource-catalog-models/compute_resource_model.thrift
index 8f02227..87f2ff3 100644
--- a/thrift-interface-descriptions/data-models/resource-catalog-models/compute_resource_model.thrift
+++ b/thrift-interface-descriptions/data-models/resource-catalog-models/compute_resource_model.thrift
@@ -53,7 +53,6 @@ enum ResourceJobManagerType {
     SLURM,
     LSF,
     UGE,
-    LD_SIU,
     CLOUD,
     AIRAVATA_CUSTOM
 }


[2/2] airavata git commit: hacky way to handle SIU Little Dog EMail issue

Posted by sc...@apache.org.
hacky way to handle SIU Little Dog EMail issue


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/64ea7eeb
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/64ea7eeb
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/64ea7eeb

Branch: refs/heads/develop
Commit: 64ea7eebd7bded036937d1f932d365152ab6ee62
Parents: d8132b7
Author: scnakandala <su...@gmail.com>
Authored: Wed May 31 12:36:16 2017 -0400
Committer: scnakandala <su...@gmail.com>
Committed: Wed May 31 12:39:49 2017 -0400

----------------------------------------------------------------------
 .../lib/airavata/compute_resource_model_types.cpp    |  4 +---
 .../lib/airavata/compute_resource_model_types.h      |  5 ++---
 .../Model/AppCatalog/ComputeResource/Types.php       | 10 ++++------
 .../model/appcatalog/computeresource/ttypes.py       | 15 ++++++---------
 .../computeresource/ResourceJobManagerType.java      |  9 +++------
 5 files changed, 16 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/64ea7eeb/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.cpp
index 7d2610a..711e304 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.cpp
@@ -36,7 +36,6 @@ int _kResourceJobManagerTypeValues[] = {
   ResourceJobManagerType::SLURM,
   ResourceJobManagerType::LSF,
   ResourceJobManagerType::UGE,
-  ResourceJobManagerType::LD_SIU,
   ResourceJobManagerType::CLOUD,
   ResourceJobManagerType::AIRAVATA_CUSTOM
 };
@@ -46,11 +45,10 @@ const char* _kResourceJobManagerTypeNames[] = {
   "SLURM",
   "LSF",
   "UGE",
-  "LD_SIU",
   "CLOUD",
   "AIRAVATA_CUSTOM"
 };
-const std::map<int, const char*> _ResourceJobManagerType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(8, _kResourceJobManagerTypeValues, _kResourceJobManagerTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+const std::map<int, const char*> _ResourceJobManagerType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(7, _kResourceJobManagerTypeValues, _kResourceJobManagerTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
 
 int _kJobManagerCommandValues[] = {
   JobManagerCommand::SUBMISSION,

http://git-wip-us.apache.org/repos/asf/airavata/blob/64ea7eeb/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.h
index f73fa17..96debe9 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.h
@@ -46,9 +46,8 @@ struct ResourceJobManagerType {
     SLURM = 2,
     LSF = 3,
     UGE = 4,
-    LD_SIU = 5,
-    CLOUD = 6,
-    AIRAVATA_CUSTOM = 7
+    CLOUD = 5,
+    AIRAVATA_CUSTOM = 6
   };
 };
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/64ea7eeb/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
index cc19b78..47e6e24 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
@@ -42,18 +42,16 @@ final class ResourceJobManagerType {
   const SLURM = 2;
   const LSF = 3;
   const UGE = 4;
-  const LD_SIU = 5;
-  const CLOUD = 6;
-  const AIRAVATA_CUSTOM = 7;
+  const CLOUD = 5;
+  const AIRAVATA_CUSTOM = 6;
   static public $__names = array(
     0 => 'FORK',
     1 => 'PBS',
     2 => 'SLURM',
     3 => 'LSF',
     4 => 'UGE',
-    5 => 'LD_SIU',
-    6 => 'CLOUD',
-    7 => 'AIRAVATA_CUSTOM',
+    5 => 'CLOUD',
+    6 => 'AIRAVATA_CUSTOM',
   );
 }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/64ea7eeb/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py
index 16991e7..9d9aa0d 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py
@@ -45,9 +45,8 @@ class ResourceJobManagerType:
   SLURM = 2
   LSF = 3
   UGE = 4
-  LD_SIU = 5
-  CLOUD = 6
-  AIRAVATA_CUSTOM = 7
+  CLOUD = 5
+  AIRAVATA_CUSTOM = 6
 
   _VALUES_TO_NAMES = {
     0: "FORK",
@@ -55,9 +54,8 @@ class ResourceJobManagerType:
     2: "SLURM",
     3: "LSF",
     4: "UGE",
-    5: "LD_SIU",
-    6: "CLOUD",
-    7: "AIRAVATA_CUSTOM",
+    5: "CLOUD",
+    6: "AIRAVATA_CUSTOM",
   }
 
   _NAMES_TO_VALUES = {
@@ -66,9 +64,8 @@ class ResourceJobManagerType:
     "SLURM": 2,
     "LSF": 3,
     "UGE": 4,
-    "LD_SIU": 5,
-    "CLOUD": 6,
-    "AIRAVATA_CUSTOM": 7,
+    "CLOUD": 5,
+    "AIRAVATA_CUSTOM": 6,
   }
 
 class JobManagerCommand:

http://git-wip-us.apache.org/repos/asf/airavata/blob/64ea7eeb/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManagerType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManagerType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManagerType.java
index 3212ce5..04dfb74 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManagerType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManagerType.java
@@ -53,9 +53,8 @@ public enum ResourceJobManagerType implements org.apache.thrift.TEnum {
   SLURM(2),
   LSF(3),
   UGE(4),
-  LD_SIU(5),
-  CLOUD(6),
-  AIRAVATA_CUSTOM(7);
+  CLOUD(5),
+  AIRAVATA_CUSTOM(6);
 
   private final int value;
 
@@ -87,10 +86,8 @@ public enum ResourceJobManagerType implements org.apache.thrift.TEnum {
       case 4:
         return UGE;
       case 5:
-        return LD_SIU;
-      case 6:
         return CLOUD;
-      case 7:
+      case 6:
         return AIRAVATA_CUSTOM;
       default:
         return null;