From 9dd54367afe724241bccfb818bc5dba90b97c255 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Sun, 26 Jun 2016 11:34:07 -0400 Subject: [PATCH 001/100] Made design changes --- modules/cloud/AuroraIntegration/README.md | 23 ++ .../src/AuroraAdminDriver.java | 91 ++++++++ .../src/AuroraJobScheduler.java | 207 ++++++++++++++++++ .../src/AuroraJobSchedulerI.java | 15 ++ .../src/exception/AuroraException.java | 15 ++ .../src/utilities/Utility.java | 22 ++ .../src/utilities/UtilityI.java | 7 + 7 files changed, 380 insertions(+) create mode 100644 modules/cloud/AuroraIntegration/README.md create mode 100644 modules/cloud/AuroraIntegration/src/AuroraAdminDriver.java create mode 100644 modules/cloud/AuroraIntegration/src/AuroraJobScheduler.java create mode 100644 modules/cloud/AuroraIntegration/src/AuroraJobSchedulerI.java create mode 100644 modules/cloud/AuroraIntegration/src/exception/AuroraException.java create mode 100644 modules/cloud/AuroraIntegration/src/utilities/Utility.java create mode 100644 modules/cloud/AuroraIntegration/src/utilities/UtilityI.java diff --git a/modules/cloud/AuroraIntegration/README.md b/modules/cloud/AuroraIntegration/README.md new file mode 100644 index 0000000000..0fd13e0a75 --- /dev/null +++ b/modules/cloud/AuroraIntegration/README.md @@ -0,0 +1,23 @@ +Requirements: +1: Apache Aurora +2: Apache Mesos + +Installation: +Please follow the link to set up Apache Aurora and Apache Mesos +1) http://mesos.apache.org/gettingstarted/ OR https://open.mesosphere.com/getting-started/install/ +2) http://aurora.apache.org/documentation/latest/operations/installation/ + +Usage: + +Options: +-o = create/kill +-n = name of the job +-r = amount of RAM +-c = CPU count +-d = disk space +-k = name of the task to be killed +-i = executable/image + +Example: +To create and launch: auroraCreate -o create -r 1024 -n batik -c 2.0 -d 1000 -i gouravr/dacapo:tag9 +To kill: auroraCreate -o kill -k batik diff --git a/modules/cloud/AuroraIntegration/src/AuroraAdminDriver.java b/modules/cloud/AuroraIntegration/src/AuroraAdminDriver.java new file mode 100644 index 0000000000..d9c9cadf00 --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/AuroraAdminDriver.java @@ -0,0 +1,91 @@ + +// rename class to AuroraAdminDriver +// TOOD: need javadoc documentation at the top of each method + +import java.util.*; + +import exception.AuroraException; + +public class AuroraAdminDriver{ + public static void main(String[] args) { + + // TODO: add code to call a method to validate the args + + // TODO: program to an interface. So, the code should be + // AuroraJobSchedulerI auroraJS = new AuroraJobSchedulerImpl(); + + AuroraJobScheduler auroraJS = new AuroraJobScheduler(); + // why is htis Map final? : Does not have to be final, all the implementations of argument readers i saw had final for Map + + // documentation: what is the purpose of the for-loop : to read all the arguments for example to create a job following are the arguments: -o create -r 1024 -n batik -c 2.0 -d 1000 -i gouravr/dacapo:tag9 + + Map> params = new HashMap<>(); + List options = null; + for (int i = 0; i < args.length; i++) { + final String a = args[i]; + if (a.charAt(0) == '-') { + if (a.length() < 2) { + // TOOD: need more details in the error statement + System.err.println("Error at argument " + a); + return; + } + options = new ArrayList<>(); + params.put(a.substring(1), options); + } + else if (options != null) { + options.add(a); + } + else { + // TOOD: need an example of correct parameter usage + System.err.println("Illegal parameter usage\nOptions:\n1) -o\tcreate, kill, restart, update, update-info, update-pause\n2) -n\tname of the job\n 3) -r\tamount of RAM\n 4) -c\tCPU count\n 5) -d\tdisk space\n 6) -k\tname of the task to be killed\n 7) -i\texecutable/image\n "); + return; + } + } + // These Strings should be Enums + String RamSize,JobName,CpuCount,DiskSize,Option,Image; + Option = params.get("o").get(0); + switch(Option) + { + case "kill" : + try{ + auroraJS.jobKill(params.get("n").get(0)); + }catch(AuroraException ex){ + }break; + case "restart" : + try { + auroraJS.jobRestart(params.get("n").get(0)); + } catch (AuroraException ex) { + }break; + case "update" : + try{ + auroraJS.jobUpdate(params.get("n").get(0)); + }catch(AuroraException ex){ + }break; + case "update-info" : + try{ + auroraJS.jobUpdateInfo(params.get("n").get(0)); + }catch(AuroraException ex){ + }break; + case "update-pause" : + try{ + auroraJS.jobUpdatePause(params.get("n").get(0)); + }catch(AuroraException ex){ + }break; + case "create" : + JobName = params.get("n").get(0); + RamSize = params.get("r").get(0); + CpuCount = params.get("c").get(0); + DiskSize = params.get("d").get(0); + Image = params.get("i").get(0); + try { + auroraJS.configCreate(JobName,RamSize,CpuCount,DiskSize,Image); + } catch (AuroraException ex) {} + try { + auroraJS.jobLaunch(JobName); + } catch (AuroraException ex) { + }break; + default : + System.out.println("Improper option\nOptions available:\n1) create\n2) kill\n3) restart\n4) update\n 5) update-info\n6) update-pause\n"); + } + } +} diff --git a/modules/cloud/AuroraIntegration/src/AuroraJobScheduler.java b/modules/cloud/AuroraIntegration/src/AuroraJobScheduler.java new file mode 100644 index 0000000000..5a1e5f7b5e --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/AuroraJobScheduler.java @@ -0,0 +1,207 @@ + +// TODO: add documentation on the purpose of this class + +//TODO: rename this class to AuroraJobSchedulerImpl + +// TODO: need javadoc style documentation for each method + +//TODO: import each type individually instead of "*" +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.io.InputStreamReader; + +import exception.AuroraException; +import utilities.Utility; + +public class AuroraJobScheduler implements AuroraJobSchedulerI { + Utility util = new Utility(); + public void auroraJobCommand(String info, String command) throws AuroraException{ + try{ + String line; + Process auroraJob = Runtime.getRuntime().exec("aurora task run example/benchmarks/devel/"+info+" "+command); + auroraJob.waitFor(); + BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); + // THE NEXT 5 lines are now put into a utility function called printLog present in the utilities package + /*line = stdout.readLine(); + while (line != null) { + System.out.println(line); + line = stdout.readLine(); + }*/ + util.printLog(stdout); + } + // NO NEED TO CATCH THIS EXCEPTION AS ITS BEING CAUGHT BY THE utility function now. Is it required to catch it still ? + /*catch (IOException ex) { + throw new AuroraException("IO Exception occured while passing the command.\n"+ex.toString()); + }*/ + catch (Exception ex) { + throw new AuroraException("Exception occured while passing the command.\n"+ex.toString()); + } + } + public void jobUpdateList(String info) throws AuroraException{ + try{ + String line; + Process auroraJob = Runtime.getRuntime().exec("aurora update list example/benchmarks/devel/"+info); + auroraJob.waitFor(); + BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); + + util.printLog(stdout); + } + + catch (Exception ex) { + // should get the Exception in a string, add your own meaningful message, and then throw it again + throw new AuroraException("Exception occured while listing the update.\n"+ex.toString()); + } + } + public void jobUpdateAbort(String info) throws AuroraException{ + try{ + String line; + Process auroraJob = Runtime.getRuntime().exec("aurora abort pause example/benchmarks/devel/"+info); + auroraJob.waitFor(); + BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); + + util.printLog(stdout); + } + + catch (Exception ex) { + // should get the Exception in a string, add your own meaningful message, and then throw it again + throw new AuroraException("Exception occured while aborting the update.\n"+ex.toString()); + } + } + public void jobUpdateResume(String info) throws AuroraException{ + try{ + String line; + Process auroraJob = Runtime.getRuntime().exec("aurora update resume example/benchmarks/devel/"+info); + auroraJob.waitFor(); + BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); + + util.printLog(stdout); + } + + catch (Exception ex) { + // should get the Exception in a string, add your own meaningful message, and then throw it again + throw new AuroraException("Exception occured while resuming the update.\n"+ex.toString()); + } + } + public void jobUpdatePause(String info) throws AuroraException{ + try{ + String line; + Process auroraJob = Runtime.getRuntime().exec("aurora update pause example/benchmarks/devel/"+info); + auroraJob.waitFor(); + BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); + + util.printLog(stdout); + } + + catch (Exception ex) { + // should get the Exception in a string, add your own meaningful message, and then throw it again + throw new AuroraException("Exception occured while pausing the update.\n"+ex.toString()); + } + } + public void jobUpdateInfo(String info) throws AuroraException{ + try{ + String line; + Process auroraJob = Runtime.getRuntime().exec("aurora update info example/benchmarks/devel/"+info); + auroraJob.waitFor(); + BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); + + + util.printLog(stdout); + } + + catch (Exception ex) { + // should get the Exception in a string, add your own meaningful message, and then throw it again + throw new AuroraException("Exception occured while retrieving the update info."+ex.toString()); + } + } + + public void jobUpdate(String update) throws AuroraException{ + try{ + String line; + Process auroraJob = Runtime.getRuntime().exec("aurora update start example/benchmarks/devel/"+update+" "+update+".aurora"); + auroraJob.waitFor(); + BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); + + + util.printLog(stdout); + } + + catch (Exception ex) { + // TODO: should get the Exception in a string, add your own meaningful message, and then throw it again + throw new AuroraException("Exception occured while updating the job.\n"+ex.toString()); + } + } + public void jobRestart(String restart) throws AuroraException{ + try{ + String line; + Process auroraJob = Runtime.getRuntime().exec("aurora job restart example/benchmarks/devel/"+restart); + auroraJob.waitFor(); + BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); + + util.printLog(stdout); + } + + catch (Exception ex) { + throw new AuroraException("Exception occured while restarting the job.\n"+ex.toString()); + } + } + + public void jobKill(String kill) throws AuroraException{ + try{ + String line; + Process auroraJob = Runtime.getRuntime().exec("aurora job killall example/benchmarks/devel/"+kill); + auroraJob.waitFor(); + BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); + + + util.printLog(stdout); + } + + catch (Exception ex) { + throw new AuroraException("Exception occured while killing the job.\n"+ex.toString()); + } + } + public void jobLaunch(String name) throws AuroraException{ + try{ + String line; + Process auroraJob = Runtime.getRuntime().exec("aurora job create example/benchmarks/devel/"+name+" "+name+".aurora"); + BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); + + util.printLog(stdout); + auroraJob.waitFor(); + } + + catch (Exception ex) { + throw new AuroraException("Exception occured while launching the job.\n"+ex.toString()); + } + } + public void configCreate(String name, String ram, String cpu, String disk, String image) throws AuroraException{ + try { + String config = "import hashlib\n"+name+"= Process(name = '"+name+"', cmdline = 'java -jar /dacapo-9.12-bach.jar "+name+" -s small')\n"+name+"_task = SequentialTask(processes = [ "+name+"], resources = Resources(cpu = "+cpu+", ram = "+ram+"*MB, disk="+disk+"*MB))\njobs = [ Job(cluster = 'example', environment = 'devel', role = 'benchmarks', name = '"+name+"', task = "+name+"_task, instances =1 , container = Container(docker = Docker(image = '"+image+"')))]\n"; + //String line2 = name+"= Process(name = '"+name+"', cmdline = 'java -jar /dacapo-9.12-bach.jar "+name+" -s small')\n"; + //String line3 = name+"_task = SequentialTask(processes = [ "+name+"], resources = Resources(cpu = "+cpu+", ram = "+ram+"*MB, disk="+disk+"*MB))\n"; + //String line4 = "jobs = [ Job(cluster = 'example', environment = 'devel', role = 'benchmarks', name = '"+name+"', task = "+name+"_task, instances =1 , container = Container(docker = Docker(image = '"+image+"')))]\n"; + + File file = new File(name+".aurora"); + + if (!file.exists()) { + file.createNewFile(); + } + + FileWriter fw = new FileWriter(file.getAbsoluteFile()); + BufferedWriter bw = new BufferedWriter(fw); + bw.write(config); + //bw.write(line2); + //bw.write(line3); + //bw.write(line4); + bw.close(); + + }catch (IOException ex) { + throw new AuroraException("IO Exception occured while creating the configuration file.\n"+ex.toString()); + }catch (Exception ex) { + throw new AuroraException("Exception occured while creating the configuration file.\n"+ex.toString()); + } + } +} diff --git a/modules/cloud/AuroraIntegration/src/AuroraJobSchedulerI.java b/modules/cloud/AuroraIntegration/src/AuroraJobSchedulerI.java new file mode 100644 index 0000000000..3b68255a22 --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/AuroraJobSchedulerI.java @@ -0,0 +1,15 @@ +import exception.AuroraException; + +public interface AuroraJobSchedulerI { + + public void jobUpdateInfo(String info) throws AuroraException; + public void jobUpdate(String update) throws AuroraException; + public void jobUpdateResume(String info) throws AuroraException; + public void jobUpdateAbort(String info) throws AuroraException; + public void jobUpdateList(String info) throws AuroraException; + public void auroraJobCommand(String info, String command) throws AuroraException; + public void jobRestart(String restart) throws AuroraException; + public void jobKill(String kill) throws AuroraException; + public void jobLaunch(String name) throws AuroraException; + public void configCreate(String name, String ram, String cpu, String disk, String image) throws AuroraException; +} diff --git a/modules/cloud/AuroraIntegration/src/exception/AuroraException.java b/modules/cloud/AuroraIntegration/src/exception/AuroraException.java new file mode 100644 index 0000000000..0a05c016b8 --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/exception/AuroraException.java @@ -0,0 +1,15 @@ +package exception; + +public class AuroraException extends Exception { + private String exceptionMsg; + public AuroraException(){ + exceptionMsg=""; + } + public AuroraException(String exceptionMsgIn){ + exceptionMsg=exceptionMsgIn;; + } + + public String toString(){ + return this.exceptionMsg; + } + } \ No newline at end of file diff --git a/modules/cloud/AuroraIntegration/src/utilities/Utility.java b/modules/cloud/AuroraIntegration/src/utilities/Utility.java new file mode 100644 index 0000000000..8a5e4c9b72 --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/utilities/Utility.java @@ -0,0 +1,22 @@ +package utilities; + +import java.io.BufferedReader; +import exception.AuroraException; +import java.io.IOException; + +public class Utility implements UtilityI{ + public void printLog(BufferedReader stdout) throws AuroraException + { + try{ + String line; + line = stdout.readLine(); + while (line != null) { + System.out.println(line); + line = stdout.readLine(); + } + } + catch (IOException ex) { + throw new AuroraException("IO Exception occured while passing the command.\n"+ex.toString()); + } + } +} diff --git a/modules/cloud/AuroraIntegration/src/utilities/UtilityI.java b/modules/cloud/AuroraIntegration/src/utilities/UtilityI.java new file mode 100644 index 0000000000..5208117e4e --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/utilities/UtilityI.java @@ -0,0 +1,7 @@ +package utilities; +import java.io.BufferedReader; +import exception.AuroraException; + +public interface UtilityI{ + public void printLog(BufferedReader stdout) throws AuroraException; +} From 3c024643bdc52d6ab3516511894524bd7bef58e3 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Sun, 26 Jun 2016 12:04:56 -0400 Subject: [PATCH 002/100] Cleaned up code, updated AuroraJobSchedulerI interface, changed filenames to make them for understandable --- .../src/AuroraAdminDriver.java | 16 +++---- .../src/AuroraJobSchedulerI.java | 3 +- ...duler.java => AuroraJobSchedulerImpl.java} | 46 +++++-------------- .../{UtilityI.java => AuroraUtilI.java} | 2 +- .../{Utility.java => AuroraUtilImpl.java} | 2 +- 5 files changed, 24 insertions(+), 45 deletions(-) rename modules/cloud/AuroraIntegration/src/{AuroraJobScheduler.java => AuroraJobSchedulerImpl.java} (74%) rename modules/cloud/AuroraIntegration/src/utilities/{UtilityI.java => AuroraUtilI.java} (83%) rename modules/cloud/AuroraIntegration/src/utilities/{Utility.java => AuroraUtilImpl.java} (90%) diff --git a/modules/cloud/AuroraIntegration/src/AuroraAdminDriver.java b/modules/cloud/AuroraIntegration/src/AuroraAdminDriver.java index d9c9cadf00..c73a688f80 100644 --- a/modules/cloud/AuroraIntegration/src/AuroraAdminDriver.java +++ b/modules/cloud/AuroraIntegration/src/AuroraAdminDriver.java @@ -11,14 +11,14 @@ public static void main(String[] args) { // TODO: add code to call a method to validate the args - // TODO: program to an interface. So, the code should be + // TODO: program to an interface. So, the code should be // AuroraJobSchedulerI auroraJS = new AuroraJobSchedulerImpl(); - - AuroraJobScheduler auroraJS = new AuroraJobScheduler(); + + AuroraJobSchedulerI auroraJS = new AuroraJobSchedulerImpl(); // why is htis Map final? : Does not have to be final, all the implementations of argument readers i saw had final for Map - + // documentation: what is the purpose of the for-loop : to read all the arguments for example to create a job following are the arguments: -o create -r 1024 -n batik -c 2.0 -d 1000 -i gouravr/dacapo:tag9 - + Map> params = new HashMap<>(); List options = null; for (int i = 0; i < args.length; i++) { @@ -36,12 +36,12 @@ else if (options != null) { options.add(a); } else { - // TOOD: need an example of correct parameter usage - System.err.println("Illegal parameter usage\nOptions:\n1) -o\tcreate, kill, restart, update, update-info, update-pause\n2) -n\tname of the job\n 3) -r\tamount of RAM\n 4) -c\tCPU count\n 5) -d\tdisk space\n 6) -k\tname of the task to be killed\n 7) -i\texecutable/image\n "); + + System.err.println("Illegal parameter \n[USAGE]\nOptions:\n1) -o\tcreate, kill, restart, update, update-info, update-pause\n2) -n\tname of the job\n 3) -r\tamount of RAM\n 4) -c\tCPU count\n 5) -d\tdisk space\n 6) -k\tname of the task to be killed\n 7) -i\texecutable/image\n "); return; } } - // These Strings should be Enums + String RamSize,JobName,CpuCount,DiskSize,Option,Image; Option = params.get("o").get(0); switch(Option) diff --git a/modules/cloud/AuroraIntegration/src/AuroraJobSchedulerI.java b/modules/cloud/AuroraIntegration/src/AuroraJobSchedulerI.java index 3b68255a22..02ba107b0a 100644 --- a/modules/cloud/AuroraIntegration/src/AuroraJobSchedulerI.java +++ b/modules/cloud/AuroraIntegration/src/AuroraJobSchedulerI.java @@ -1,12 +1,13 @@ import exception.AuroraException; public interface AuroraJobSchedulerI { - + public void jobUpdateInfo(String info) throws AuroraException; public void jobUpdate(String update) throws AuroraException; public void jobUpdateResume(String info) throws AuroraException; public void jobUpdateAbort(String info) throws AuroraException; public void jobUpdateList(String info) throws AuroraException; + public void jobUpdatePause(String info) throws AuroraException; public void auroraJobCommand(String info, String command) throws AuroraException; public void jobRestart(String restart) throws AuroraException; public void jobKill(String kill) throws AuroraException; diff --git a/modules/cloud/AuroraIntegration/src/AuroraJobScheduler.java b/modules/cloud/AuroraIntegration/src/AuroraJobSchedulerImpl.java similarity index 74% rename from modules/cloud/AuroraIntegration/src/AuroraJobScheduler.java rename to modules/cloud/AuroraIntegration/src/AuroraJobSchedulerImpl.java index 5a1e5f7b5e..9dbbc8b03f 100644 --- a/modules/cloud/AuroraIntegration/src/AuroraJobScheduler.java +++ b/modules/cloud/AuroraIntegration/src/AuroraJobSchedulerImpl.java @@ -1,11 +1,3 @@ - -// TODO: add documentation on the purpose of this class - -//TODO: rename this class to AuroraJobSchedulerImpl - -// TODO: need javadoc style documentation for each method - -//TODO: import each type individually instead of "*" import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; @@ -14,28 +6,21 @@ import java.io.InputStreamReader; import exception.AuroraException; -import utilities.Utility; +import utilities.AuroraUtilImpl; +import utilities.AuroraUtilI; -public class AuroraJobScheduler implements AuroraJobSchedulerI { - Utility util = new Utility(); +public class AuroraJobSchedulerImpl implements AuroraJobSchedulerI { + AuroraUtilI util = new AuroraUtilImpl(); public void auroraJobCommand(String info, String command) throws AuroraException{ try{ String line; Process auroraJob = Runtime.getRuntime().exec("aurora task run example/benchmarks/devel/"+info+" "+command); auroraJob.waitFor(); BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); - // THE NEXT 5 lines are now put into a utility function called printLog present in the utilities package - /*line = stdout.readLine(); - while (line != null) { - System.out.println(line); - line = stdout.readLine(); - }*/ + util.printLog(stdout); } - // NO NEED TO CATCH THIS EXCEPTION AS ITS BEING CAUGHT BY THE utility function now. Is it required to catch it still ? - /*catch (IOException ex) { - throw new AuroraException("IO Exception occured while passing the command.\n"+ex.toString()); - }*/ + catch (Exception ex) { throw new AuroraException("Exception occured while passing the command.\n"+ex.toString()); } @@ -51,7 +36,7 @@ public void jobUpdateList(String info) throws AuroraException{ } catch (Exception ex) { - // should get the Exception in a string, add your own meaningful message, and then throw it again + throw new AuroraException("Exception occured while listing the update.\n"+ex.toString()); } } @@ -66,7 +51,7 @@ public void jobUpdateAbort(String info) throws AuroraException{ } catch (Exception ex) { - // should get the Exception in a string, add your own meaningful message, and then throw it again + throw new AuroraException("Exception occured while aborting the update.\n"+ex.toString()); } } @@ -81,7 +66,7 @@ public void jobUpdateResume(String info) throws AuroraException{ } catch (Exception ex) { - // should get the Exception in a string, add your own meaningful message, and then throw it again + throw new AuroraException("Exception occured while resuming the update.\n"+ex.toString()); } } @@ -96,7 +81,7 @@ public void jobUpdatePause(String info) throws AuroraException{ } catch (Exception ex) { - // should get the Exception in a string, add your own meaningful message, and then throw it again + throw new AuroraException("Exception occured while pausing the update.\n"+ex.toString()); } } @@ -112,7 +97,7 @@ public void jobUpdateInfo(String info) throws AuroraException{ } catch (Exception ex) { - // should get the Exception in a string, add your own meaningful message, and then throw it again + throw new AuroraException("Exception occured while retrieving the update info."+ex.toString()); } } @@ -129,7 +114,7 @@ public void jobUpdate(String update) throws AuroraException{ } catch (Exception ex) { - // TODO: should get the Exception in a string, add your own meaningful message, and then throw it again + throw new AuroraException("Exception occured while updating the job.\n"+ex.toString()); } } @@ -180,10 +165,6 @@ public void jobLaunch(String name) throws AuroraException{ public void configCreate(String name, String ram, String cpu, String disk, String image) throws AuroraException{ try { String config = "import hashlib\n"+name+"= Process(name = '"+name+"', cmdline = 'java -jar /dacapo-9.12-bach.jar "+name+" -s small')\n"+name+"_task = SequentialTask(processes = [ "+name+"], resources = Resources(cpu = "+cpu+", ram = "+ram+"*MB, disk="+disk+"*MB))\njobs = [ Job(cluster = 'example', environment = 'devel', role = 'benchmarks', name = '"+name+"', task = "+name+"_task, instances =1 , container = Container(docker = Docker(image = '"+image+"')))]\n"; - //String line2 = name+"= Process(name = '"+name+"', cmdline = 'java -jar /dacapo-9.12-bach.jar "+name+" -s small')\n"; - //String line3 = name+"_task = SequentialTask(processes = [ "+name+"], resources = Resources(cpu = "+cpu+", ram = "+ram+"*MB, disk="+disk+"*MB))\n"; - //String line4 = "jobs = [ Job(cluster = 'example', environment = 'devel', role = 'benchmarks', name = '"+name+"', task = "+name+"_task, instances =1 , container = Container(docker = Docker(image = '"+image+"')))]\n"; - File file = new File(name+".aurora"); if (!file.exists()) { @@ -193,9 +174,6 @@ public void configCreate(String name, String ram, String cpu, String disk, Strin FileWriter fw = new FileWriter(file.getAbsoluteFile()); BufferedWriter bw = new BufferedWriter(fw); bw.write(config); - //bw.write(line2); - //bw.write(line3); - //bw.write(line4); bw.close(); }catch (IOException ex) { diff --git a/modules/cloud/AuroraIntegration/src/utilities/UtilityI.java b/modules/cloud/AuroraIntegration/src/utilities/AuroraUtilI.java similarity index 83% rename from modules/cloud/AuroraIntegration/src/utilities/UtilityI.java rename to modules/cloud/AuroraIntegration/src/utilities/AuroraUtilI.java index 5208117e4e..c54a567628 100644 --- a/modules/cloud/AuroraIntegration/src/utilities/UtilityI.java +++ b/modules/cloud/AuroraIntegration/src/utilities/AuroraUtilI.java @@ -2,6 +2,6 @@ import java.io.BufferedReader; import exception.AuroraException; -public interface UtilityI{ +public interface AuroraUtilI{ public void printLog(BufferedReader stdout) throws AuroraException; } diff --git a/modules/cloud/AuroraIntegration/src/utilities/Utility.java b/modules/cloud/AuroraIntegration/src/utilities/AuroraUtilImpl.java similarity index 90% rename from modules/cloud/AuroraIntegration/src/utilities/Utility.java rename to modules/cloud/AuroraIntegration/src/utilities/AuroraUtilImpl.java index 8a5e4c9b72..2b90f7017f 100644 --- a/modules/cloud/AuroraIntegration/src/utilities/Utility.java +++ b/modules/cloud/AuroraIntegration/src/utilities/AuroraUtilImpl.java @@ -4,7 +4,7 @@ import exception.AuroraException; import java.io.IOException; -public class Utility implements UtilityI{ +public class AuroraUtilImpl implements AuroraUtilI{ public void printLog(BufferedReader stdout) throws AuroraException { try{ From 4f1af40b8d9c0dbb667776fd743be0bc19f39b7a Mon Sep 17 00:00:00 2001 From: ajain13 Date: Sun, 26 Jun 2016 13:33:02 -0400 Subject: [PATCH 003/100] Changed package structure and added ANT build --- .../cloud/AuroraIntegration/src/README.txt | 16 +++++ .../cloud/AuroraIntegration/src/README.txt~ | 2 + modules/cloud/AuroraIntegration/src/build.xml | 53 +++++++++++++++ .../cloud/AuroraIntegration/src/build.xml~ | 66 +++++++++++++++++++ .../auroraClient}/AuroraJobSchedulerI.java | 4 +- .../auroraClient}/AuroraJobSchedulerImpl.java | 8 ++- .../aurora/driver}/AuroraAdminDriver.java | 18 ++--- .../aurora}/exception/AuroraException.java | 6 +- .../cloud/aurora}/utilities/AuroraUtilI.java | 6 +- .../aurora}/utilities/AuroraUtilImpl.java | 7 +- 10 files changed, 163 insertions(+), 23 deletions(-) create mode 100644 modules/cloud/AuroraIntegration/src/README.txt create mode 100644 modules/cloud/AuroraIntegration/src/README.txt~ create mode 100644 modules/cloud/AuroraIntegration/src/build.xml create mode 100644 modules/cloud/AuroraIntegration/src/build.xml~ rename modules/cloud/AuroraIntegration/src/{ => org/apache/airavata/cloud/aurora/auroraClient}/AuroraJobSchedulerI.java (86%) rename modules/cloud/AuroraIntegration/src/{ => org/apache/airavata/cloud/aurora/auroraClient}/AuroraJobSchedulerImpl.java (96%) rename modules/cloud/AuroraIntegration/src/{ => org/apache/airavata/cloud/aurora/driver}/AuroraAdminDriver.java (78%) rename modules/cloud/AuroraIntegration/src/{ => org/apache/airavata/cloud/aurora}/exception/AuroraException.java (84%) rename modules/cloud/AuroraIntegration/src/{ => org/apache/airavata/cloud/aurora}/utilities/AuroraUtilI.java (52%) rename modules/cloud/AuroraIntegration/src/{ => org/apache/airavata/cloud/aurora}/utilities/AuroraUtilImpl.java (80%) diff --git a/modules/cloud/AuroraIntegration/src/README.txt b/modules/cloud/AuroraIntegration/src/README.txt new file mode 100644 index 0000000000..a5d51f6320 --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/README.txt @@ -0,0 +1,16 @@ + + +## Temporarily using ANT compile the Aurora Management code. +## TODO: integrate with maven build system, instead of using ANT + +#In the following directory run the compilation command: +airavata/modules/cloud/AuroraIntegration/src + +#Compilation command +ant all + +#Run command +## TODO: add the command to run and test the code + +## Add sample output that shows the Aurora code working + diff --git a/modules/cloud/AuroraIntegration/src/README.txt~ b/modules/cloud/AuroraIntegration/src/README.txt~ new file mode 100644 index 0000000000..47c254de7f --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/README.txt~ @@ -0,0 +1,2 @@ + +/home/ajain13/gsoc_pulls/airavata/modules/cloud/AuroraIntegration/src diff --git a/modules/cloud/AuroraIntegration/src/build.xml b/modules/cloud/AuroraIntegration/src/build.xml new file mode 100644 index 0000000000..55333361a5 --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/build.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/cloud/AuroraIntegration/src/build.xml~ b/modules/cloud/AuroraIntegration/src/build.xml~ new file mode 100644 index 0000000000..8ffcf42da7 --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/build.xml~ @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/cloud/AuroraIntegration/src/AuroraJobSchedulerI.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerI.java similarity index 86% rename from modules/cloud/AuroraIntegration/src/AuroraJobSchedulerI.java rename to modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerI.java index 02ba107b0a..4c40f6c1ba 100644 --- a/modules/cloud/AuroraIntegration/src/AuroraJobSchedulerI.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerI.java @@ -1,4 +1,6 @@ -import exception.AuroraException; +package org.apache.airavata.cloud.aurora.auroraClient; + +import org.apache.airavata.cloud.aurora.exception.AuroraException; public interface AuroraJobSchedulerI { diff --git a/modules/cloud/AuroraIntegration/src/AuroraJobSchedulerImpl.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerImpl.java similarity index 96% rename from modules/cloud/AuroraIntegration/src/AuroraJobSchedulerImpl.java rename to modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerImpl.java index 9dbbc8b03f..b8b31f89b0 100644 --- a/modules/cloud/AuroraIntegration/src/AuroraJobSchedulerImpl.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerImpl.java @@ -1,3 +1,5 @@ +package org.apache.airavata.cloud.aurora.auroraClient; + import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; @@ -5,9 +7,9 @@ import java.io.IOException; import java.io.InputStreamReader; -import exception.AuroraException; -import utilities.AuroraUtilImpl; -import utilities.AuroraUtilI; +import org.apache.airavata.cloud.aurora.exception.AuroraException; +import org.apache.airavata.cloud.aurora.utilities.AuroraUtilImpl; +import org.apache.airavata.cloud.aurora.utilities.AuroraUtilI; public class AuroraJobSchedulerImpl implements AuroraJobSchedulerI { AuroraUtilI util = new AuroraUtilImpl(); diff --git a/modules/cloud/AuroraIntegration/src/AuroraAdminDriver.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/driver/AuroraAdminDriver.java similarity index 78% rename from modules/cloud/AuroraIntegration/src/AuroraAdminDriver.java rename to modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/driver/AuroraAdminDriver.java index c73a688f80..9020be25e2 100644 --- a/modules/cloud/AuroraIntegration/src/AuroraAdminDriver.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/driver/AuroraAdminDriver.java @@ -1,23 +1,17 @@ +package org.apache.airavata.cloud.aurora.driver; +// TODO: need javadoc documentation at the top of each method -// rename class to AuroraAdminDriver -// TOOD: need javadoc documentation at the top of each method - +// TODO: individually import the types import java.util.*; -import exception.AuroraException; +import org.apache.airavata.cloud.aurora.exception.AuroraException; +import org.apache.airavata.cloud.aurora.auroraClient.AuroraJobSchedulerI; +import org.apache.airavata.cloud.aurora.auroraClient.AuroraJobSchedulerImpl; public class AuroraAdminDriver{ public static void main(String[] args) { - // TODO: add code to call a method to validate the args - - // TODO: program to an interface. So, the code should be - // AuroraJobSchedulerI auroraJS = new AuroraJobSchedulerImpl(); - AuroraJobSchedulerI auroraJS = new AuroraJobSchedulerImpl(); - // why is htis Map final? : Does not have to be final, all the implementations of argument readers i saw had final for Map - - // documentation: what is the purpose of the for-loop : to read all the arguments for example to create a job following are the arguments: -o create -r 1024 -n batik -c 2.0 -d 1000 -i gouravr/dacapo:tag9 Map> params = new HashMap<>(); List options = null; diff --git a/modules/cloud/AuroraIntegration/src/exception/AuroraException.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/exception/AuroraException.java similarity index 84% rename from modules/cloud/AuroraIntegration/src/exception/AuroraException.java rename to modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/exception/AuroraException.java index 0a05c016b8..b3a6abde08 100644 --- a/modules/cloud/AuroraIntegration/src/exception/AuroraException.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/exception/AuroraException.java @@ -1,4 +1,4 @@ -package exception; +package org.apache.airavata.cloud.aurora.exception; public class AuroraException extends Exception { private String exceptionMsg; @@ -8,8 +8,8 @@ public AuroraException(){ public AuroraException(String exceptionMsgIn){ exceptionMsg=exceptionMsgIn;; } - + public String toString(){ return this.exceptionMsg; } - } \ No newline at end of file + } diff --git a/modules/cloud/AuroraIntegration/src/utilities/AuroraUtilI.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilI.java similarity index 52% rename from modules/cloud/AuroraIntegration/src/utilities/AuroraUtilI.java rename to modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilI.java index c54a567628..7ba3fadce5 100644 --- a/modules/cloud/AuroraIntegration/src/utilities/AuroraUtilI.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilI.java @@ -1,6 +1,8 @@ -package utilities; +package org.apache.airavata.cloud.aurora.utilities; + import java.io.BufferedReader; -import exception.AuroraException; + +import org.apache.airavata.cloud.aurora.exception.AuroraException; public interface AuroraUtilI{ public void printLog(BufferedReader stdout) throws AuroraException; diff --git a/modules/cloud/AuroraIntegration/src/utilities/AuroraUtilImpl.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilImpl.java similarity index 80% rename from modules/cloud/AuroraIntegration/src/utilities/AuroraUtilImpl.java rename to modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilImpl.java index 2b90f7017f..e2ad9481c9 100644 --- a/modules/cloud/AuroraIntegration/src/utilities/AuroraUtilImpl.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilImpl.java @@ -1,9 +1,12 @@ -package utilities; + +package org.apache.airavata.cloud.aurora.utilities; + import java.io.BufferedReader; -import exception.AuroraException; import java.io.IOException; +import org.apache.airavata.cloud.aurora.exception.AuroraException; + public class AuroraUtilImpl implements AuroraUtilI{ public void printLog(BufferedReader stdout) throws AuroraException { From 15bdb5488ff4fbe8ed69bf7f40975a20e6c891cb Mon Sep 17 00:00:00 2001 From: ajain13 Date: Sun, 26 Jun 2016 13:39:55 -0400 Subject: [PATCH 004/100] updated README.md file --- modules/cloud/AuroraIntegration/README.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/modules/cloud/AuroraIntegration/README.md b/modules/cloud/AuroraIntegration/README.md index 0fd13e0a75..95a5e20e39 100644 --- a/modules/cloud/AuroraIntegration/README.md +++ b/modules/cloud/AuroraIntegration/README.md @@ -1,15 +1,15 @@ -Requirements: +#Requirements: 1: Apache Aurora 2: Apache Mesos -Installation: -Please follow the link to set up Apache Aurora and Apache Mesos -1) http://mesos.apache.org/gettingstarted/ OR https://open.mesosphere.com/getting-started/install/ -2) http://aurora.apache.org/documentation/latest/operations/installation/ +#Installation: +##Please follow the link to set up Apache Aurora and Apache Mesos +1) [http://mesos.apache.org/gettingstarted/ OR https://open.mesosphere.com/getting-started/install/] +2) [http://aurora.apache.org/documentation/latest/operations/installation/] -Usage: +#Usage: -Options: +```Options: -o = create/kill -n = name of the job -r = amount of RAM @@ -17,7 +17,7 @@ Options: -d = disk space -k = name of the task to be killed -i = executable/image - -Example: -To create and launch: auroraCreate -o create -r 1024 -n batik -c 2.0 -d 1000 -i gouravr/dacapo:tag9 -To kill: auroraCreate -o kill -k batik +``` +#Example: +```To create and launch: auroraCreate -o create -r 1024 -n batik -c 2.0 -d 1000 -i gouravr/dacapo:tag9 +To kill: auroraCreate -o kill -k batik``` From bc932f41527f7ee8f24ee76856d3e085d5f2a98e Mon Sep 17 00:00:00 2001 From: ajain13 Date: Sun, 26 Jun 2016 14:42:10 -0400 Subject: [PATCH 005/100] Added initial dependency injection pattern --- .../auroraClient/AuroraJobSchedulerI.java | 2 +- .../bigDataInjections/AuroraInjectorImpl.java | 71 ++++++++++++++++++ .../AuroraInjectorImpl.java~ | 4 + .../bigDataInjections/BigDataInjectorI.java | 12 +++ .../bigDataInjections/BigDataInjectorI.java~ | 3 + .../aurora/driver/AuroraAdminDriver.java | 75 +++++++------------ 6 files changed, 117 insertions(+), 50 deletions(-) create mode 100644 modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/AuroraInjectorImpl.java create mode 100644 modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/AuroraInjectorImpl.java~ create mode 100644 modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/BigDataInjectorI.java create mode 100644 modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/BigDataInjectorI.java~ diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerI.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerI.java index 4c40f6c1ba..9c06e0254c 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerI.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerI.java @@ -1,4 +1,4 @@ -package org.apache.airavata.cloud.aurora.auroraClient; + import org.apache.airavata.cloud.aurora.exception.AuroraException; diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/AuroraInjectorImpl.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/AuroraInjectorImpl.java new file mode 100644 index 0000000000..4ca6b69540 --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/AuroraInjectorImpl.java @@ -0,0 +1,71 @@ + +package org.apache.airavata.cloud.aurora.bigDataInjections; + +import java.util.Map; +import java.util.List; + + +import org.apache.airavata.cloud.aurora.auroraClient.AuroraJobSchedulerI; +import org.apache.airavata.cloud.aurora.auroraClient.AuroraJobSchedulerImpl; +import org.apache.airavata.cloud.aurora.exception.AuroraException; + + +public class AuroraInjectorImpl implements BigDataInjectorI { + private AuroraJobSchedulerI auroraJS = null; + + public AuroraInjectorImpl(AuroraJobSchedulerI auroraJSIn) { + auroraJS = auroraJSIn; + } + + + public void executeTheBigDataClientSideCommand(Map> commandLineOptions) { + + + String commandName = commandLineOptions.get("o").get(0); + String RamSize, JobName, CpuCount, DiskSize, Image; + + switch(commandName) + { + case "kill" : + try { + auroraJS.jobKill(commandLineOptions.get("n").get(0)); + } catch(AuroraException ex){ + } break; + case "restart" : + try { + auroraJS.jobRestart(commandLineOptions.get("n").get(0)); + } catch (AuroraException ex) { + } break; + case "update" : + try { + auroraJS.jobUpdate(commandLineOptions.get("n").get(0)); + } catch(AuroraException ex){ + } break; + case "update-info" : + try { + auroraJS.jobUpdateInfo(commandLineOptions.get("n").get(0)); + } catch(AuroraException ex){ + } break; + case "update-pause" : + try { + auroraJS.jobUpdatePause(commandLineOptions.get("n").get(0)); + } catch(AuroraException ex){ + } break; + case "create" : + JobName = commandLineOptions.get("n").get(0); + RamSize = commandLineOptions.get("r").get(0); + CpuCount = commandLineOptions.get("c").get(0); + DiskSize = commandLineOptions.get("d").get(0); + Image = commandLineOptions.get("i").get(0); + try { + auroraJS.configCreate(JobName,RamSize,CpuCount,DiskSize,Image); + } catch (AuroraException ex) {} + try { + auroraJS.jobLaunch(JobName); + } catch (AuroraException ex) { + } break; + default : + System.out.println("Improper option\nOptions available:\n1) create\n2) kill\n3) restart\n4) update\n 5) update-info\n6) update-pause\n"); + } + } // end of public void executeTheBigDataCommand +} // end of public class AuroraInjectorImpl diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/AuroraInjectorImpl.java~ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/AuroraInjectorImpl.java~ new file mode 100644 index 0000000000..9d6be58f8d --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/AuroraInjectorImpl.java~ @@ -0,0 +1,4 @@ + + +public class AuroraInjectorImpl { +} diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/BigDataInjectorI.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/BigDataInjectorI.java new file mode 100644 index 0000000000..e821bc8d9f --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/BigDataInjectorI.java @@ -0,0 +1,12 @@ + +package org.apache.airavata.cloud.aurora.bigDataInjections; + +import java.util.Map; +import java.util.List; + + +public interface BigDataInjectorI { + + // TODO: this interface should throw an exception + public void executeTheBigDataClientSideCommand(Map> commandLineOptions); +} diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/BigDataInjectorI.java~ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/BigDataInjectorI.java~ new file mode 100644 index 0000000000..bf4bee6142 --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/BigDataInjectorI.java~ @@ -0,0 +1,3 @@ + +public class BigDataInjectorI { +} diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/driver/AuroraAdminDriver.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/driver/AuroraAdminDriver.java index 9020be25e2..0a3cc629ba 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/driver/AuroraAdminDriver.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/driver/AuroraAdminDriver.java @@ -1,4 +1,5 @@ package org.apache.airavata.cloud.aurora.driver; + // TODO: need javadoc documentation at the top of each method // TODO: individually import the types @@ -7,13 +8,24 @@ import org.apache.airavata.cloud.aurora.exception.AuroraException; import org.apache.airavata.cloud.aurora.auroraClient.AuroraJobSchedulerI; import org.apache.airavata.cloud.aurora.auroraClient.AuroraJobSchedulerImpl; +import org.apache.airavata.cloud.aurora.bigDataInjections.AuroraInjectorImpl; +import org.apache.airavata.cloud.aurora.bigDataInjections.BigDataInjectorI; public class AuroraAdminDriver{ public static void main(String[] args) { - AuroraJobSchedulerI auroraJS = new AuroraJobSchedulerImpl(); + // TODO: do command line validation + + // Processing of the command line arguments should be moved to a different method + + + // This code to add command line arguments is based on Apache Commons + + // TODO: explain why this Map data structure is needed Map> params = new HashMap<>(); + + // TODO: explain what is the purpose of this List List options = null; for (int i = 0; i < args.length; i++) { final String a = args[i]; @@ -23,9 +35,11 @@ public static void main(String[] args) { System.err.println("Error at argument " + a); return; } + // TODO: explain the purpose of this ArrayList options = new ArrayList<>(); params.put(a.substring(1), options); } + // TODO: explain when this "else" branch is taken else if (options != null) { options.add(a); } @@ -34,52 +48,15 @@ else if (options != null) { System.err.println("Illegal parameter \n[USAGE]\nOptions:\n1) -o\tcreate, kill, restart, update, update-info, update-pause\n2) -n\tname of the job\n 3) -r\tamount of RAM\n 4) -c\tCPU count\n 5) -d\tdisk space\n 6) -k\tname of the task to be killed\n 7) -i\texecutable/image\n "); return; } - } - String RamSize,JobName,CpuCount,DiskSize,Option,Image; - Option = params.get("o").get(0); - switch(Option) - { - case "kill" : - try{ - auroraJS.jobKill(params.get("n").get(0)); - }catch(AuroraException ex){ - }break; - case "restart" : - try { - auroraJS.jobRestart(params.get("n").get(0)); - } catch (AuroraException ex) { - }break; - case "update" : - try{ - auroraJS.jobUpdate(params.get("n").get(0)); - }catch(AuroraException ex){ - }break; - case "update-info" : - try{ - auroraJS.jobUpdateInfo(params.get("n").get(0)); - }catch(AuroraException ex){ - }break; - case "update-pause" : - try{ - auroraJS.jobUpdatePause(params.get("n").get(0)); - }catch(AuroraException ex){ - }break; - case "create" : - JobName = params.get("n").get(0); - RamSize = params.get("r").get(0); - CpuCount = params.get("c").get(0); - DiskSize = params.get("d").get(0); - Image = params.get("i").get(0); - try { - auroraJS.configCreate(JobName,RamSize,CpuCount,DiskSize,Image); - } catch (AuroraException ex) {} - try { - auroraJS.jobLaunch(JobName); - } catch (AuroraException ex) { - }break; - default : - System.out.println("Improper option\nOptions available:\n1) create\n2) kill\n3) restart\n4) update\n 5) update-info\n6) update-pause\n"); - } - } -} + + }// end of for (int i=0; ... + + // use the code below to decide between injecting Aurora, Marathon, etc. as injections + AuroraJobSchedulerI auroraJS = new AuroraJobSchedulerImpl(); + BigDataInjectorI auroraInjector = new AuroraInjectorImpl(auroraJS); + auroraInjector.executeTheBigDataClientSideCommand(params); + + + } // end of public static void main +} // end of class From 4f16a90f96d29339ccd5f4547672f9ecd59c643e Mon Sep 17 00:00:00 2001 From: ajain13 Date: Mon, 27 Jun 2016 00:35:01 -0400 Subject: [PATCH 006/100] Cleaned up the tilde files and fixed a small bug which was causing compilation error --- .../cloud/AuroraIntegration/src/README.txt~ | 2 - .../cloud/AuroraIntegration/src/build.xml~ | 66 ------------------- .../auroraClient/AuroraJobSchedulerI.java | 2 +- .../AuroraInjectorImpl.java~ | 4 -- .../bigDataInjections/BigDataInjectorI.java~ | 3 - 5 files changed, 1 insertion(+), 76 deletions(-) delete mode 100644 modules/cloud/AuroraIntegration/src/README.txt~ delete mode 100644 modules/cloud/AuroraIntegration/src/build.xml~ delete mode 100644 modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/AuroraInjectorImpl.java~ delete mode 100644 modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/BigDataInjectorI.java~ diff --git a/modules/cloud/AuroraIntegration/src/README.txt~ b/modules/cloud/AuroraIntegration/src/README.txt~ deleted file mode 100644 index 47c254de7f..0000000000 --- a/modules/cloud/AuroraIntegration/src/README.txt~ +++ /dev/null @@ -1,2 +0,0 @@ - -/home/ajain13/gsoc_pulls/airavata/modules/cloud/AuroraIntegration/src diff --git a/modules/cloud/AuroraIntegration/src/build.xml~ b/modules/cloud/AuroraIntegration/src/build.xml~ deleted file mode 100644 index 8ffcf42da7..0000000000 --- a/modules/cloud/AuroraIntegration/src/build.xml~ +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerI.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerI.java index 9c06e0254c..4c40f6c1ba 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerI.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerI.java @@ -1,4 +1,4 @@ - +package org.apache.airavata.cloud.aurora.auroraClient; import org.apache.airavata.cloud.aurora.exception.AuroraException; diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/AuroraInjectorImpl.java~ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/AuroraInjectorImpl.java~ deleted file mode 100644 index 9d6be58f8d..0000000000 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/AuroraInjectorImpl.java~ +++ /dev/null @@ -1,4 +0,0 @@ - - -public class AuroraInjectorImpl { -} diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/BigDataInjectorI.java~ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/BigDataInjectorI.java~ deleted file mode 100644 index bf4bee6142..0000000000 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/BigDataInjectorI.java~ +++ /dev/null @@ -1,3 +0,0 @@ - -public class BigDataInjectorI { -} From f163f5ba852817f2c1639aaca6a5fd411d50edd1 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Mon, 27 Jun 2016 16:57:10 -0400 Subject: [PATCH 007/100] Added another utility for process execution --- .../auroraClient/AuroraJobSchedulerImpl.java | 75 ++++++------------- .../cloud/aurora/utilities/AuroraUtilI.java | 1 + .../aurora/utilities/AuroraUtilImpl.java | 18 +++++ 3 files changed, 41 insertions(+), 53 deletions(-) diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerImpl.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerImpl.java index b8b31f89b0..06c4135a1f 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerImpl.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerImpl.java @@ -13,13 +13,12 @@ public class AuroraJobSchedulerImpl implements AuroraJobSchedulerI { AuroraUtilI util = new AuroraUtilImpl(); + + public void auroraJobCommand(String info, String command) throws AuroraException{ try{ - String line; - Process auroraJob = Runtime.getRuntime().exec("aurora task run example/benchmarks/devel/"+info+" "+command); - auroraJob.waitFor(); - BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); - + String completeCommandToRunProcess = "aurora task run example/benchmarks/devel/"+info+" "+command; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); util.printLog(stdout); } @@ -29,11 +28,8 @@ public void auroraJobCommand(String info, String command) throws AuroraException } public void jobUpdateList(String info) throws AuroraException{ try{ - String line; - Process auroraJob = Runtime.getRuntime().exec("aurora update list example/benchmarks/devel/"+info); - auroraJob.waitFor(); - BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); - + String completeCommandToRunProcess = "aurora update list example/benchmarks/devel/"+info; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); util.printLog(stdout); } @@ -44,11 +40,8 @@ public void jobUpdateList(String info) throws AuroraException{ } public void jobUpdateAbort(String info) throws AuroraException{ try{ - String line; - Process auroraJob = Runtime.getRuntime().exec("aurora abort pause example/benchmarks/devel/"+info); - auroraJob.waitFor(); - BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); - + String completeCommandToRunProcess = "aurora abort pause example/benchmarks/devel/"+info; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); util.printLog(stdout); } @@ -59,11 +52,8 @@ public void jobUpdateAbort(String info) throws AuroraException{ } public void jobUpdateResume(String info) throws AuroraException{ try{ - String line; - Process auroraJob = Runtime.getRuntime().exec("aurora update resume example/benchmarks/devel/"+info); - auroraJob.waitFor(); - BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); - + String completeCommandToRunProcess ="aurora update resume example/benchmarks/devel/"+info; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); util.printLog(stdout); } @@ -74,11 +64,8 @@ public void jobUpdateResume(String info) throws AuroraException{ } public void jobUpdatePause(String info) throws AuroraException{ try{ - String line; - Process auroraJob = Runtime.getRuntime().exec("aurora update pause example/benchmarks/devel/"+info); - auroraJob.waitFor(); - BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); - + String completeCommandToRunProcess = "aurora update pause example/benchmarks/devel/"+info; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); util.printLog(stdout); } @@ -89,12 +76,8 @@ public void jobUpdatePause(String info) throws AuroraException{ } public void jobUpdateInfo(String info) throws AuroraException{ try{ - String line; - Process auroraJob = Runtime.getRuntime().exec("aurora update info example/benchmarks/devel/"+info); - auroraJob.waitFor(); - BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); - - + String completeCommandToRunProcess = "aurora update info example/benchmarks/devel/"+info; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); util.printLog(stdout); } @@ -106,12 +89,8 @@ public void jobUpdateInfo(String info) throws AuroraException{ public void jobUpdate(String update) throws AuroraException{ try{ - String line; - Process auroraJob = Runtime.getRuntime().exec("aurora update start example/benchmarks/devel/"+update+" "+update+".aurora"); - auroraJob.waitFor(); - BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); - - + String completeCommandToRunProcess = "aurora update start example/benchmarks/devel/"+update+" "+update+".aurora"; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); util.printLog(stdout); } @@ -122,11 +101,8 @@ public void jobUpdate(String update) throws AuroraException{ } public void jobRestart(String restart) throws AuroraException{ try{ - String line; - Process auroraJob = Runtime.getRuntime().exec("aurora job restart example/benchmarks/devel/"+restart); - auroraJob.waitFor(); - BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); - + String completeCommandToRunProcess = "aurora job restart example/benchmarks/devel/"+restart; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); util.printLog(stdout); } @@ -137,12 +113,8 @@ public void jobRestart(String restart) throws AuroraException{ public void jobKill(String kill) throws AuroraException{ try{ - String line; - Process auroraJob = Runtime.getRuntime().exec("aurora job killall example/benchmarks/devel/"+kill); - auroraJob.waitFor(); - BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); - - + String completeCommandToRunProcess = "aurora job killall example/benchmarks/devel/"+kill; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); util.printLog(stdout); } @@ -152,12 +124,9 @@ public void jobKill(String kill) throws AuroraException{ } public void jobLaunch(String name) throws AuroraException{ try{ - String line; - Process auroraJob = Runtime.getRuntime().exec("aurora job create example/benchmarks/devel/"+name+" "+name+".aurora"); - BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); - + String completeCommandToRunProcess = "aurora job create example/benchmarks/devel/"+name+" "+name+".aurora"; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); util.printLog(stdout); - auroraJob.waitFor(); } catch (Exception ex) { diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilI.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilI.java index 7ba3fadce5..476da98c53 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilI.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilI.java @@ -6,4 +6,5 @@ public interface AuroraUtilI{ public void printLog(BufferedReader stdout) throws AuroraException; + public BufferedReader executeProcess(String commandToRunProcess) throws AuroraException; } diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilImpl.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilImpl.java index e2ad9481c9..912b864579 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilImpl.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilImpl.java @@ -4,6 +4,7 @@ import java.io.BufferedReader; import java.io.IOException; +import java.io.InputStreamReader; import org.apache.airavata.cloud.aurora.exception.AuroraException; @@ -22,4 +23,21 @@ public void printLog(BufferedReader stdout) throws AuroraException throw new AuroraException("IO Exception occured while passing the command.\n"+ex.toString()); } } + + public BufferedReader executeProcess(String commandToRunProcess) throws AuroraException + { + BufferedReader stdout = null; + try{ + Process auroraJob = Runtime.getRuntime().exec(commandToRunProcess); + auroraJob.waitFor(); + stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); + } + catch(Exception ex) + { + throw new AuroraException("Exception occured while passing the command.\n"+ex.toString()); + + } + return stdout; + } + } From 60e1bf7dc710747c44f9b400ee5be27d16db7e2c Mon Sep 17 00:00:00 2001 From: ajain13 Date: Tue, 28 Jun 2016 16:01:36 -0400 Subject: [PATCH 008/100] Changed README.txt to README.md to incorporate markdown syntax --- modules/cloud/AuroraIntegration/src/README.md | 23 +++++++++++++++++++ .../cloud/AuroraIntegration/src/README.txt | 16 ------------- 2 files changed, 23 insertions(+), 16 deletions(-) create mode 100644 modules/cloud/AuroraIntegration/src/README.md delete mode 100644 modules/cloud/AuroraIntegration/src/README.txt diff --git a/modules/cloud/AuroraIntegration/src/README.md b/modules/cloud/AuroraIntegration/src/README.md new file mode 100644 index 0000000000..502ccdb420 --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/README.md @@ -0,0 +1,23 @@ +#Design changes to the Aurora Integration code + +##Compilation Instructions + +### **NOTE : Temporarily using ANT compile the Aurora Management code.** +### **TODO:** Integrate with maven build system, instead of using ANT. + +####In the following directory run the compilation command: +``` +airavata/modules/cloud/AuroraIntegration/src +``` + +####Compilation command +``` +ant all +``` + +####Run command +``` +**TODO:** Add the command to run and test the code. + +**TODO:** Will be adding sample output that shows the Aurora code working. +``` diff --git a/modules/cloud/AuroraIntegration/src/README.txt b/modules/cloud/AuroraIntegration/src/README.txt deleted file mode 100644 index a5d51f6320..0000000000 --- a/modules/cloud/AuroraIntegration/src/README.txt +++ /dev/null @@ -1,16 +0,0 @@ - - -## Temporarily using ANT compile the Aurora Management code. -## TODO: integrate with maven build system, instead of using ANT - -#In the following directory run the compilation command: -airavata/modules/cloud/AuroraIntegration/src - -#Compilation command -ant all - -#Run command -## TODO: add the command to run and test the code - -## Add sample output that shows the Aurora code working - From dfc98ef6b2fe16ea7c56fc1f5baab62547e07b8b Mon Sep 17 00:00:00 2001 From: ajain13 Date: Tue, 28 Jun 2016 16:06:29 -0400 Subject: [PATCH 009/100] Updated Aurora integration code usage README file --- modules/cloud/AuroraIntegration/README.md | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/modules/cloud/AuroraIntegration/README.md b/modules/cloud/AuroraIntegration/README.md index 95a5e20e39..cb46a59a87 100644 --- a/modules/cloud/AuroraIntegration/README.md +++ b/modules/cloud/AuroraIntegration/README.md @@ -1,11 +1,11 @@ #Requirements: -1: Apache Aurora -2: Apache Mesos +1. Apache Aurora +2. Apache Mesos #Installation: ##Please follow the link to set up Apache Aurora and Apache Mesos -1) [http://mesos.apache.org/gettingstarted/ OR https://open.mesosphere.com/getting-started/install/] -2) [http://aurora.apache.org/documentation/latest/operations/installation/] +1. http://mesos.apache.org/gettingstarted/ OR https://open.mesosphere.com/getting-started/install/ +2. http://aurora.apache.org/documentation/latest/operations/installation/ #Usage: @@ -19,5 +19,11 @@ -i = executable/image ``` #Example: -```To create and launch: auroraCreate -o create -r 1024 -n batik -c 2.0 -d 1000 -i gouravr/dacapo:tag9 -To kill: auroraCreate -o kill -k batik``` +To create and launch: +``` +auroraCreate -o create -r 1024 -n batik -c 2.0 -d 1000 -i gouravr/dacapo:tag9 +``` +To kill: +``` +auroraCreate -o kill -k batik``` +``` From 501cc3dccdfbc61f42d3f185c868969da2438fb7 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Tue, 28 Jun 2016 16:08:12 -0400 Subject: [PATCH 010/100] Updated Aurora integration code usage instruction in README file --- modules/cloud/AuroraIntegration/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/cloud/AuroraIntegration/README.md b/modules/cloud/AuroraIntegration/README.md index cb46a59a87..4d9107d20e 100644 --- a/modules/cloud/AuroraIntegration/README.md +++ b/modules/cloud/AuroraIntegration/README.md @@ -25,5 +25,5 @@ auroraCreate -o create -r 1024 -n batik -c 2.0 -d 1000 -i gouravr/dacapo:tag9 ``` To kill: ``` -auroraCreate -o kill -k batik``` +auroraCreate -o kill -k batik ``` From 0a75569cff801d46be0062ba66f314b94fa1778b Mon Sep 17 00:00:00 2001 From: ajain13 Date: Tue, 28 Jun 2016 17:40:51 -0400 Subject: [PATCH 011/100] Changed package structures to segregate code better which works out for better dependency injection ,added placeholders for marathon integration code --- .../auroraClient/AuroraJobSchedulerI.java | 4 +-- .../auroraClient/AuroraJobSchedulerImpl.java | 10 +++--- .../marathonClient/MarathonJobSchedulerI.java | 9 ++++++ .../MarathonJobSchedulerImpl.java | 31 +++++++++++++++++++ .../bigDataInjections/AuroraInjectorImpl.java | 12 +++---- .../bigDataInjections/BigDataInjectorI.java | 2 +- .../auroraDriver}/AuroraAdminDriver.java | 22 ++++++------- .../auroraExceptions}/AuroraException.java | 2 +- .../marathonExceptions/MarathonException.java | 15 +++++++++ .../auroraUtilities}/AuroraUtilI.java | 4 +-- .../auroraUtilities}/AuroraUtilImpl.java | 6 ++-- .../marathonUtilities/MarathonUtilI.java | 11 +++++++ .../marathonUtilities/MarathonUtilImpl.java | 14 +++++++++ 13 files changed, 111 insertions(+), 31 deletions(-) rename modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/{ => bigDataClientSideServices}/aurora/auroraClient/AuroraJobSchedulerI.java (83%) rename modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/{ => bigDataClientSideServices}/aurora/auroraClient/AuroraJobSchedulerImpl.java (94%) create mode 100644 modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java create mode 100644 modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java rename modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/{aurora => }/bigDataInjections/AuroraInjectorImpl.java (85%) rename modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/{aurora => }/bigDataInjections/BigDataInjectorI.java (80%) rename modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/{aurora/driver => drivers/auroraDriver}/AuroraAdminDriver.java (75%) rename modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/{aurora/exception => exceptions/auroraExceptions}/AuroraException.java (82%) create mode 100644 modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/exceptions/marathonExceptions/MarathonException.java rename modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/{aurora/utilities => utilities/auroraUtilities}/AuroraUtilI.java (62%) rename modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/{aurora/utilities => utilities/auroraUtilities}/AuroraUtilImpl.java (87%) create mode 100644 modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilI.java create mode 100644 modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilImpl.java diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerI.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java similarity index 83% rename from modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerI.java rename to modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java index 4c40f6c1ba..274fed49fb 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerI.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java @@ -1,6 +1,6 @@ -package org.apache.airavata.cloud.aurora.auroraClient; +package org.apache.airavata.cloud.bigDataClientSideServices.aurora.auroraClient; -import org.apache.airavata.cloud.aurora.exception.AuroraException; +import org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; public interface AuroraJobSchedulerI { diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerImpl.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java similarity index 94% rename from modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerImpl.java rename to modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java index 06c4135a1f..4c5c99109e 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerImpl.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java @@ -1,4 +1,4 @@ -package org.apache.airavata.cloud.aurora.auroraClient; +package org.apache.airavata.cloud.bigDataClientSideServices.aurora.auroraClient; import java.io.BufferedReader; import java.io.BufferedWriter; @@ -7,14 +7,14 @@ import java.io.IOException; import java.io.InputStreamReader; -import org.apache.airavata.cloud.aurora.exception.AuroraException; -import org.apache.airavata.cloud.aurora.utilities.AuroraUtilImpl; -import org.apache.airavata.cloud.aurora.utilities.AuroraUtilI; +import org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; +import org.apache.airavata.cloud.utilities.auroraUtilities.AuroraUtilImpl; +import org.apache.airavata.cloud.utilities.auroraUtilities.AuroraUtilI; public class AuroraJobSchedulerImpl implements AuroraJobSchedulerI { AuroraUtilI util = new AuroraUtilImpl(); - + public void auroraJobCommand(String info, String command) throws AuroraException{ try{ String completeCommandToRunProcess = "aurora task run example/benchmarks/devel/"+info+" "+command; diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java new file mode 100644 index 0000000000..28c73a9bf4 --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java @@ -0,0 +1,9 @@ +package org.apache.airavata.cloud.bigDataClientSideServices.marathon.marathonClient; + +import org.apache.airavata.cloud.exceptions.marathonExceptions.MarathonException; + +public interface MarathonJobSchedulerI { + + public void marathonJobCommand(String info, String command) throws MarathonException; + +} diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java new file mode 100644 index 0000000000..fc941dc904 --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java @@ -0,0 +1,31 @@ +package org.apache.airavata.cloud.bigDataClientSideServices.marathon.marathonClient; + +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.io.InputStreamReader; + +import org.apache.airavata.cloud.exceptions.marathonExceptions.MarathonException; +import org.apache.airavata.cloud.utilities.marathonUtilities.MarathonUtilImpl; +import org.apache.airavata.cloud.utilities.marathonUtilities.MarathonUtilI; + +public class MarathonJobSchedulerImpl implements MarathonJobSchedulerI { + MarathonUtilI util = new MarathonUtilImpl(); + + + public void marathonJobCommand(String info, String command) throws MarathonException{ + try{ + + //TODO:Command inmplementation + } + + catch (Exception ex) { + throw new MarathonException("Exception occured while passing the command.\n"+ex.toString()); + } + } + + //TODO:Rest of the commands inmplementation goes here + +} diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/AuroraInjectorImpl.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java similarity index 85% rename from modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/AuroraInjectorImpl.java rename to modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java index 4ca6b69540..f76801012b 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/AuroraInjectorImpl.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java @@ -1,18 +1,18 @@ -package org.apache.airavata.cloud.aurora.bigDataInjections; +package org.apache.airavata.cloud.bigDataInjections; import java.util.Map; import java.util.List; -import org.apache.airavata.cloud.aurora.auroraClient.AuroraJobSchedulerI; -import org.apache.airavata.cloud.aurora.auroraClient.AuroraJobSchedulerImpl; -import org.apache.airavata.cloud.aurora.exception.AuroraException; +import org.apache.airavata.cloud.bigDataClientSideServices.aurora.auroraClient.AuroraJobSchedulerI; +import org.apache.airavata.cloud.bigDataClientSideServices.aurora.auroraClient.AuroraJobSchedulerImpl; +import org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; public class AuroraInjectorImpl implements BigDataInjectorI { private AuroraJobSchedulerI auroraJS = null; - + public AuroraInjectorImpl(AuroraJobSchedulerI auroraJSIn) { auroraJS = auroraJSIn; } @@ -20,7 +20,7 @@ public AuroraInjectorImpl(AuroraJobSchedulerI auroraJSIn) { public void executeTheBigDataClientSideCommand(Map> commandLineOptions) { - + String commandName = commandLineOptions.get("o").get(0); String RamSize, JobName, CpuCount, DiskSize, Image; diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/BigDataInjectorI.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataInjections/BigDataInjectorI.java similarity index 80% rename from modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/BigDataInjectorI.java rename to modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataInjections/BigDataInjectorI.java index e821bc8d9f..c623d57a1f 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/BigDataInjectorI.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataInjections/BigDataInjectorI.java @@ -1,5 +1,5 @@ -package org.apache.airavata.cloud.aurora.bigDataInjections; +package org.apache.airavata.cloud.bigDataInjections; import java.util.Map; import java.util.List; diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/driver/AuroraAdminDriver.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java similarity index 75% rename from modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/driver/AuroraAdminDriver.java rename to modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java index 0a3cc629ba..20b4144fdd 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/driver/AuroraAdminDriver.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java @@ -1,15 +1,15 @@ -package org.apache.airavata.cloud.aurora.driver; +package org.apache.airavata.cloud.drivers.auroraDriver; // TODO: need javadoc documentation at the top of each method // TODO: individually import the types import java.util.*; -import org.apache.airavata.cloud.aurora.exception.AuroraException; -import org.apache.airavata.cloud.aurora.auroraClient.AuroraJobSchedulerI; -import org.apache.airavata.cloud.aurora.auroraClient.AuroraJobSchedulerImpl; -import org.apache.airavata.cloud.aurora.bigDataInjections.AuroraInjectorImpl; -import org.apache.airavata.cloud.aurora.bigDataInjections.BigDataInjectorI; +import org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; +import org.apache.airavata.cloud.bigDataClientSideServices.aurora.auroraClient.AuroraJobSchedulerI; +import org.apache.airavata.cloud.bigDataClientSideServices.aurora.auroraClient.AuroraJobSchedulerImpl; +import org.apache.airavata.cloud.bigDataInjections.AuroraInjectorImpl; +import org.apache.airavata.cloud.bigDataInjections.BigDataInjectorI; public class AuroraAdminDriver{ public static void main(String[] args) { @@ -24,7 +24,7 @@ public static void main(String[] args) { // TODO: explain why this Map data structure is needed Map> params = new HashMap<>(); - + // TODO: explain what is the purpose of this List List options = null; for (int i = 0; i < args.length; i++) { @@ -49,13 +49,13 @@ else if (options != null) { return; } - + }// end of for (int i=0; ... - - // use the code below to decide between injecting Aurora, Marathon, etc. as injections + + // use the code below to decide between injecting Aurora, Marathon, etc. as injections AuroraJobSchedulerI auroraJS = new AuroraJobSchedulerImpl(); BigDataInjectorI auroraInjector = new AuroraInjectorImpl(auroraJS); - auroraInjector.executeTheBigDataClientSideCommand(params); + auroraInjector.executeTheBigDataClientSideCommand(params); } // end of public static void main diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/exception/AuroraException.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/exceptions/auroraExceptions/AuroraException.java similarity index 82% rename from modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/exception/AuroraException.java rename to modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/exceptions/auroraExceptions/AuroraException.java index b3a6abde08..ff698919a0 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/exception/AuroraException.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/exceptions/auroraExceptions/AuroraException.java @@ -1,4 +1,4 @@ -package org.apache.airavata.cloud.aurora.exception; +package org.apache.airavata.cloud.exceptions.auroraExceptions; public class AuroraException extends Exception { private String exceptionMsg; diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/exceptions/marathonExceptions/MarathonException.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/exceptions/marathonExceptions/MarathonException.java new file mode 100644 index 0000000000..af86754afa --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/exceptions/marathonExceptions/MarathonException.java @@ -0,0 +1,15 @@ +package org.apache.airavata.cloud.exceptions.marathonExceptions; + +public class MarathonException extends Exception { + private String exceptionMsg; + public MarathonException(){ + exceptionMsg=""; + } + public MarathonException(String exceptionMsgIn){ + exceptionMsg=exceptionMsgIn;; + } + + public String toString(){ + return this.exceptionMsg; + } + } diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilI.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilI.java similarity index 62% rename from modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilI.java rename to modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilI.java index 476da98c53..554689bae6 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilI.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilI.java @@ -1,8 +1,8 @@ -package org.apache.airavata.cloud.aurora.utilities; +package org.apache.airavata.cloud.utilities.auroraUtilities; import java.io.BufferedReader; -import org.apache.airavata.cloud.aurora.exception.AuroraException; +import org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; public interface AuroraUtilI{ public void printLog(BufferedReader stdout) throws AuroraException; diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilImpl.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilImpl.java similarity index 87% rename from modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilImpl.java rename to modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilImpl.java index 912b864579..b760554cc1 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilImpl.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilImpl.java @@ -1,12 +1,12 @@ -package org.apache.airavata.cloud.aurora.utilities; +package org.apache.airavata.cloud.utilities.auroraUtilities; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; -import org.apache.airavata.cloud.aurora.exception.AuroraException; +import org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; public class AuroraUtilImpl implements AuroraUtilI{ public void printLog(BufferedReader stdout) throws AuroraException @@ -39,5 +39,5 @@ public BufferedReader executeProcess(String commandToRunProcess) throws AuroraEx } return stdout; } - + } diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilI.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilI.java new file mode 100644 index 0000000000..c86aba15cd --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilI.java @@ -0,0 +1,11 @@ +package org.apache.airavata.cloud.utilities.marathonUtilities; + +import java.io.BufferedReader; + +import org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; + +public interface MarathonUtilI{ + + //TODO:Abstract Marathon methods goes heresss + +} diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilImpl.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilImpl.java new file mode 100644 index 0000000000..9fe9a47658 --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilImpl.java @@ -0,0 +1,14 @@ + +package org.apache.airavata.cloud.utilities.marathonUtilities; + + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +import org.apache.airavata.cloud.exceptions.marathonExceptions.MarathonException; + +public class MarathonUtilImpl implements MarathonUtilI{ + //TODO: Marathon utilities code goes here + +} From 35991361d0a2822982aa4a026d88afd84344e9b8 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Tue, 28 Jun 2016 17:44:04 -0400 Subject: [PATCH 012/100] Updated README file --- modules/cloud/AuroraIntegration/src/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/cloud/AuroraIntegration/src/README.md b/modules/cloud/AuroraIntegration/src/README.md index 502ccdb420..477d57950a 100644 --- a/modules/cloud/AuroraIntegration/src/README.md +++ b/modules/cloud/AuroraIntegration/src/README.md @@ -1,4 +1,4 @@ -#Design changes to the Aurora Integration code +#Design changes to the Aurora/Marathon Integration code ##Compilation Instructions @@ -19,5 +19,5 @@ ant all ``` **TODO:** Add the command to run and test the code. -**TODO:** Will be adding sample output that shows the Aurora code working. +**TODO:** Will be adding sample output that shows the Aurora/Marathon code working. ``` From f016b0ef87c22704f69fe18f365622473fd77730 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Wed, 29 Jun 2016 15:04:23 -0400 Subject: [PATCH 013/100] Updated AuroraJobScheduler interface --- .../aurora/auroraClient/AuroraJobSchedulerI.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java index 274fed49fb..addaaf260f 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java @@ -4,13 +4,14 @@ public interface AuroraJobSchedulerI { - public void jobUpdateInfo(String info) throws AuroraException; - public void jobUpdate(String update) throws AuroraException; - public void jobUpdateResume(String info) throws AuroraException; - public void jobUpdateAbort(String info) throws AuroraException; + + public void auroraJobCommand(String info, String command) throws AuroraException; public void jobUpdateList(String info) throws AuroraException; + public void jobUpdateAbort(String info) throws AuroraException; + public void jobUpdateResume(String info) throws AuroraException; public void jobUpdatePause(String info) throws AuroraException; - public void auroraJobCommand(String info, String command) throws AuroraException; + public void jobUpdateInfo(String info) throws AuroraException; + public void jobUpdate(String update) throws AuroraException; public void jobRestart(String restart) throws AuroraException; public void jobKill(String kill) throws AuroraException; public void jobLaunch(String name) throws AuroraException; From b90dedf71311ae1013819211ba4e4d42a5f12069 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Wed, 29 Jun 2016 16:13:31 -0400 Subject: [PATCH 014/100] Updated README file with more command USAGE examples --- modules/cloud/AuroraIntegration/README.md | 39 ++++++++++++++++++- .../bigDataInjections/AuroraInjectorImpl.java | 1 - 2 files changed, 37 insertions(+), 3 deletions(-) diff --git a/modules/cloud/AuroraIntegration/README.md b/modules/cloud/AuroraIntegration/README.md index 4d9107d20e..2656a91a66 100644 --- a/modules/cloud/AuroraIntegration/README.md +++ b/modules/cloud/AuroraIntegration/README.md @@ -21,9 +21,44 @@ #Example: To create and launch: ``` -auroraCreate -o create -r 1024 -n batik -c 2.0 -d 1000 -i gouravr/dacapo:tag9 +java -jar AuroraAdminDriver -o create -r 1024 -n batik -c 2.0 -d 1000 -i gouravr/dacapo:tag9 ``` To kill: ``` -auroraCreate -o kill -k batik +java -jar AuroraAdminDriver -o kill -k batik +``` + +To update: +``` +java -jar AuroraAdminDriver -o update -n batik +``` + +To retrieve update information: +``` +java -jar AuroraAdminDriver -o update-info -n batik +``` + +To pause an update: +``` +java -jar AuroraAdminDriver -o update-pause -n batik +``` + +To list the update progress: +``` +java -jar AuroraAdminDriver -o update-list -n batik +``` + +To abort an update: +``` +java -jar AuroraAdminDriver -o update-abort -n batik +``` + +To resume an update: +``` +java -jar AuroraAdminDriver -o update-resume -n batik +``` + +To restart a job: +``` +java -jar AuroraAdminDriver -o restart -n batik ``` diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java index f76801012b..8fabb51a92 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java @@ -1,4 +1,3 @@ - package org.apache.airavata.cloud.bigDataInjections; import java.util.Map; From 15becb77595872ae7acc337835d801903fc75dca Mon Sep 17 00:00:00 2001 From: ajain13 Date: Thu, 30 Jun 2016 15:03:28 -0400 Subject: [PATCH 015/100] Updated with jobDiff functionality and made design changes in the same. Also, updated the kill command usage in README file which had a small typo --- modules/cloud/AuroraIntegration/README.md | 18 +++++++++--------- .../auroraClient/AuroraJobSchedulerI.java | 1 + .../auroraClient/AuroraJobSchedulerImpl.java | 13 +++++++++++++ 3 files changed, 23 insertions(+), 9 deletions(-) diff --git a/modules/cloud/AuroraIntegration/README.md b/modules/cloud/AuroraIntegration/README.md index 2656a91a66..84de94b3bc 100644 --- a/modules/cloud/AuroraIntegration/README.md +++ b/modules/cloud/AuroraIntegration/README.md @@ -21,44 +21,44 @@ #Example: To create and launch: ``` -java -jar AuroraAdminDriver -o create -r 1024 -n batik -c 2.0 -d 1000 -i gouravr/dacapo:tag9 +java -jar auroraDriverl.jar -o create -r 1024 -n batik -c 2.0 -d 1000 -i gouravr/dacapo:tag9 ``` To kill: ``` -java -jar AuroraAdminDriver -o kill -k batik +java -jar auroraDriverl.jar -o kill -n batik ``` To update: ``` -java -jar AuroraAdminDriver -o update -n batik +java -jar auroraDriverl.jar -o update -n batik ``` To retrieve update information: ``` -java -jar AuroraAdminDriver -o update-info -n batik +java -jar auroraDriverl.jar -o update-info -n batik ``` To pause an update: ``` -java -jar AuroraAdminDriver -o update-pause -n batik +java -jar auroraDriverl.jar -o update-pause -n batik ``` To list the update progress: ``` -java -jar AuroraAdminDriver -o update-list -n batik +java -jar auroraDriverl.jar -o update-list -n batik ``` To abort an update: ``` -java -jar AuroraAdminDriver -o update-abort -n batik +java -jar auroraDriverl.jar -o update-abort -n batik ``` To resume an update: ``` -java -jar AuroraAdminDriver -o update-resume -n batik +java -jar auroraDriverl.jar -o update-resume -n batik ``` To restart a job: ``` -java -jar AuroraAdminDriver -o restart -n batik +java -jar auroraDriverl.jar -o restart -n batik ``` diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java index addaaf260f..10d1f3479b 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java @@ -16,4 +16,5 @@ public interface AuroraJobSchedulerI { public void jobKill(String kill) throws AuroraException; public void jobLaunch(String name) throws AuroraException; public void configCreate(String name, String ram, String cpu, String disk, String image) throws AuroraException; + public void jobDiff(String key, String config) throws AuroraException; } diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java index 4c5c99109e..4816933331 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java @@ -153,4 +153,17 @@ public void configCreate(String name, String ram, String cpu, String disk, Strin throw new AuroraException("Exception occured while creating the configuration file.\n"+ex.toString()); } } + + + public void jobDiff(String key, String config) throws AuroraException{ + try{ + String completeCommandToRunProcess = "aurora job diff "+key+" "+config; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); + util.printLog(stdout); + } + + catch (Exception ex) { + throw new AuroraException("Exception occured while retrieving the job difference.\n"+ex.toString()); + } + } } From 080e960da922762518b99af74c684a269795c887 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Thu, 30 Jun 2016 16:43:15 -0400 Subject: [PATCH 016/100] Updated code with configList option,updated aurora client interface --- .../aurora/auroraClient/AuroraJobSchedulerI.java | 1 + .../aurora/auroraClient/AuroraJobSchedulerImpl.java | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java index 10d1f3479b..986a400437 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java @@ -17,4 +17,5 @@ public interface AuroraJobSchedulerI { public void jobLaunch(String name) throws AuroraException; public void configCreate(String name, String ram, String cpu, String disk, String image) throws AuroraException; public void jobDiff(String key, String config) throws AuroraException; + public void configList(String config) throws AuroraException; } diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java index 4816933331..f69f30d10c 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java @@ -166,4 +166,16 @@ public void jobDiff(String key, String config) throws AuroraException{ throw new AuroraException("Exception occured while retrieving the job difference.\n"+ex.toString()); } } + + public void configList(String config) throws AuroraException{ + try{ + String completeCommandToRunProcess = "aurora config list "+config; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); + util.printLog(stdout); + } + + catch (Exception ex) { + throw new AuroraException("Exception occured while retrieving the list of jobs.\n"+ex.toString()); + } + } } From de525796577c67b9717548c002de8166c9905c53 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Wed, 6 Jul 2016 16:17:37 -0400 Subject: [PATCH 017/100] Updated Aurora Job Scheduler code with the jobInspect function and made design changes. --- .../aurora/auroraClient/AuroraJobSchedulerI.java | 1 + .../aurora/auroraClient/AuroraJobSchedulerImpl.java | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java index 986a400437..bee4df6504 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java @@ -18,4 +18,5 @@ public interface AuroraJobSchedulerI { public void configCreate(String name, String ram, String cpu, String disk, String image) throws AuroraException; public void jobDiff(String key, String config) throws AuroraException; public void configList(String config) throws AuroraException; + public void jobInspect(String key, String config) throws AuroraException; } diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java index f69f30d10c..c074f9f71f 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java @@ -178,4 +178,16 @@ public void configList(String config) throws AuroraException{ throw new AuroraException("Exception occured while retrieving the list of jobs.\n"+ex.toString()); } } + + public void jobInspect(String key, String config) throws AuroraException{ + try{ + String completeCommandToRunProcess = "aurora job inspect "+key+" "+config; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); + util.printLog(stdout); + } + + catch (Exception ex) { + throw new AuroraException("Exception occured while inspecting the job.\n"+ex.toString()); + } + } } From afeeeff013d7305936a55c3b6fe9f69d4a7bf102 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Thu, 7 Jul 2016 13:23:57 -0400 Subject: [PATCH 018/100] Changed package structure to follow standared maven which will be added in the next pull request soon --- modules/cloud/AuroraIntegration/src/build.xml | 9 +++++---- .../aurora/auroraClient/AuroraJobSchedulerI.java | 4 ++-- .../aurora/auroraClient/AuroraJobSchedulerImpl.java | 8 ++++---- .../marathonClient/MarathonJobSchedulerI.java | 9 +++++++++ .../marathonClient/MarathonJobSchedulerImpl.java | 8 ++++---- .../cloud/bigDataInjections/AuroraInjectorImpl.java | 8 ++++---- .../cloud/bigDataInjections/BigDataInjectorI.java | 2 +- .../drivers/auroraDriver/AuroraAdminDriver.java | 12 ++++++------ .../exceptions/auroraExceptions/AuroraException.java | 2 +- .../marathonExceptions/MarathonException.java | 2 +- .../cloud/utilities/auroraUtilities/AuroraUtilI.java | 4 ++-- .../utilities/auroraUtilities/AuroraUtilImpl.java | 4 ++-- .../utilities/marathonUtilities/MarathonUtilI.java | 11 +++++++++++ .../marathonUtilities/MarathonUtilImpl.java | 4 ++-- .../marathonClient/MarathonJobSchedulerI.java | 9 --------- .../utilities/marathonUtilities/MarathonUtilI.java | 11 ----------- 16 files changed, 54 insertions(+), 53 deletions(-) rename modules/cloud/AuroraIntegration/src/{ => main/java}/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java (85%) rename modules/cloud/AuroraIntegration/src/{ => main/java}/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java (95%) create mode 100644 modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java rename modules/cloud/AuroraIntegration/src/{ => main/java}/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java (63%) rename modules/cloud/AuroraIntegration/src/{ => main/java}/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java (83%) rename modules/cloud/AuroraIntegration/src/{ => main/java}/org/apache/airavata/cloud/bigDataInjections/BigDataInjectorI.java (79%) rename modules/cloud/AuroraIntegration/src/{ => main/java}/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java (77%) rename modules/cloud/AuroraIntegration/src/{ => main/java}/org/apache/airavata/cloud/exceptions/auroraExceptions/AuroraException.java (80%) rename modules/cloud/AuroraIntegration/src/{ => main/java}/org/apache/airavata/cloud/exceptions/marathonExceptions/MarathonException.java (80%) rename modules/cloud/AuroraIntegration/src/{ => main/java}/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilI.java (58%) rename modules/cloud/AuroraIntegration/src/{ => main/java}/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilImpl.java (86%) create mode 100644 modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilI.java rename modules/cloud/AuroraIntegration/src/{ => main/java}/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilImpl.java (54%) delete mode 100644 modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java delete mode 100644 modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilI.java diff --git a/modules/cloud/AuroraIntegration/src/build.xml b/modules/cloud/AuroraIntegration/src/build.xml index 55333361a5..37c7102712 100644 --- a/modules/cloud/AuroraIntegration/src/build.xml +++ b/modules/cloud/AuroraIntegration/src/build.xml @@ -10,7 +10,8 @@ + depends="main + "/> @@ -27,7 +28,7 @@ - + @@ -38,9 +39,9 @@ - + Date: Thu, 7 Jul 2016 16:03:26 -0400 Subject: [PATCH 019/100] Integrated with maven build, updated package structure, added AuroraIntegration module in modules/cloud/pom.xml --- modules/cloud/AuroraIntegration/pom.xml | 43 +++++++++++++++ modules/cloud/AuroraIntegration/src/build.xml | 54 ------------------- .../auroraClient/AuroraJobSchedulerI.java | 4 +- .../auroraClient/AuroraJobSchedulerImpl.java | 8 +-- .../marathonClient/MarathonJobSchedulerI.java | 4 +- .../MarathonJobSchedulerImpl.java | 8 +-- .../bigDataInjections/AuroraInjectorImpl.java | 8 +-- .../bigDataInjections/BigDataInjectorI.java | 2 +- .../auroraDriver/AuroraAdminDriver.java | 12 ++--- .../auroraExceptions/AuroraException.java | 2 +- .../marathonExceptions/MarathonException.java | 2 +- .../auroraUtilities/AuroraUtilI.java | 4 +- .../auroraUtilities/AuroraUtilImpl.java | 4 +- .../marathonUtilities/MarathonUtilI.java | 4 +- .../marathonUtilities/MarathonUtilImpl.java | 4 +- modules/cloud/pom.xml | 3 +- 16 files changed, 78 insertions(+), 88 deletions(-) create mode 100644 modules/cloud/AuroraIntegration/pom.xml delete mode 100644 modules/cloud/AuroraIntegration/src/build.xml diff --git a/modules/cloud/AuroraIntegration/pom.xml b/modules/cloud/AuroraIntegration/pom.xml new file mode 100644 index 0000000000..10373038b2 --- /dev/null +++ b/modules/cloud/AuroraIntegration/pom.xml @@ -0,0 +1,43 @@ + + 4.0.0 + + org.apache.airavata + airavata-cloud + 0.16-SNAPSHOT + ../pom.xml + + + AuroraIntergration + org.apache.airavata.cloud.drivers.auroraDriver + jar + Airavata Aurora Integration + http://airavata.apache.org/ + + + + target + target/classes + ${project.artifactId}-${project.version} + src/main/java + + + org.apache.maven.plugins + maven-jar-plugin + + + + org.apache.airavata.cloud.drivers.auroraDriver.AuroraAdminDriver + + + + + + + + + UTF-8 + UTF-8 + + + diff --git a/modules/cloud/AuroraIntegration/src/build.xml b/modules/cloud/AuroraIntegration/src/build.xml deleted file mode 100644 index 37c7102712..0000000000 --- a/modules/cloud/AuroraIntegration/src/build.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java index a41a4d822d..bee4df6504 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java @@ -1,6 +1,6 @@ -package main.java.org.apache.airavata.cloud.bigDataClientSideServices.aurora.auroraClient; +package org.apache.airavata.cloud.bigDataClientSideServices.aurora.auroraClient; -import main.java.org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; +import org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; public interface AuroraJobSchedulerI { diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java index eb4619aa2a..c074f9f71f 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java @@ -1,4 +1,4 @@ -package main.java.org.apache.airavata.cloud.bigDataClientSideServices.aurora.auroraClient; +package org.apache.airavata.cloud.bigDataClientSideServices.aurora.auroraClient; import java.io.BufferedReader; import java.io.BufferedWriter; @@ -7,9 +7,9 @@ import java.io.IOException; import java.io.InputStreamReader; -import main.java.org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; -import main.java.org.apache.airavata.cloud.utilities.auroraUtilities.AuroraUtilImpl; -import main.java.org.apache.airavata.cloud.utilities.auroraUtilities.AuroraUtilI; +import org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; +import org.apache.airavata.cloud.utilities.auroraUtilities.AuroraUtilImpl; +import org.apache.airavata.cloud.utilities.auroraUtilities.AuroraUtilI; public class AuroraJobSchedulerImpl implements AuroraJobSchedulerI { AuroraUtilI util = new AuroraUtilImpl(); diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java index 44541c842f..28c73a9bf4 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java @@ -1,6 +1,6 @@ -package main.java.org.apache.airavata.cloud.bigDataClientSideServices.marathon.marathonClient; +package org.apache.airavata.cloud.bigDataClientSideServices.marathon.marathonClient; -import main.java.org.apache.airavata.cloud.exceptions.marathonExceptions.MarathonException; +import org.apache.airavata.cloud.exceptions.marathonExceptions.MarathonException; public interface MarathonJobSchedulerI { diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java index 1a3c4f4c72..fc941dc904 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java @@ -1,4 +1,4 @@ -package main.java.org.apache.airavata.cloud.bigDataClientSideServices.marathon.marathonClient; +package org.apache.airavata.cloud.bigDataClientSideServices.marathon.marathonClient; import java.io.BufferedReader; import java.io.BufferedWriter; @@ -7,9 +7,9 @@ import java.io.IOException; import java.io.InputStreamReader; -import main.java.org.apache.airavata.cloud.exceptions.marathonExceptions.MarathonException; -import main.java.org.apache.airavata.cloud.utilities.marathonUtilities.MarathonUtilImpl; -import main.java.org.apache.airavata.cloud.utilities.marathonUtilities.MarathonUtilI; +import org.apache.airavata.cloud.exceptions.marathonExceptions.MarathonException; +import org.apache.airavata.cloud.utilities.marathonUtilities.MarathonUtilImpl; +import org.apache.airavata.cloud.utilities.marathonUtilities.MarathonUtilI; public class MarathonJobSchedulerImpl implements MarathonJobSchedulerI { MarathonUtilI util = new MarathonUtilImpl(); diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java index 659902155f..8fabb51a92 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java @@ -1,12 +1,12 @@ -package main.java.org.apache.airavata.cloud.bigDataInjections; +package org.apache.airavata.cloud.bigDataInjections; import java.util.Map; import java.util.List; -import main.java.org.apache.airavata.cloud.bigDataClientSideServices.aurora.auroraClient.AuroraJobSchedulerI; -import main.java.org.apache.airavata.cloud.bigDataClientSideServices.aurora.auroraClient.AuroraJobSchedulerImpl; -import main.java.org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; +import org.apache.airavata.cloud.bigDataClientSideServices.aurora.auroraClient.AuroraJobSchedulerI; +import org.apache.airavata.cloud.bigDataClientSideServices.aurora.auroraClient.AuroraJobSchedulerImpl; +import org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; public class AuroraInjectorImpl implements BigDataInjectorI { diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/BigDataInjectorI.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/BigDataInjectorI.java index 0281ed1bea..c623d57a1f 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/BigDataInjectorI.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/BigDataInjectorI.java @@ -1,5 +1,5 @@ -package main.java.org.apache.airavata.cloud.bigDataInjections; +package org.apache.airavata.cloud.bigDataInjections; import java.util.Map; import java.util.List; diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java index 0a4a62564f..20b4144fdd 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java @@ -1,15 +1,15 @@ -package main.java.org.apache.airavata.cloud.drivers.auroraDriver; +package org.apache.airavata.cloud.drivers.auroraDriver; // TODO: need javadoc documentation at the top of each method // TODO: individually import the types import java.util.*; -import main.java.org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; -import main.java.org.apache.airavata.cloud.bigDataClientSideServices.aurora.auroraClient.AuroraJobSchedulerI; -import main.java.org.apache.airavata.cloud.bigDataClientSideServices.aurora.auroraClient.AuroraJobSchedulerImpl; -import main.java.org.apache.airavata.cloud.bigDataInjections.AuroraInjectorImpl; -import main.java.org.apache.airavata.cloud.bigDataInjections.BigDataInjectorI; +import org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; +import org.apache.airavata.cloud.bigDataClientSideServices.aurora.auroraClient.AuroraJobSchedulerI; +import org.apache.airavata.cloud.bigDataClientSideServices.aurora.auroraClient.AuroraJobSchedulerImpl; +import org.apache.airavata.cloud.bigDataInjections.AuroraInjectorImpl; +import org.apache.airavata.cloud.bigDataInjections.BigDataInjectorI; public class AuroraAdminDriver{ public static void main(String[] args) { diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/auroraExceptions/AuroraException.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/auroraExceptions/AuroraException.java index 68c8d833e2..ff698919a0 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/auroraExceptions/AuroraException.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/auroraExceptions/AuroraException.java @@ -1,4 +1,4 @@ -package main.java.org.apache.airavata.cloud.exceptions.auroraExceptions; +package org.apache.airavata.cloud.exceptions.auroraExceptions; public class AuroraException extends Exception { private String exceptionMsg; diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/marathonExceptions/MarathonException.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/marathonExceptions/MarathonException.java index 62abcdbd3d..af86754afa 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/marathonExceptions/MarathonException.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/marathonExceptions/MarathonException.java @@ -1,4 +1,4 @@ -package main.java.org.apache.airavata.cloud.exceptions.marathonExceptions; +package org.apache.airavata.cloud.exceptions.marathonExceptions; public class MarathonException extends Exception { private String exceptionMsg; diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilI.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilI.java index 58f3769120..554689bae6 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilI.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilI.java @@ -1,8 +1,8 @@ -package main.java.org.apache.airavata.cloud.utilities.auroraUtilities; +package org.apache.airavata.cloud.utilities.auroraUtilities; import java.io.BufferedReader; -import main.java.org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; +import org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; public interface AuroraUtilI{ public void printLog(BufferedReader stdout) throws AuroraException; diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilImpl.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilImpl.java index 8c0aba82bf..b760554cc1 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilImpl.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilImpl.java @@ -1,12 +1,12 @@ -package main.java.org.apache.airavata.cloud.utilities.auroraUtilities; +package org.apache.airavata.cloud.utilities.auroraUtilities; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; -import main.java.org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; +import org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; public class AuroraUtilImpl implements AuroraUtilI{ public void printLog(BufferedReader stdout) throws AuroraException diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilI.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilI.java index c3532188c8..594cc9eacf 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilI.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilI.java @@ -1,8 +1,8 @@ -package main.java.org.apache.airavata.cloud.utilities.marathonUtilities; +package org.apache.airavata.cloud.utilities.marathonUtilities; import java.io.BufferedReader; -import main.java.org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; +import org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; public interface MarathonUtilI{ diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilImpl.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilImpl.java index fc9d9fb866..9fe9a47658 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilImpl.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilImpl.java @@ -1,12 +1,12 @@ -package main.java.org.apache.airavata.cloud.utilities.marathonUtilities; +package org.apache.airavata.cloud.utilities.marathonUtilities; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; -import main.java.org.apache.airavata.cloud.exceptions.marathonExceptions.MarathonException; +import org.apache.airavata.cloud.exceptions.marathonExceptions.MarathonException; public class MarathonUtilImpl implements MarathonUtilI{ //TODO: Marathon utilities code goes here diff --git a/modules/cloud/pom.xml b/modules/cloud/pom.xml index 4f87811d77..42621438c7 100644 --- a/modules/cloud/pom.xml +++ b/modules/cloud/pom.xml @@ -18,6 +18,7 @@ cloud-provisioning + AuroraIntegration - \ No newline at end of file + From 9a404e867747f33011d4fd3a31c5f2ed4997395a Mon Sep 17 00:00:00 2001 From: ajain13 Date: Thu, 7 Jul 2016 16:17:54 -0400 Subject: [PATCH 020/100] Updated pom.xml to change the jar file name --- modules/cloud/AuroraIntegration/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/cloud/AuroraIntegration/pom.xml b/modules/cloud/AuroraIntegration/pom.xml index 10373038b2..83c9d35260 100644 --- a/modules/cloud/AuroraIntegration/pom.xml +++ b/modules/cloud/AuroraIntegration/pom.xml @@ -8,7 +8,7 @@ ../pom.xml - AuroraIntergration + AuroraIntegration org.apache.airavata.cloud.drivers.auroraDriver jar Airavata Aurora Integration From 8cf7e8a145472689ef550c52457732b79b0737e0 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Thu, 7 Jul 2016 16:21:57 -0400 Subject: [PATCH 021/100] Updated jar file name in the USAGE section in readme file --- modules/cloud/AuroraIntegration/README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/modules/cloud/AuroraIntegration/README.md b/modules/cloud/AuroraIntegration/README.md index 84de94b3bc..805c314100 100644 --- a/modules/cloud/AuroraIntegration/README.md +++ b/modules/cloud/AuroraIntegration/README.md @@ -21,44 +21,44 @@ #Example: To create and launch: ``` -java -jar auroraDriverl.jar -o create -r 1024 -n batik -c 2.0 -d 1000 -i gouravr/dacapo:tag9 +java -jar AuroraIntegration-0.16-SNAPSHOT.jar -o create -r 1024 -n batik -c 2.0 -d 1000 -i gouravr/dacapo:tag9 ``` To kill: ``` -java -jar auroraDriverl.jar -o kill -n batik +java -jar AuroraIntegration-0.16-SNAPSHOT.jar -o kill -n batik ``` To update: ``` -java -jar auroraDriverl.jar -o update -n batik +java -jar AuroraIntegration-0.16-SNAPSHOT.jar -o update -n batik ``` To retrieve update information: ``` -java -jar auroraDriverl.jar -o update-info -n batik +java -jar AuroraIntegration-0.16-SNAPSHOT.jar -o update-info -n batik ``` To pause an update: ``` -java -jar auroraDriverl.jar -o update-pause -n batik +java -jar AuroraIntegration-0.16-SNAPSHOT.jar -o update-pause -n batik ``` To list the update progress: ``` -java -jar auroraDriverl.jar -o update-list -n batik +java -jar AuroraIntegration-0.16-SNAPSHOT.jar -o update-list -n batik ``` To abort an update: ``` -java -jar auroraDriverl.jar -o update-abort -n batik +java -jar AuroraIntegration-0.16-SNAPSHOT.jar -o update-abort -n batik ``` To resume an update: ``` -java -jar auroraDriverl.jar -o update-resume -n batik +java -jar AuroraIntegration-0.16-SNAPSHOT.jar -o update-resume -n batik ``` To restart a job: ``` -java -jar auroraDriverl.jar -o restart -n batik +java -jar AuroraIntegration-0.16-SNAPSHOT.jar -o restart -n batik ``` From 4b22d2d149b11ba552e080b3d87b5bb744f091af Mon Sep 17 00:00:00 2001 From: ajain13 Date: Thu, 7 Jul 2016 16:40:22 -0400 Subject: [PATCH 022/100] Updated airavata pom.xml to check the build --- pom.xml | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/pom.xml b/pom.xml index b2935883f4..c6f4a99bb2 100644 --- a/pom.xml +++ b/pom.xml @@ -1,14 +1,14 @@ - @@ -528,9 +528,9 @@ false ${skipTests} ${project.build.testOutputDirectory} - - **/IT.java @@ -549,7 +549,7 @@ modules/configuration airavata-api modules/commons - modules/messaging + modules/messaging modules/gfac modules/registry modules/security @@ -557,7 +557,7 @@ modules/orchestrator modules/monitoring modules/user-profile - + modules/cloud modules/server modules/workflow modules/test-suite From 1922565858d685d26c3789d92e1828e8b6169fef Mon Sep 17 00:00:00 2001 From: ajain13 Date: Thu, 7 Jul 2016 16:45:29 -0400 Subject: [PATCH 023/100] Updated airavata pom.xml again to check the build --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index c6f4a99bb2..01d7a239a6 100644 --- a/pom.xml +++ b/pom.xml @@ -557,7 +557,7 @@ modules/orchestrator modules/monitoring modules/user-profile - modules/cloud + modules/cloud/AuroraIntegration modules/server modules/workflow modules/test-suite From e97bdbd7f28953fc891b5faf253928fe5c1f1540 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Fri, 8 Jul 2016 14:21:36 -0400 Subject: [PATCH 024/100] Updated Aurora integration implementation with cluster Quota information command with design changes --- .../aurora/auroraClient/AuroraJobSchedulerI.java | 1 + .../aurora/auroraClient/AuroraJobSchedulerImpl.java | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java index bee4df6504..d941e87a21 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java @@ -19,4 +19,5 @@ public interface AuroraJobSchedulerI { public void jobDiff(String key, String config) throws AuroraException; public void configList(String config) throws AuroraException; public void jobInspect(String key, String config) throws AuroraException; + public void clusterQuota(String key) throws AuroraException; } diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java index c074f9f71f..78ac6af0b3 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java @@ -190,4 +190,16 @@ public void jobInspect(String key, String config) throws AuroraException{ throw new AuroraException("Exception occured while inspecting the job.\n"+ex.toString()); } } + + public void clusterQuota(String key) throws AuroraException{ + try{ + String completeCommandToRunProcess = "aurora quota get "+key; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); + util.printLog(stdout); + } + + catch (Exception ex) { + throw new AuroraException("Exception occured while retrieving the production quota of the cluster.\n"+ex.toString()); + } + } } From e2f57d5f884fb5be8943236670f5d102328c47cf Mon Sep 17 00:00:00 2001 From: ajain13 Date: Fri, 8 Jul 2016 17:01:34 -0400 Subject: [PATCH 025/100] Updated Aurora Scheduler implemetation and interface code with open web UI functionality --- .../aurora/auroraClient/AuroraJobSchedulerI.java | 1 + .../aurora/auroraClient/AuroraJobSchedulerImpl.java | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java index d941e87a21..81c5d30eef 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java @@ -20,4 +20,5 @@ public interface AuroraJobSchedulerI { public void configList(String config) throws AuroraException; public void jobInspect(String key, String config) throws AuroraException; public void clusterQuota(String key) throws AuroraException; + public void openWebUI(String key) throws AuroraException; } diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java index 78ac6af0b3..40bad7b830 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java @@ -202,4 +202,16 @@ public void clusterQuota(String key) throws AuroraException{ throw new AuroraException("Exception occured while retrieving the production quota of the cluster.\n"+ex.toString()); } } + + public void openWebUI(String key) throws AuroraException{ + try{ + String completeCommandToRunProcess = "aurora job open "+key; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); + util.printLog(stdout); + } + + catch (Exception ex) { + throw new AuroraException("Exception occured while opening the browser.\n"+ex.toString()); + } + } } From d6eb4d097c0e4ccc63fad6ced38007dfd6b10927 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Mon, 18 Jul 2016 10:45:20 -0400 Subject: [PATCH 026/100] Added ASF license comments --- .../auroraClient/AuroraJobSchedulerI.java | 21 ++++++++++++++++++ .../auroraClient/AuroraJobSchedulerImpl.java | 22 +++++++++++++++++++ .../marathonClient/MarathonJobSchedulerI.java | 21 ++++++++++++++++++ .../MarathonJobSchedulerImpl.java | 21 ++++++++++++++++++ .../bigDataInjections/AuroraInjectorImpl.java | 21 ++++++++++++++++++ .../bigDataInjections/BigDataInjectorI.java | 20 +++++++++++++++++ .../auroraDriver/AuroraAdminDriver.java | 21 ++++++++++++++++++ .../auroraExceptions/AuroraException.java | 21 ++++++++++++++++++ .../marathonExceptions/MarathonException.java | 21 ++++++++++++++++++ .../auroraUtilities/AuroraUtilI.java | 21 ++++++++++++++++++ .../auroraUtilities/AuroraUtilImpl.java | 20 +++++++++++++++++ .../marathonUtilities/MarathonUtilI.java | 21 ++++++++++++++++++ .../marathonUtilities/MarathonUtilImpl.java | 20 +++++++++++++++++ 13 files changed, 271 insertions(+) diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java index 81c5d30eef..092d0aa0be 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java @@ -1,3 +1,24 @@ +/* + * + * 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.cloud.bigDataClientSideServices.aurora.auroraClient; import org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java index 40bad7b830..8744e4471e 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java @@ -1,3 +1,25 @@ +/* + * + * 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.cloud.bigDataClientSideServices.aurora.auroraClient; import java.io.BufferedReader; diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java index 28c73a9bf4..7dbba075e1 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java @@ -1,3 +1,24 @@ +/* + * + * 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.cloud.bigDataClientSideServices.marathon.marathonClient; import org.apache.airavata.cloud.exceptions.marathonExceptions.MarathonException; diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java index fc941dc904..1d9c8f7cfc 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java @@ -1,3 +1,24 @@ +/* + * + * 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.cloud.bigDataClientSideServices.marathon.marathonClient; import java.io.BufferedReader; diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java index 8fabb51a92..c40c2a2f5f 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java @@ -1,3 +1,24 @@ +/* + * + * 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.cloud.bigDataInjections; import java.util.Map; diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/BigDataInjectorI.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/BigDataInjectorI.java index c623d57a1f..a4f2d420ba 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/BigDataInjectorI.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/BigDataInjectorI.java @@ -1,3 +1,23 @@ +/* + * + * 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.cloud.bigDataInjections; diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java index 20b4144fdd..24b7d45393 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java @@ -1,3 +1,24 @@ +/* + * + * 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.cloud.drivers.auroraDriver; // TODO: need javadoc documentation at the top of each method diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/auroraExceptions/AuroraException.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/auroraExceptions/AuroraException.java index ff698919a0..cb823d9209 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/auroraExceptions/AuroraException.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/auroraExceptions/AuroraException.java @@ -1,3 +1,24 @@ +/* + * + * 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.cloud.exceptions.auroraExceptions; public class AuroraException extends Exception { diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/marathonExceptions/MarathonException.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/marathonExceptions/MarathonException.java index af86754afa..d6010cc303 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/marathonExceptions/MarathonException.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/marathonExceptions/MarathonException.java @@ -1,3 +1,24 @@ +/* + * + * 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.cloud.exceptions.marathonExceptions; public class MarathonException extends Exception { diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilI.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilI.java index 554689bae6..675e5511c4 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilI.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilI.java @@ -1,3 +1,24 @@ +/* + * + * 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.cloud.utilities.auroraUtilities; import java.io.BufferedReader; diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilImpl.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilImpl.java index b760554cc1..6ad8d76ec1 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilImpl.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilImpl.java @@ -1,3 +1,23 @@ +/* + * + * 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.cloud.utilities.auroraUtilities; diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilI.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilI.java index 594cc9eacf..eb9132a199 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilI.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilI.java @@ -1,3 +1,24 @@ +/* + * + * 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.cloud.utilities.marathonUtilities; import java.io.BufferedReader; diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilImpl.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilImpl.java index 9fe9a47658..cb86eac55c 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilImpl.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilImpl.java @@ -1,3 +1,23 @@ +/* + * + * 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.cloud.utilities.marathonUtilities; From 2ee025d72a100898b00d46eabdd805b1cdb1ee66 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Tue, 19 Jul 2016 16:01:12 -0400 Subject: [PATCH 027/100] Changed utilities folder to util as per the other modules have them named and changed the package and import statements as accordance with the new name --- .../aurora/auroraClient/AuroraJobSchedulerImpl.java | 6 +++--- .../marathon/marathonClient/MarathonJobSchedulerImpl.java | 4 ++-- .../{utilities => util}/auroraUtilities/AuroraUtilI.java | 2 +- .../{utilities => util}/auroraUtilities/AuroraUtilImpl.java | 2 +- .../marathonUtilities/MarathonUtilI.java | 2 +- .../marathonUtilities/MarathonUtilImpl.java | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) rename modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/{utilities => util}/auroraUtilities/AuroraUtilI.java (94%) rename modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/{utilities => util}/auroraUtilities/AuroraUtilImpl.java (96%) rename modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/{utilities => util}/marathonUtilities/MarathonUtilI.java (94%) rename modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/{utilities => util}/marathonUtilities/MarathonUtilImpl.java (94%) diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java index 8744e4471e..b905ccb1bb 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java @@ -19,7 +19,7 @@ * */ - + package org.apache.airavata.cloud.bigDataClientSideServices.aurora.auroraClient; import java.io.BufferedReader; @@ -30,8 +30,8 @@ import java.io.InputStreamReader; import org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; -import org.apache.airavata.cloud.utilities.auroraUtilities.AuroraUtilImpl; -import org.apache.airavata.cloud.utilities.auroraUtilities.AuroraUtilI; +import org.apache.airavata.cloud.util.auroraUtilities.AuroraUtilImpl; +import org.apache.airavata.cloud.util.auroraUtilities.AuroraUtilI; public class AuroraJobSchedulerImpl implements AuroraJobSchedulerI { AuroraUtilI util = new AuroraUtilImpl(); diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java index 1d9c8f7cfc..487dc50489 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java @@ -29,8 +29,8 @@ import java.io.InputStreamReader; import org.apache.airavata.cloud.exceptions.marathonExceptions.MarathonException; -import org.apache.airavata.cloud.utilities.marathonUtilities.MarathonUtilImpl; -import org.apache.airavata.cloud.utilities.marathonUtilities.MarathonUtilI; +import org.apache.airavata.cloud.util.marathonUtilities.MarathonUtilImpl; +import org.apache.airavata.cloud.util.marathonUtilities.MarathonUtilI; public class MarathonJobSchedulerImpl implements MarathonJobSchedulerI { MarathonUtilI util = new MarathonUtilImpl(); diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilI.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/auroraUtilities/AuroraUtilI.java similarity index 94% rename from modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilI.java rename to modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/auroraUtilities/AuroraUtilI.java index 675e5511c4..b545befa22 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilI.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/auroraUtilities/AuroraUtilI.java @@ -19,7 +19,7 @@ * */ -package org.apache.airavata.cloud.utilities.auroraUtilities; +package org.apache.airavata.cloud.util.auroraUtilities; import java.io.BufferedReader; diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilImpl.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/auroraUtilities/AuroraUtilImpl.java similarity index 96% rename from modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilImpl.java rename to modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/auroraUtilities/AuroraUtilImpl.java index 6ad8d76ec1..dd81285523 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilImpl.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/auroraUtilities/AuroraUtilImpl.java @@ -19,7 +19,7 @@ * */ -package org.apache.airavata.cloud.utilities.auroraUtilities; +package org.apache.airavata.cloud.util.auroraUtilities; import java.io.BufferedReader; diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilI.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilI.java similarity index 94% rename from modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilI.java rename to modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilI.java index eb9132a199..ddc13c4763 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilI.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilI.java @@ -19,7 +19,7 @@ * */ -package org.apache.airavata.cloud.utilities.marathonUtilities; +package org.apache.airavata.cloud.util.marathonUtilities; import java.io.BufferedReader; diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilImpl.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilImpl.java similarity index 94% rename from modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilImpl.java rename to modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilImpl.java index cb86eac55c..7307cb7962 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilImpl.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilImpl.java @@ -19,7 +19,7 @@ * */ -package org.apache.airavata.cloud.utilities.marathonUtilities; +package org.apache.airavata.cloud.util.marathonUtilities; import java.io.BufferedReader; From c559652d08297b46bc20457efcb9b1b81ddb2167 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Tue, 19 Jul 2016 17:42:26 -0400 Subject: [PATCH 028/100] Added marathon client side services code,updated marathon utilities and exceptions --- .../marathonClient/MarathonJobSchedulerI.java | 5 ++- .../MarathonJobSchedulerImpl.java | 43 +++++++++++++++++-- .../util/marathonUtilities/MarathonUtilI.java | 5 ++- .../marathonUtilities/MarathonUtilImpl.java | 32 +++++++++++++- 4 files changed, 77 insertions(+), 8 deletions(-) diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java index 7dbba075e1..30a58b2ff0 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java @@ -25,6 +25,9 @@ public interface MarathonJobSchedulerI { - public void marathonJobCommand(String info, String command) throws MarathonException; + public void jobKill(String kill, String address) throws MarathonException; + public void jobLaunch(String name, String address) throws MarathonException; + public void configCreate(String name, String ram, String cpu, String disk, String image, String command) throws MarathonException; + } diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java index 487dc50489..266f484f27 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java @@ -36,17 +36,52 @@ public class MarathonJobSchedulerImpl implements MarathonJobSchedulerI { MarathonUtilI util = new MarathonUtilImpl(); - public void marathonJobCommand(String info, String command) throws MarathonException{ + public void jobKill(String name, String address) throws MarathonException{ try{ + String line; + Process marathonJob = Runtime.getRuntime().exec("curl -X DELETE "+address+""+name); + BufferedReader stdout = new BufferedReader(new InputStreamReader(marathonJob.getInputStream())); + util.printLog(stdout); + marathonJob.waitFor(); + } - //TODO:Command inmplementation + catch (Exception ex) { + throw new MarathonException("Exception occured while launching the job.\n"+ex.toString()); + } + } + public void jobLaunch(String name, String address) throws MarathonException{ + try{ + String line; + Process marathonJob = Runtime.getRuntime().exec("curl -X POST "+address+"/v2/apps -d @"+name+" -H Content-type: application/json"); + BufferedReader stdout = new BufferedReader(new InputStreamReader(marathonJob.getInputStream())); + util.printLog(stdout); + marathonJob.waitFor(); } catch (Exception ex) { - throw new MarathonException("Exception occured while passing the command.\n"+ex.toString()); + throw new MarathonException("Exception occured while launching the job.\n"+ex.toString()); + } + } + public void configCreate(String name, String ram, String cpu, String disk, String image, String command) throws MarathonException{ + try { + String config = "'id': "+name+",'cmd': \""+command+"\", \"container\": {\"type\": \"DOCKER\", \"docker\": {\"image\": \"danielpan/dacapo\", \"forcePullImage\": bool(1)}},\"constraints\":[[\"hostname\",\"UNIQUE\"]],\"cpus\": float("+cpu+"), \"mem\": "+ram+"), \"disk\": "+disk+", \"instances\": 1"; + File file = new File(name+".json"); + + if (!file.exists()) { + file.createNewFile(); + } + + FileWriter fw = new FileWriter(file.getAbsoluteFile()); + BufferedWriter bw = new BufferedWriter(fw); + bw.write(config); + bw.close(); + + }catch (IOException ex) { + throw new MarathonException("IO Exception occured while creating the configuration file.\n"+ex.toString()); + }catch (Exception ex) { + throw new MarathonException("Exception occured while creating the configuration file.\n"+ex.toString()); } } - //TODO:Rest of the commands inmplementation goes here } diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilI.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilI.java index ddc13c4763..00b850a1b5 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilI.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilI.java @@ -23,10 +23,11 @@ import java.io.BufferedReader; -import org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; +import org.apache.airavata.cloud.exceptions.marathonExceptions.MarathonException; public interface MarathonUtilI{ - //TODO:Abstract Marathon methods goes heresss + public void printLog(BufferedReader stdout) throws MarathonException; + public BufferedReader executeProcess(String commandToRunProcess) throws MarathonException; } diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilImpl.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilImpl.java index 7307cb7962..3bf0aea045 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilImpl.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilImpl.java @@ -29,6 +29,36 @@ import org.apache.airavata.cloud.exceptions.marathonExceptions.MarathonException; public class MarathonUtilImpl implements MarathonUtilI{ - //TODO: Marathon utilities code goes here + + public void printLog(BufferedReader stdout) throws MarathonException + { + try{ + String line; + line = stdout.readLine(); + while (line != null) { + System.out.println(line); + line = stdout.readLine(); + } + } + catch (IOException ex) { + throw new MarathonException("IO Exception occured while passing the command.\n"+ex.toString()); + } + } + + public BufferedReader executeProcess(String commandToRunProcess) throws MarathonException + { + BufferedReader stdout = null; + try{ + Process marathonJob = Runtime.getRuntime().exec(commandToRunProcess); + marathonJob.waitFor(); + stdout = new BufferedReader(new InputStreamReader(marathonJob.getInputStream())); + } + catch(Exception ex) + { + throw new MarathonException("Exception occured while passing the command.\n"+ex.toString()); + + } + return stdout; + } } From 2da1e9bdac2b27b93bb905b26b6105f3bfe116eb Mon Sep 17 00:00:00 2001 From: ajain13 Date: Tue, 19 Jul 2016 18:10:33 -0400 Subject: [PATCH 029/100] Changed the module name to AuroraMarathonIntegration to make it generic for Aurora and Marathon and updated all pom.xml files required --- .../README.md | 0 .../pom.xml | 4 ++-- .../src/README.md | 0 .../aurora/auroraClient/AuroraJobSchedulerI.java | 0 .../auroraClient/AuroraJobSchedulerImpl.java | 0 .../marathonClient/MarathonJobSchedulerI.java | 0 .../marathonClient/MarathonJobSchedulerImpl.java | 14 ++++++-------- .../bigDataInjections/AuroraInjectorImpl.java | 0 .../cloud/bigDataInjections/BigDataInjectorI.java | 0 .../drivers/auroraDriver/AuroraAdminDriver.java | 0 .../auroraExceptions/AuroraException.java | 0 .../marathonExceptions/MarathonException.java | 0 .../cloud/util/auroraUtilities/AuroraUtilI.java | 0 .../cloud/util/auroraUtilities/AuroraUtilImpl.java | 0 .../util/marathonUtilities/MarathonUtilI.java | 0 .../util/marathonUtilities/MarathonUtilImpl.java | 0 modules/cloud/pom.xml | 2 +- pom.xml | 2 +- 18 files changed, 10 insertions(+), 12 deletions(-) rename modules/cloud/{AuroraIntegration => AuroraMarathonIntegration}/README.md (100%) rename modules/cloud/{AuroraIntegration => AuroraMarathonIntegration}/pom.xml (93%) rename modules/cloud/{AuroraIntegration => AuroraMarathonIntegration}/src/README.md (100%) rename modules/cloud/{AuroraIntegration => AuroraMarathonIntegration}/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java (100%) rename modules/cloud/{AuroraIntegration => AuroraMarathonIntegration}/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java (100%) rename modules/cloud/{AuroraIntegration => AuroraMarathonIntegration}/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java (100%) rename modules/cloud/{AuroraIntegration => AuroraMarathonIntegration}/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java (84%) rename modules/cloud/{AuroraIntegration => AuroraMarathonIntegration}/src/main/java/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java (100%) rename modules/cloud/{AuroraIntegration => AuroraMarathonIntegration}/src/main/java/org/apache/airavata/cloud/bigDataInjections/BigDataInjectorI.java (100%) rename modules/cloud/{AuroraIntegration => AuroraMarathonIntegration}/src/main/java/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java (100%) rename modules/cloud/{AuroraIntegration => AuroraMarathonIntegration}/src/main/java/org/apache/airavata/cloud/exceptions/auroraExceptions/AuroraException.java (100%) rename modules/cloud/{AuroraIntegration => AuroraMarathonIntegration}/src/main/java/org/apache/airavata/cloud/exceptions/marathonExceptions/MarathonException.java (100%) rename modules/cloud/{AuroraIntegration => AuroraMarathonIntegration}/src/main/java/org/apache/airavata/cloud/util/auroraUtilities/AuroraUtilI.java (100%) rename modules/cloud/{AuroraIntegration => AuroraMarathonIntegration}/src/main/java/org/apache/airavata/cloud/util/auroraUtilities/AuroraUtilImpl.java (100%) rename modules/cloud/{AuroraIntegration => AuroraMarathonIntegration}/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilI.java (100%) rename modules/cloud/{AuroraIntegration => AuroraMarathonIntegration}/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilImpl.java (100%) diff --git a/modules/cloud/AuroraIntegration/README.md b/modules/cloud/AuroraMarathonIntegration/README.md similarity index 100% rename from modules/cloud/AuroraIntegration/README.md rename to modules/cloud/AuroraMarathonIntegration/README.md diff --git a/modules/cloud/AuroraIntegration/pom.xml b/modules/cloud/AuroraMarathonIntegration/pom.xml similarity index 93% rename from modules/cloud/AuroraIntegration/pom.xml rename to modules/cloud/AuroraMarathonIntegration/pom.xml index 83c9d35260..2d87fad798 100644 --- a/modules/cloud/AuroraIntegration/pom.xml +++ b/modules/cloud/AuroraMarathonIntegration/pom.xml @@ -8,10 +8,10 @@ ../pom.xml - AuroraIntegration + AuroraMarathonIntegration org.apache.airavata.cloud.drivers.auroraDriver jar - Airavata Aurora Integration + Airavata Aurora Marathon Integration http://airavata.apache.org/ diff --git a/modules/cloud/AuroraIntegration/src/README.md b/modules/cloud/AuroraMarathonIntegration/src/README.md similarity index 100% rename from modules/cloud/AuroraIntegration/src/README.md rename to modules/cloud/AuroraMarathonIntegration/src/README.md diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java similarity index 100% rename from modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java rename to modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java similarity index 100% rename from modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java rename to modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java similarity index 100% rename from modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java rename to modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java similarity index 84% rename from modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java rename to modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java index 266f484f27..0a977a0f77 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java @@ -38,11 +38,10 @@ public class MarathonJobSchedulerImpl implements MarathonJobSchedulerI { public void jobKill(String name, String address) throws MarathonException{ try{ - String line; - Process marathonJob = Runtime.getRuntime().exec("curl -X DELETE "+address+""+name); - BufferedReader stdout = new BufferedReader(new InputStreamReader(marathonJob.getInputStream())); + + String completeCommandToRunProcess = "curl -X DELETE "+address+""+name; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); util.printLog(stdout); - marathonJob.waitFor(); } catch (Exception ex) { @@ -51,11 +50,10 @@ public void jobKill(String name, String address) throws MarathonException{ } public void jobLaunch(String name, String address) throws MarathonException{ try{ - String line; - Process marathonJob = Runtime.getRuntime().exec("curl -X POST "+address+"/v2/apps -d @"+name+" -H Content-type: application/json"); - BufferedReader stdout = new BufferedReader(new InputStreamReader(marathonJob.getInputStream())); + + String completeCommandToRunProcess = "curl -X POST "+address+"/v2/apps -d @"+name+" -H Content-type: application/json"; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); util.printLog(stdout); - marathonJob.waitFor(); } catch (Exception ex) { diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java similarity index 100% rename from modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java rename to modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/BigDataInjectorI.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/BigDataInjectorI.java similarity index 100% rename from modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/BigDataInjectorI.java rename to modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/BigDataInjectorI.java diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java similarity index 100% rename from modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java rename to modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/auroraExceptions/AuroraException.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/exceptions/auroraExceptions/AuroraException.java similarity index 100% rename from modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/auroraExceptions/AuroraException.java rename to modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/exceptions/auroraExceptions/AuroraException.java diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/marathonExceptions/MarathonException.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/exceptions/marathonExceptions/MarathonException.java similarity index 100% rename from modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/marathonExceptions/MarathonException.java rename to modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/exceptions/marathonExceptions/MarathonException.java diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/auroraUtilities/AuroraUtilI.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/util/auroraUtilities/AuroraUtilI.java similarity index 100% rename from modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/auroraUtilities/AuroraUtilI.java rename to modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/util/auroraUtilities/AuroraUtilI.java diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/auroraUtilities/AuroraUtilImpl.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/util/auroraUtilities/AuroraUtilImpl.java similarity index 100% rename from modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/auroraUtilities/AuroraUtilImpl.java rename to modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/util/auroraUtilities/AuroraUtilImpl.java diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilI.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilI.java similarity index 100% rename from modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilI.java rename to modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilI.java diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilImpl.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilImpl.java similarity index 100% rename from modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilImpl.java rename to modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilImpl.java diff --git a/modules/cloud/pom.xml b/modules/cloud/pom.xml index 42621438c7..56daea9648 100644 --- a/modules/cloud/pom.xml +++ b/modules/cloud/pom.xml @@ -18,7 +18,7 @@ cloud-provisioning - AuroraIntegration + AuroraMarathonIntegration diff --git a/pom.xml b/pom.xml index 01d7a239a6..fb7be8f886 100644 --- a/pom.xml +++ b/pom.xml @@ -557,7 +557,7 @@ modules/orchestrator modules/monitoring modules/user-profile - modules/cloud/AuroraIntegration + modules/cloud/AuroraMarathonIntegration modules/server modules/workflow modules/test-suite From 183ee59a846a4c7e0ee28cde02eb2455cb919b67 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Wed, 20 Jul 2016 14:56:30 -0400 Subject: [PATCH 030/100] Made a design change in SimpleOrchestratorImpl.java. No need of 3 different catch clauses. A single multiple catch block is a good design in this case. --- .../orchestrator/cpi/impl/SimpleOrchestratorImpl.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java index 4489ef0896..6e0be89b68 100644 --- a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java +++ b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java @@ -188,16 +188,16 @@ public ValidationResults validateProcess(ExperimentModel experiment, ProcessMode } break; } - } catch (ClassNotFoundException e) { + } catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) { logger.error("Error loading the validation class: ", validator, e); validationResults.setValidationState(false); - } catch (InstantiationException e) { + } /*catch (InstantiationException e) { logger.error("Error loading the validation class: ", validator, e); validationResults.setValidationState(false); } catch (IllegalAccessException e) { logger.error("Error loading the validation class: ", validator, e); validationResults.setValidationState(false); - } + }*/ } } if(validationResults.isValidationState()){ From 9aa4ae7d5c3c3ae179d38b3a44639a0eb0377eb6 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Wed, 20 Jul 2016 16:45:52 -0400 Subject: [PATCH 031/100] Changed OrchestratorConstants from a class to an enum as enum is the way to go for constants. Also,added constructors, getters and updated OrchestratorUtils.java by adding callers which in turn returns the constants. --- .../core/utils/OrchestratorConstants.java | 38 ++++++++++++++++++- .../core/utils/OrchestratorUtils.java | 24 +++++++++--- 2 files changed, 55 insertions(+), 7 deletions(-) diff --git a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorConstants.java b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorConstants.java index 1eadfa9fb0..7396ac271c 100644 --- a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorConstants.java +++ b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorConstants.java @@ -24,7 +24,7 @@ * This class contains all the constants in orchestrator-core * */ -public class OrchestratorConstants { +/*public class OrchestratorConstants { public static final String AIRAVATA_PROPERTIES = "airavata-server.properties"; public static final int hotUpdateInterval=1000; public static final String SUBMIT_INTERVAL = "submitter.interval"; @@ -33,4 +33,40 @@ public class OrchestratorConstants { public static final String EMBEDDED_MODE = "embedded.mode"; public static final String ENABLE_VALIDATION = "enable.validation"; public static final String JOB_VALIDATOR = "job.validators"; +}*/ + + + +public enum OrchestratorConstants { + AIRAVATA_PROPERTIES("airavata-server.properties"), + hotUpdateInterval(1000), + SUBMIT_INTERVAL("submitter.interval"), + THREAD_POOL_SIZE("threadpool.size"), + START_SUBMITTER("start.submitter"), + EMBEDDED_MODE("embedded.mode"), + ENABLE_VALIDATION("enable.validation"), + JOB_VALIDATOR("job.validators"); + + + private String stringConstant; + private int integerConstant; + + OrchestratorConstants(String stringConstantIn) + { + stringConstant = stringConstantIn; + } + OrchestratorConstants(int integerConstantIn) + { + integerConstant = integerConstantIn; + } + + public String getOrchestratorStringConstant() + { + return stringConstant; + } + public int getOrchestratorIntegerConstant() + { + return integerConstant; + } + } diff --git a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorUtils.java b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorUtils.java index 95ff86e3f1..3ee40e0a69 100644 --- a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorUtils.java +++ b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorUtils.java @@ -48,17 +48,29 @@ * This contains orchestrator specific utilities */ public class OrchestratorUtils { + + private final static Logger logger = LoggerFactory.getLogger(OrchestratorUtils.class); + public static String OrchestratorStringConstant(OrchestratorConstants constant) + { + return constant.getOrchestratorStringConstant(); + } + + public static int OrchestratorIntegerConstant(OrchestratorConstants constant) + { + return constant.getOrchestratorIntegerConstant(); + } + public static OrchestratorConfiguration loadOrchestratorConfiguration() throws OrchestratorException, IOException, NumberFormatException, ApplicationSettingsException { OrchestratorConfiguration orchestratorConfiguration = new OrchestratorConfiguration(); - orchestratorConfiguration.setSubmitterInterval(Integer.parseInt((String) ServerSettings.getSetting(OrchestratorConstants.SUBMIT_INTERVAL))); - orchestratorConfiguration.setThreadPoolSize(Integer.parseInt((String) ServerSettings.getSetting(OrchestratorConstants.THREAD_POOL_SIZE))); - orchestratorConfiguration.setStartSubmitter(Boolean.valueOf(ServerSettings.getSetting(OrchestratorConstants.START_SUBMITTER))); - orchestratorConfiguration.setEmbeddedMode(Boolean.valueOf(ServerSettings.getSetting(OrchestratorConstants.EMBEDDED_MODE))); - orchestratorConfiguration.setEnableValidation(Boolean.valueOf(ServerSettings.getSetting(OrchestratorConstants.ENABLE_VALIDATION))); + orchestratorConfiguration.setSubmitterInterval(Integer.parseInt((String) ServerSettings.getSetting(OrchestratorStringConstant(OrchestratorConstants.SUBMIT_INTERVAL)))); + orchestratorConfiguration.setThreadPoolSize(Integer.parseInt((String) ServerSettings.getSetting(OrchestratorStringConstant(OrchestratorConstants.THREAD_POOL_SIZE)))); + orchestratorConfiguration.setStartSubmitter(Boolean.valueOf(ServerSettings.getSetting(OrchestratorStringConstant(OrchestratorConstants.START_SUBMITTER)))); + orchestratorConfiguration.setEmbeddedMode(Boolean.valueOf(ServerSettings.getSetting(OrchestratorStringConstant(OrchestratorConstants.EMBEDDED_MODE)))); + orchestratorConfiguration.setEnableValidation(Boolean.valueOf(ServerSettings.getSetting(OrchestratorStringConstant(OrchestratorConstants.ENABLE_VALIDATION)))); if (orchestratorConfiguration.isEnableValidation()) { - orchestratorConfiguration.setValidatorClasses(Arrays.asList(ServerSettings.getSetting(OrchestratorConstants.JOB_VALIDATOR).split(","))); + orchestratorConfiguration.setValidatorClasses(Arrays.asList(ServerSettings.getSetting(OrchestratorStringConstant(OrchestratorConstants.JOB_VALIDATOR)).split(","))); } return orchestratorConfiguration; } From 0bcc2034b2898a4657ed535e722fe572e594f39b Mon Sep 17 00:00:00 2001 From: ajain13 Date: Wed, 20 Jul 2016 17:04:20 -0400 Subject: [PATCH 032/100] Added a meaningful comment explaining that the OrchestratorConstants class has been changed to enum and the OrchestratorConstants class has been commented out showing what has been changed to enums --- .../orchestrator/core/utils/OrchestratorConstants.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorConstants.java b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorConstants.java index 7396ac271c..6a0f04b6e9 100644 --- a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorConstants.java +++ b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorConstants.java @@ -36,7 +36,12 @@ }*/ - +/** + * This enum contains all the constants in orchestrator-core + enum is the way about dealing with constants as its very powerful. + Hence, a design change has been made to change the class to enum. + * + */ public enum OrchestratorConstants { AIRAVATA_PROPERTIES("airavata-server.properties"), hotUpdateInterval(1000), From de7a43528c787067e27d22cfaeb3ab5f3f2e0cd4 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Mon, 1 Aug 2016 13:48:29 -0400 Subject: [PATCH 033/100] Added marathon job list function and made design changes in the same --- .../marathonClient/MarathonJobSchedulerI.java | 1 + .../marathonClient/MarathonJobSchedulerImpl.java | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java index 30a58b2ff0..0257c487bd 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java @@ -28,6 +28,7 @@ public interface MarathonJobSchedulerI { public void jobKill(String kill, String address) throws MarathonException; public void jobLaunch(String name, String address) throws MarathonException; public void configCreate(String name, String ram, String cpu, String disk, String image, String command) throws MarathonException; + public void jobList(String address) throws MarathonException; } diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java index 0a977a0f77..c44e6e118f 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java @@ -38,7 +38,7 @@ public class MarathonJobSchedulerImpl implements MarathonJobSchedulerI { public void jobKill(String name, String address) throws MarathonException{ try{ - + String completeCommandToRunProcess = "curl -X DELETE "+address+""+name; BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); util.printLog(stdout); @@ -81,5 +81,18 @@ public void configCreate(String name, String ram, String cpu, String disk, Strin } } + public void jobList(String address) throws MarathonException{ + try{ + + String completeCommandToRunProcess = "curl GET "+address+"/v2/apps"; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); + util.printLog(stdout); + } + + catch (Exception ex) { + throw new MarathonException("Exception occured while retrieving the list jobs.\n"+ex.toString()); + } + } + } From 526a799b2f9730449eaac2a2e33ef286f1bd2e3e Mon Sep 17 00:00:00 2001 From: ajain13 Date: Mon, 1 Aug 2016 13:54:48 -0400 Subject: [PATCH 034/100] Updated code with the marathon job list by name and list by id functions. Made design changes in each of them by using utility functions. --- .../marathonClient/MarathonJobSchedulerI.java | 2 ++ .../MarathonJobSchedulerImpl.java | 25 +++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java index 0257c487bd..9fd871385f 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java @@ -29,6 +29,8 @@ public interface MarathonJobSchedulerI { public void jobLaunch(String name, String address) throws MarathonException; public void configCreate(String name, String ram, String cpu, String disk, String image, String command) throws MarathonException; public void jobList(String address) throws MarathonException; + public void jobListById(String address, String id) throws MarathonException; + public void jobListByName(String address, String name) throws MarathonException; } diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java index c44e6e118f..4b50e2b900 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java @@ -94,5 +94,30 @@ public void jobList(String address) throws MarathonException{ } } + public void jobListById(String address, String id) throws MarathonException{ + try{ + + String completeCommandToRunProcess ="curl GET "+address+"/v2/apps/"+id; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); + util.printLog(stdout); + } + + catch (Exception ex) { + throw new MarathonException("Exception occured while retrieving the list jobs.\n"+ex.toString()); + } + } + public void jobListByName(String address, String name) throws MarathonException{ + try{ + + String completeCommandToRunProcess = "curl GET "+address+"/v2/apps/"+name; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); + util.printLog(stdout); + } + + catch (Exception ex) { + throw new MarathonException("Exception occured while retrieving the list jobs.\n"+ex.toString()); + } + } + } From 6d75518abcd8db912aa72b186e3dc911081789db Mon Sep 17 00:00:00 2001 From: ajain13 Date: Tue, 9 Aug 2016 14:46:41 -0400 Subject: [PATCH 035/100] Made a few design changes in OrchestratorConfiguration.java --- .../core/OrchestratorConfiguration.java | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/OrchestratorConfiguration.java b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/OrchestratorConfiguration.java index 07b5bebf7e..da357a4225 100644 --- a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/OrchestratorConfiguration.java +++ b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/OrchestratorConfiguration.java @@ -52,24 +52,24 @@ public List getValidatorClasses() { return validatorClasses; } - public void setValidatorClasses(List validatorClasses) { - this.validatorClasses = validatorClasses; + public void setValidatorClasses(List validatorClassesIn) { + this.validatorClasses = validatorClassesIn; } public boolean isEmbeddedMode() { return embeddedMode; } - public void setEmbeddedMode(boolean embeddedMode) { - this.embeddedMode = embeddedMode; + public void setEmbeddedMode(boolean embeddedModeIn) { + this.embeddedMode = embeddedModeIn; } public URL getBrokerURL() { return brokerURL; } - public void setBrokerURL(URL brokerURL) { - this.brokerURL = brokerURL; + public void setBrokerURL(URL brokerURLIn) { + this.brokerURL = brokerURLIn; } public String getNewJobSubmitterClass() { @@ -84,39 +84,39 @@ public int getThreadPoolSize() { return threadPoolSize; } - public void setNewJobSubmitterClass(String newJobSubmitterClass) { - this.newJobSubmitterClass = newJobSubmitterClass; + public void setNewJobSubmitterClass(String newJobSubmitterClassIn) { + this.newJobSubmitterClass = newJobSubmitterClassIn; } - public void setSubmitterInterval(int submitterInterval) { - this.submitterInterval = submitterInterval; + public void setSubmitterInterval(int submitterIntervalIn) { + this.submitterInterval = submitterIntervalIn; } - public void setThreadPoolSize(int threadPoolSize) { - this.threadPoolSize = threadPoolSize; + public void setThreadPoolSize(int threadPoolSizeIn) { + this.threadPoolSize = threadPoolSizeIn; } public boolean isStartSubmitter() { return startSubmitter; } - public void setStartSubmitter(boolean startSubmitter) { - this.startSubmitter = startSubmitter; + public void setStartSubmitter(boolean startSubmitterIn) { + this.startSubmitter = startSubmitterIn; } public String getHangedJobSubmitterClass() { return hangedJobSubmitterClass; } - public void setHangedJobSubmitterClass(String hangedJobSubmitterClass) { - this.hangedJobSubmitterClass = hangedJobSubmitterClass; + public void setHangedJobSubmitterClass(String hangedJobSubmitterClassIn) { + this.hangedJobSubmitterClass = hangedJobSubmitterClassIn; } public boolean isEnableValidation() { return enableValidation; } - public void setEnableValidation(boolean enableValidation) { - this.enableValidation = enableValidation; + public void setEnableValidation(boolean enableValidationIn) { + this.enableValidation = enableValidationIn; } } From 3b593a0a716b109147c3dfcbc8051eede97abdaf Mon Sep 17 00:00:00 2001 From: ajain13 Date: Wed, 10 Aug 2016 13:32:53 -0400 Subject: [PATCH 036/100] Updated code with marathon job deletion function and made appropriate design changes in the same --- .../marathonClient/MarathonJobSchedulerI.java | 1 + .../marathonClient/MarathonJobSchedulerImpl.java | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java index 9fd871385f..17360fee2a 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java @@ -31,6 +31,7 @@ public interface MarathonJobSchedulerI { public void jobList(String address) throws MarathonException; public void jobListById(String address, String id) throws MarathonException; public void jobListByName(String address, String name) throws MarathonException; + public void jobDelete(String address, String appid) throws MarathonException; } diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java index 4b50e2b900..3ef2834e7b 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java @@ -119,5 +119,19 @@ public void jobListByName(String address, String name) throws MarathonException{ } } + public void jobDelete(String address, String appid) throws MarathonException{ + try{ + + String completeCommandToRunProcess = "curl DELETE "+address+"/v2/apps/"+appid+"/tasks"; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); + util.printLog(stdout); + } + + catch (Exception ex) { + throw new MarathonException("Exception occured while retrieving the list jobs.\n"+ex.toString()); + } + } + + } From b232e2b31133d7f9e0c4badcb180a4036c49ebaa Mon Sep 17 00:00:00 2001 From: ajain13 Date: Wed, 10 Aug 2016 15:15:23 -0400 Subject: [PATCH 037/100] Updated with marathon running jobs function --- .../marathonClient/MarathonJobSchedulerI.java | 1 + .../marathonClient/MarathonJobSchedulerImpl.java | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java index 17360fee2a..d46dd6ca49 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java @@ -32,6 +32,7 @@ public interface MarathonJobSchedulerI { public void jobListById(String address, String id) throws MarathonException; public void jobListByName(String address, String name) throws MarathonException; public void jobDelete(String address, String appid) throws MarathonException; + public void runningJobs(String address, String appid) throws MarathonException; } diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java index 3ef2834e7b..8f2b4f5b32 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java @@ -132,6 +132,20 @@ public void jobDelete(String address, String appid) throws MarathonException{ } } + public void runningJobs(String address, String appid) throws MarathonException{ + try{ + String line; + Process marathonJob = Runtime.getRuntime().exec("curl GET "+address+"/v2/apps/"+appid+"/tasks"); + BufferedReader stdout = new BufferedReader(new InputStreamReader(marathonJob.getInputStream())); + util.printLog(stdout); + marathonJob.waitFor(); + } + + catch (Exception ex) { + throw new MarathonException("Exception occured while retrieving the list jobs.\n"+ex.toString()); + } + } + } From ceda768a6853f7976afb48b12cae112fa5c3b693 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Wed, 10 Aug 2016 15:17:40 -0400 Subject: [PATCH 038/100] Made design changes in the running jobs function. Used utility functions. Removed redundant code --- .../marathon/marathonClient/MarathonJobSchedulerImpl.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java index 8f2b4f5b32..99c00bb488 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java @@ -134,11 +134,10 @@ public void jobDelete(String address, String appid) throws MarathonException{ public void runningJobs(String address, String appid) throws MarathonException{ try{ - String line; - Process marathonJob = Runtime.getRuntime().exec("curl GET "+address+"/v2/apps/"+appid+"/tasks"); - BufferedReader stdout = new BufferedReader(new InputStreamReader(marathonJob.getInputStream())); + + String completeCommandToRunProcess = "curl GET "+address+"/v2/apps/"+appid+"/tasks"; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); util.printLog(stdout); - marathonJob.waitFor(); } catch (Exception ex) { From 7c0eb71a774a79fc9af7ffe5bcdde5fd167374dd Mon Sep 17 00:00:00 2001 From: ajain13 Date: Wed, 10 Aug 2016 15:25:58 -0400 Subject: [PATCH 039/100] small change --- .../marathon/marathonClient/MarathonJobSchedulerImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java index 99c00bb488..725b678126 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java @@ -134,7 +134,7 @@ public void jobDelete(String address, String appid) throws MarathonException{ public void runningJobs(String address, String appid) throws MarathonException{ try{ - + String completeCommandToRunProcess = "curl GET "+address+"/v2/apps/"+appid+"/tasks"; BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); util.printLog(stdout); From 3e7f88e2cd55787c498e4a05ef42987397f6d82b Mon Sep 17 00:00:00 2001 From: ajain13 Date: Wed, 10 Aug 2016 16:25:29 -0400 Subject: [PATCH 040/100] Updated with creategroups and groups marathon functions with design changes --- .../marathonClient/MarathonJobSchedulerI.java | 2 ++ .../MarathonJobSchedulerImpl.java | 25 +++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java index d46dd6ca49..4ea6507dd6 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java @@ -33,6 +33,8 @@ public interface MarathonJobSchedulerI { public void jobListByName(String address, String name) throws MarathonException; public void jobDelete(String address, String appid) throws MarathonException; public void runningJobs(String address, String appid) throws MarathonException; + public void createGroups(String address, String json) throws MarathonException; + public void groups(String address) throws MarathonException; } diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java index 725b678126..cbdc64a2d1 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java @@ -145,6 +145,31 @@ public void runningJobs(String address, String appid) throws MarathonException{ } } + public void createGroups(String address, String json) throws MarathonException{ + try{ + + String completeCommandToRunProcess = "curl -X POST -H \"Content-type: application/json\" "+address+"/v2/groups/"+json; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); + util.printLog(stdout); + } + + catch (Exception ex) { + throw new MarathonException("Exception occured while creating the group.\n"+ex.toString()); + } + } + public void groups(String address) throws MarathonException{ + try{ + + String completeCommandToRunProcess = "curl GET "+address+"/v2/groups/"; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); + util.printLog(stdout); + } + + catch (Exception ex) { + throw new MarathonException("Exception occured while retrieving the list of groups.\n"+ex.toString()); + } + } + } From 14d0e7848dac2469a67de51fc4d4f398feef118c Mon Sep 17 00:00:00 2001 From: ajain13 Date: Wed, 10 Aug 2016 16:29:28 -0400 Subject: [PATCH 041/100] Updated with groups by id and job delete by id marathin functions with design changes --- .../marathonClient/MarathonJobSchedulerI.java | 2 ++ .../MarathonJobSchedulerImpl.java | 27 +++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java index 4ea6507dd6..5326ed26a1 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java @@ -35,6 +35,8 @@ public interface MarathonJobSchedulerI { public void runningJobs(String address, String appid) throws MarathonException; public void createGroups(String address, String json) throws MarathonException; public void groups(String address) throws MarathonException; + public void groupsId(String address, String groupid) throws MarathonException; + public void jobDeleteId(String address, String appid, String taskid) throws MarathonException; } diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java index cbdc64a2d1..3ae2ed58bf 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java @@ -157,6 +157,7 @@ public void createGroups(String address, String json) throws MarathonException{ throw new MarathonException("Exception occured while creating the group.\n"+ex.toString()); } } + public void groups(String address) throws MarathonException{ try{ @@ -170,6 +171,32 @@ public void groups(String address) throws MarathonException{ } } + public void groupsId(String address, String groupid) throws MarathonException{ + try{ + + String completeCommandToRunProcess = "curl GET "+address+"/v2/groups/"+groupid; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); + util.printLog(stdout); + } + + catch (Exception ex) { + throw new MarathonException("Exception occured while retrieving the list of groups.\n"+ex.toString()); + } + } + public void jobDeleteId(String address, String appid, String taskid) throws MarathonException{ + try{ + + String completeCommandToRunProcess = "curl DELETE "+address+"/v2/apps/"+appid+"/"+taskid; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); + util.printLog(stdout); + } + + catch (Exception ex) { + throw new MarathonException("Exception occured while retrieving the list jobs.\n"+ex.toString()); + } + } + + } From 6c7e1c13d19201b4b312bb951ac14ff8afc1ded7 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Thu, 11 Aug 2016 12:16:42 -0400 Subject: [PATCH 042/100] Updated with delete deployment and deployment list functions and made appropriate design changes --- .../marathonClient/MarathonJobSchedulerI.java | 3 ++ .../MarathonJobSchedulerImpl.java | 28 ++++++++++++++++++- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java index 5326ed26a1..cfc861d069 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java @@ -37,6 +37,9 @@ public interface MarathonJobSchedulerI { public void groups(String address) throws MarathonException; public void groupsId(String address, String groupid) throws MarathonException; public void jobDeleteId(String address, String appid, String taskid) throws MarathonException; + public void deleteDeployment(String address, String id) throws MarathonException; + public void deploymentList(String address) throws MarathonException; + //TODO:Delete groups function } diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java index 3ae2ed58bf..91d1b499cb 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java @@ -185,7 +185,7 @@ public void groupsId(String address, String groupid) throws MarathonException{ } public void jobDeleteId(String address, String appid, String taskid) throws MarathonException{ try{ - + String completeCommandToRunProcess = "curl DELETE "+address+"/v2/apps/"+appid+"/"+taskid; BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); util.printLog(stdout); @@ -196,6 +196,32 @@ public void jobDeleteId(String address, String appid, String taskid) throws Mara } } + public void deleteDeployment(String address, String id) throws MarathonException{ + try{ + + String completeCommandToRunProcess = "curl -X DELETE "+address+"/v2/deployments/"+id; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); + util.printLog(stdout); + } + + catch (Exception ex) { + throw new MarathonException("Exception occured while deleting the deployment.\n"+ex.toString()); + } + } + public void deploymentList(String address) throws MarathonException{ + try{ + + + String completeCommandToRunProcess = "curl GET "+address+"/v2/deployments/"; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); + util.printLog(stdout); + } + + catch (Exception ex) { + throw new MarathonException("Exception occured while retrieving the list of deployment.\n"+ex.toString()); + } + } + From 198a264772acafcc7f9317ad1bbf14a77428ee4f Mon Sep 17 00:00:00 2001 From: ajain13 Date: Thu, 11 Aug 2016 12:19:58 -0400 Subject: [PATCH 043/100] Updated with delete groups function and made a design change in the same --- .../marathonClient/MarathonJobSchedulerI.java | 2 +- .../marathonClient/MarathonJobSchedulerImpl.java | 14 +++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java index cfc861d069..df390022ef 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java @@ -39,7 +39,7 @@ public interface MarathonJobSchedulerI { public void jobDeleteId(String address, String appid, String taskid) throws MarathonException; public void deleteDeployment(String address, String id) throws MarathonException; public void deploymentList(String address) throws MarathonException; - //TODO:Delete groups function + public void deleteGroups(String address, String id) throws MarathonException; } diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java index 91d1b499cb..09bbb25308 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java @@ -211,7 +211,6 @@ public void deleteDeployment(String address, String id) throws MarathonException public void deploymentList(String address) throws MarathonException{ try{ - String completeCommandToRunProcess = "curl GET "+address+"/v2/deployments/"; BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); util.printLog(stdout); @@ -222,6 +221,19 @@ public void deploymentList(String address) throws MarathonException{ } } + public void deleteGroups(String address, String id) throws MarathonException{ + try{ + + String completeCommandToRunProcess = "curl -X DELETE "+address+"/v2/groups/"+id; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); + util.printLog(stdout); + } + + catch (Exception ex) { + throw new MarathonException("Exception occured while deleting the group.\n"+ex.toString()); + } + } + From 4174ba84ed6973b4baba292f0c351b9f0dd832fd Mon Sep 17 00:00:00 2001 From: ajain13 Date: Thu, 11 Aug 2016 13:40:09 -0400 Subject: [PATCH 044/100] Integrated marathon driver and added marathon injector code --- .../MarathonInjectorImpl.java | 72 +++++++++++++++++++ .../auroraDriver/AuroraAdminDriver.java | 15 ++++ 2 files changed, 87 insertions(+) create mode 100644 modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/MarathonInjectorImpl.java diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/MarathonInjectorImpl.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/MarathonInjectorImpl.java new file mode 100644 index 0000000000..f85a5c2fde --- /dev/null +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/MarathonInjectorImpl.java @@ -0,0 +1,72 @@ +/* + * + * 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.cloud.bigDataInjections; + +import java.util.Map; +import java.util.List; + + +import org.apache.airavata.cloud.bigDataClientSideServices.marathon.marathonClient.MarathonJobSchedulerI; +import org.apache.airavata.cloud.bigDataClientSideServices.marathon.marathonClient.MarathonJobSchedulerImpl; +import org.apache.airavata.cloud.exceptions.marathonExceptions.MarathonException; + + +public class MarathonInjectorImpl implements BigDataInjectorI { + private MarathonJobSchedulerI marathonJS = null; + + public MarathonInjectorImpl(MarathonJobSchedulerI marathonJSIn) { + marathonJS = marathonJSIn; + } + + + public void executeTheBigDataClientSideCommand(Map> commandLineOptions) { + + + String commandName = commandLineOptions.get("o").get(0); + String RamSize, JobName, CpuCount, DiskSize, Image, Command; + + switch(commandName) + { + case "kill" : + try { + marathonJS.jobKill(commandLineOptions.get("n").get(0),commandLineOptions.get("a").get(0)); + } catch(MarathonException ex){ + } break; + case "create" : + JobName = commandLineOptions.get("n").get(0); + RamSize = commandLineOptions.get("r").get(0); + CpuCount = commandLineOptions.get("c").get(0); + DiskSize = commandLineOptions.get("d").get(0); + Image = commandLineOptions.get("i").get(0); + Command = commandLineOptions.get("a").get(0); + try { + marathonJS.configCreate(JobName,RamSize,CpuCount,DiskSize,Image, Command); + } catch (MarathonException ex) {} + try { + marathonJS.jobLaunch(JobName,commandLineOptions.get("a").get(0)); + } catch (MarathonException ex) { + } break; + default : + System.out.println("Improper option\nOptions available:\n1) create\n2) kill\n"); + } + } // end of public void executeTheBigDataCommand +} // end of public class AuroraInjectorImpl diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java index 24b7d45393..0685bcd852 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java @@ -32,6 +32,12 @@ import org.apache.airavata.cloud.bigDataInjections.AuroraInjectorImpl; import org.apache.airavata.cloud.bigDataInjections.BigDataInjectorI; + +import org.apache.airavata.cloud.exceptions.marathonExceptions.MarathonException; +import org.apache.airavata.cloud.bigDataClientSideServices.marathon.marathonClient.MarathonJobSchedulerI; +import org.apache.airavata.cloud.bigDataClientSideServices.marathon.marathonClient.MarathonJobSchedulerImpl; +import org.apache.airavata.cloud.bigDataInjections.MarathonInjectorImpl; + public class AuroraAdminDriver{ public static void main(String[] args) { @@ -74,10 +80,19 @@ else if (options != null) { }// end of for (int i=0; ... // use the code below to decide between injecting Aurora, Marathon, etc. as injections + AuroraJobSchedulerI auroraJS = new AuroraJobSchedulerImpl(); BigDataInjectorI auroraInjector = new AuroraInjectorImpl(auroraJS); auroraInjector.executeTheBigDataClientSideCommand(params); + + // UNCOMMENT NEXT 3 LINES TO USE MARATHON and comment the 3 lines above to shut AURORA off. + /*MarathonJobSchedulerI marathonJS = new MarathonJobSchedulerImpl(); + BigDataInjectorI marathonInjector = new MarathonInjectorImpl(marathonJS); + marathonInjector.executeTheBigDataClientSideCommand(params);*/ + + + } // end of public static void main } // end of class From a89682d9d66f04f1cdf1ec3d9fbe39cd69d6f99d Mon Sep 17 00:00:00 2001 From: ajain13 Date: Fri, 12 Aug 2016 15:30:27 -0400 Subject: [PATCH 045/100] Deleted the old README file and changed the SNAPSHOT version to 0.17 --- .../cloud/AuroraMarathonIntegration/pom.xml | 1 + .../AuroraMarathonIntegration/src/README.md | 23 ------------------- 2 files changed, 1 insertion(+), 23 deletions(-) delete mode 100644 modules/cloud/AuroraMarathonIntegration/src/README.md diff --git a/modules/cloud/AuroraMarathonIntegration/pom.xml b/modules/cloud/AuroraMarathonIntegration/pom.xml index 2d87fad798..da83ca6bc8 100644 --- a/modules/cloud/AuroraMarathonIntegration/pom.xml +++ b/modules/cloud/AuroraMarathonIntegration/pom.xml @@ -11,6 +11,7 @@ AuroraMarathonIntegration org.apache.airavata.cloud.drivers.auroraDriver jar + 0.17-SNAPSHOT Airavata Aurora Marathon Integration http://airavata.apache.org/ diff --git a/modules/cloud/AuroraMarathonIntegration/src/README.md b/modules/cloud/AuroraMarathonIntegration/src/README.md deleted file mode 100644 index 477d57950a..0000000000 --- a/modules/cloud/AuroraMarathonIntegration/src/README.md +++ /dev/null @@ -1,23 +0,0 @@ -#Design changes to the Aurora/Marathon Integration code - -##Compilation Instructions - -### **NOTE : Temporarily using ANT compile the Aurora Management code.** -### **TODO:** Integrate with maven build system, instead of using ANT. - -####In the following directory run the compilation command: -``` -airavata/modules/cloud/AuroraIntegration/src -``` - -####Compilation command -``` -ant all -``` - -####Run command -``` -**TODO:** Add the command to run and test the code. - -**TODO:** Will be adding sample output that shows the Aurora/Marathon code working. -``` From 68fc8d08160d43e8792072d222a965453f72f61d Mon Sep 17 00:00:00 2001 From: ajain13 Date: Fri, 12 Aug 2016 16:14:28 -0400 Subject: [PATCH 046/100] Changed airavata-cloud parent module version to 0.17 --- .../cloud/AuroraMarathonIntegration/README.md | 18 +++++++++--------- .../cloud/AuroraMarathonIntegration/pom.xml | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/modules/cloud/AuroraMarathonIntegration/README.md b/modules/cloud/AuroraMarathonIntegration/README.md index 805c314100..17b54adecb 100644 --- a/modules/cloud/AuroraMarathonIntegration/README.md +++ b/modules/cloud/AuroraMarathonIntegration/README.md @@ -21,44 +21,44 @@ #Example: To create and launch: ``` -java -jar AuroraIntegration-0.16-SNAPSHOT.jar -o create -r 1024 -n batik -c 2.0 -d 1000 -i gouravr/dacapo:tag9 +java -jar AuroraMarathonIntegration-0.17-SNAPSHOT.jar -o create -r 1024 -n batik -c 2.0 -d 1000 -i gouravr/dacapo:tag9 ``` To kill: ``` -java -jar AuroraIntegration-0.16-SNAPSHOT.jar -o kill -n batik +java -jar AuroraMarathonIntegration-0.17-SNAPSHOT.jar -o kill -n batik ``` To update: ``` -java -jar AuroraIntegration-0.16-SNAPSHOT.jar -o update -n batik +java -jar AuroraMarathonIntegration-0.17-SNAPSHOT.jar -o update -n batik ``` To retrieve update information: ``` -java -jar AuroraIntegration-0.16-SNAPSHOT.jar -o update-info -n batik +java -jar AuroraMarathonIntegration-0.17-SNAPSHOT.jar -o update-info -n batik ``` To pause an update: ``` -java -jar AuroraIntegration-0.16-SNAPSHOT.jar -o update-pause -n batik +java -jar AuroraMarathonIntegration-0.17-SNAPSHOT.jar -o update-pause -n batik ``` To list the update progress: ``` -java -jar AuroraIntegration-0.16-SNAPSHOT.jar -o update-list -n batik +java -jar AuroraMarathonIntegration-0.17-SNAPSHOT.jar -o update-list -n batik ``` To abort an update: ``` -java -jar AuroraIntegration-0.16-SNAPSHOT.jar -o update-abort -n batik +java -jar AuroraMarathonIntegration-0.17-SNAPSHOT.jar -o update-abort -n batik ``` To resume an update: ``` -java -jar AuroraIntegration-0.16-SNAPSHOT.jar -o update-resume -n batik +java -jar AuroraMarathonIntegration-0.17-SNAPSHOT.jar -o update-resume -n batik ``` To restart a job: ``` -java -jar AuroraIntegration-0.16-SNAPSHOT.jar -o restart -n batik +java -jar AuroraMarathonIntegration-0.17-SNAPSHOT.jar -o restart -n batik ``` diff --git a/modules/cloud/AuroraMarathonIntegration/pom.xml b/modules/cloud/AuroraMarathonIntegration/pom.xml index da83ca6bc8..04b0a67e81 100644 --- a/modules/cloud/AuroraMarathonIntegration/pom.xml +++ b/modules/cloud/AuroraMarathonIntegration/pom.xml @@ -4,7 +4,7 @@ org.apache.airavata airavata-cloud - 0.16-SNAPSHOT + 0.17-SNAPSHOT ../pom.xml From fb997ab234b3c98ca4f3bc1fe396895a86e1e3c7 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Sun, 26 Jun 2016 11:34:07 -0400 Subject: [PATCH 047/100] Made design changes --- modules/cloud/AuroraIntegration/README.md | 23 ++ .../src/AuroraAdminDriver.java | 91 ++++++++ .../src/AuroraJobScheduler.java | 207 ++++++++++++++++++ .../src/AuroraJobSchedulerI.java | 15 ++ .../src/exception/AuroraException.java | 15 ++ .../src/utilities/Utility.java | 22 ++ .../src/utilities/UtilityI.java | 7 + 7 files changed, 380 insertions(+) create mode 100644 modules/cloud/AuroraIntegration/README.md create mode 100644 modules/cloud/AuroraIntegration/src/AuroraAdminDriver.java create mode 100644 modules/cloud/AuroraIntegration/src/AuroraJobScheduler.java create mode 100644 modules/cloud/AuroraIntegration/src/AuroraJobSchedulerI.java create mode 100644 modules/cloud/AuroraIntegration/src/exception/AuroraException.java create mode 100644 modules/cloud/AuroraIntegration/src/utilities/Utility.java create mode 100644 modules/cloud/AuroraIntegration/src/utilities/UtilityI.java diff --git a/modules/cloud/AuroraIntegration/README.md b/modules/cloud/AuroraIntegration/README.md new file mode 100644 index 0000000000..0fd13e0a75 --- /dev/null +++ b/modules/cloud/AuroraIntegration/README.md @@ -0,0 +1,23 @@ +Requirements: +1: Apache Aurora +2: Apache Mesos + +Installation: +Please follow the link to set up Apache Aurora and Apache Mesos +1) http://mesos.apache.org/gettingstarted/ OR https://open.mesosphere.com/getting-started/install/ +2) http://aurora.apache.org/documentation/latest/operations/installation/ + +Usage: + +Options: +-o = create/kill +-n = name of the job +-r = amount of RAM +-c = CPU count +-d = disk space +-k = name of the task to be killed +-i = executable/image + +Example: +To create and launch: auroraCreate -o create -r 1024 -n batik -c 2.0 -d 1000 -i gouravr/dacapo:tag9 +To kill: auroraCreate -o kill -k batik diff --git a/modules/cloud/AuroraIntegration/src/AuroraAdminDriver.java b/modules/cloud/AuroraIntegration/src/AuroraAdminDriver.java new file mode 100644 index 0000000000..d9c9cadf00 --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/AuroraAdminDriver.java @@ -0,0 +1,91 @@ + +// rename class to AuroraAdminDriver +// TOOD: need javadoc documentation at the top of each method + +import java.util.*; + +import exception.AuroraException; + +public class AuroraAdminDriver{ + public static void main(String[] args) { + + // TODO: add code to call a method to validate the args + + // TODO: program to an interface. So, the code should be + // AuroraJobSchedulerI auroraJS = new AuroraJobSchedulerImpl(); + + AuroraJobScheduler auroraJS = new AuroraJobScheduler(); + // why is htis Map final? : Does not have to be final, all the implementations of argument readers i saw had final for Map + + // documentation: what is the purpose of the for-loop : to read all the arguments for example to create a job following are the arguments: -o create -r 1024 -n batik -c 2.0 -d 1000 -i gouravr/dacapo:tag9 + + Map> params = new HashMap<>(); + List options = null; + for (int i = 0; i < args.length; i++) { + final String a = args[i]; + if (a.charAt(0) == '-') { + if (a.length() < 2) { + // TOOD: need more details in the error statement + System.err.println("Error at argument " + a); + return; + } + options = new ArrayList<>(); + params.put(a.substring(1), options); + } + else if (options != null) { + options.add(a); + } + else { + // TOOD: need an example of correct parameter usage + System.err.println("Illegal parameter usage\nOptions:\n1) -o\tcreate, kill, restart, update, update-info, update-pause\n2) -n\tname of the job\n 3) -r\tamount of RAM\n 4) -c\tCPU count\n 5) -d\tdisk space\n 6) -k\tname of the task to be killed\n 7) -i\texecutable/image\n "); + return; + } + } + // These Strings should be Enums + String RamSize,JobName,CpuCount,DiskSize,Option,Image; + Option = params.get("o").get(0); + switch(Option) + { + case "kill" : + try{ + auroraJS.jobKill(params.get("n").get(0)); + }catch(AuroraException ex){ + }break; + case "restart" : + try { + auroraJS.jobRestart(params.get("n").get(0)); + } catch (AuroraException ex) { + }break; + case "update" : + try{ + auroraJS.jobUpdate(params.get("n").get(0)); + }catch(AuroraException ex){ + }break; + case "update-info" : + try{ + auroraJS.jobUpdateInfo(params.get("n").get(0)); + }catch(AuroraException ex){ + }break; + case "update-pause" : + try{ + auroraJS.jobUpdatePause(params.get("n").get(0)); + }catch(AuroraException ex){ + }break; + case "create" : + JobName = params.get("n").get(0); + RamSize = params.get("r").get(0); + CpuCount = params.get("c").get(0); + DiskSize = params.get("d").get(0); + Image = params.get("i").get(0); + try { + auroraJS.configCreate(JobName,RamSize,CpuCount,DiskSize,Image); + } catch (AuroraException ex) {} + try { + auroraJS.jobLaunch(JobName); + } catch (AuroraException ex) { + }break; + default : + System.out.println("Improper option\nOptions available:\n1) create\n2) kill\n3) restart\n4) update\n 5) update-info\n6) update-pause\n"); + } + } +} diff --git a/modules/cloud/AuroraIntegration/src/AuroraJobScheduler.java b/modules/cloud/AuroraIntegration/src/AuroraJobScheduler.java new file mode 100644 index 0000000000..5a1e5f7b5e --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/AuroraJobScheduler.java @@ -0,0 +1,207 @@ + +// TODO: add documentation on the purpose of this class + +//TODO: rename this class to AuroraJobSchedulerImpl + +// TODO: need javadoc style documentation for each method + +//TODO: import each type individually instead of "*" +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.io.InputStreamReader; + +import exception.AuroraException; +import utilities.Utility; + +public class AuroraJobScheduler implements AuroraJobSchedulerI { + Utility util = new Utility(); + public void auroraJobCommand(String info, String command) throws AuroraException{ + try{ + String line; + Process auroraJob = Runtime.getRuntime().exec("aurora task run example/benchmarks/devel/"+info+" "+command); + auroraJob.waitFor(); + BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); + // THE NEXT 5 lines are now put into a utility function called printLog present in the utilities package + /*line = stdout.readLine(); + while (line != null) { + System.out.println(line); + line = stdout.readLine(); + }*/ + util.printLog(stdout); + } + // NO NEED TO CATCH THIS EXCEPTION AS ITS BEING CAUGHT BY THE utility function now. Is it required to catch it still ? + /*catch (IOException ex) { + throw new AuroraException("IO Exception occured while passing the command.\n"+ex.toString()); + }*/ + catch (Exception ex) { + throw new AuroraException("Exception occured while passing the command.\n"+ex.toString()); + } + } + public void jobUpdateList(String info) throws AuroraException{ + try{ + String line; + Process auroraJob = Runtime.getRuntime().exec("aurora update list example/benchmarks/devel/"+info); + auroraJob.waitFor(); + BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); + + util.printLog(stdout); + } + + catch (Exception ex) { + // should get the Exception in a string, add your own meaningful message, and then throw it again + throw new AuroraException("Exception occured while listing the update.\n"+ex.toString()); + } + } + public void jobUpdateAbort(String info) throws AuroraException{ + try{ + String line; + Process auroraJob = Runtime.getRuntime().exec("aurora abort pause example/benchmarks/devel/"+info); + auroraJob.waitFor(); + BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); + + util.printLog(stdout); + } + + catch (Exception ex) { + // should get the Exception in a string, add your own meaningful message, and then throw it again + throw new AuroraException("Exception occured while aborting the update.\n"+ex.toString()); + } + } + public void jobUpdateResume(String info) throws AuroraException{ + try{ + String line; + Process auroraJob = Runtime.getRuntime().exec("aurora update resume example/benchmarks/devel/"+info); + auroraJob.waitFor(); + BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); + + util.printLog(stdout); + } + + catch (Exception ex) { + // should get the Exception in a string, add your own meaningful message, and then throw it again + throw new AuroraException("Exception occured while resuming the update.\n"+ex.toString()); + } + } + public void jobUpdatePause(String info) throws AuroraException{ + try{ + String line; + Process auroraJob = Runtime.getRuntime().exec("aurora update pause example/benchmarks/devel/"+info); + auroraJob.waitFor(); + BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); + + util.printLog(stdout); + } + + catch (Exception ex) { + // should get the Exception in a string, add your own meaningful message, and then throw it again + throw new AuroraException("Exception occured while pausing the update.\n"+ex.toString()); + } + } + public void jobUpdateInfo(String info) throws AuroraException{ + try{ + String line; + Process auroraJob = Runtime.getRuntime().exec("aurora update info example/benchmarks/devel/"+info); + auroraJob.waitFor(); + BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); + + + util.printLog(stdout); + } + + catch (Exception ex) { + // should get the Exception in a string, add your own meaningful message, and then throw it again + throw new AuroraException("Exception occured while retrieving the update info."+ex.toString()); + } + } + + public void jobUpdate(String update) throws AuroraException{ + try{ + String line; + Process auroraJob = Runtime.getRuntime().exec("aurora update start example/benchmarks/devel/"+update+" "+update+".aurora"); + auroraJob.waitFor(); + BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); + + + util.printLog(stdout); + } + + catch (Exception ex) { + // TODO: should get the Exception in a string, add your own meaningful message, and then throw it again + throw new AuroraException("Exception occured while updating the job.\n"+ex.toString()); + } + } + public void jobRestart(String restart) throws AuroraException{ + try{ + String line; + Process auroraJob = Runtime.getRuntime().exec("aurora job restart example/benchmarks/devel/"+restart); + auroraJob.waitFor(); + BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); + + util.printLog(stdout); + } + + catch (Exception ex) { + throw new AuroraException("Exception occured while restarting the job.\n"+ex.toString()); + } + } + + public void jobKill(String kill) throws AuroraException{ + try{ + String line; + Process auroraJob = Runtime.getRuntime().exec("aurora job killall example/benchmarks/devel/"+kill); + auroraJob.waitFor(); + BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); + + + util.printLog(stdout); + } + + catch (Exception ex) { + throw new AuroraException("Exception occured while killing the job.\n"+ex.toString()); + } + } + public void jobLaunch(String name) throws AuroraException{ + try{ + String line; + Process auroraJob = Runtime.getRuntime().exec("aurora job create example/benchmarks/devel/"+name+" "+name+".aurora"); + BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); + + util.printLog(stdout); + auroraJob.waitFor(); + } + + catch (Exception ex) { + throw new AuroraException("Exception occured while launching the job.\n"+ex.toString()); + } + } + public void configCreate(String name, String ram, String cpu, String disk, String image) throws AuroraException{ + try { + String config = "import hashlib\n"+name+"= Process(name = '"+name+"', cmdline = 'java -jar /dacapo-9.12-bach.jar "+name+" -s small')\n"+name+"_task = SequentialTask(processes = [ "+name+"], resources = Resources(cpu = "+cpu+", ram = "+ram+"*MB, disk="+disk+"*MB))\njobs = [ Job(cluster = 'example', environment = 'devel', role = 'benchmarks', name = '"+name+"', task = "+name+"_task, instances =1 , container = Container(docker = Docker(image = '"+image+"')))]\n"; + //String line2 = name+"= Process(name = '"+name+"', cmdline = 'java -jar /dacapo-9.12-bach.jar "+name+" -s small')\n"; + //String line3 = name+"_task = SequentialTask(processes = [ "+name+"], resources = Resources(cpu = "+cpu+", ram = "+ram+"*MB, disk="+disk+"*MB))\n"; + //String line4 = "jobs = [ Job(cluster = 'example', environment = 'devel', role = 'benchmarks', name = '"+name+"', task = "+name+"_task, instances =1 , container = Container(docker = Docker(image = '"+image+"')))]\n"; + + File file = new File(name+".aurora"); + + if (!file.exists()) { + file.createNewFile(); + } + + FileWriter fw = new FileWriter(file.getAbsoluteFile()); + BufferedWriter bw = new BufferedWriter(fw); + bw.write(config); + //bw.write(line2); + //bw.write(line3); + //bw.write(line4); + bw.close(); + + }catch (IOException ex) { + throw new AuroraException("IO Exception occured while creating the configuration file.\n"+ex.toString()); + }catch (Exception ex) { + throw new AuroraException("Exception occured while creating the configuration file.\n"+ex.toString()); + } + } +} diff --git a/modules/cloud/AuroraIntegration/src/AuroraJobSchedulerI.java b/modules/cloud/AuroraIntegration/src/AuroraJobSchedulerI.java new file mode 100644 index 0000000000..3b68255a22 --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/AuroraJobSchedulerI.java @@ -0,0 +1,15 @@ +import exception.AuroraException; + +public interface AuroraJobSchedulerI { + + public void jobUpdateInfo(String info) throws AuroraException; + public void jobUpdate(String update) throws AuroraException; + public void jobUpdateResume(String info) throws AuroraException; + public void jobUpdateAbort(String info) throws AuroraException; + public void jobUpdateList(String info) throws AuroraException; + public void auroraJobCommand(String info, String command) throws AuroraException; + public void jobRestart(String restart) throws AuroraException; + public void jobKill(String kill) throws AuroraException; + public void jobLaunch(String name) throws AuroraException; + public void configCreate(String name, String ram, String cpu, String disk, String image) throws AuroraException; +} diff --git a/modules/cloud/AuroraIntegration/src/exception/AuroraException.java b/modules/cloud/AuroraIntegration/src/exception/AuroraException.java new file mode 100644 index 0000000000..0a05c016b8 --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/exception/AuroraException.java @@ -0,0 +1,15 @@ +package exception; + +public class AuroraException extends Exception { + private String exceptionMsg; + public AuroraException(){ + exceptionMsg=""; + } + public AuroraException(String exceptionMsgIn){ + exceptionMsg=exceptionMsgIn;; + } + + public String toString(){ + return this.exceptionMsg; + } + } \ No newline at end of file diff --git a/modules/cloud/AuroraIntegration/src/utilities/Utility.java b/modules/cloud/AuroraIntegration/src/utilities/Utility.java new file mode 100644 index 0000000000..8a5e4c9b72 --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/utilities/Utility.java @@ -0,0 +1,22 @@ +package utilities; + +import java.io.BufferedReader; +import exception.AuroraException; +import java.io.IOException; + +public class Utility implements UtilityI{ + public void printLog(BufferedReader stdout) throws AuroraException + { + try{ + String line; + line = stdout.readLine(); + while (line != null) { + System.out.println(line); + line = stdout.readLine(); + } + } + catch (IOException ex) { + throw new AuroraException("IO Exception occured while passing the command.\n"+ex.toString()); + } + } +} diff --git a/modules/cloud/AuroraIntegration/src/utilities/UtilityI.java b/modules/cloud/AuroraIntegration/src/utilities/UtilityI.java new file mode 100644 index 0000000000..5208117e4e --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/utilities/UtilityI.java @@ -0,0 +1,7 @@ +package utilities; +import java.io.BufferedReader; +import exception.AuroraException; + +public interface UtilityI{ + public void printLog(BufferedReader stdout) throws AuroraException; +} From 7ee913a40e79846eb95bf61cc9b744e1b6904b2c Mon Sep 17 00:00:00 2001 From: ajain13 Date: Sun, 26 Jun 2016 12:04:56 -0400 Subject: [PATCH 048/100] Cleaned up code, updated AuroraJobSchedulerI interface, changed filenames to make them for understandable --- .../src/AuroraAdminDriver.java | 16 +++---- .../src/AuroraJobSchedulerI.java | 3 +- ...duler.java => AuroraJobSchedulerImpl.java} | 46 +++++-------------- .../{UtilityI.java => AuroraUtilI.java} | 2 +- .../{Utility.java => AuroraUtilImpl.java} | 2 +- 5 files changed, 24 insertions(+), 45 deletions(-) rename modules/cloud/AuroraIntegration/src/{AuroraJobScheduler.java => AuroraJobSchedulerImpl.java} (74%) rename modules/cloud/AuroraIntegration/src/utilities/{UtilityI.java => AuroraUtilI.java} (83%) rename modules/cloud/AuroraIntegration/src/utilities/{Utility.java => AuroraUtilImpl.java} (90%) diff --git a/modules/cloud/AuroraIntegration/src/AuroraAdminDriver.java b/modules/cloud/AuroraIntegration/src/AuroraAdminDriver.java index d9c9cadf00..c73a688f80 100644 --- a/modules/cloud/AuroraIntegration/src/AuroraAdminDriver.java +++ b/modules/cloud/AuroraIntegration/src/AuroraAdminDriver.java @@ -11,14 +11,14 @@ public static void main(String[] args) { // TODO: add code to call a method to validate the args - // TODO: program to an interface. So, the code should be + // TODO: program to an interface. So, the code should be // AuroraJobSchedulerI auroraJS = new AuroraJobSchedulerImpl(); - - AuroraJobScheduler auroraJS = new AuroraJobScheduler(); + + AuroraJobSchedulerI auroraJS = new AuroraJobSchedulerImpl(); // why is htis Map final? : Does not have to be final, all the implementations of argument readers i saw had final for Map - + // documentation: what is the purpose of the for-loop : to read all the arguments for example to create a job following are the arguments: -o create -r 1024 -n batik -c 2.0 -d 1000 -i gouravr/dacapo:tag9 - + Map> params = new HashMap<>(); List options = null; for (int i = 0; i < args.length; i++) { @@ -36,12 +36,12 @@ else if (options != null) { options.add(a); } else { - // TOOD: need an example of correct parameter usage - System.err.println("Illegal parameter usage\nOptions:\n1) -o\tcreate, kill, restart, update, update-info, update-pause\n2) -n\tname of the job\n 3) -r\tamount of RAM\n 4) -c\tCPU count\n 5) -d\tdisk space\n 6) -k\tname of the task to be killed\n 7) -i\texecutable/image\n "); + + System.err.println("Illegal parameter \n[USAGE]\nOptions:\n1) -o\tcreate, kill, restart, update, update-info, update-pause\n2) -n\tname of the job\n 3) -r\tamount of RAM\n 4) -c\tCPU count\n 5) -d\tdisk space\n 6) -k\tname of the task to be killed\n 7) -i\texecutable/image\n "); return; } } - // These Strings should be Enums + String RamSize,JobName,CpuCount,DiskSize,Option,Image; Option = params.get("o").get(0); switch(Option) diff --git a/modules/cloud/AuroraIntegration/src/AuroraJobSchedulerI.java b/modules/cloud/AuroraIntegration/src/AuroraJobSchedulerI.java index 3b68255a22..02ba107b0a 100644 --- a/modules/cloud/AuroraIntegration/src/AuroraJobSchedulerI.java +++ b/modules/cloud/AuroraIntegration/src/AuroraJobSchedulerI.java @@ -1,12 +1,13 @@ import exception.AuroraException; public interface AuroraJobSchedulerI { - + public void jobUpdateInfo(String info) throws AuroraException; public void jobUpdate(String update) throws AuroraException; public void jobUpdateResume(String info) throws AuroraException; public void jobUpdateAbort(String info) throws AuroraException; public void jobUpdateList(String info) throws AuroraException; + public void jobUpdatePause(String info) throws AuroraException; public void auroraJobCommand(String info, String command) throws AuroraException; public void jobRestart(String restart) throws AuroraException; public void jobKill(String kill) throws AuroraException; diff --git a/modules/cloud/AuroraIntegration/src/AuroraJobScheduler.java b/modules/cloud/AuroraIntegration/src/AuroraJobSchedulerImpl.java similarity index 74% rename from modules/cloud/AuroraIntegration/src/AuroraJobScheduler.java rename to modules/cloud/AuroraIntegration/src/AuroraJobSchedulerImpl.java index 5a1e5f7b5e..9dbbc8b03f 100644 --- a/modules/cloud/AuroraIntegration/src/AuroraJobScheduler.java +++ b/modules/cloud/AuroraIntegration/src/AuroraJobSchedulerImpl.java @@ -1,11 +1,3 @@ - -// TODO: add documentation on the purpose of this class - -//TODO: rename this class to AuroraJobSchedulerImpl - -// TODO: need javadoc style documentation for each method - -//TODO: import each type individually instead of "*" import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; @@ -14,28 +6,21 @@ import java.io.InputStreamReader; import exception.AuroraException; -import utilities.Utility; +import utilities.AuroraUtilImpl; +import utilities.AuroraUtilI; -public class AuroraJobScheduler implements AuroraJobSchedulerI { - Utility util = new Utility(); +public class AuroraJobSchedulerImpl implements AuroraJobSchedulerI { + AuroraUtilI util = new AuroraUtilImpl(); public void auroraJobCommand(String info, String command) throws AuroraException{ try{ String line; Process auroraJob = Runtime.getRuntime().exec("aurora task run example/benchmarks/devel/"+info+" "+command); auroraJob.waitFor(); BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); - // THE NEXT 5 lines are now put into a utility function called printLog present in the utilities package - /*line = stdout.readLine(); - while (line != null) { - System.out.println(line); - line = stdout.readLine(); - }*/ + util.printLog(stdout); } - // NO NEED TO CATCH THIS EXCEPTION AS ITS BEING CAUGHT BY THE utility function now. Is it required to catch it still ? - /*catch (IOException ex) { - throw new AuroraException("IO Exception occured while passing the command.\n"+ex.toString()); - }*/ + catch (Exception ex) { throw new AuroraException("Exception occured while passing the command.\n"+ex.toString()); } @@ -51,7 +36,7 @@ public void jobUpdateList(String info) throws AuroraException{ } catch (Exception ex) { - // should get the Exception in a string, add your own meaningful message, and then throw it again + throw new AuroraException("Exception occured while listing the update.\n"+ex.toString()); } } @@ -66,7 +51,7 @@ public void jobUpdateAbort(String info) throws AuroraException{ } catch (Exception ex) { - // should get the Exception in a string, add your own meaningful message, and then throw it again + throw new AuroraException("Exception occured while aborting the update.\n"+ex.toString()); } } @@ -81,7 +66,7 @@ public void jobUpdateResume(String info) throws AuroraException{ } catch (Exception ex) { - // should get the Exception in a string, add your own meaningful message, and then throw it again + throw new AuroraException("Exception occured while resuming the update.\n"+ex.toString()); } } @@ -96,7 +81,7 @@ public void jobUpdatePause(String info) throws AuroraException{ } catch (Exception ex) { - // should get the Exception in a string, add your own meaningful message, and then throw it again + throw new AuroraException("Exception occured while pausing the update.\n"+ex.toString()); } } @@ -112,7 +97,7 @@ public void jobUpdateInfo(String info) throws AuroraException{ } catch (Exception ex) { - // should get the Exception in a string, add your own meaningful message, and then throw it again + throw new AuroraException("Exception occured while retrieving the update info."+ex.toString()); } } @@ -129,7 +114,7 @@ public void jobUpdate(String update) throws AuroraException{ } catch (Exception ex) { - // TODO: should get the Exception in a string, add your own meaningful message, and then throw it again + throw new AuroraException("Exception occured while updating the job.\n"+ex.toString()); } } @@ -180,10 +165,6 @@ public void jobLaunch(String name) throws AuroraException{ public void configCreate(String name, String ram, String cpu, String disk, String image) throws AuroraException{ try { String config = "import hashlib\n"+name+"= Process(name = '"+name+"', cmdline = 'java -jar /dacapo-9.12-bach.jar "+name+" -s small')\n"+name+"_task = SequentialTask(processes = [ "+name+"], resources = Resources(cpu = "+cpu+", ram = "+ram+"*MB, disk="+disk+"*MB))\njobs = [ Job(cluster = 'example', environment = 'devel', role = 'benchmarks', name = '"+name+"', task = "+name+"_task, instances =1 , container = Container(docker = Docker(image = '"+image+"')))]\n"; - //String line2 = name+"= Process(name = '"+name+"', cmdline = 'java -jar /dacapo-9.12-bach.jar "+name+" -s small')\n"; - //String line3 = name+"_task = SequentialTask(processes = [ "+name+"], resources = Resources(cpu = "+cpu+", ram = "+ram+"*MB, disk="+disk+"*MB))\n"; - //String line4 = "jobs = [ Job(cluster = 'example', environment = 'devel', role = 'benchmarks', name = '"+name+"', task = "+name+"_task, instances =1 , container = Container(docker = Docker(image = '"+image+"')))]\n"; - File file = new File(name+".aurora"); if (!file.exists()) { @@ -193,9 +174,6 @@ public void configCreate(String name, String ram, String cpu, String disk, Strin FileWriter fw = new FileWriter(file.getAbsoluteFile()); BufferedWriter bw = new BufferedWriter(fw); bw.write(config); - //bw.write(line2); - //bw.write(line3); - //bw.write(line4); bw.close(); }catch (IOException ex) { diff --git a/modules/cloud/AuroraIntegration/src/utilities/UtilityI.java b/modules/cloud/AuroraIntegration/src/utilities/AuroraUtilI.java similarity index 83% rename from modules/cloud/AuroraIntegration/src/utilities/UtilityI.java rename to modules/cloud/AuroraIntegration/src/utilities/AuroraUtilI.java index 5208117e4e..c54a567628 100644 --- a/modules/cloud/AuroraIntegration/src/utilities/UtilityI.java +++ b/modules/cloud/AuroraIntegration/src/utilities/AuroraUtilI.java @@ -2,6 +2,6 @@ import java.io.BufferedReader; import exception.AuroraException; -public interface UtilityI{ +public interface AuroraUtilI{ public void printLog(BufferedReader stdout) throws AuroraException; } diff --git a/modules/cloud/AuroraIntegration/src/utilities/Utility.java b/modules/cloud/AuroraIntegration/src/utilities/AuroraUtilImpl.java similarity index 90% rename from modules/cloud/AuroraIntegration/src/utilities/Utility.java rename to modules/cloud/AuroraIntegration/src/utilities/AuroraUtilImpl.java index 8a5e4c9b72..2b90f7017f 100644 --- a/modules/cloud/AuroraIntegration/src/utilities/Utility.java +++ b/modules/cloud/AuroraIntegration/src/utilities/AuroraUtilImpl.java @@ -4,7 +4,7 @@ import exception.AuroraException; import java.io.IOException; -public class Utility implements UtilityI{ +public class AuroraUtilImpl implements AuroraUtilI{ public void printLog(BufferedReader stdout) throws AuroraException { try{ From c68af2fb1d23717a6199022e0b8d42efd859cd65 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Sun, 26 Jun 2016 13:33:02 -0400 Subject: [PATCH 049/100] Changed package structure and added ANT build --- .../cloud/AuroraIntegration/src/README.txt | 16 +++++ .../cloud/AuroraIntegration/src/README.txt~ | 2 + modules/cloud/AuroraIntegration/src/build.xml | 53 +++++++++++++++ .../cloud/AuroraIntegration/src/build.xml~ | 66 +++++++++++++++++++ .../auroraClient}/AuroraJobSchedulerI.java | 4 +- .../auroraClient}/AuroraJobSchedulerImpl.java | 8 ++- .../aurora/driver}/AuroraAdminDriver.java | 18 ++--- .../aurora}/exception/AuroraException.java | 6 +- .../cloud/aurora}/utilities/AuroraUtilI.java | 6 +- .../aurora}/utilities/AuroraUtilImpl.java | 7 +- 10 files changed, 163 insertions(+), 23 deletions(-) create mode 100644 modules/cloud/AuroraIntegration/src/README.txt create mode 100644 modules/cloud/AuroraIntegration/src/README.txt~ create mode 100644 modules/cloud/AuroraIntegration/src/build.xml create mode 100644 modules/cloud/AuroraIntegration/src/build.xml~ rename modules/cloud/AuroraIntegration/src/{ => org/apache/airavata/cloud/aurora/auroraClient}/AuroraJobSchedulerI.java (86%) rename modules/cloud/AuroraIntegration/src/{ => org/apache/airavata/cloud/aurora/auroraClient}/AuroraJobSchedulerImpl.java (96%) rename modules/cloud/AuroraIntegration/src/{ => org/apache/airavata/cloud/aurora/driver}/AuroraAdminDriver.java (78%) rename modules/cloud/AuroraIntegration/src/{ => org/apache/airavata/cloud/aurora}/exception/AuroraException.java (84%) rename modules/cloud/AuroraIntegration/src/{ => org/apache/airavata/cloud/aurora}/utilities/AuroraUtilI.java (52%) rename modules/cloud/AuroraIntegration/src/{ => org/apache/airavata/cloud/aurora}/utilities/AuroraUtilImpl.java (80%) diff --git a/modules/cloud/AuroraIntegration/src/README.txt b/modules/cloud/AuroraIntegration/src/README.txt new file mode 100644 index 0000000000..a5d51f6320 --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/README.txt @@ -0,0 +1,16 @@ + + +## Temporarily using ANT compile the Aurora Management code. +## TODO: integrate with maven build system, instead of using ANT + +#In the following directory run the compilation command: +airavata/modules/cloud/AuroraIntegration/src + +#Compilation command +ant all + +#Run command +## TODO: add the command to run and test the code + +## Add sample output that shows the Aurora code working + diff --git a/modules/cloud/AuroraIntegration/src/README.txt~ b/modules/cloud/AuroraIntegration/src/README.txt~ new file mode 100644 index 0000000000..47c254de7f --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/README.txt~ @@ -0,0 +1,2 @@ + +/home/ajain13/gsoc_pulls/airavata/modules/cloud/AuroraIntegration/src diff --git a/modules/cloud/AuroraIntegration/src/build.xml b/modules/cloud/AuroraIntegration/src/build.xml new file mode 100644 index 0000000000..55333361a5 --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/build.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/cloud/AuroraIntegration/src/build.xml~ b/modules/cloud/AuroraIntegration/src/build.xml~ new file mode 100644 index 0000000000..8ffcf42da7 --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/build.xml~ @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/cloud/AuroraIntegration/src/AuroraJobSchedulerI.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerI.java similarity index 86% rename from modules/cloud/AuroraIntegration/src/AuroraJobSchedulerI.java rename to modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerI.java index 02ba107b0a..4c40f6c1ba 100644 --- a/modules/cloud/AuroraIntegration/src/AuroraJobSchedulerI.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerI.java @@ -1,4 +1,6 @@ -import exception.AuroraException; +package org.apache.airavata.cloud.aurora.auroraClient; + +import org.apache.airavata.cloud.aurora.exception.AuroraException; public interface AuroraJobSchedulerI { diff --git a/modules/cloud/AuroraIntegration/src/AuroraJobSchedulerImpl.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerImpl.java similarity index 96% rename from modules/cloud/AuroraIntegration/src/AuroraJobSchedulerImpl.java rename to modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerImpl.java index 9dbbc8b03f..b8b31f89b0 100644 --- a/modules/cloud/AuroraIntegration/src/AuroraJobSchedulerImpl.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerImpl.java @@ -1,3 +1,5 @@ +package org.apache.airavata.cloud.aurora.auroraClient; + import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; @@ -5,9 +7,9 @@ import java.io.IOException; import java.io.InputStreamReader; -import exception.AuroraException; -import utilities.AuroraUtilImpl; -import utilities.AuroraUtilI; +import org.apache.airavata.cloud.aurora.exception.AuroraException; +import org.apache.airavata.cloud.aurora.utilities.AuroraUtilImpl; +import org.apache.airavata.cloud.aurora.utilities.AuroraUtilI; public class AuroraJobSchedulerImpl implements AuroraJobSchedulerI { AuroraUtilI util = new AuroraUtilImpl(); diff --git a/modules/cloud/AuroraIntegration/src/AuroraAdminDriver.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/driver/AuroraAdminDriver.java similarity index 78% rename from modules/cloud/AuroraIntegration/src/AuroraAdminDriver.java rename to modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/driver/AuroraAdminDriver.java index c73a688f80..9020be25e2 100644 --- a/modules/cloud/AuroraIntegration/src/AuroraAdminDriver.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/driver/AuroraAdminDriver.java @@ -1,23 +1,17 @@ +package org.apache.airavata.cloud.aurora.driver; +// TODO: need javadoc documentation at the top of each method -// rename class to AuroraAdminDriver -// TOOD: need javadoc documentation at the top of each method - +// TODO: individually import the types import java.util.*; -import exception.AuroraException; +import org.apache.airavata.cloud.aurora.exception.AuroraException; +import org.apache.airavata.cloud.aurora.auroraClient.AuroraJobSchedulerI; +import org.apache.airavata.cloud.aurora.auroraClient.AuroraJobSchedulerImpl; public class AuroraAdminDriver{ public static void main(String[] args) { - // TODO: add code to call a method to validate the args - - // TODO: program to an interface. So, the code should be - // AuroraJobSchedulerI auroraJS = new AuroraJobSchedulerImpl(); - AuroraJobSchedulerI auroraJS = new AuroraJobSchedulerImpl(); - // why is htis Map final? : Does not have to be final, all the implementations of argument readers i saw had final for Map - - // documentation: what is the purpose of the for-loop : to read all the arguments for example to create a job following are the arguments: -o create -r 1024 -n batik -c 2.0 -d 1000 -i gouravr/dacapo:tag9 Map> params = new HashMap<>(); List options = null; diff --git a/modules/cloud/AuroraIntegration/src/exception/AuroraException.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/exception/AuroraException.java similarity index 84% rename from modules/cloud/AuroraIntegration/src/exception/AuroraException.java rename to modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/exception/AuroraException.java index 0a05c016b8..b3a6abde08 100644 --- a/modules/cloud/AuroraIntegration/src/exception/AuroraException.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/exception/AuroraException.java @@ -1,4 +1,4 @@ -package exception; +package org.apache.airavata.cloud.aurora.exception; public class AuroraException extends Exception { private String exceptionMsg; @@ -8,8 +8,8 @@ public AuroraException(){ public AuroraException(String exceptionMsgIn){ exceptionMsg=exceptionMsgIn;; } - + public String toString(){ return this.exceptionMsg; } - } \ No newline at end of file + } diff --git a/modules/cloud/AuroraIntegration/src/utilities/AuroraUtilI.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilI.java similarity index 52% rename from modules/cloud/AuroraIntegration/src/utilities/AuroraUtilI.java rename to modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilI.java index c54a567628..7ba3fadce5 100644 --- a/modules/cloud/AuroraIntegration/src/utilities/AuroraUtilI.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilI.java @@ -1,6 +1,8 @@ -package utilities; +package org.apache.airavata.cloud.aurora.utilities; + import java.io.BufferedReader; -import exception.AuroraException; + +import org.apache.airavata.cloud.aurora.exception.AuroraException; public interface AuroraUtilI{ public void printLog(BufferedReader stdout) throws AuroraException; diff --git a/modules/cloud/AuroraIntegration/src/utilities/AuroraUtilImpl.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilImpl.java similarity index 80% rename from modules/cloud/AuroraIntegration/src/utilities/AuroraUtilImpl.java rename to modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilImpl.java index 2b90f7017f..e2ad9481c9 100644 --- a/modules/cloud/AuroraIntegration/src/utilities/AuroraUtilImpl.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilImpl.java @@ -1,9 +1,12 @@ -package utilities; + +package org.apache.airavata.cloud.aurora.utilities; + import java.io.BufferedReader; -import exception.AuroraException; import java.io.IOException; +import org.apache.airavata.cloud.aurora.exception.AuroraException; + public class AuroraUtilImpl implements AuroraUtilI{ public void printLog(BufferedReader stdout) throws AuroraException { From 2def278427a1a251db74b48d38055204d02d3589 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Sun, 26 Jun 2016 13:39:55 -0400 Subject: [PATCH 050/100] updated README.md file --- modules/cloud/AuroraIntegration/README.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/modules/cloud/AuroraIntegration/README.md b/modules/cloud/AuroraIntegration/README.md index 0fd13e0a75..95a5e20e39 100644 --- a/modules/cloud/AuroraIntegration/README.md +++ b/modules/cloud/AuroraIntegration/README.md @@ -1,15 +1,15 @@ -Requirements: +#Requirements: 1: Apache Aurora 2: Apache Mesos -Installation: -Please follow the link to set up Apache Aurora and Apache Mesos -1) http://mesos.apache.org/gettingstarted/ OR https://open.mesosphere.com/getting-started/install/ -2) http://aurora.apache.org/documentation/latest/operations/installation/ +#Installation: +##Please follow the link to set up Apache Aurora and Apache Mesos +1) [http://mesos.apache.org/gettingstarted/ OR https://open.mesosphere.com/getting-started/install/] +2) [http://aurora.apache.org/documentation/latest/operations/installation/] -Usage: +#Usage: -Options: +```Options: -o = create/kill -n = name of the job -r = amount of RAM @@ -17,7 +17,7 @@ Options: -d = disk space -k = name of the task to be killed -i = executable/image - -Example: -To create and launch: auroraCreate -o create -r 1024 -n batik -c 2.0 -d 1000 -i gouravr/dacapo:tag9 -To kill: auroraCreate -o kill -k batik +``` +#Example: +```To create and launch: auroraCreate -o create -r 1024 -n batik -c 2.0 -d 1000 -i gouravr/dacapo:tag9 +To kill: auroraCreate -o kill -k batik``` From d255b0c3f7fe3afa63da9cd3e661bee54def6f8e Mon Sep 17 00:00:00 2001 From: ajain13 Date: Sun, 26 Jun 2016 14:42:10 -0400 Subject: [PATCH 051/100] Added initial dependency injection pattern --- .../auroraClient/AuroraJobSchedulerI.java | 2 +- .../bigDataInjections/AuroraInjectorImpl.java | 71 ++++++++++++++++++ .../AuroraInjectorImpl.java~ | 4 + .../bigDataInjections/BigDataInjectorI.java | 12 +++ .../bigDataInjections/BigDataInjectorI.java~ | 3 + .../aurora/driver/AuroraAdminDriver.java | 75 +++++++------------ 6 files changed, 117 insertions(+), 50 deletions(-) create mode 100644 modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/AuroraInjectorImpl.java create mode 100644 modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/AuroraInjectorImpl.java~ create mode 100644 modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/BigDataInjectorI.java create mode 100644 modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/BigDataInjectorI.java~ diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerI.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerI.java index 4c40f6c1ba..9c06e0254c 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerI.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerI.java @@ -1,4 +1,4 @@ -package org.apache.airavata.cloud.aurora.auroraClient; + import org.apache.airavata.cloud.aurora.exception.AuroraException; diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/AuroraInjectorImpl.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/AuroraInjectorImpl.java new file mode 100644 index 0000000000..4ca6b69540 --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/AuroraInjectorImpl.java @@ -0,0 +1,71 @@ + +package org.apache.airavata.cloud.aurora.bigDataInjections; + +import java.util.Map; +import java.util.List; + + +import org.apache.airavata.cloud.aurora.auroraClient.AuroraJobSchedulerI; +import org.apache.airavata.cloud.aurora.auroraClient.AuroraJobSchedulerImpl; +import org.apache.airavata.cloud.aurora.exception.AuroraException; + + +public class AuroraInjectorImpl implements BigDataInjectorI { + private AuroraJobSchedulerI auroraJS = null; + + public AuroraInjectorImpl(AuroraJobSchedulerI auroraJSIn) { + auroraJS = auroraJSIn; + } + + + public void executeTheBigDataClientSideCommand(Map> commandLineOptions) { + + + String commandName = commandLineOptions.get("o").get(0); + String RamSize, JobName, CpuCount, DiskSize, Image; + + switch(commandName) + { + case "kill" : + try { + auroraJS.jobKill(commandLineOptions.get("n").get(0)); + } catch(AuroraException ex){ + } break; + case "restart" : + try { + auroraJS.jobRestart(commandLineOptions.get("n").get(0)); + } catch (AuroraException ex) { + } break; + case "update" : + try { + auroraJS.jobUpdate(commandLineOptions.get("n").get(0)); + } catch(AuroraException ex){ + } break; + case "update-info" : + try { + auroraJS.jobUpdateInfo(commandLineOptions.get("n").get(0)); + } catch(AuroraException ex){ + } break; + case "update-pause" : + try { + auroraJS.jobUpdatePause(commandLineOptions.get("n").get(0)); + } catch(AuroraException ex){ + } break; + case "create" : + JobName = commandLineOptions.get("n").get(0); + RamSize = commandLineOptions.get("r").get(0); + CpuCount = commandLineOptions.get("c").get(0); + DiskSize = commandLineOptions.get("d").get(0); + Image = commandLineOptions.get("i").get(0); + try { + auroraJS.configCreate(JobName,RamSize,CpuCount,DiskSize,Image); + } catch (AuroraException ex) {} + try { + auroraJS.jobLaunch(JobName); + } catch (AuroraException ex) { + } break; + default : + System.out.println("Improper option\nOptions available:\n1) create\n2) kill\n3) restart\n4) update\n 5) update-info\n6) update-pause\n"); + } + } // end of public void executeTheBigDataCommand +} // end of public class AuroraInjectorImpl diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/AuroraInjectorImpl.java~ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/AuroraInjectorImpl.java~ new file mode 100644 index 0000000000..9d6be58f8d --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/AuroraInjectorImpl.java~ @@ -0,0 +1,4 @@ + + +public class AuroraInjectorImpl { +} diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/BigDataInjectorI.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/BigDataInjectorI.java new file mode 100644 index 0000000000..e821bc8d9f --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/BigDataInjectorI.java @@ -0,0 +1,12 @@ + +package org.apache.airavata.cloud.aurora.bigDataInjections; + +import java.util.Map; +import java.util.List; + + +public interface BigDataInjectorI { + + // TODO: this interface should throw an exception + public void executeTheBigDataClientSideCommand(Map> commandLineOptions); +} diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/BigDataInjectorI.java~ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/BigDataInjectorI.java~ new file mode 100644 index 0000000000..bf4bee6142 --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/BigDataInjectorI.java~ @@ -0,0 +1,3 @@ + +public class BigDataInjectorI { +} diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/driver/AuroraAdminDriver.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/driver/AuroraAdminDriver.java index 9020be25e2..0a3cc629ba 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/driver/AuroraAdminDriver.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/driver/AuroraAdminDriver.java @@ -1,4 +1,5 @@ package org.apache.airavata.cloud.aurora.driver; + // TODO: need javadoc documentation at the top of each method // TODO: individually import the types @@ -7,13 +8,24 @@ import org.apache.airavata.cloud.aurora.exception.AuroraException; import org.apache.airavata.cloud.aurora.auroraClient.AuroraJobSchedulerI; import org.apache.airavata.cloud.aurora.auroraClient.AuroraJobSchedulerImpl; +import org.apache.airavata.cloud.aurora.bigDataInjections.AuroraInjectorImpl; +import org.apache.airavata.cloud.aurora.bigDataInjections.BigDataInjectorI; public class AuroraAdminDriver{ public static void main(String[] args) { - AuroraJobSchedulerI auroraJS = new AuroraJobSchedulerImpl(); + // TODO: do command line validation + + // Processing of the command line arguments should be moved to a different method + + + // This code to add command line arguments is based on Apache Commons + + // TODO: explain why this Map data structure is needed Map> params = new HashMap<>(); + + // TODO: explain what is the purpose of this List List options = null; for (int i = 0; i < args.length; i++) { final String a = args[i]; @@ -23,9 +35,11 @@ public static void main(String[] args) { System.err.println("Error at argument " + a); return; } + // TODO: explain the purpose of this ArrayList options = new ArrayList<>(); params.put(a.substring(1), options); } + // TODO: explain when this "else" branch is taken else if (options != null) { options.add(a); } @@ -34,52 +48,15 @@ else if (options != null) { System.err.println("Illegal parameter \n[USAGE]\nOptions:\n1) -o\tcreate, kill, restart, update, update-info, update-pause\n2) -n\tname of the job\n 3) -r\tamount of RAM\n 4) -c\tCPU count\n 5) -d\tdisk space\n 6) -k\tname of the task to be killed\n 7) -i\texecutable/image\n "); return; } - } - String RamSize,JobName,CpuCount,DiskSize,Option,Image; - Option = params.get("o").get(0); - switch(Option) - { - case "kill" : - try{ - auroraJS.jobKill(params.get("n").get(0)); - }catch(AuroraException ex){ - }break; - case "restart" : - try { - auroraJS.jobRestart(params.get("n").get(0)); - } catch (AuroraException ex) { - }break; - case "update" : - try{ - auroraJS.jobUpdate(params.get("n").get(0)); - }catch(AuroraException ex){ - }break; - case "update-info" : - try{ - auroraJS.jobUpdateInfo(params.get("n").get(0)); - }catch(AuroraException ex){ - }break; - case "update-pause" : - try{ - auroraJS.jobUpdatePause(params.get("n").get(0)); - }catch(AuroraException ex){ - }break; - case "create" : - JobName = params.get("n").get(0); - RamSize = params.get("r").get(0); - CpuCount = params.get("c").get(0); - DiskSize = params.get("d").get(0); - Image = params.get("i").get(0); - try { - auroraJS.configCreate(JobName,RamSize,CpuCount,DiskSize,Image); - } catch (AuroraException ex) {} - try { - auroraJS.jobLaunch(JobName); - } catch (AuroraException ex) { - }break; - default : - System.out.println("Improper option\nOptions available:\n1) create\n2) kill\n3) restart\n4) update\n 5) update-info\n6) update-pause\n"); - } - } -} + + }// end of for (int i=0; ... + + // use the code below to decide between injecting Aurora, Marathon, etc. as injections + AuroraJobSchedulerI auroraJS = new AuroraJobSchedulerImpl(); + BigDataInjectorI auroraInjector = new AuroraInjectorImpl(auroraJS); + auroraInjector.executeTheBigDataClientSideCommand(params); + + + } // end of public static void main +} // end of class From 16bb12f4308d95bc6c6d9c717eca92f1bc770d2b Mon Sep 17 00:00:00 2001 From: ajain13 Date: Mon, 27 Jun 2016 00:35:01 -0400 Subject: [PATCH 052/100] Cleaned up the tilde files and fixed a small bug which was causing compilation error --- .../cloud/AuroraIntegration/src/README.txt~ | 2 - .../cloud/AuroraIntegration/src/build.xml~ | 66 ------------------- .../auroraClient/AuroraJobSchedulerI.java | 2 +- .../AuroraInjectorImpl.java~ | 4 -- .../bigDataInjections/BigDataInjectorI.java~ | 3 - 5 files changed, 1 insertion(+), 76 deletions(-) delete mode 100644 modules/cloud/AuroraIntegration/src/README.txt~ delete mode 100644 modules/cloud/AuroraIntegration/src/build.xml~ delete mode 100644 modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/AuroraInjectorImpl.java~ delete mode 100644 modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/BigDataInjectorI.java~ diff --git a/modules/cloud/AuroraIntegration/src/README.txt~ b/modules/cloud/AuroraIntegration/src/README.txt~ deleted file mode 100644 index 47c254de7f..0000000000 --- a/modules/cloud/AuroraIntegration/src/README.txt~ +++ /dev/null @@ -1,2 +0,0 @@ - -/home/ajain13/gsoc_pulls/airavata/modules/cloud/AuroraIntegration/src diff --git a/modules/cloud/AuroraIntegration/src/build.xml~ b/modules/cloud/AuroraIntegration/src/build.xml~ deleted file mode 100644 index 8ffcf42da7..0000000000 --- a/modules/cloud/AuroraIntegration/src/build.xml~ +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerI.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerI.java index 9c06e0254c..4c40f6c1ba 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerI.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerI.java @@ -1,4 +1,4 @@ - +package org.apache.airavata.cloud.aurora.auroraClient; import org.apache.airavata.cloud.aurora.exception.AuroraException; diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/AuroraInjectorImpl.java~ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/AuroraInjectorImpl.java~ deleted file mode 100644 index 9d6be58f8d..0000000000 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/AuroraInjectorImpl.java~ +++ /dev/null @@ -1,4 +0,0 @@ - - -public class AuroraInjectorImpl { -} diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/BigDataInjectorI.java~ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/BigDataInjectorI.java~ deleted file mode 100644 index bf4bee6142..0000000000 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/BigDataInjectorI.java~ +++ /dev/null @@ -1,3 +0,0 @@ - -public class BigDataInjectorI { -} From c2b6b33749f41728d935a5a5d2ae042c6f7a178f Mon Sep 17 00:00:00 2001 From: ajain13 Date: Mon, 27 Jun 2016 16:57:10 -0400 Subject: [PATCH 053/100] Added another utility for process execution --- .../auroraClient/AuroraJobSchedulerImpl.java | 75 ++++++------------- .../cloud/aurora/utilities/AuroraUtilI.java | 1 + .../aurora/utilities/AuroraUtilImpl.java | 18 +++++ 3 files changed, 41 insertions(+), 53 deletions(-) diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerImpl.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerImpl.java index b8b31f89b0..06c4135a1f 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerImpl.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerImpl.java @@ -13,13 +13,12 @@ public class AuroraJobSchedulerImpl implements AuroraJobSchedulerI { AuroraUtilI util = new AuroraUtilImpl(); + + public void auroraJobCommand(String info, String command) throws AuroraException{ try{ - String line; - Process auroraJob = Runtime.getRuntime().exec("aurora task run example/benchmarks/devel/"+info+" "+command); - auroraJob.waitFor(); - BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); - + String completeCommandToRunProcess = "aurora task run example/benchmarks/devel/"+info+" "+command; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); util.printLog(stdout); } @@ -29,11 +28,8 @@ public void auroraJobCommand(String info, String command) throws AuroraException } public void jobUpdateList(String info) throws AuroraException{ try{ - String line; - Process auroraJob = Runtime.getRuntime().exec("aurora update list example/benchmarks/devel/"+info); - auroraJob.waitFor(); - BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); - + String completeCommandToRunProcess = "aurora update list example/benchmarks/devel/"+info; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); util.printLog(stdout); } @@ -44,11 +40,8 @@ public void jobUpdateList(String info) throws AuroraException{ } public void jobUpdateAbort(String info) throws AuroraException{ try{ - String line; - Process auroraJob = Runtime.getRuntime().exec("aurora abort pause example/benchmarks/devel/"+info); - auroraJob.waitFor(); - BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); - + String completeCommandToRunProcess = "aurora abort pause example/benchmarks/devel/"+info; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); util.printLog(stdout); } @@ -59,11 +52,8 @@ public void jobUpdateAbort(String info) throws AuroraException{ } public void jobUpdateResume(String info) throws AuroraException{ try{ - String line; - Process auroraJob = Runtime.getRuntime().exec("aurora update resume example/benchmarks/devel/"+info); - auroraJob.waitFor(); - BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); - + String completeCommandToRunProcess ="aurora update resume example/benchmarks/devel/"+info; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); util.printLog(stdout); } @@ -74,11 +64,8 @@ public void jobUpdateResume(String info) throws AuroraException{ } public void jobUpdatePause(String info) throws AuroraException{ try{ - String line; - Process auroraJob = Runtime.getRuntime().exec("aurora update pause example/benchmarks/devel/"+info); - auroraJob.waitFor(); - BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); - + String completeCommandToRunProcess = "aurora update pause example/benchmarks/devel/"+info; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); util.printLog(stdout); } @@ -89,12 +76,8 @@ public void jobUpdatePause(String info) throws AuroraException{ } public void jobUpdateInfo(String info) throws AuroraException{ try{ - String line; - Process auroraJob = Runtime.getRuntime().exec("aurora update info example/benchmarks/devel/"+info); - auroraJob.waitFor(); - BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); - - + String completeCommandToRunProcess = "aurora update info example/benchmarks/devel/"+info; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); util.printLog(stdout); } @@ -106,12 +89,8 @@ public void jobUpdateInfo(String info) throws AuroraException{ public void jobUpdate(String update) throws AuroraException{ try{ - String line; - Process auroraJob = Runtime.getRuntime().exec("aurora update start example/benchmarks/devel/"+update+" "+update+".aurora"); - auroraJob.waitFor(); - BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); - - + String completeCommandToRunProcess = "aurora update start example/benchmarks/devel/"+update+" "+update+".aurora"; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); util.printLog(stdout); } @@ -122,11 +101,8 @@ public void jobUpdate(String update) throws AuroraException{ } public void jobRestart(String restart) throws AuroraException{ try{ - String line; - Process auroraJob = Runtime.getRuntime().exec("aurora job restart example/benchmarks/devel/"+restart); - auroraJob.waitFor(); - BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); - + String completeCommandToRunProcess = "aurora job restart example/benchmarks/devel/"+restart; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); util.printLog(stdout); } @@ -137,12 +113,8 @@ public void jobRestart(String restart) throws AuroraException{ public void jobKill(String kill) throws AuroraException{ try{ - String line; - Process auroraJob = Runtime.getRuntime().exec("aurora job killall example/benchmarks/devel/"+kill); - auroraJob.waitFor(); - BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); - - + String completeCommandToRunProcess = "aurora job killall example/benchmarks/devel/"+kill; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); util.printLog(stdout); } @@ -152,12 +124,9 @@ public void jobKill(String kill) throws AuroraException{ } public void jobLaunch(String name) throws AuroraException{ try{ - String line; - Process auroraJob = Runtime.getRuntime().exec("aurora job create example/benchmarks/devel/"+name+" "+name+".aurora"); - BufferedReader stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); - + String completeCommandToRunProcess = "aurora job create example/benchmarks/devel/"+name+" "+name+".aurora"; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); util.printLog(stdout); - auroraJob.waitFor(); } catch (Exception ex) { diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilI.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilI.java index 7ba3fadce5..476da98c53 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilI.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilI.java @@ -6,4 +6,5 @@ public interface AuroraUtilI{ public void printLog(BufferedReader stdout) throws AuroraException; + public BufferedReader executeProcess(String commandToRunProcess) throws AuroraException; } diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilImpl.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilImpl.java index e2ad9481c9..912b864579 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilImpl.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilImpl.java @@ -4,6 +4,7 @@ import java.io.BufferedReader; import java.io.IOException; +import java.io.InputStreamReader; import org.apache.airavata.cloud.aurora.exception.AuroraException; @@ -22,4 +23,21 @@ public void printLog(BufferedReader stdout) throws AuroraException throw new AuroraException("IO Exception occured while passing the command.\n"+ex.toString()); } } + + public BufferedReader executeProcess(String commandToRunProcess) throws AuroraException + { + BufferedReader stdout = null; + try{ + Process auroraJob = Runtime.getRuntime().exec(commandToRunProcess); + auroraJob.waitFor(); + stdout = new BufferedReader(new InputStreamReader(auroraJob.getInputStream())); + } + catch(Exception ex) + { + throw new AuroraException("Exception occured while passing the command.\n"+ex.toString()); + + } + return stdout; + } + } From 0614a2334db37a6adf076291528f39c21953aeba Mon Sep 17 00:00:00 2001 From: ajain13 Date: Tue, 28 Jun 2016 16:01:36 -0400 Subject: [PATCH 054/100] Changed README.txt to README.md to incorporate markdown syntax --- modules/cloud/AuroraIntegration/src/README.md | 23 +++++++++++++++++++ .../cloud/AuroraIntegration/src/README.txt | 16 ------------- 2 files changed, 23 insertions(+), 16 deletions(-) create mode 100644 modules/cloud/AuroraIntegration/src/README.md delete mode 100644 modules/cloud/AuroraIntegration/src/README.txt diff --git a/modules/cloud/AuroraIntegration/src/README.md b/modules/cloud/AuroraIntegration/src/README.md new file mode 100644 index 0000000000..502ccdb420 --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/README.md @@ -0,0 +1,23 @@ +#Design changes to the Aurora Integration code + +##Compilation Instructions + +### **NOTE : Temporarily using ANT compile the Aurora Management code.** +### **TODO:** Integrate with maven build system, instead of using ANT. + +####In the following directory run the compilation command: +``` +airavata/modules/cloud/AuroraIntegration/src +``` + +####Compilation command +``` +ant all +``` + +####Run command +``` +**TODO:** Add the command to run and test the code. + +**TODO:** Will be adding sample output that shows the Aurora code working. +``` diff --git a/modules/cloud/AuroraIntegration/src/README.txt b/modules/cloud/AuroraIntegration/src/README.txt deleted file mode 100644 index a5d51f6320..0000000000 --- a/modules/cloud/AuroraIntegration/src/README.txt +++ /dev/null @@ -1,16 +0,0 @@ - - -## Temporarily using ANT compile the Aurora Management code. -## TODO: integrate with maven build system, instead of using ANT - -#In the following directory run the compilation command: -airavata/modules/cloud/AuroraIntegration/src - -#Compilation command -ant all - -#Run command -## TODO: add the command to run and test the code - -## Add sample output that shows the Aurora code working - From 2e0fe87fde1d78bb89e87c88ea4543f228b0f805 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Tue, 28 Jun 2016 16:06:29 -0400 Subject: [PATCH 055/100] Updated Aurora integration code usage README file --- modules/cloud/AuroraIntegration/README.md | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/modules/cloud/AuroraIntegration/README.md b/modules/cloud/AuroraIntegration/README.md index 95a5e20e39..cb46a59a87 100644 --- a/modules/cloud/AuroraIntegration/README.md +++ b/modules/cloud/AuroraIntegration/README.md @@ -1,11 +1,11 @@ #Requirements: -1: Apache Aurora -2: Apache Mesos +1. Apache Aurora +2. Apache Mesos #Installation: ##Please follow the link to set up Apache Aurora and Apache Mesos -1) [http://mesos.apache.org/gettingstarted/ OR https://open.mesosphere.com/getting-started/install/] -2) [http://aurora.apache.org/documentation/latest/operations/installation/] +1. http://mesos.apache.org/gettingstarted/ OR https://open.mesosphere.com/getting-started/install/ +2. http://aurora.apache.org/documentation/latest/operations/installation/ #Usage: @@ -19,5 +19,11 @@ -i = executable/image ``` #Example: -```To create and launch: auroraCreate -o create -r 1024 -n batik -c 2.0 -d 1000 -i gouravr/dacapo:tag9 -To kill: auroraCreate -o kill -k batik``` +To create and launch: +``` +auroraCreate -o create -r 1024 -n batik -c 2.0 -d 1000 -i gouravr/dacapo:tag9 +``` +To kill: +``` +auroraCreate -o kill -k batik``` +``` From f7def59f73a260c58bb6855a766681db7604ddf5 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Tue, 28 Jun 2016 16:08:12 -0400 Subject: [PATCH 056/100] Updated Aurora integration code usage instruction in README file --- modules/cloud/AuroraIntegration/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/cloud/AuroraIntegration/README.md b/modules/cloud/AuroraIntegration/README.md index cb46a59a87..4d9107d20e 100644 --- a/modules/cloud/AuroraIntegration/README.md +++ b/modules/cloud/AuroraIntegration/README.md @@ -25,5 +25,5 @@ auroraCreate -o create -r 1024 -n batik -c 2.0 -d 1000 -i gouravr/dacapo:tag9 ``` To kill: ``` -auroraCreate -o kill -k batik``` +auroraCreate -o kill -k batik ``` From 89bed048a3869e392a616e95dd65f63d89c497cc Mon Sep 17 00:00:00 2001 From: ajain13 Date: Tue, 28 Jun 2016 17:40:51 -0400 Subject: [PATCH 057/100] Changed package structures to segregate code better which works out for better dependency injection ,added placeholders for marathon integration code --- .../auroraClient/AuroraJobSchedulerI.java | 4 +-- .../auroraClient/AuroraJobSchedulerImpl.java | 10 +++--- .../marathonClient/MarathonJobSchedulerI.java | 9 ++++++ .../MarathonJobSchedulerImpl.java | 31 +++++++++++++++++++ .../bigDataInjections/AuroraInjectorImpl.java | 12 +++---- .../bigDataInjections/BigDataInjectorI.java | 2 +- .../auroraDriver}/AuroraAdminDriver.java | 22 ++++++------- .../auroraExceptions}/AuroraException.java | 2 +- .../marathonExceptions/MarathonException.java | 15 +++++++++ .../auroraUtilities}/AuroraUtilI.java | 4 +-- .../auroraUtilities}/AuroraUtilImpl.java | 6 ++-- .../marathonUtilities/MarathonUtilI.java | 11 +++++++ .../marathonUtilities/MarathonUtilImpl.java | 14 +++++++++ 13 files changed, 111 insertions(+), 31 deletions(-) rename modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/{ => bigDataClientSideServices}/aurora/auroraClient/AuroraJobSchedulerI.java (83%) rename modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/{ => bigDataClientSideServices}/aurora/auroraClient/AuroraJobSchedulerImpl.java (94%) create mode 100644 modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java create mode 100644 modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java rename modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/{aurora => }/bigDataInjections/AuroraInjectorImpl.java (85%) rename modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/{aurora => }/bigDataInjections/BigDataInjectorI.java (80%) rename modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/{aurora/driver => drivers/auroraDriver}/AuroraAdminDriver.java (75%) rename modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/{aurora/exception => exceptions/auroraExceptions}/AuroraException.java (82%) create mode 100644 modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/exceptions/marathonExceptions/MarathonException.java rename modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/{aurora/utilities => utilities/auroraUtilities}/AuroraUtilI.java (62%) rename modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/{aurora/utilities => utilities/auroraUtilities}/AuroraUtilImpl.java (87%) create mode 100644 modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilI.java create mode 100644 modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilImpl.java diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerI.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java similarity index 83% rename from modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerI.java rename to modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java index 4c40f6c1ba..274fed49fb 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerI.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java @@ -1,6 +1,6 @@ -package org.apache.airavata.cloud.aurora.auroraClient; +package org.apache.airavata.cloud.bigDataClientSideServices.aurora.auroraClient; -import org.apache.airavata.cloud.aurora.exception.AuroraException; +import org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; public interface AuroraJobSchedulerI { diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerImpl.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java similarity index 94% rename from modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerImpl.java rename to modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java index 06c4135a1f..4c5c99109e 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/auroraClient/AuroraJobSchedulerImpl.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java @@ -1,4 +1,4 @@ -package org.apache.airavata.cloud.aurora.auroraClient; +package org.apache.airavata.cloud.bigDataClientSideServices.aurora.auroraClient; import java.io.BufferedReader; import java.io.BufferedWriter; @@ -7,14 +7,14 @@ import java.io.IOException; import java.io.InputStreamReader; -import org.apache.airavata.cloud.aurora.exception.AuroraException; -import org.apache.airavata.cloud.aurora.utilities.AuroraUtilImpl; -import org.apache.airavata.cloud.aurora.utilities.AuroraUtilI; +import org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; +import org.apache.airavata.cloud.utilities.auroraUtilities.AuroraUtilImpl; +import org.apache.airavata.cloud.utilities.auroraUtilities.AuroraUtilI; public class AuroraJobSchedulerImpl implements AuroraJobSchedulerI { AuroraUtilI util = new AuroraUtilImpl(); - + public void auroraJobCommand(String info, String command) throws AuroraException{ try{ String completeCommandToRunProcess = "aurora task run example/benchmarks/devel/"+info+" "+command; diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java new file mode 100644 index 0000000000..28c73a9bf4 --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java @@ -0,0 +1,9 @@ +package org.apache.airavata.cloud.bigDataClientSideServices.marathon.marathonClient; + +import org.apache.airavata.cloud.exceptions.marathonExceptions.MarathonException; + +public interface MarathonJobSchedulerI { + + public void marathonJobCommand(String info, String command) throws MarathonException; + +} diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java new file mode 100644 index 0000000000..fc941dc904 --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java @@ -0,0 +1,31 @@ +package org.apache.airavata.cloud.bigDataClientSideServices.marathon.marathonClient; + +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.io.InputStreamReader; + +import org.apache.airavata.cloud.exceptions.marathonExceptions.MarathonException; +import org.apache.airavata.cloud.utilities.marathonUtilities.MarathonUtilImpl; +import org.apache.airavata.cloud.utilities.marathonUtilities.MarathonUtilI; + +public class MarathonJobSchedulerImpl implements MarathonJobSchedulerI { + MarathonUtilI util = new MarathonUtilImpl(); + + + public void marathonJobCommand(String info, String command) throws MarathonException{ + try{ + + //TODO:Command inmplementation + } + + catch (Exception ex) { + throw new MarathonException("Exception occured while passing the command.\n"+ex.toString()); + } + } + + //TODO:Rest of the commands inmplementation goes here + +} diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/AuroraInjectorImpl.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java similarity index 85% rename from modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/AuroraInjectorImpl.java rename to modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java index 4ca6b69540..f76801012b 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/AuroraInjectorImpl.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java @@ -1,18 +1,18 @@ -package org.apache.airavata.cloud.aurora.bigDataInjections; +package org.apache.airavata.cloud.bigDataInjections; import java.util.Map; import java.util.List; -import org.apache.airavata.cloud.aurora.auroraClient.AuroraJobSchedulerI; -import org.apache.airavata.cloud.aurora.auroraClient.AuroraJobSchedulerImpl; -import org.apache.airavata.cloud.aurora.exception.AuroraException; +import org.apache.airavata.cloud.bigDataClientSideServices.aurora.auroraClient.AuroraJobSchedulerI; +import org.apache.airavata.cloud.bigDataClientSideServices.aurora.auroraClient.AuroraJobSchedulerImpl; +import org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; public class AuroraInjectorImpl implements BigDataInjectorI { private AuroraJobSchedulerI auroraJS = null; - + public AuroraInjectorImpl(AuroraJobSchedulerI auroraJSIn) { auroraJS = auroraJSIn; } @@ -20,7 +20,7 @@ public AuroraInjectorImpl(AuroraJobSchedulerI auroraJSIn) { public void executeTheBigDataClientSideCommand(Map> commandLineOptions) { - + String commandName = commandLineOptions.get("o").get(0); String RamSize, JobName, CpuCount, DiskSize, Image; diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/BigDataInjectorI.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataInjections/BigDataInjectorI.java similarity index 80% rename from modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/BigDataInjectorI.java rename to modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataInjections/BigDataInjectorI.java index e821bc8d9f..c623d57a1f 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/bigDataInjections/BigDataInjectorI.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataInjections/BigDataInjectorI.java @@ -1,5 +1,5 @@ -package org.apache.airavata.cloud.aurora.bigDataInjections; +package org.apache.airavata.cloud.bigDataInjections; import java.util.Map; import java.util.List; diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/driver/AuroraAdminDriver.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java similarity index 75% rename from modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/driver/AuroraAdminDriver.java rename to modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java index 0a3cc629ba..20b4144fdd 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/driver/AuroraAdminDriver.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java @@ -1,15 +1,15 @@ -package org.apache.airavata.cloud.aurora.driver; +package org.apache.airavata.cloud.drivers.auroraDriver; // TODO: need javadoc documentation at the top of each method // TODO: individually import the types import java.util.*; -import org.apache.airavata.cloud.aurora.exception.AuroraException; -import org.apache.airavata.cloud.aurora.auroraClient.AuroraJobSchedulerI; -import org.apache.airavata.cloud.aurora.auroraClient.AuroraJobSchedulerImpl; -import org.apache.airavata.cloud.aurora.bigDataInjections.AuroraInjectorImpl; -import org.apache.airavata.cloud.aurora.bigDataInjections.BigDataInjectorI; +import org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; +import org.apache.airavata.cloud.bigDataClientSideServices.aurora.auroraClient.AuroraJobSchedulerI; +import org.apache.airavata.cloud.bigDataClientSideServices.aurora.auroraClient.AuroraJobSchedulerImpl; +import org.apache.airavata.cloud.bigDataInjections.AuroraInjectorImpl; +import org.apache.airavata.cloud.bigDataInjections.BigDataInjectorI; public class AuroraAdminDriver{ public static void main(String[] args) { @@ -24,7 +24,7 @@ public static void main(String[] args) { // TODO: explain why this Map data structure is needed Map> params = new HashMap<>(); - + // TODO: explain what is the purpose of this List List options = null; for (int i = 0; i < args.length; i++) { @@ -49,13 +49,13 @@ else if (options != null) { return; } - + }// end of for (int i=0; ... - - // use the code below to decide between injecting Aurora, Marathon, etc. as injections + + // use the code below to decide between injecting Aurora, Marathon, etc. as injections AuroraJobSchedulerI auroraJS = new AuroraJobSchedulerImpl(); BigDataInjectorI auroraInjector = new AuroraInjectorImpl(auroraJS); - auroraInjector.executeTheBigDataClientSideCommand(params); + auroraInjector.executeTheBigDataClientSideCommand(params); } // end of public static void main diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/exception/AuroraException.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/exceptions/auroraExceptions/AuroraException.java similarity index 82% rename from modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/exception/AuroraException.java rename to modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/exceptions/auroraExceptions/AuroraException.java index b3a6abde08..ff698919a0 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/exception/AuroraException.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/exceptions/auroraExceptions/AuroraException.java @@ -1,4 +1,4 @@ -package org.apache.airavata.cloud.aurora.exception; +package org.apache.airavata.cloud.exceptions.auroraExceptions; public class AuroraException extends Exception { private String exceptionMsg; diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/exceptions/marathonExceptions/MarathonException.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/exceptions/marathonExceptions/MarathonException.java new file mode 100644 index 0000000000..af86754afa --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/exceptions/marathonExceptions/MarathonException.java @@ -0,0 +1,15 @@ +package org.apache.airavata.cloud.exceptions.marathonExceptions; + +public class MarathonException extends Exception { + private String exceptionMsg; + public MarathonException(){ + exceptionMsg=""; + } + public MarathonException(String exceptionMsgIn){ + exceptionMsg=exceptionMsgIn;; + } + + public String toString(){ + return this.exceptionMsg; + } + } diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilI.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilI.java similarity index 62% rename from modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilI.java rename to modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilI.java index 476da98c53..554689bae6 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilI.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilI.java @@ -1,8 +1,8 @@ -package org.apache.airavata.cloud.aurora.utilities; +package org.apache.airavata.cloud.utilities.auroraUtilities; import java.io.BufferedReader; -import org.apache.airavata.cloud.aurora.exception.AuroraException; +import org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; public interface AuroraUtilI{ public void printLog(BufferedReader stdout) throws AuroraException; diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilImpl.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilImpl.java similarity index 87% rename from modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilImpl.java rename to modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilImpl.java index 912b864579..b760554cc1 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/aurora/utilities/AuroraUtilImpl.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilImpl.java @@ -1,12 +1,12 @@ -package org.apache.airavata.cloud.aurora.utilities; +package org.apache.airavata.cloud.utilities.auroraUtilities; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; -import org.apache.airavata.cloud.aurora.exception.AuroraException; +import org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; public class AuroraUtilImpl implements AuroraUtilI{ public void printLog(BufferedReader stdout) throws AuroraException @@ -39,5 +39,5 @@ public BufferedReader executeProcess(String commandToRunProcess) throws AuroraEx } return stdout; } - + } diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilI.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilI.java new file mode 100644 index 0000000000..c86aba15cd --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilI.java @@ -0,0 +1,11 @@ +package org.apache.airavata.cloud.utilities.marathonUtilities; + +import java.io.BufferedReader; + +import org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; + +public interface MarathonUtilI{ + + //TODO:Abstract Marathon methods goes heresss + +} diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilImpl.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilImpl.java new file mode 100644 index 0000000000..9fe9a47658 --- /dev/null +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilImpl.java @@ -0,0 +1,14 @@ + +package org.apache.airavata.cloud.utilities.marathonUtilities; + + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +import org.apache.airavata.cloud.exceptions.marathonExceptions.MarathonException; + +public class MarathonUtilImpl implements MarathonUtilI{ + //TODO: Marathon utilities code goes here + +} From 51fcf8f1d9a96aee166d0cda110b6a7ee75234fd Mon Sep 17 00:00:00 2001 From: ajain13 Date: Tue, 28 Jun 2016 17:44:04 -0400 Subject: [PATCH 058/100] Updated README file --- modules/cloud/AuroraIntegration/src/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/cloud/AuroraIntegration/src/README.md b/modules/cloud/AuroraIntegration/src/README.md index 502ccdb420..477d57950a 100644 --- a/modules/cloud/AuroraIntegration/src/README.md +++ b/modules/cloud/AuroraIntegration/src/README.md @@ -1,4 +1,4 @@ -#Design changes to the Aurora Integration code +#Design changes to the Aurora/Marathon Integration code ##Compilation Instructions @@ -19,5 +19,5 @@ ant all ``` **TODO:** Add the command to run and test the code. -**TODO:** Will be adding sample output that shows the Aurora code working. +**TODO:** Will be adding sample output that shows the Aurora/Marathon code working. ``` From 76641c97de18a73c60223210993ea85629805112 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Wed, 29 Jun 2016 15:04:23 -0400 Subject: [PATCH 059/100] Updated AuroraJobScheduler interface --- .../aurora/auroraClient/AuroraJobSchedulerI.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java index 274fed49fb..addaaf260f 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java @@ -4,13 +4,14 @@ public interface AuroraJobSchedulerI { - public void jobUpdateInfo(String info) throws AuroraException; - public void jobUpdate(String update) throws AuroraException; - public void jobUpdateResume(String info) throws AuroraException; - public void jobUpdateAbort(String info) throws AuroraException; + + public void auroraJobCommand(String info, String command) throws AuroraException; public void jobUpdateList(String info) throws AuroraException; + public void jobUpdateAbort(String info) throws AuroraException; + public void jobUpdateResume(String info) throws AuroraException; public void jobUpdatePause(String info) throws AuroraException; - public void auroraJobCommand(String info, String command) throws AuroraException; + public void jobUpdateInfo(String info) throws AuroraException; + public void jobUpdate(String update) throws AuroraException; public void jobRestart(String restart) throws AuroraException; public void jobKill(String kill) throws AuroraException; public void jobLaunch(String name) throws AuroraException; From 6f6bb7711a14e38f2e2f681a643b33f78f4ce647 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Wed, 29 Jun 2016 16:13:31 -0400 Subject: [PATCH 060/100] Updated README file with more command USAGE examples --- modules/cloud/AuroraIntegration/README.md | 39 ++++++++++++++++++- .../bigDataInjections/AuroraInjectorImpl.java | 1 - 2 files changed, 37 insertions(+), 3 deletions(-) diff --git a/modules/cloud/AuroraIntegration/README.md b/modules/cloud/AuroraIntegration/README.md index 4d9107d20e..2656a91a66 100644 --- a/modules/cloud/AuroraIntegration/README.md +++ b/modules/cloud/AuroraIntegration/README.md @@ -21,9 +21,44 @@ #Example: To create and launch: ``` -auroraCreate -o create -r 1024 -n batik -c 2.0 -d 1000 -i gouravr/dacapo:tag9 +java -jar AuroraAdminDriver -o create -r 1024 -n batik -c 2.0 -d 1000 -i gouravr/dacapo:tag9 ``` To kill: ``` -auroraCreate -o kill -k batik +java -jar AuroraAdminDriver -o kill -k batik +``` + +To update: +``` +java -jar AuroraAdminDriver -o update -n batik +``` + +To retrieve update information: +``` +java -jar AuroraAdminDriver -o update-info -n batik +``` + +To pause an update: +``` +java -jar AuroraAdminDriver -o update-pause -n batik +``` + +To list the update progress: +``` +java -jar AuroraAdminDriver -o update-list -n batik +``` + +To abort an update: +``` +java -jar AuroraAdminDriver -o update-abort -n batik +``` + +To resume an update: +``` +java -jar AuroraAdminDriver -o update-resume -n batik +``` + +To restart a job: +``` +java -jar AuroraAdminDriver -o restart -n batik ``` diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java index f76801012b..8fabb51a92 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java @@ -1,4 +1,3 @@ - package org.apache.airavata.cloud.bigDataInjections; import java.util.Map; From 71f5fe5826b40ca45ac4b6096e794b7d04f74242 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Thu, 30 Jun 2016 15:03:28 -0400 Subject: [PATCH 061/100] Updated with jobDiff functionality and made design changes in the same. Also, updated the kill command usage in README file which had a small typo --- modules/cloud/AuroraIntegration/README.md | 18 +++++++++--------- .../auroraClient/AuroraJobSchedulerI.java | 1 + .../auroraClient/AuroraJobSchedulerImpl.java | 13 +++++++++++++ 3 files changed, 23 insertions(+), 9 deletions(-) diff --git a/modules/cloud/AuroraIntegration/README.md b/modules/cloud/AuroraIntegration/README.md index 2656a91a66..84de94b3bc 100644 --- a/modules/cloud/AuroraIntegration/README.md +++ b/modules/cloud/AuroraIntegration/README.md @@ -21,44 +21,44 @@ #Example: To create and launch: ``` -java -jar AuroraAdminDriver -o create -r 1024 -n batik -c 2.0 -d 1000 -i gouravr/dacapo:tag9 +java -jar auroraDriverl.jar -o create -r 1024 -n batik -c 2.0 -d 1000 -i gouravr/dacapo:tag9 ``` To kill: ``` -java -jar AuroraAdminDriver -o kill -k batik +java -jar auroraDriverl.jar -o kill -n batik ``` To update: ``` -java -jar AuroraAdminDriver -o update -n batik +java -jar auroraDriverl.jar -o update -n batik ``` To retrieve update information: ``` -java -jar AuroraAdminDriver -o update-info -n batik +java -jar auroraDriverl.jar -o update-info -n batik ``` To pause an update: ``` -java -jar AuroraAdminDriver -o update-pause -n batik +java -jar auroraDriverl.jar -o update-pause -n batik ``` To list the update progress: ``` -java -jar AuroraAdminDriver -o update-list -n batik +java -jar auroraDriverl.jar -o update-list -n batik ``` To abort an update: ``` -java -jar AuroraAdminDriver -o update-abort -n batik +java -jar auroraDriverl.jar -o update-abort -n batik ``` To resume an update: ``` -java -jar AuroraAdminDriver -o update-resume -n batik +java -jar auroraDriverl.jar -o update-resume -n batik ``` To restart a job: ``` -java -jar AuroraAdminDriver -o restart -n batik +java -jar auroraDriverl.jar -o restart -n batik ``` diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java index addaaf260f..10d1f3479b 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java @@ -16,4 +16,5 @@ public interface AuroraJobSchedulerI { public void jobKill(String kill) throws AuroraException; public void jobLaunch(String name) throws AuroraException; public void configCreate(String name, String ram, String cpu, String disk, String image) throws AuroraException; + public void jobDiff(String key, String config) throws AuroraException; } diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java index 4c5c99109e..4816933331 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java @@ -153,4 +153,17 @@ public void configCreate(String name, String ram, String cpu, String disk, Strin throw new AuroraException("Exception occured while creating the configuration file.\n"+ex.toString()); } } + + + public void jobDiff(String key, String config) throws AuroraException{ + try{ + String completeCommandToRunProcess = "aurora job diff "+key+" "+config; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); + util.printLog(stdout); + } + + catch (Exception ex) { + throw new AuroraException("Exception occured while retrieving the job difference.\n"+ex.toString()); + } + } } From f4dcc13ebe4cb3b28fe52c1327fd09fec9971ee4 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Thu, 30 Jun 2016 16:43:15 -0400 Subject: [PATCH 062/100] Updated code with configList option,updated aurora client interface --- .../aurora/auroraClient/AuroraJobSchedulerI.java | 1 + .../aurora/auroraClient/AuroraJobSchedulerImpl.java | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java index 10d1f3479b..986a400437 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java @@ -17,4 +17,5 @@ public interface AuroraJobSchedulerI { public void jobLaunch(String name) throws AuroraException; public void configCreate(String name, String ram, String cpu, String disk, String image) throws AuroraException; public void jobDiff(String key, String config) throws AuroraException; + public void configList(String config) throws AuroraException; } diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java index 4816933331..f69f30d10c 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java @@ -166,4 +166,16 @@ public void jobDiff(String key, String config) throws AuroraException{ throw new AuroraException("Exception occured while retrieving the job difference.\n"+ex.toString()); } } + + public void configList(String config) throws AuroraException{ + try{ + String completeCommandToRunProcess = "aurora config list "+config; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); + util.printLog(stdout); + } + + catch (Exception ex) { + throw new AuroraException("Exception occured while retrieving the list of jobs.\n"+ex.toString()); + } + } } From 2d17ffe10c8ed787dda760f111d90af142ed77e7 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Wed, 6 Jul 2016 16:17:37 -0400 Subject: [PATCH 063/100] Updated Aurora Job Scheduler code with the jobInspect function and made design changes. --- .../aurora/auroraClient/AuroraJobSchedulerI.java | 1 + .../aurora/auroraClient/AuroraJobSchedulerImpl.java | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java index 986a400437..bee4df6504 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java @@ -18,4 +18,5 @@ public interface AuroraJobSchedulerI { public void configCreate(String name, String ram, String cpu, String disk, String image) throws AuroraException; public void jobDiff(String key, String config) throws AuroraException; public void configList(String config) throws AuroraException; + public void jobInspect(String key, String config) throws AuroraException; } diff --git a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java index f69f30d10c..c074f9f71f 100644 --- a/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java +++ b/modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java @@ -178,4 +178,16 @@ public void configList(String config) throws AuroraException{ throw new AuroraException("Exception occured while retrieving the list of jobs.\n"+ex.toString()); } } + + public void jobInspect(String key, String config) throws AuroraException{ + try{ + String completeCommandToRunProcess = "aurora job inspect "+key+" "+config; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); + util.printLog(stdout); + } + + catch (Exception ex) { + throw new AuroraException("Exception occured while inspecting the job.\n"+ex.toString()); + } + } } From bc6ad2c86e163c07071cab31a2bc87e399dd0d07 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Thu, 7 Jul 2016 13:23:57 -0400 Subject: [PATCH 064/100] Changed package structure to follow standared maven which will be added in the next pull request soon --- modules/cloud/AuroraIntegration/src/build.xml | 9 +++++---- .../aurora/auroraClient/AuroraJobSchedulerI.java | 4 ++-- .../aurora/auroraClient/AuroraJobSchedulerImpl.java | 8 ++++---- .../marathonClient/MarathonJobSchedulerI.java | 9 +++++++++ .../marathonClient/MarathonJobSchedulerImpl.java | 8 ++++---- .../cloud/bigDataInjections/AuroraInjectorImpl.java | 8 ++++---- .../cloud/bigDataInjections/BigDataInjectorI.java | 2 +- .../drivers/auroraDriver/AuroraAdminDriver.java | 12 ++++++------ .../exceptions/auroraExceptions/AuroraException.java | 2 +- .../marathonExceptions/MarathonException.java | 2 +- .../cloud/utilities/auroraUtilities/AuroraUtilI.java | 4 ++-- .../utilities/auroraUtilities/AuroraUtilImpl.java | 4 ++-- .../utilities/marathonUtilities/MarathonUtilI.java | 11 +++++++++++ .../marathonUtilities/MarathonUtilImpl.java | 4 ++-- .../marathonClient/MarathonJobSchedulerI.java | 9 --------- .../utilities/marathonUtilities/MarathonUtilI.java | 11 ----------- 16 files changed, 54 insertions(+), 53 deletions(-) rename modules/cloud/AuroraIntegration/src/{ => main/java}/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java (85%) rename modules/cloud/AuroraIntegration/src/{ => main/java}/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java (95%) create mode 100644 modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java rename modules/cloud/AuroraIntegration/src/{ => main/java}/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java (63%) rename modules/cloud/AuroraIntegration/src/{ => main/java}/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java (83%) rename modules/cloud/AuroraIntegration/src/{ => main/java}/org/apache/airavata/cloud/bigDataInjections/BigDataInjectorI.java (79%) rename modules/cloud/AuroraIntegration/src/{ => main/java}/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java (77%) rename modules/cloud/AuroraIntegration/src/{ => main/java}/org/apache/airavata/cloud/exceptions/auroraExceptions/AuroraException.java (80%) rename modules/cloud/AuroraIntegration/src/{ => main/java}/org/apache/airavata/cloud/exceptions/marathonExceptions/MarathonException.java (80%) rename modules/cloud/AuroraIntegration/src/{ => main/java}/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilI.java (58%) rename modules/cloud/AuroraIntegration/src/{ => main/java}/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilImpl.java (86%) create mode 100644 modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilI.java rename modules/cloud/AuroraIntegration/src/{ => main/java}/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilImpl.java (54%) delete mode 100644 modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java delete mode 100644 modules/cloud/AuroraIntegration/src/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilI.java diff --git a/modules/cloud/AuroraIntegration/src/build.xml b/modules/cloud/AuroraIntegration/src/build.xml index 55333361a5..37c7102712 100644 --- a/modules/cloud/AuroraIntegration/src/build.xml +++ b/modules/cloud/AuroraIntegration/src/build.xml @@ -10,7 +10,8 @@ + depends="main + "/> @@ -27,7 +28,7 @@ - + @@ -38,9 +39,9 @@ - + Date: Thu, 7 Jul 2016 16:03:26 -0400 Subject: [PATCH 065/100] Integrated with maven build, updated package structure, added AuroraIntegration module in modules/cloud/pom.xml --- modules/cloud/AuroraIntegration/pom.xml | 43 +++++++++++++++ modules/cloud/AuroraIntegration/src/build.xml | 54 ------------------- .../auroraClient/AuroraJobSchedulerI.java | 4 +- .../auroraClient/AuroraJobSchedulerImpl.java | 8 +-- .../marathonClient/MarathonJobSchedulerI.java | 4 +- .../MarathonJobSchedulerImpl.java | 8 +-- .../bigDataInjections/AuroraInjectorImpl.java | 8 +-- .../bigDataInjections/BigDataInjectorI.java | 2 +- .../auroraDriver/AuroraAdminDriver.java | 12 ++--- .../auroraExceptions/AuroraException.java | 2 +- .../marathonExceptions/MarathonException.java | 2 +- .../auroraUtilities/AuroraUtilI.java | 4 +- .../auroraUtilities/AuroraUtilImpl.java | 4 +- .../marathonUtilities/MarathonUtilI.java | 4 +- .../marathonUtilities/MarathonUtilImpl.java | 4 +- modules/cloud/pom.xml | 3 +- 16 files changed, 78 insertions(+), 88 deletions(-) create mode 100644 modules/cloud/AuroraIntegration/pom.xml delete mode 100644 modules/cloud/AuroraIntegration/src/build.xml diff --git a/modules/cloud/AuroraIntegration/pom.xml b/modules/cloud/AuroraIntegration/pom.xml new file mode 100644 index 0000000000..10373038b2 --- /dev/null +++ b/modules/cloud/AuroraIntegration/pom.xml @@ -0,0 +1,43 @@ + + 4.0.0 + + org.apache.airavata + airavata-cloud + 0.16-SNAPSHOT + ../pom.xml + + + AuroraIntergration + org.apache.airavata.cloud.drivers.auroraDriver + jar + Airavata Aurora Integration + http://airavata.apache.org/ + + + + target + target/classes + ${project.artifactId}-${project.version} + src/main/java + + + org.apache.maven.plugins + maven-jar-plugin + + + + org.apache.airavata.cloud.drivers.auroraDriver.AuroraAdminDriver + + + + + + + + + UTF-8 + UTF-8 + + + diff --git a/modules/cloud/AuroraIntegration/src/build.xml b/modules/cloud/AuroraIntegration/src/build.xml deleted file mode 100644 index 37c7102712..0000000000 --- a/modules/cloud/AuroraIntegration/src/build.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java index a41a4d822d..bee4df6504 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java @@ -1,6 +1,6 @@ -package main.java.org.apache.airavata.cloud.bigDataClientSideServices.aurora.auroraClient; +package org.apache.airavata.cloud.bigDataClientSideServices.aurora.auroraClient; -import main.java.org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; +import org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; public interface AuroraJobSchedulerI { diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java index eb4619aa2a..c074f9f71f 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java @@ -1,4 +1,4 @@ -package main.java.org.apache.airavata.cloud.bigDataClientSideServices.aurora.auroraClient; +package org.apache.airavata.cloud.bigDataClientSideServices.aurora.auroraClient; import java.io.BufferedReader; import java.io.BufferedWriter; @@ -7,9 +7,9 @@ import java.io.IOException; import java.io.InputStreamReader; -import main.java.org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; -import main.java.org.apache.airavata.cloud.utilities.auroraUtilities.AuroraUtilImpl; -import main.java.org.apache.airavata.cloud.utilities.auroraUtilities.AuroraUtilI; +import org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; +import org.apache.airavata.cloud.utilities.auroraUtilities.AuroraUtilImpl; +import org.apache.airavata.cloud.utilities.auroraUtilities.AuroraUtilI; public class AuroraJobSchedulerImpl implements AuroraJobSchedulerI { AuroraUtilI util = new AuroraUtilImpl(); diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java index 44541c842f..28c73a9bf4 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java @@ -1,6 +1,6 @@ -package main.java.org.apache.airavata.cloud.bigDataClientSideServices.marathon.marathonClient; +package org.apache.airavata.cloud.bigDataClientSideServices.marathon.marathonClient; -import main.java.org.apache.airavata.cloud.exceptions.marathonExceptions.MarathonException; +import org.apache.airavata.cloud.exceptions.marathonExceptions.MarathonException; public interface MarathonJobSchedulerI { diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java index 1a3c4f4c72..fc941dc904 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java @@ -1,4 +1,4 @@ -package main.java.org.apache.airavata.cloud.bigDataClientSideServices.marathon.marathonClient; +package org.apache.airavata.cloud.bigDataClientSideServices.marathon.marathonClient; import java.io.BufferedReader; import java.io.BufferedWriter; @@ -7,9 +7,9 @@ import java.io.IOException; import java.io.InputStreamReader; -import main.java.org.apache.airavata.cloud.exceptions.marathonExceptions.MarathonException; -import main.java.org.apache.airavata.cloud.utilities.marathonUtilities.MarathonUtilImpl; -import main.java.org.apache.airavata.cloud.utilities.marathonUtilities.MarathonUtilI; +import org.apache.airavata.cloud.exceptions.marathonExceptions.MarathonException; +import org.apache.airavata.cloud.utilities.marathonUtilities.MarathonUtilImpl; +import org.apache.airavata.cloud.utilities.marathonUtilities.MarathonUtilI; public class MarathonJobSchedulerImpl implements MarathonJobSchedulerI { MarathonUtilI util = new MarathonUtilImpl(); diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java index 659902155f..8fabb51a92 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java @@ -1,12 +1,12 @@ -package main.java.org.apache.airavata.cloud.bigDataInjections; +package org.apache.airavata.cloud.bigDataInjections; import java.util.Map; import java.util.List; -import main.java.org.apache.airavata.cloud.bigDataClientSideServices.aurora.auroraClient.AuroraJobSchedulerI; -import main.java.org.apache.airavata.cloud.bigDataClientSideServices.aurora.auroraClient.AuroraJobSchedulerImpl; -import main.java.org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; +import org.apache.airavata.cloud.bigDataClientSideServices.aurora.auroraClient.AuroraJobSchedulerI; +import org.apache.airavata.cloud.bigDataClientSideServices.aurora.auroraClient.AuroraJobSchedulerImpl; +import org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; public class AuroraInjectorImpl implements BigDataInjectorI { diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/BigDataInjectorI.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/BigDataInjectorI.java index 0281ed1bea..c623d57a1f 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/BigDataInjectorI.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/BigDataInjectorI.java @@ -1,5 +1,5 @@ -package main.java.org.apache.airavata.cloud.bigDataInjections; +package org.apache.airavata.cloud.bigDataInjections; import java.util.Map; import java.util.List; diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java index 0a4a62564f..20b4144fdd 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java @@ -1,15 +1,15 @@ -package main.java.org.apache.airavata.cloud.drivers.auroraDriver; +package org.apache.airavata.cloud.drivers.auroraDriver; // TODO: need javadoc documentation at the top of each method // TODO: individually import the types import java.util.*; -import main.java.org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; -import main.java.org.apache.airavata.cloud.bigDataClientSideServices.aurora.auroraClient.AuroraJobSchedulerI; -import main.java.org.apache.airavata.cloud.bigDataClientSideServices.aurora.auroraClient.AuroraJobSchedulerImpl; -import main.java.org.apache.airavata.cloud.bigDataInjections.AuroraInjectorImpl; -import main.java.org.apache.airavata.cloud.bigDataInjections.BigDataInjectorI; +import org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; +import org.apache.airavata.cloud.bigDataClientSideServices.aurora.auroraClient.AuroraJobSchedulerI; +import org.apache.airavata.cloud.bigDataClientSideServices.aurora.auroraClient.AuroraJobSchedulerImpl; +import org.apache.airavata.cloud.bigDataInjections.AuroraInjectorImpl; +import org.apache.airavata.cloud.bigDataInjections.BigDataInjectorI; public class AuroraAdminDriver{ public static void main(String[] args) { diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/auroraExceptions/AuroraException.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/auroraExceptions/AuroraException.java index 68c8d833e2..ff698919a0 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/auroraExceptions/AuroraException.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/auroraExceptions/AuroraException.java @@ -1,4 +1,4 @@ -package main.java.org.apache.airavata.cloud.exceptions.auroraExceptions; +package org.apache.airavata.cloud.exceptions.auroraExceptions; public class AuroraException extends Exception { private String exceptionMsg; diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/marathonExceptions/MarathonException.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/marathonExceptions/MarathonException.java index 62abcdbd3d..af86754afa 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/marathonExceptions/MarathonException.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/marathonExceptions/MarathonException.java @@ -1,4 +1,4 @@ -package main.java.org.apache.airavata.cloud.exceptions.marathonExceptions; +package org.apache.airavata.cloud.exceptions.marathonExceptions; public class MarathonException extends Exception { private String exceptionMsg; diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilI.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilI.java index 58f3769120..554689bae6 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilI.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilI.java @@ -1,8 +1,8 @@ -package main.java.org.apache.airavata.cloud.utilities.auroraUtilities; +package org.apache.airavata.cloud.utilities.auroraUtilities; import java.io.BufferedReader; -import main.java.org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; +import org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; public interface AuroraUtilI{ public void printLog(BufferedReader stdout) throws AuroraException; diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilImpl.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilImpl.java index 8c0aba82bf..b760554cc1 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilImpl.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilImpl.java @@ -1,12 +1,12 @@ -package main.java.org.apache.airavata.cloud.utilities.auroraUtilities; +package org.apache.airavata.cloud.utilities.auroraUtilities; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; -import main.java.org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; +import org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; public class AuroraUtilImpl implements AuroraUtilI{ public void printLog(BufferedReader stdout) throws AuroraException diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilI.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilI.java index c3532188c8..594cc9eacf 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilI.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilI.java @@ -1,8 +1,8 @@ -package main.java.org.apache.airavata.cloud.utilities.marathonUtilities; +package org.apache.airavata.cloud.utilities.marathonUtilities; import java.io.BufferedReader; -import main.java.org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; +import org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; public interface MarathonUtilI{ diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilImpl.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilImpl.java index fc9d9fb866..9fe9a47658 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilImpl.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilImpl.java @@ -1,12 +1,12 @@ -package main.java.org.apache.airavata.cloud.utilities.marathonUtilities; +package org.apache.airavata.cloud.utilities.marathonUtilities; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; -import main.java.org.apache.airavata.cloud.exceptions.marathonExceptions.MarathonException; +import org.apache.airavata.cloud.exceptions.marathonExceptions.MarathonException; public class MarathonUtilImpl implements MarathonUtilI{ //TODO: Marathon utilities code goes here diff --git a/modules/cloud/pom.xml b/modules/cloud/pom.xml index 42495e9557..ef0e1f9630 100644 --- a/modules/cloud/pom.xml +++ b/modules/cloud/pom.xml @@ -28,6 +28,7 @@ cloud-provisioning + AuroraIntegration - \ No newline at end of file + From 25dc38f0598769b9c85328daa1ce2cdad491fb27 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Thu, 7 Jul 2016 16:17:54 -0400 Subject: [PATCH 066/100] Updated pom.xml to change the jar file name --- modules/cloud/AuroraIntegration/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/cloud/AuroraIntegration/pom.xml b/modules/cloud/AuroraIntegration/pom.xml index 10373038b2..83c9d35260 100644 --- a/modules/cloud/AuroraIntegration/pom.xml +++ b/modules/cloud/AuroraIntegration/pom.xml @@ -8,7 +8,7 @@ ../pom.xml - AuroraIntergration + AuroraIntegration org.apache.airavata.cloud.drivers.auroraDriver jar Airavata Aurora Integration From 0dbcee4429c8f43e710b8605e0b1ba93b864841b Mon Sep 17 00:00:00 2001 From: ajain13 Date: Thu, 7 Jul 2016 16:21:57 -0400 Subject: [PATCH 067/100] Updated jar file name in the USAGE section in readme file --- modules/cloud/AuroraIntegration/README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/modules/cloud/AuroraIntegration/README.md b/modules/cloud/AuroraIntegration/README.md index 84de94b3bc..805c314100 100644 --- a/modules/cloud/AuroraIntegration/README.md +++ b/modules/cloud/AuroraIntegration/README.md @@ -21,44 +21,44 @@ #Example: To create and launch: ``` -java -jar auroraDriverl.jar -o create -r 1024 -n batik -c 2.0 -d 1000 -i gouravr/dacapo:tag9 +java -jar AuroraIntegration-0.16-SNAPSHOT.jar -o create -r 1024 -n batik -c 2.0 -d 1000 -i gouravr/dacapo:tag9 ``` To kill: ``` -java -jar auroraDriverl.jar -o kill -n batik +java -jar AuroraIntegration-0.16-SNAPSHOT.jar -o kill -n batik ``` To update: ``` -java -jar auroraDriverl.jar -o update -n batik +java -jar AuroraIntegration-0.16-SNAPSHOT.jar -o update -n batik ``` To retrieve update information: ``` -java -jar auroraDriverl.jar -o update-info -n batik +java -jar AuroraIntegration-0.16-SNAPSHOT.jar -o update-info -n batik ``` To pause an update: ``` -java -jar auroraDriverl.jar -o update-pause -n batik +java -jar AuroraIntegration-0.16-SNAPSHOT.jar -o update-pause -n batik ``` To list the update progress: ``` -java -jar auroraDriverl.jar -o update-list -n batik +java -jar AuroraIntegration-0.16-SNAPSHOT.jar -o update-list -n batik ``` To abort an update: ``` -java -jar auroraDriverl.jar -o update-abort -n batik +java -jar AuroraIntegration-0.16-SNAPSHOT.jar -o update-abort -n batik ``` To resume an update: ``` -java -jar auroraDriverl.jar -o update-resume -n batik +java -jar AuroraIntegration-0.16-SNAPSHOT.jar -o update-resume -n batik ``` To restart a job: ``` -java -jar auroraDriverl.jar -o restart -n batik +java -jar AuroraIntegration-0.16-SNAPSHOT.jar -o restart -n batik ``` From e86e17fc128179122b81b9c498ff45a96947847d Mon Sep 17 00:00:00 2001 From: ajain13 Date: Thu, 7 Jul 2016 16:40:22 -0400 Subject: [PATCH 068/100] Updated airavata pom.xml to check the build --- pom.xml | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/pom.xml b/pom.xml index 0c12844ae1..1cb56d4bef 100644 --- a/pom.xml +++ b/pom.xml @@ -1,14 +1,14 @@ - @@ -530,9 +530,9 @@ false ${skipTests} ${project.build.testOutputDirectory} - - **/IT.java @@ -551,7 +551,7 @@ modules/configuration airavata-api modules/commons - modules/messaging + modules/messaging modules/gfac modules/registry modules/security @@ -559,7 +559,7 @@ modules/orchestrator modules/monitoring modules/user-profile - + modules/cloud modules/server modules/workflow modules/test-suite From 16b8c1f539bc7af174f4ec756446252ca588e26f Mon Sep 17 00:00:00 2001 From: ajain13 Date: Thu, 7 Jul 2016 16:45:29 -0400 Subject: [PATCH 069/100] Updated airavata pom.xml again to check the build --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 1cb56d4bef..7c758ac806 100644 --- a/pom.xml +++ b/pom.xml @@ -559,7 +559,7 @@ modules/orchestrator modules/monitoring modules/user-profile - modules/cloud + modules/cloud/AuroraIntegration modules/server modules/workflow modules/test-suite From da2b666525b3bfdcfc97fed95b169db99ece62ac Mon Sep 17 00:00:00 2001 From: ajain13 Date: Fri, 8 Jul 2016 14:21:36 -0400 Subject: [PATCH 070/100] Updated Aurora integration implementation with cluster Quota information command with design changes --- .../aurora/auroraClient/AuroraJobSchedulerI.java | 1 + .../aurora/auroraClient/AuroraJobSchedulerImpl.java | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java index bee4df6504..d941e87a21 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java @@ -19,4 +19,5 @@ public interface AuroraJobSchedulerI { public void jobDiff(String key, String config) throws AuroraException; public void configList(String config) throws AuroraException; public void jobInspect(String key, String config) throws AuroraException; + public void clusterQuota(String key) throws AuroraException; } diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java index c074f9f71f..78ac6af0b3 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java @@ -190,4 +190,16 @@ public void jobInspect(String key, String config) throws AuroraException{ throw new AuroraException("Exception occured while inspecting the job.\n"+ex.toString()); } } + + public void clusterQuota(String key) throws AuroraException{ + try{ + String completeCommandToRunProcess = "aurora quota get "+key; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); + util.printLog(stdout); + } + + catch (Exception ex) { + throw new AuroraException("Exception occured while retrieving the production quota of the cluster.\n"+ex.toString()); + } + } } From c25a752cda615f010d810fedb3eb633ee46b7260 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Fri, 8 Jul 2016 17:01:34 -0400 Subject: [PATCH 071/100] Updated Aurora Scheduler implemetation and interface code with open web UI functionality --- .../aurora/auroraClient/AuroraJobSchedulerI.java | 1 + .../aurora/auroraClient/AuroraJobSchedulerImpl.java | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java index d941e87a21..81c5d30eef 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java @@ -20,4 +20,5 @@ public interface AuroraJobSchedulerI { public void configList(String config) throws AuroraException; public void jobInspect(String key, String config) throws AuroraException; public void clusterQuota(String key) throws AuroraException; + public void openWebUI(String key) throws AuroraException; } diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java index 78ac6af0b3..40bad7b830 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java @@ -202,4 +202,16 @@ public void clusterQuota(String key) throws AuroraException{ throw new AuroraException("Exception occured while retrieving the production quota of the cluster.\n"+ex.toString()); } } + + public void openWebUI(String key) throws AuroraException{ + try{ + String completeCommandToRunProcess = "aurora job open "+key; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); + util.printLog(stdout); + } + + catch (Exception ex) { + throw new AuroraException("Exception occured while opening the browser.\n"+ex.toString()); + } + } } From e35b4fc6ecf34c1bb5f72bc306b58146cc4c9c39 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Mon, 18 Jul 2016 10:45:20 -0400 Subject: [PATCH 072/100] Added ASF license comments --- .../auroraClient/AuroraJobSchedulerI.java | 21 ++++++++++++++++++ .../auroraClient/AuroraJobSchedulerImpl.java | 22 +++++++++++++++++++ .../marathonClient/MarathonJobSchedulerI.java | 21 ++++++++++++++++++ .../MarathonJobSchedulerImpl.java | 21 ++++++++++++++++++ .../bigDataInjections/AuroraInjectorImpl.java | 21 ++++++++++++++++++ .../bigDataInjections/BigDataInjectorI.java | 20 +++++++++++++++++ .../auroraDriver/AuroraAdminDriver.java | 21 ++++++++++++++++++ .../auroraExceptions/AuroraException.java | 21 ++++++++++++++++++ .../marathonExceptions/MarathonException.java | 21 ++++++++++++++++++ .../auroraUtilities/AuroraUtilI.java | 21 ++++++++++++++++++ .../auroraUtilities/AuroraUtilImpl.java | 20 +++++++++++++++++ .../marathonUtilities/MarathonUtilI.java | 21 ++++++++++++++++++ .../marathonUtilities/MarathonUtilImpl.java | 20 +++++++++++++++++ 13 files changed, 271 insertions(+) diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java index 81c5d30eef..092d0aa0be 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java @@ -1,3 +1,24 @@ +/* + * + * 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.cloud.bigDataClientSideServices.aurora.auroraClient; import org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java index 40bad7b830..8744e4471e 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java @@ -1,3 +1,25 @@ +/* + * + * 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.cloud.bigDataClientSideServices.aurora.auroraClient; import java.io.BufferedReader; diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java index 28c73a9bf4..7dbba075e1 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java @@ -1,3 +1,24 @@ +/* + * + * 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.cloud.bigDataClientSideServices.marathon.marathonClient; import org.apache.airavata.cloud.exceptions.marathonExceptions.MarathonException; diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java index fc941dc904..1d9c8f7cfc 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java @@ -1,3 +1,24 @@ +/* + * + * 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.cloud.bigDataClientSideServices.marathon.marathonClient; import java.io.BufferedReader; diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java index 8fabb51a92..c40c2a2f5f 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java @@ -1,3 +1,24 @@ +/* + * + * 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.cloud.bigDataInjections; import java.util.Map; diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/BigDataInjectorI.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/BigDataInjectorI.java index c623d57a1f..a4f2d420ba 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/BigDataInjectorI.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/BigDataInjectorI.java @@ -1,3 +1,23 @@ +/* + * + * 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.cloud.bigDataInjections; diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java index 20b4144fdd..24b7d45393 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java @@ -1,3 +1,24 @@ +/* + * + * 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.cloud.drivers.auroraDriver; // TODO: need javadoc documentation at the top of each method diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/auroraExceptions/AuroraException.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/auroraExceptions/AuroraException.java index ff698919a0..cb823d9209 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/auroraExceptions/AuroraException.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/auroraExceptions/AuroraException.java @@ -1,3 +1,24 @@ +/* + * + * 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.cloud.exceptions.auroraExceptions; public class AuroraException extends Exception { diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/marathonExceptions/MarathonException.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/marathonExceptions/MarathonException.java index af86754afa..d6010cc303 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/marathonExceptions/MarathonException.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/marathonExceptions/MarathonException.java @@ -1,3 +1,24 @@ +/* + * + * 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.cloud.exceptions.marathonExceptions; public class MarathonException extends Exception { diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilI.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilI.java index 554689bae6..675e5511c4 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilI.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilI.java @@ -1,3 +1,24 @@ +/* + * + * 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.cloud.utilities.auroraUtilities; import java.io.BufferedReader; diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilImpl.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilImpl.java index b760554cc1..6ad8d76ec1 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilImpl.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilImpl.java @@ -1,3 +1,23 @@ +/* + * + * 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.cloud.utilities.auroraUtilities; diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilI.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilI.java index 594cc9eacf..eb9132a199 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilI.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilI.java @@ -1,3 +1,24 @@ +/* + * + * 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.cloud.utilities.marathonUtilities; import java.io.BufferedReader; diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilImpl.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilImpl.java index 9fe9a47658..cb86eac55c 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilImpl.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilImpl.java @@ -1,3 +1,23 @@ +/* + * + * 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.cloud.utilities.marathonUtilities; From 3740256aaa5d0c8fc35cfad727e1dcd343b9e73d Mon Sep 17 00:00:00 2001 From: ajain13 Date: Tue, 19 Jul 2016 16:01:12 -0400 Subject: [PATCH 073/100] Changed utilities folder to util as per the other modules have them named and changed the package and import statements as accordance with the new name --- .../aurora/auroraClient/AuroraJobSchedulerImpl.java | 6 +++--- .../marathon/marathonClient/MarathonJobSchedulerImpl.java | 4 ++-- .../{utilities => util}/auroraUtilities/AuroraUtilI.java | 2 +- .../{utilities => util}/auroraUtilities/AuroraUtilImpl.java | 2 +- .../marathonUtilities/MarathonUtilI.java | 2 +- .../marathonUtilities/MarathonUtilImpl.java | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) rename modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/{utilities => util}/auroraUtilities/AuroraUtilI.java (94%) rename modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/{utilities => util}/auroraUtilities/AuroraUtilImpl.java (96%) rename modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/{utilities => util}/marathonUtilities/MarathonUtilI.java (94%) rename modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/{utilities => util}/marathonUtilities/MarathonUtilImpl.java (94%) diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java index 8744e4471e..b905ccb1bb 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java @@ -19,7 +19,7 @@ * */ - + package org.apache.airavata.cloud.bigDataClientSideServices.aurora.auroraClient; import java.io.BufferedReader; @@ -30,8 +30,8 @@ import java.io.InputStreamReader; import org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; -import org.apache.airavata.cloud.utilities.auroraUtilities.AuroraUtilImpl; -import org.apache.airavata.cloud.utilities.auroraUtilities.AuroraUtilI; +import org.apache.airavata.cloud.util.auroraUtilities.AuroraUtilImpl; +import org.apache.airavata.cloud.util.auroraUtilities.AuroraUtilI; public class AuroraJobSchedulerImpl implements AuroraJobSchedulerI { AuroraUtilI util = new AuroraUtilImpl(); diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java index 1d9c8f7cfc..487dc50489 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java @@ -29,8 +29,8 @@ import java.io.InputStreamReader; import org.apache.airavata.cloud.exceptions.marathonExceptions.MarathonException; -import org.apache.airavata.cloud.utilities.marathonUtilities.MarathonUtilImpl; -import org.apache.airavata.cloud.utilities.marathonUtilities.MarathonUtilI; +import org.apache.airavata.cloud.util.marathonUtilities.MarathonUtilImpl; +import org.apache.airavata.cloud.util.marathonUtilities.MarathonUtilI; public class MarathonJobSchedulerImpl implements MarathonJobSchedulerI { MarathonUtilI util = new MarathonUtilImpl(); diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilI.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/auroraUtilities/AuroraUtilI.java similarity index 94% rename from modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilI.java rename to modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/auroraUtilities/AuroraUtilI.java index 675e5511c4..b545befa22 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilI.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/auroraUtilities/AuroraUtilI.java @@ -19,7 +19,7 @@ * */ -package org.apache.airavata.cloud.utilities.auroraUtilities; +package org.apache.airavata.cloud.util.auroraUtilities; import java.io.BufferedReader; diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilImpl.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/auroraUtilities/AuroraUtilImpl.java similarity index 96% rename from modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilImpl.java rename to modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/auroraUtilities/AuroraUtilImpl.java index 6ad8d76ec1..dd81285523 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/auroraUtilities/AuroraUtilImpl.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/auroraUtilities/AuroraUtilImpl.java @@ -19,7 +19,7 @@ * */ -package org.apache.airavata.cloud.utilities.auroraUtilities; +package org.apache.airavata.cloud.util.auroraUtilities; import java.io.BufferedReader; diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilI.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilI.java similarity index 94% rename from modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilI.java rename to modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilI.java index eb9132a199..ddc13c4763 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilI.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilI.java @@ -19,7 +19,7 @@ * */ -package org.apache.airavata.cloud.utilities.marathonUtilities; +package org.apache.airavata.cloud.util.marathonUtilities; import java.io.BufferedReader; diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilImpl.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilImpl.java similarity index 94% rename from modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilImpl.java rename to modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilImpl.java index cb86eac55c..7307cb7962 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/utilities/marathonUtilities/MarathonUtilImpl.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilImpl.java @@ -19,7 +19,7 @@ * */ -package org.apache.airavata.cloud.utilities.marathonUtilities; +package org.apache.airavata.cloud.util.marathonUtilities; import java.io.BufferedReader; From fe94375b666663207918cc463b50c086859a5f94 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Tue, 19 Jul 2016 17:42:26 -0400 Subject: [PATCH 074/100] Added marathon client side services code,updated marathon utilities and exceptions --- .../marathonClient/MarathonJobSchedulerI.java | 5 ++- .../MarathonJobSchedulerImpl.java | 43 +++++++++++++++++-- .../util/marathonUtilities/MarathonUtilI.java | 5 ++- .../marathonUtilities/MarathonUtilImpl.java | 32 +++++++++++++- 4 files changed, 77 insertions(+), 8 deletions(-) diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java index 7dbba075e1..30a58b2ff0 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java @@ -25,6 +25,9 @@ public interface MarathonJobSchedulerI { - public void marathonJobCommand(String info, String command) throws MarathonException; + public void jobKill(String kill, String address) throws MarathonException; + public void jobLaunch(String name, String address) throws MarathonException; + public void configCreate(String name, String ram, String cpu, String disk, String image, String command) throws MarathonException; + } diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java index 487dc50489..266f484f27 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java @@ -36,17 +36,52 @@ public class MarathonJobSchedulerImpl implements MarathonJobSchedulerI { MarathonUtilI util = new MarathonUtilImpl(); - public void marathonJobCommand(String info, String command) throws MarathonException{ + public void jobKill(String name, String address) throws MarathonException{ try{ + String line; + Process marathonJob = Runtime.getRuntime().exec("curl -X DELETE "+address+""+name); + BufferedReader stdout = new BufferedReader(new InputStreamReader(marathonJob.getInputStream())); + util.printLog(stdout); + marathonJob.waitFor(); + } - //TODO:Command inmplementation + catch (Exception ex) { + throw new MarathonException("Exception occured while launching the job.\n"+ex.toString()); + } + } + public void jobLaunch(String name, String address) throws MarathonException{ + try{ + String line; + Process marathonJob = Runtime.getRuntime().exec("curl -X POST "+address+"/v2/apps -d @"+name+" -H Content-type: application/json"); + BufferedReader stdout = new BufferedReader(new InputStreamReader(marathonJob.getInputStream())); + util.printLog(stdout); + marathonJob.waitFor(); } catch (Exception ex) { - throw new MarathonException("Exception occured while passing the command.\n"+ex.toString()); + throw new MarathonException("Exception occured while launching the job.\n"+ex.toString()); + } + } + public void configCreate(String name, String ram, String cpu, String disk, String image, String command) throws MarathonException{ + try { + String config = "'id': "+name+",'cmd': \""+command+"\", \"container\": {\"type\": \"DOCKER\", \"docker\": {\"image\": \"danielpan/dacapo\", \"forcePullImage\": bool(1)}},\"constraints\":[[\"hostname\",\"UNIQUE\"]],\"cpus\": float("+cpu+"), \"mem\": "+ram+"), \"disk\": "+disk+", \"instances\": 1"; + File file = new File(name+".json"); + + if (!file.exists()) { + file.createNewFile(); + } + + FileWriter fw = new FileWriter(file.getAbsoluteFile()); + BufferedWriter bw = new BufferedWriter(fw); + bw.write(config); + bw.close(); + + }catch (IOException ex) { + throw new MarathonException("IO Exception occured while creating the configuration file.\n"+ex.toString()); + }catch (Exception ex) { + throw new MarathonException("Exception occured while creating the configuration file.\n"+ex.toString()); } } - //TODO:Rest of the commands inmplementation goes here } diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilI.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilI.java index ddc13c4763..00b850a1b5 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilI.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilI.java @@ -23,10 +23,11 @@ import java.io.BufferedReader; -import org.apache.airavata.cloud.exceptions.auroraExceptions.AuroraException; +import org.apache.airavata.cloud.exceptions.marathonExceptions.MarathonException; public interface MarathonUtilI{ - //TODO:Abstract Marathon methods goes heresss + public void printLog(BufferedReader stdout) throws MarathonException; + public BufferedReader executeProcess(String commandToRunProcess) throws MarathonException; } diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilImpl.java b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilImpl.java index 7307cb7962..3bf0aea045 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilImpl.java +++ b/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilImpl.java @@ -29,6 +29,36 @@ import org.apache.airavata.cloud.exceptions.marathonExceptions.MarathonException; public class MarathonUtilImpl implements MarathonUtilI{ - //TODO: Marathon utilities code goes here + + public void printLog(BufferedReader stdout) throws MarathonException + { + try{ + String line; + line = stdout.readLine(); + while (line != null) { + System.out.println(line); + line = stdout.readLine(); + } + } + catch (IOException ex) { + throw new MarathonException("IO Exception occured while passing the command.\n"+ex.toString()); + } + } + + public BufferedReader executeProcess(String commandToRunProcess) throws MarathonException + { + BufferedReader stdout = null; + try{ + Process marathonJob = Runtime.getRuntime().exec(commandToRunProcess); + marathonJob.waitFor(); + stdout = new BufferedReader(new InputStreamReader(marathonJob.getInputStream())); + } + catch(Exception ex) + { + throw new MarathonException("Exception occured while passing the command.\n"+ex.toString()); + + } + return stdout; + } } From fb7f0535c61db8e2a4dc6320eb8f9f3cc12d52d1 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Tue, 19 Jul 2016 18:10:33 -0400 Subject: [PATCH 075/100] Changed the module name to AuroraMarathonIntegration to make it generic for Aurora and Marathon and updated all pom.xml files required --- .../README.md | 0 .../pom.xml | 4 ++-- .../src/README.md | 0 .../aurora/auroraClient/AuroraJobSchedulerI.java | 0 .../auroraClient/AuroraJobSchedulerImpl.java | 0 .../marathonClient/MarathonJobSchedulerI.java | 0 .../marathonClient/MarathonJobSchedulerImpl.java | 14 ++++++-------- .../bigDataInjections/AuroraInjectorImpl.java | 0 .../cloud/bigDataInjections/BigDataInjectorI.java | 0 .../drivers/auroraDriver/AuroraAdminDriver.java | 0 .../auroraExceptions/AuroraException.java | 0 .../marathonExceptions/MarathonException.java | 0 .../cloud/util/auroraUtilities/AuroraUtilI.java | 0 .../cloud/util/auroraUtilities/AuroraUtilImpl.java | 0 .../util/marathonUtilities/MarathonUtilI.java | 0 .../util/marathonUtilities/MarathonUtilImpl.java | 0 modules/cloud/pom.xml | 2 +- pom.xml | 2 +- 18 files changed, 10 insertions(+), 12 deletions(-) rename modules/cloud/{AuroraIntegration => AuroraMarathonIntegration}/README.md (100%) rename modules/cloud/{AuroraIntegration => AuroraMarathonIntegration}/pom.xml (93%) rename modules/cloud/{AuroraIntegration => AuroraMarathonIntegration}/src/README.md (100%) rename modules/cloud/{AuroraIntegration => AuroraMarathonIntegration}/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java (100%) rename modules/cloud/{AuroraIntegration => AuroraMarathonIntegration}/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java (100%) rename modules/cloud/{AuroraIntegration => AuroraMarathonIntegration}/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java (100%) rename modules/cloud/{AuroraIntegration => AuroraMarathonIntegration}/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java (84%) rename modules/cloud/{AuroraIntegration => AuroraMarathonIntegration}/src/main/java/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java (100%) rename modules/cloud/{AuroraIntegration => AuroraMarathonIntegration}/src/main/java/org/apache/airavata/cloud/bigDataInjections/BigDataInjectorI.java (100%) rename modules/cloud/{AuroraIntegration => AuroraMarathonIntegration}/src/main/java/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java (100%) rename modules/cloud/{AuroraIntegration => AuroraMarathonIntegration}/src/main/java/org/apache/airavata/cloud/exceptions/auroraExceptions/AuroraException.java (100%) rename modules/cloud/{AuroraIntegration => AuroraMarathonIntegration}/src/main/java/org/apache/airavata/cloud/exceptions/marathonExceptions/MarathonException.java (100%) rename modules/cloud/{AuroraIntegration => AuroraMarathonIntegration}/src/main/java/org/apache/airavata/cloud/util/auroraUtilities/AuroraUtilI.java (100%) rename modules/cloud/{AuroraIntegration => AuroraMarathonIntegration}/src/main/java/org/apache/airavata/cloud/util/auroraUtilities/AuroraUtilImpl.java (100%) rename modules/cloud/{AuroraIntegration => AuroraMarathonIntegration}/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilI.java (100%) rename modules/cloud/{AuroraIntegration => AuroraMarathonIntegration}/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilImpl.java (100%) diff --git a/modules/cloud/AuroraIntegration/README.md b/modules/cloud/AuroraMarathonIntegration/README.md similarity index 100% rename from modules/cloud/AuroraIntegration/README.md rename to modules/cloud/AuroraMarathonIntegration/README.md diff --git a/modules/cloud/AuroraIntegration/pom.xml b/modules/cloud/AuroraMarathonIntegration/pom.xml similarity index 93% rename from modules/cloud/AuroraIntegration/pom.xml rename to modules/cloud/AuroraMarathonIntegration/pom.xml index 83c9d35260..2d87fad798 100644 --- a/modules/cloud/AuroraIntegration/pom.xml +++ b/modules/cloud/AuroraMarathonIntegration/pom.xml @@ -8,10 +8,10 @@ ../pom.xml - AuroraIntegration + AuroraMarathonIntegration org.apache.airavata.cloud.drivers.auroraDriver jar - Airavata Aurora Integration + Airavata Aurora Marathon Integration http://airavata.apache.org/ diff --git a/modules/cloud/AuroraIntegration/src/README.md b/modules/cloud/AuroraMarathonIntegration/src/README.md similarity index 100% rename from modules/cloud/AuroraIntegration/src/README.md rename to modules/cloud/AuroraMarathonIntegration/src/README.md diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java similarity index 100% rename from modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java rename to modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerI.java diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java similarity index 100% rename from modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java rename to modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/aurora/auroraClient/AuroraJobSchedulerImpl.java diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java similarity index 100% rename from modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java rename to modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java similarity index 84% rename from modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java rename to modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java index 266f484f27..0a977a0f77 100644 --- a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java @@ -38,11 +38,10 @@ public class MarathonJobSchedulerImpl implements MarathonJobSchedulerI { public void jobKill(String name, String address) throws MarathonException{ try{ - String line; - Process marathonJob = Runtime.getRuntime().exec("curl -X DELETE "+address+""+name); - BufferedReader stdout = new BufferedReader(new InputStreamReader(marathonJob.getInputStream())); + + String completeCommandToRunProcess = "curl -X DELETE "+address+""+name; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); util.printLog(stdout); - marathonJob.waitFor(); } catch (Exception ex) { @@ -51,11 +50,10 @@ public void jobKill(String name, String address) throws MarathonException{ } public void jobLaunch(String name, String address) throws MarathonException{ try{ - String line; - Process marathonJob = Runtime.getRuntime().exec("curl -X POST "+address+"/v2/apps -d @"+name+" -H Content-type: application/json"); - BufferedReader stdout = new BufferedReader(new InputStreamReader(marathonJob.getInputStream())); + + String completeCommandToRunProcess = "curl -X POST "+address+"/v2/apps -d @"+name+" -H Content-type: application/json"; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); util.printLog(stdout); - marathonJob.waitFor(); } catch (Exception ex) { diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java similarity index 100% rename from modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java rename to modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/BigDataInjectorI.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/BigDataInjectorI.java similarity index 100% rename from modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/BigDataInjectorI.java rename to modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/BigDataInjectorI.java diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java similarity index 100% rename from modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java rename to modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/auroraExceptions/AuroraException.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/exceptions/auroraExceptions/AuroraException.java similarity index 100% rename from modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/auroraExceptions/AuroraException.java rename to modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/exceptions/auroraExceptions/AuroraException.java diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/marathonExceptions/MarathonException.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/exceptions/marathonExceptions/MarathonException.java similarity index 100% rename from modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/exceptions/marathonExceptions/MarathonException.java rename to modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/exceptions/marathonExceptions/MarathonException.java diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/auroraUtilities/AuroraUtilI.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/util/auroraUtilities/AuroraUtilI.java similarity index 100% rename from modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/auroraUtilities/AuroraUtilI.java rename to modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/util/auroraUtilities/AuroraUtilI.java diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/auroraUtilities/AuroraUtilImpl.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/util/auroraUtilities/AuroraUtilImpl.java similarity index 100% rename from modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/auroraUtilities/AuroraUtilImpl.java rename to modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/util/auroraUtilities/AuroraUtilImpl.java diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilI.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilI.java similarity index 100% rename from modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilI.java rename to modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilI.java diff --git a/modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilImpl.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilImpl.java similarity index 100% rename from modules/cloud/AuroraIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilImpl.java rename to modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/util/marathonUtilities/MarathonUtilImpl.java diff --git a/modules/cloud/pom.xml b/modules/cloud/pom.xml index ef0e1f9630..d0dea75437 100644 --- a/modules/cloud/pom.xml +++ b/modules/cloud/pom.xml @@ -28,7 +28,7 @@ cloud-provisioning - AuroraIntegration + AuroraMarathonIntegration diff --git a/pom.xml b/pom.xml index 7c758ac806..61932cf776 100644 --- a/pom.xml +++ b/pom.xml @@ -559,7 +559,7 @@ modules/orchestrator modules/monitoring modules/user-profile - modules/cloud/AuroraIntegration + modules/cloud/AuroraMarathonIntegration modules/server modules/workflow modules/test-suite From 53bc829a839edce44dee40c8458f0eb2115f3f56 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Wed, 20 Jul 2016 14:56:30 -0400 Subject: [PATCH 076/100] Made a design change in SimpleOrchestratorImpl.java. No need of 3 different catch clauses. A single multiple catch block is a good design in this case. --- .../orchestrator/cpi/impl/SimpleOrchestratorImpl.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java index 3e057cb9ef..8d0eda5ff2 100644 --- a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java +++ b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java @@ -188,16 +188,16 @@ public ValidationResults validateProcess(ExperimentModel experiment, ProcessMode } break; } - } catch (ClassNotFoundException e) { + } catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) { logger.error("Error loading the validation class: ", validator, e); validationResults.setValidationState(false); - } catch (InstantiationException e) { + } /*catch (InstantiationException e) { logger.error("Error loading the validation class: ", validator, e); validationResults.setValidationState(false); } catch (IllegalAccessException e) { logger.error("Error loading the validation class: ", validator, e); validationResults.setValidationState(false); - } + }*/ } } if(validationResults.isValidationState()){ From a3ff2faad76d1a99727eae906c41c6cb66204b5f Mon Sep 17 00:00:00 2001 From: ajain13 Date: Wed, 20 Jul 2016 16:45:52 -0400 Subject: [PATCH 077/100] Changed OrchestratorConstants from a class to an enum as enum is the way to go for constants. Also,added constructors, getters and updated OrchestratorUtils.java by adding callers which in turn returns the constants. --- .../core/utils/OrchestratorConstants.java | 38 ++++++++++++++++++- .../core/utils/OrchestratorUtils.java | 24 +++++++++--- 2 files changed, 55 insertions(+), 7 deletions(-) diff --git a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorConstants.java b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorConstants.java index 1eadfa9fb0..7396ac271c 100644 --- a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorConstants.java +++ b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorConstants.java @@ -24,7 +24,7 @@ * This class contains all the constants in orchestrator-core * */ -public class OrchestratorConstants { +/*public class OrchestratorConstants { public static final String AIRAVATA_PROPERTIES = "airavata-server.properties"; public static final int hotUpdateInterval=1000; public static final String SUBMIT_INTERVAL = "submitter.interval"; @@ -33,4 +33,40 @@ public class OrchestratorConstants { public static final String EMBEDDED_MODE = "embedded.mode"; public static final String ENABLE_VALIDATION = "enable.validation"; public static final String JOB_VALIDATOR = "job.validators"; +}*/ + + + +public enum OrchestratorConstants { + AIRAVATA_PROPERTIES("airavata-server.properties"), + hotUpdateInterval(1000), + SUBMIT_INTERVAL("submitter.interval"), + THREAD_POOL_SIZE("threadpool.size"), + START_SUBMITTER("start.submitter"), + EMBEDDED_MODE("embedded.mode"), + ENABLE_VALIDATION("enable.validation"), + JOB_VALIDATOR("job.validators"); + + + private String stringConstant; + private int integerConstant; + + OrchestratorConstants(String stringConstantIn) + { + stringConstant = stringConstantIn; + } + OrchestratorConstants(int integerConstantIn) + { + integerConstant = integerConstantIn; + } + + public String getOrchestratorStringConstant() + { + return stringConstant; + } + public int getOrchestratorIntegerConstant() + { + return integerConstant; + } + } diff --git a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorUtils.java b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorUtils.java index 95ff86e3f1..3ee40e0a69 100644 --- a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorUtils.java +++ b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorUtils.java @@ -48,17 +48,29 @@ * This contains orchestrator specific utilities */ public class OrchestratorUtils { + + private final static Logger logger = LoggerFactory.getLogger(OrchestratorUtils.class); + public static String OrchestratorStringConstant(OrchestratorConstants constant) + { + return constant.getOrchestratorStringConstant(); + } + + public static int OrchestratorIntegerConstant(OrchestratorConstants constant) + { + return constant.getOrchestratorIntegerConstant(); + } + public static OrchestratorConfiguration loadOrchestratorConfiguration() throws OrchestratorException, IOException, NumberFormatException, ApplicationSettingsException { OrchestratorConfiguration orchestratorConfiguration = new OrchestratorConfiguration(); - orchestratorConfiguration.setSubmitterInterval(Integer.parseInt((String) ServerSettings.getSetting(OrchestratorConstants.SUBMIT_INTERVAL))); - orchestratorConfiguration.setThreadPoolSize(Integer.parseInt((String) ServerSettings.getSetting(OrchestratorConstants.THREAD_POOL_SIZE))); - orchestratorConfiguration.setStartSubmitter(Boolean.valueOf(ServerSettings.getSetting(OrchestratorConstants.START_SUBMITTER))); - orchestratorConfiguration.setEmbeddedMode(Boolean.valueOf(ServerSettings.getSetting(OrchestratorConstants.EMBEDDED_MODE))); - orchestratorConfiguration.setEnableValidation(Boolean.valueOf(ServerSettings.getSetting(OrchestratorConstants.ENABLE_VALIDATION))); + orchestratorConfiguration.setSubmitterInterval(Integer.parseInt((String) ServerSettings.getSetting(OrchestratorStringConstant(OrchestratorConstants.SUBMIT_INTERVAL)))); + orchestratorConfiguration.setThreadPoolSize(Integer.parseInt((String) ServerSettings.getSetting(OrchestratorStringConstant(OrchestratorConstants.THREAD_POOL_SIZE)))); + orchestratorConfiguration.setStartSubmitter(Boolean.valueOf(ServerSettings.getSetting(OrchestratorStringConstant(OrchestratorConstants.START_SUBMITTER)))); + orchestratorConfiguration.setEmbeddedMode(Boolean.valueOf(ServerSettings.getSetting(OrchestratorStringConstant(OrchestratorConstants.EMBEDDED_MODE)))); + orchestratorConfiguration.setEnableValidation(Boolean.valueOf(ServerSettings.getSetting(OrchestratorStringConstant(OrchestratorConstants.ENABLE_VALIDATION)))); if (orchestratorConfiguration.isEnableValidation()) { - orchestratorConfiguration.setValidatorClasses(Arrays.asList(ServerSettings.getSetting(OrchestratorConstants.JOB_VALIDATOR).split(","))); + orchestratorConfiguration.setValidatorClasses(Arrays.asList(ServerSettings.getSetting(OrchestratorStringConstant(OrchestratorConstants.JOB_VALIDATOR)).split(","))); } return orchestratorConfiguration; } From 90b97386b012147630f3134d88f1575d9e96feb6 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Wed, 20 Jul 2016 17:04:20 -0400 Subject: [PATCH 078/100] Added a meaningful comment explaining that the OrchestratorConstants class has been changed to enum and the OrchestratorConstants class has been commented out showing what has been changed to enums --- .../orchestrator/core/utils/OrchestratorConstants.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorConstants.java b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorConstants.java index 7396ac271c..6a0f04b6e9 100644 --- a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorConstants.java +++ b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorConstants.java @@ -36,7 +36,12 @@ }*/ - +/** + * This enum contains all the constants in orchestrator-core + enum is the way about dealing with constants as its very powerful. + Hence, a design change has been made to change the class to enum. + * + */ public enum OrchestratorConstants { AIRAVATA_PROPERTIES("airavata-server.properties"), hotUpdateInterval(1000), From f545c4ad12f710396faf8f49f2a1de67f284179b Mon Sep 17 00:00:00 2001 From: ajain13 Date: Mon, 1 Aug 2016 13:48:29 -0400 Subject: [PATCH 079/100] Added marathon job list function and made design changes in the same --- .../marathonClient/MarathonJobSchedulerI.java | 1 + .../marathonClient/MarathonJobSchedulerImpl.java | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java index 30a58b2ff0..0257c487bd 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java @@ -28,6 +28,7 @@ public interface MarathonJobSchedulerI { public void jobKill(String kill, String address) throws MarathonException; public void jobLaunch(String name, String address) throws MarathonException; public void configCreate(String name, String ram, String cpu, String disk, String image, String command) throws MarathonException; + public void jobList(String address) throws MarathonException; } diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java index 0a977a0f77..c44e6e118f 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java @@ -38,7 +38,7 @@ public class MarathonJobSchedulerImpl implements MarathonJobSchedulerI { public void jobKill(String name, String address) throws MarathonException{ try{ - + String completeCommandToRunProcess = "curl -X DELETE "+address+""+name; BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); util.printLog(stdout); @@ -81,5 +81,18 @@ public void configCreate(String name, String ram, String cpu, String disk, Strin } } + public void jobList(String address) throws MarathonException{ + try{ + + String completeCommandToRunProcess = "curl GET "+address+"/v2/apps"; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); + util.printLog(stdout); + } + + catch (Exception ex) { + throw new MarathonException("Exception occured while retrieving the list jobs.\n"+ex.toString()); + } + } + } From 47190b3374e4c1b34c286e56f7874f0cfe4b2067 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Mon, 1 Aug 2016 13:54:48 -0400 Subject: [PATCH 080/100] Updated code with the marathon job list by name and list by id functions. Made design changes in each of them by using utility functions. --- .../marathonClient/MarathonJobSchedulerI.java | 2 ++ .../MarathonJobSchedulerImpl.java | 25 +++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java index 0257c487bd..9fd871385f 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java @@ -29,6 +29,8 @@ public interface MarathonJobSchedulerI { public void jobLaunch(String name, String address) throws MarathonException; public void configCreate(String name, String ram, String cpu, String disk, String image, String command) throws MarathonException; public void jobList(String address) throws MarathonException; + public void jobListById(String address, String id) throws MarathonException; + public void jobListByName(String address, String name) throws MarathonException; } diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java index c44e6e118f..4b50e2b900 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java @@ -94,5 +94,30 @@ public void jobList(String address) throws MarathonException{ } } + public void jobListById(String address, String id) throws MarathonException{ + try{ + + String completeCommandToRunProcess ="curl GET "+address+"/v2/apps/"+id; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); + util.printLog(stdout); + } + + catch (Exception ex) { + throw new MarathonException("Exception occured while retrieving the list jobs.\n"+ex.toString()); + } + } + public void jobListByName(String address, String name) throws MarathonException{ + try{ + + String completeCommandToRunProcess = "curl GET "+address+"/v2/apps/"+name; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); + util.printLog(stdout); + } + + catch (Exception ex) { + throw new MarathonException("Exception occured while retrieving the list jobs.\n"+ex.toString()); + } + } + } From cb712fd7752ddc2ffc4fb1b534cbf097beb763b9 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Tue, 9 Aug 2016 14:46:41 -0400 Subject: [PATCH 081/100] Made a few design changes in OrchestratorConfiguration.java --- .../core/OrchestratorConfiguration.java | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/OrchestratorConfiguration.java b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/OrchestratorConfiguration.java index 07b5bebf7e..da357a4225 100644 --- a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/OrchestratorConfiguration.java +++ b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/OrchestratorConfiguration.java @@ -52,24 +52,24 @@ public List getValidatorClasses() { return validatorClasses; } - public void setValidatorClasses(List validatorClasses) { - this.validatorClasses = validatorClasses; + public void setValidatorClasses(List validatorClassesIn) { + this.validatorClasses = validatorClassesIn; } public boolean isEmbeddedMode() { return embeddedMode; } - public void setEmbeddedMode(boolean embeddedMode) { - this.embeddedMode = embeddedMode; + public void setEmbeddedMode(boolean embeddedModeIn) { + this.embeddedMode = embeddedModeIn; } public URL getBrokerURL() { return brokerURL; } - public void setBrokerURL(URL brokerURL) { - this.brokerURL = brokerURL; + public void setBrokerURL(URL brokerURLIn) { + this.brokerURL = brokerURLIn; } public String getNewJobSubmitterClass() { @@ -84,39 +84,39 @@ public int getThreadPoolSize() { return threadPoolSize; } - public void setNewJobSubmitterClass(String newJobSubmitterClass) { - this.newJobSubmitterClass = newJobSubmitterClass; + public void setNewJobSubmitterClass(String newJobSubmitterClassIn) { + this.newJobSubmitterClass = newJobSubmitterClassIn; } - public void setSubmitterInterval(int submitterInterval) { - this.submitterInterval = submitterInterval; + public void setSubmitterInterval(int submitterIntervalIn) { + this.submitterInterval = submitterIntervalIn; } - public void setThreadPoolSize(int threadPoolSize) { - this.threadPoolSize = threadPoolSize; + public void setThreadPoolSize(int threadPoolSizeIn) { + this.threadPoolSize = threadPoolSizeIn; } public boolean isStartSubmitter() { return startSubmitter; } - public void setStartSubmitter(boolean startSubmitter) { - this.startSubmitter = startSubmitter; + public void setStartSubmitter(boolean startSubmitterIn) { + this.startSubmitter = startSubmitterIn; } public String getHangedJobSubmitterClass() { return hangedJobSubmitterClass; } - public void setHangedJobSubmitterClass(String hangedJobSubmitterClass) { - this.hangedJobSubmitterClass = hangedJobSubmitterClass; + public void setHangedJobSubmitterClass(String hangedJobSubmitterClassIn) { + this.hangedJobSubmitterClass = hangedJobSubmitterClassIn; } public boolean isEnableValidation() { return enableValidation; } - public void setEnableValidation(boolean enableValidation) { - this.enableValidation = enableValidation; + public void setEnableValidation(boolean enableValidationIn) { + this.enableValidation = enableValidationIn; } } From 2db21f95e1a754276f24f2446b70667a4cf30f3c Mon Sep 17 00:00:00 2001 From: ajain13 Date: Wed, 10 Aug 2016 13:32:53 -0400 Subject: [PATCH 082/100] Updated code with marathon job deletion function and made appropriate design changes in the same --- .../marathonClient/MarathonJobSchedulerI.java | 1 + .../marathonClient/MarathonJobSchedulerImpl.java | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java index 9fd871385f..17360fee2a 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java @@ -31,6 +31,7 @@ public interface MarathonJobSchedulerI { public void jobList(String address) throws MarathonException; public void jobListById(String address, String id) throws MarathonException; public void jobListByName(String address, String name) throws MarathonException; + public void jobDelete(String address, String appid) throws MarathonException; } diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java index 4b50e2b900..3ef2834e7b 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java @@ -119,5 +119,19 @@ public void jobListByName(String address, String name) throws MarathonException{ } } + public void jobDelete(String address, String appid) throws MarathonException{ + try{ + + String completeCommandToRunProcess = "curl DELETE "+address+"/v2/apps/"+appid+"/tasks"; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); + util.printLog(stdout); + } + + catch (Exception ex) { + throw new MarathonException("Exception occured while retrieving the list jobs.\n"+ex.toString()); + } + } + + } From 8570c0859156aea9c6ab0922ba6ac016c4b38b54 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Wed, 10 Aug 2016 15:15:23 -0400 Subject: [PATCH 083/100] Updated with marathon running jobs function --- .../marathonClient/MarathonJobSchedulerI.java | 1 + .../marathonClient/MarathonJobSchedulerImpl.java | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java index 17360fee2a..d46dd6ca49 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java @@ -32,6 +32,7 @@ public interface MarathonJobSchedulerI { public void jobListById(String address, String id) throws MarathonException; public void jobListByName(String address, String name) throws MarathonException; public void jobDelete(String address, String appid) throws MarathonException; + public void runningJobs(String address, String appid) throws MarathonException; } diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java index 3ef2834e7b..8f2b4f5b32 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java @@ -132,6 +132,20 @@ public void jobDelete(String address, String appid) throws MarathonException{ } } + public void runningJobs(String address, String appid) throws MarathonException{ + try{ + String line; + Process marathonJob = Runtime.getRuntime().exec("curl GET "+address+"/v2/apps/"+appid+"/tasks"); + BufferedReader stdout = new BufferedReader(new InputStreamReader(marathonJob.getInputStream())); + util.printLog(stdout); + marathonJob.waitFor(); + } + + catch (Exception ex) { + throw new MarathonException("Exception occured while retrieving the list jobs.\n"+ex.toString()); + } + } + } From 07c0509849b57ce6e1ff28592446ca22e6f2fdea Mon Sep 17 00:00:00 2001 From: ajain13 Date: Wed, 10 Aug 2016 15:17:40 -0400 Subject: [PATCH 084/100] Made design changes in the running jobs function. Used utility functions. Removed redundant code --- .../marathon/marathonClient/MarathonJobSchedulerImpl.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java index 8f2b4f5b32..99c00bb488 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java @@ -134,11 +134,10 @@ public void jobDelete(String address, String appid) throws MarathonException{ public void runningJobs(String address, String appid) throws MarathonException{ try{ - String line; - Process marathonJob = Runtime.getRuntime().exec("curl GET "+address+"/v2/apps/"+appid+"/tasks"); - BufferedReader stdout = new BufferedReader(new InputStreamReader(marathonJob.getInputStream())); + + String completeCommandToRunProcess = "curl GET "+address+"/v2/apps/"+appid+"/tasks"; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); util.printLog(stdout); - marathonJob.waitFor(); } catch (Exception ex) { From 2133a04906d7857833d4c06f86d9532019ab1ca0 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Wed, 10 Aug 2016 15:25:58 -0400 Subject: [PATCH 085/100] small change --- .../marathon/marathonClient/MarathonJobSchedulerImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java index 99c00bb488..725b678126 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java @@ -134,7 +134,7 @@ public void jobDelete(String address, String appid) throws MarathonException{ public void runningJobs(String address, String appid) throws MarathonException{ try{ - + String completeCommandToRunProcess = "curl GET "+address+"/v2/apps/"+appid+"/tasks"; BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); util.printLog(stdout); From 13085f23c8fa0231ba06c6f023e7bafb205191b2 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Wed, 10 Aug 2016 16:25:29 -0400 Subject: [PATCH 086/100] Updated with creategroups and groups marathon functions with design changes --- .../marathonClient/MarathonJobSchedulerI.java | 2 ++ .../MarathonJobSchedulerImpl.java | 25 +++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java index d46dd6ca49..4ea6507dd6 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java @@ -33,6 +33,8 @@ public interface MarathonJobSchedulerI { public void jobListByName(String address, String name) throws MarathonException; public void jobDelete(String address, String appid) throws MarathonException; public void runningJobs(String address, String appid) throws MarathonException; + public void createGroups(String address, String json) throws MarathonException; + public void groups(String address) throws MarathonException; } diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java index 725b678126..cbdc64a2d1 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java @@ -145,6 +145,31 @@ public void runningJobs(String address, String appid) throws MarathonException{ } } + public void createGroups(String address, String json) throws MarathonException{ + try{ + + String completeCommandToRunProcess = "curl -X POST -H \"Content-type: application/json\" "+address+"/v2/groups/"+json; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); + util.printLog(stdout); + } + + catch (Exception ex) { + throw new MarathonException("Exception occured while creating the group.\n"+ex.toString()); + } + } + public void groups(String address) throws MarathonException{ + try{ + + String completeCommandToRunProcess = "curl GET "+address+"/v2/groups/"; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); + util.printLog(stdout); + } + + catch (Exception ex) { + throw new MarathonException("Exception occured while retrieving the list of groups.\n"+ex.toString()); + } + } + } From 3c677c4318a3910e309d4759f56cadead5a1741a Mon Sep 17 00:00:00 2001 From: ajain13 Date: Wed, 10 Aug 2016 16:29:28 -0400 Subject: [PATCH 087/100] Updated with groups by id and job delete by id marathin functions with design changes --- .../marathonClient/MarathonJobSchedulerI.java | 2 ++ .../MarathonJobSchedulerImpl.java | 27 +++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java index 4ea6507dd6..5326ed26a1 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java @@ -35,6 +35,8 @@ public interface MarathonJobSchedulerI { public void runningJobs(String address, String appid) throws MarathonException; public void createGroups(String address, String json) throws MarathonException; public void groups(String address) throws MarathonException; + public void groupsId(String address, String groupid) throws MarathonException; + public void jobDeleteId(String address, String appid, String taskid) throws MarathonException; } diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java index cbdc64a2d1..3ae2ed58bf 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java @@ -157,6 +157,7 @@ public void createGroups(String address, String json) throws MarathonException{ throw new MarathonException("Exception occured while creating the group.\n"+ex.toString()); } } + public void groups(String address) throws MarathonException{ try{ @@ -170,6 +171,32 @@ public void groups(String address) throws MarathonException{ } } + public void groupsId(String address, String groupid) throws MarathonException{ + try{ + + String completeCommandToRunProcess = "curl GET "+address+"/v2/groups/"+groupid; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); + util.printLog(stdout); + } + + catch (Exception ex) { + throw new MarathonException("Exception occured while retrieving the list of groups.\n"+ex.toString()); + } + } + public void jobDeleteId(String address, String appid, String taskid) throws MarathonException{ + try{ + + String completeCommandToRunProcess = "curl DELETE "+address+"/v2/apps/"+appid+"/"+taskid; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); + util.printLog(stdout); + } + + catch (Exception ex) { + throw new MarathonException("Exception occured while retrieving the list jobs.\n"+ex.toString()); + } + } + + } From 60acc1e1e3e8352888cabbdb24d8d785718608cd Mon Sep 17 00:00:00 2001 From: ajain13 Date: Thu, 11 Aug 2016 12:16:42 -0400 Subject: [PATCH 088/100] Updated with delete deployment and deployment list functions and made appropriate design changes --- .../marathonClient/MarathonJobSchedulerI.java | 3 ++ .../MarathonJobSchedulerImpl.java | 28 ++++++++++++++++++- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java index 5326ed26a1..cfc861d069 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java @@ -37,6 +37,9 @@ public interface MarathonJobSchedulerI { public void groups(String address) throws MarathonException; public void groupsId(String address, String groupid) throws MarathonException; public void jobDeleteId(String address, String appid, String taskid) throws MarathonException; + public void deleteDeployment(String address, String id) throws MarathonException; + public void deploymentList(String address) throws MarathonException; + //TODO:Delete groups function } diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java index 3ae2ed58bf..91d1b499cb 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java @@ -185,7 +185,7 @@ public void groupsId(String address, String groupid) throws MarathonException{ } public void jobDeleteId(String address, String appid, String taskid) throws MarathonException{ try{ - + String completeCommandToRunProcess = "curl DELETE "+address+"/v2/apps/"+appid+"/"+taskid; BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); util.printLog(stdout); @@ -196,6 +196,32 @@ public void jobDeleteId(String address, String appid, String taskid) throws Mara } } + public void deleteDeployment(String address, String id) throws MarathonException{ + try{ + + String completeCommandToRunProcess = "curl -X DELETE "+address+"/v2/deployments/"+id; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); + util.printLog(stdout); + } + + catch (Exception ex) { + throw new MarathonException("Exception occured while deleting the deployment.\n"+ex.toString()); + } + } + public void deploymentList(String address) throws MarathonException{ + try{ + + + String completeCommandToRunProcess = "curl GET "+address+"/v2/deployments/"; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); + util.printLog(stdout); + } + + catch (Exception ex) { + throw new MarathonException("Exception occured while retrieving the list of deployment.\n"+ex.toString()); + } + } + From a62e8e7646ceae040c80f6ea67a3cbf329bbb93b Mon Sep 17 00:00:00 2001 From: ajain13 Date: Thu, 11 Aug 2016 12:19:58 -0400 Subject: [PATCH 089/100] Updated with delete groups function and made a design change in the same --- .../marathonClient/MarathonJobSchedulerI.java | 2 +- .../marathonClient/MarathonJobSchedulerImpl.java | 14 +++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java index cfc861d069..df390022ef 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java @@ -39,7 +39,7 @@ public interface MarathonJobSchedulerI { public void jobDeleteId(String address, String appid, String taskid) throws MarathonException; public void deleteDeployment(String address, String id) throws MarathonException; public void deploymentList(String address) throws MarathonException; - //TODO:Delete groups function + public void deleteGroups(String address, String id) throws MarathonException; } diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java index 91d1b499cb..09bbb25308 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java @@ -211,7 +211,6 @@ public void deleteDeployment(String address, String id) throws MarathonException public void deploymentList(String address) throws MarathonException{ try{ - String completeCommandToRunProcess = "curl GET "+address+"/v2/deployments/"; BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); util.printLog(stdout); @@ -222,6 +221,19 @@ public void deploymentList(String address) throws MarathonException{ } } + public void deleteGroups(String address, String id) throws MarathonException{ + try{ + + String completeCommandToRunProcess = "curl -X DELETE "+address+"/v2/groups/"+id; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); + util.printLog(stdout); + } + + catch (Exception ex) { + throw new MarathonException("Exception occured while deleting the group.\n"+ex.toString()); + } + } + From a004b754a2a0775266db3de0025b625002e71ee2 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Thu, 11 Aug 2016 13:40:09 -0400 Subject: [PATCH 090/100] Integrated marathon driver and added marathon injector code --- .../MarathonInjectorImpl.java | 72 +++++++++++++++++++ .../auroraDriver/AuroraAdminDriver.java | 15 ++++ 2 files changed, 87 insertions(+) create mode 100644 modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/MarathonInjectorImpl.java diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/MarathonInjectorImpl.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/MarathonInjectorImpl.java new file mode 100644 index 0000000000..f85a5c2fde --- /dev/null +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/MarathonInjectorImpl.java @@ -0,0 +1,72 @@ +/* + * + * 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.cloud.bigDataInjections; + +import java.util.Map; +import java.util.List; + + +import org.apache.airavata.cloud.bigDataClientSideServices.marathon.marathonClient.MarathonJobSchedulerI; +import org.apache.airavata.cloud.bigDataClientSideServices.marathon.marathonClient.MarathonJobSchedulerImpl; +import org.apache.airavata.cloud.exceptions.marathonExceptions.MarathonException; + + +public class MarathonInjectorImpl implements BigDataInjectorI { + private MarathonJobSchedulerI marathonJS = null; + + public MarathonInjectorImpl(MarathonJobSchedulerI marathonJSIn) { + marathonJS = marathonJSIn; + } + + + public void executeTheBigDataClientSideCommand(Map> commandLineOptions) { + + + String commandName = commandLineOptions.get("o").get(0); + String RamSize, JobName, CpuCount, DiskSize, Image, Command; + + switch(commandName) + { + case "kill" : + try { + marathonJS.jobKill(commandLineOptions.get("n").get(0),commandLineOptions.get("a").get(0)); + } catch(MarathonException ex){ + } break; + case "create" : + JobName = commandLineOptions.get("n").get(0); + RamSize = commandLineOptions.get("r").get(0); + CpuCount = commandLineOptions.get("c").get(0); + DiskSize = commandLineOptions.get("d").get(0); + Image = commandLineOptions.get("i").get(0); + Command = commandLineOptions.get("a").get(0); + try { + marathonJS.configCreate(JobName,RamSize,CpuCount,DiskSize,Image, Command); + } catch (MarathonException ex) {} + try { + marathonJS.jobLaunch(JobName,commandLineOptions.get("a").get(0)); + } catch (MarathonException ex) { + } break; + default : + System.out.println("Improper option\nOptions available:\n1) create\n2) kill\n"); + } + } // end of public void executeTheBigDataCommand +} // end of public class AuroraInjectorImpl diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java index 24b7d45393..0685bcd852 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/drivers/auroraDriver/AuroraAdminDriver.java @@ -32,6 +32,12 @@ import org.apache.airavata.cloud.bigDataInjections.AuroraInjectorImpl; import org.apache.airavata.cloud.bigDataInjections.BigDataInjectorI; + +import org.apache.airavata.cloud.exceptions.marathonExceptions.MarathonException; +import org.apache.airavata.cloud.bigDataClientSideServices.marathon.marathonClient.MarathonJobSchedulerI; +import org.apache.airavata.cloud.bigDataClientSideServices.marathon.marathonClient.MarathonJobSchedulerImpl; +import org.apache.airavata.cloud.bigDataInjections.MarathonInjectorImpl; + public class AuroraAdminDriver{ public static void main(String[] args) { @@ -74,10 +80,19 @@ else if (options != null) { }// end of for (int i=0; ... // use the code below to decide between injecting Aurora, Marathon, etc. as injections + AuroraJobSchedulerI auroraJS = new AuroraJobSchedulerImpl(); BigDataInjectorI auroraInjector = new AuroraInjectorImpl(auroraJS); auroraInjector.executeTheBigDataClientSideCommand(params); + + // UNCOMMENT NEXT 3 LINES TO USE MARATHON and comment the 3 lines above to shut AURORA off. + /*MarathonJobSchedulerI marathonJS = new MarathonJobSchedulerImpl(); + BigDataInjectorI marathonInjector = new MarathonInjectorImpl(marathonJS); + marathonInjector.executeTheBigDataClientSideCommand(params);*/ + + + } // end of public static void main } // end of class From 7eda49595130b780038e66836085a96c5d78e39d Mon Sep 17 00:00:00 2001 From: ajain13 Date: Fri, 12 Aug 2016 15:30:27 -0400 Subject: [PATCH 091/100] Deleted the old README file and changed the SNAPSHOT version to 0.17 --- .../cloud/AuroraMarathonIntegration/pom.xml | 1 + .../AuroraMarathonIntegration/src/README.md | 23 ------------------- 2 files changed, 1 insertion(+), 23 deletions(-) delete mode 100644 modules/cloud/AuroraMarathonIntegration/src/README.md diff --git a/modules/cloud/AuroraMarathonIntegration/pom.xml b/modules/cloud/AuroraMarathonIntegration/pom.xml index 2d87fad798..da83ca6bc8 100644 --- a/modules/cloud/AuroraMarathonIntegration/pom.xml +++ b/modules/cloud/AuroraMarathonIntegration/pom.xml @@ -11,6 +11,7 @@ AuroraMarathonIntegration org.apache.airavata.cloud.drivers.auroraDriver jar + 0.17-SNAPSHOT Airavata Aurora Marathon Integration http://airavata.apache.org/ diff --git a/modules/cloud/AuroraMarathonIntegration/src/README.md b/modules/cloud/AuroraMarathonIntegration/src/README.md deleted file mode 100644 index 477d57950a..0000000000 --- a/modules/cloud/AuroraMarathonIntegration/src/README.md +++ /dev/null @@ -1,23 +0,0 @@ -#Design changes to the Aurora/Marathon Integration code - -##Compilation Instructions - -### **NOTE : Temporarily using ANT compile the Aurora Management code.** -### **TODO:** Integrate with maven build system, instead of using ANT. - -####In the following directory run the compilation command: -``` -airavata/modules/cloud/AuroraIntegration/src -``` - -####Compilation command -``` -ant all -``` - -####Run command -``` -**TODO:** Add the command to run and test the code. - -**TODO:** Will be adding sample output that shows the Aurora/Marathon code working. -``` From 0f0b0a732baa693e45fb300c58ae18f36404e89f Mon Sep 17 00:00:00 2001 From: ajain13 Date: Fri, 12 Aug 2016 16:14:28 -0400 Subject: [PATCH 092/100] Changed airavata-cloud parent module version to 0.17 --- .../cloud/AuroraMarathonIntegration/README.md | 18 +++++++++--------- .../cloud/AuroraMarathonIntegration/pom.xml | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/modules/cloud/AuroraMarathonIntegration/README.md b/modules/cloud/AuroraMarathonIntegration/README.md index 805c314100..17b54adecb 100644 --- a/modules/cloud/AuroraMarathonIntegration/README.md +++ b/modules/cloud/AuroraMarathonIntegration/README.md @@ -21,44 +21,44 @@ #Example: To create and launch: ``` -java -jar AuroraIntegration-0.16-SNAPSHOT.jar -o create -r 1024 -n batik -c 2.0 -d 1000 -i gouravr/dacapo:tag9 +java -jar AuroraMarathonIntegration-0.17-SNAPSHOT.jar -o create -r 1024 -n batik -c 2.0 -d 1000 -i gouravr/dacapo:tag9 ``` To kill: ``` -java -jar AuroraIntegration-0.16-SNAPSHOT.jar -o kill -n batik +java -jar AuroraMarathonIntegration-0.17-SNAPSHOT.jar -o kill -n batik ``` To update: ``` -java -jar AuroraIntegration-0.16-SNAPSHOT.jar -o update -n batik +java -jar AuroraMarathonIntegration-0.17-SNAPSHOT.jar -o update -n batik ``` To retrieve update information: ``` -java -jar AuroraIntegration-0.16-SNAPSHOT.jar -o update-info -n batik +java -jar AuroraMarathonIntegration-0.17-SNAPSHOT.jar -o update-info -n batik ``` To pause an update: ``` -java -jar AuroraIntegration-0.16-SNAPSHOT.jar -o update-pause -n batik +java -jar AuroraMarathonIntegration-0.17-SNAPSHOT.jar -o update-pause -n batik ``` To list the update progress: ``` -java -jar AuroraIntegration-0.16-SNAPSHOT.jar -o update-list -n batik +java -jar AuroraMarathonIntegration-0.17-SNAPSHOT.jar -o update-list -n batik ``` To abort an update: ``` -java -jar AuroraIntegration-0.16-SNAPSHOT.jar -o update-abort -n batik +java -jar AuroraMarathonIntegration-0.17-SNAPSHOT.jar -o update-abort -n batik ``` To resume an update: ``` -java -jar AuroraIntegration-0.16-SNAPSHOT.jar -o update-resume -n batik +java -jar AuroraMarathonIntegration-0.17-SNAPSHOT.jar -o update-resume -n batik ``` To restart a job: ``` -java -jar AuroraIntegration-0.16-SNAPSHOT.jar -o restart -n batik +java -jar AuroraMarathonIntegration-0.17-SNAPSHOT.jar -o restart -n batik ``` diff --git a/modules/cloud/AuroraMarathonIntegration/pom.xml b/modules/cloud/AuroraMarathonIntegration/pom.xml index da83ca6bc8..04b0a67e81 100644 --- a/modules/cloud/AuroraMarathonIntegration/pom.xml +++ b/modules/cloud/AuroraMarathonIntegration/pom.xml @@ -4,7 +4,7 @@ org.apache.airavata airavata-cloud - 0.16-SNAPSHOT + 0.17-SNAPSHOT ../pom.xml From 0674258932f2fcf993dde840724c017caf64e64b Mon Sep 17 00:00:00 2001 From: ajain13 Date: Fri, 12 Aug 2016 17:16:11 -0400 Subject: [PATCH 093/100] Made a small change in README file and to test if Travis CI build works --- modules/cloud/AuroraMarathonIntegration/README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/cloud/AuroraMarathonIntegration/README.md b/modules/cloud/AuroraMarathonIntegration/README.md index 17b54adecb..e94014652e 100644 --- a/modules/cloud/AuroraMarathonIntegration/README.md +++ b/modules/cloud/AuroraMarathonIntegration/README.md @@ -1,6 +1,9 @@ +#AURORA MARATHON INTEGRATION + #Requirements: 1. Apache Aurora 2. Apache Mesos +3. Marathon #Installation: ##Please follow the link to set up Apache Aurora and Apache Mesos From ad6f2f81b69ff38d1e3027a2ac733519222f61fb Mon Sep 17 00:00:00 2001 From: ajain13 Date: Mon, 15 Aug 2016 16:03:27 -0400 Subject: [PATCH 094/100] Updated code with launch queue, event subscription list and events list marathon functions with design changes --- .../marathonClient/MarathonJobSchedulerI.java | 3 ++ .../MarathonJobSchedulerImpl.java | 39 +++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java index df390022ef..4483d4b21c 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java @@ -40,6 +40,9 @@ public interface MarathonJobSchedulerI { public void deleteDeployment(String address, String id) throws MarathonException; public void deploymentList(String address) throws MarathonException; public void deleteGroups(String address, String id) throws MarathonException; + public void eventsList(String address) throws MarathonException; + public void eventSubscriptionList(String address) throws MarathonException; + public void launchQueue(String address) throws MarathonException; } diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java index 09bbb25308..e144c5cc92 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java @@ -234,6 +234,45 @@ public void deleteGroups(String address, String id) throws MarathonException{ } } + public void launchQueue(String address) throws MarathonException{ + try{ + + String completeCommandToRunProcess = "curl GET "+address+"/v2/queue"; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); + util.printLog(stdout); + } + + catch (Exception ex) { + throw new MarathonException("Exception occured while retrieving the launch queue.\n"+ex.toString()); + } + } + public void eventSubscriptionList(String address) throws MarathonException{ + try{ + + + String completeCommandToRunProcess = "curl GET "+address+"/v2/eventSubscriptions"; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); + util.printLog(stdout); + } + + catch (Exception ex) { + throw new MarathonException("Exception occured while retrieving the list of event subscriptions.\n"+ex.toString()); + } + } + public void eventsList(String address) throws MarathonException{ + try{ + + String completeCommandToRunProcess = "curl GET "+address+"/v2/events"; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); + util.printLog(stdout); + } + + catch (Exception ex) { + throw new MarathonException("Exception occured while retrieving the list of events.\n"+ex.toString()); + } + } + + From 578938b628e15aa92175b907e69a1590c32a246a Mon Sep 17 00:00:00 2001 From: ajain13 Date: Mon, 15 Aug 2016 16:10:20 -0400 Subject: [PATCH 095/100] Updated code with delete marathon leader, marathon leader and marathon info functions and made appropriate design changes --- .../marathonClient/MarathonJobSchedulerI.java | 3 ++ .../MarathonJobSchedulerImpl.java | 39 +++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java index 4483d4b21c..dc9058237d 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerI.java @@ -43,6 +43,9 @@ public interface MarathonJobSchedulerI { public void eventsList(String address) throws MarathonException; public void eventSubscriptionList(String address) throws MarathonException; public void launchQueue(String address) throws MarathonException; + public void deleteMarathonLeader(String address) throws MarathonException; + public void marathonLeader(String address) throws MarathonException; + public void marathonInfo(String address) throws MarathonException; } diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java index e144c5cc92..db166b7024 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataClientSideServices/marathon/marathonClient/MarathonJobSchedulerImpl.java @@ -272,6 +272,45 @@ public void eventsList(String address) throws MarathonException{ } } + public void deleteMarathonLeader(String address) throws MarathonException{ + try{ + + String completeCommandToRunProcess = "curl -X DELETE "+address+"/v2/leader"; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); + util.printLog(stdout); + } + + catch (Exception ex) { + throw new MarathonException("Exception occured while retrieving the launch queue.\n"+ex.toString()); + } + } + public void marathonLeader(String address) throws MarathonException{ + try{ + + + String completeCommandToRunProcess = "curl GET "+address+"/v2/leader"; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); + util.printLog(stdout); + } + + catch (Exception ex) { + throw new MarathonException("Exception occured while retrieving the leader information.\n"+ex.toString()); + } + } + public void marathonInfo(String address) throws MarathonException{ + try{ + + + String completeCommandToRunProcess = "curl GET "+address+"/v2/info"; + BufferedReader stdout = util.executeProcess(completeCommandToRunProcess); + util.printLog(stdout); + } + + catch (Exception ex) { + throw new MarathonException("Exception occured while retrieving the marathon information.\n"+ex.toString()); + } + } + From a91d214aecf63097663ac525e7cd700e0a803f30 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Wed, 17 Aug 2016 13:16:57 -0400 Subject: [PATCH 096/100] captured in a multiple catch block, instead of 3 different catch clauses --- .../orchestrator/cpi/impl/SimpleOrchestratorImpl.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java index 8d0eda5ff2..66e11b3b03 100644 --- a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java +++ b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java @@ -129,16 +129,16 @@ public ValidationResults validateExperiment(ExperimentModel experiment) throws O } break; } - } catch (ClassNotFoundException e) { + } catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) { logger.error("Error loading the validation class: ", validator, e); validationResults.setValidationState(false); - } catch (InstantiationException e) { + } /*catch (InstantiationException e) { logger.error("Error loading the validation class: ", validator, e); validationResults.setValidationState(false); } catch (IllegalAccessException e) { logger.error("Error loading the validation class: ", validator, e); validationResults.setValidationState(false); - } + }*/ } } if(validationResults.isValidationState()){ From b9231bbe70718712fc9050592210ee30dfc5c09c Mon Sep 17 00:00:00 2001 From: ajain13 Date: Wed, 17 Aug 2016 13:20:44 -0400 Subject: [PATCH 097/100] removed this clause from setExecutor and setJobSubmitter function as its creates ambiguity --- .../orchestrator/cpi/impl/SimpleOrchestratorImpl.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java index 66e11b3b03..80e7f0fbc6 100644 --- a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java +++ b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java @@ -232,16 +232,16 @@ public ExecutorService getExecutor() { return executor; } - public void setExecutor(ExecutorService executor) { - this.executor = executor; + public void setExecutor(ExecutorService executorIn) { + executor = executorIn; } public JobSubmitter getJobSubmitter() { return jobSubmitter; } - public void setJobSubmitter(JobSubmitter jobSubmitter) { - this.jobSubmitter = jobSubmitter; + public void setJobSubmitter(JobSubmitter jobSubmitterIn) { + jobSubmitter = jobSubmitterIn; } public void initialize() throws OrchestratorException { From 506b285b5f0b86381ba43692857e832d8b426dd4 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Fri, 19 Aug 2016 13:13:16 -0400 Subject: [PATCH 098/100] Made some design changes in gfac-core authentication files --- .../authentication/GSIAuthenticationInfo.java | 4 ++-- .../authentication/SSHKeyAuthentication.java | 24 +++++++++---------- .../SSHPasswordAuthentication.java | 6 ++--- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/authentication/GSIAuthenticationInfo.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/authentication/GSIAuthenticationInfo.java index 3a5febb594..37752f14a0 100644 --- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/authentication/GSIAuthenticationInfo.java +++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/authentication/GSIAuthenticationInfo.java @@ -37,7 +37,7 @@ public Properties getProperties() { return properties; } - public void setProperties(Properties properties) { - this.properties = properties; + public void setProperties(Properties propertiesIn) { + properties = propertiesIn; } } diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/authentication/SSHKeyAuthentication.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/authentication/SSHKeyAuthentication.java index c773d121b2..fae1f32a5c 100644 --- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/authentication/SSHKeyAuthentication.java +++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/authentication/SSHKeyAuthentication.java @@ -44,47 +44,47 @@ public String getUserName() { return userName; } - public void setUserName(String userName) { - this.userName = userName; + public void setUserName(String userNameIn) { + this.userName = userNameIn; } public byte[] getPrivateKey() { return privateKey; } - public void setPrivateKey(byte[] privateKey) { - this.privateKey = privateKey; + public void setPrivateKey(byte[] privateKeyIn) { + this.privateKey = privateKeyIn; } public byte[] getPublicKey() { return publicKey; } - public void setPublicKey(byte[] publicKey) { - this.publicKey = publicKey; + public void setPublicKey(byte[] publicKeyIn) { + this.publicKey = publicKeyIn; } public String getPassphrase() { return passphrase; } - public void setPassphrase(String passphrase) { - this.passphrase = passphrase; + public void setPassphrase(String passphraseIn) { + this.passphrase = passphraseIn; } public String getKnownHostsFilePath() { return knownHostsFilePath; } - public void setKnownHostsFilePath(String knownHostsFilePath) { - this.knownHostsFilePath = knownHostsFilePath; + public void setKnownHostsFilePath(String knownHostsFilePathIn) { + this.knownHostsFilePath = knownHostsFilePathIn; } public String getStrictHostKeyChecking() { return strictHostKeyChecking; } - public void setStrictHostKeyChecking(String strictHostKeyChecking) { - this.strictHostKeyChecking = strictHostKeyChecking; + public void setStrictHostKeyChecking(String strictHostKeyCheckingIn) { + this.strictHostKeyChecking = strictHostKeyCheckingIn; } } diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/authentication/SSHPasswordAuthentication.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/authentication/SSHPasswordAuthentication.java index 2d709a9939..b3f64e4be8 100644 --- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/authentication/SSHPasswordAuthentication.java +++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/authentication/SSHPasswordAuthentication.java @@ -27,9 +27,9 @@ public class SSHPasswordAuthentication implements AuthenticationInfo { private String userName; private String password; - public SSHPasswordAuthentication(String userName, String password) { - this.userName = userName; - this.password = password; + public SSHPasswordAuthentication(String userNameIn, String passwordIn) { + this.userName = userNameIn; + this.password = passwordIn; } public String getUserName() { From 088ba30893dd66bcc7a877f6e655544958e7f122 Mon Sep 17 00:00:00 2001 From: ajain13 Date: Fri, 19 Aug 2016 13:15:07 -0400 Subject: [PATCH 099/100] Added this in setExecutor and setJobSubmitter functions --- .../orchestrator/cpi/impl/SimpleOrchestratorImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java index 80e7f0fbc6..0319f27988 100644 --- a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java +++ b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java @@ -233,7 +233,7 @@ public ExecutorService getExecutor() { } public void setExecutor(ExecutorService executorIn) { - executor = executorIn; + this.executor = executorIn; } public JobSubmitter getJobSubmitter() { @@ -241,7 +241,7 @@ public JobSubmitter getJobSubmitter() { } public void setJobSubmitter(JobSubmitter jobSubmitterIn) { - jobSubmitter = jobSubmitterIn; + this.jobSubmitter = jobSubmitterIn; } public void initialize() throws OrchestratorException { From 9796d2ee54225bbeed7cf90f0d635fd399465abd Mon Sep 17 00:00:00 2001 From: ajain13 Date: Mon, 22 Aug 2016 16:10:42 -0400 Subject: [PATCH 100/100] Updated Aurora Injector file. Added a couple of more cases --- .../cloud/bigDataInjections/AuroraInjectorImpl.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java index c40c2a2f5f..109fb997f9 100644 --- a/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java +++ b/modules/cloud/AuroraMarathonIntegration/src/main/java/org/apache/airavata/cloud/bigDataInjections/AuroraInjectorImpl.java @@ -71,6 +71,16 @@ public void executeTheBigDataClientSideCommand(Map> command auroraJS.jobUpdatePause(commandLineOptions.get("n").get(0)); } catch(AuroraException ex){ } break; + case "inspect" : + try { + auroraJS.jobInspect(commandLineOptions.get("n").get(0), commandLineOptions.get("k").get(0)); + } catch(AuroraException ex){ + } break; + case "quota" : + try { + auroraJS.clusterQuota(commandLineOptions.get("k").get(0)); + } catch(AuroraException ex){ + } break; case "create" : JobName = commandLineOptions.get("n").get(0); RamSize = commandLineOptions.get("r").get(0);