From cb05076abafbf6a298670ef7204a8d5a37024cc6 Mon Sep 17 00:00:00 2001 From: erbel <johannes.erbel@cs.uni-goettingen.de> Date: Wed, 22 May 2019 11:41:06 +0200 Subject: [PATCH] Checkstyle Refactor --- config/checkstyle/checkstyle.xml | 4 - .../java/de/ugoe/cs/rwm/mocci/AbsScaler.java | 15 +- .../java/de/ugoe/cs/rwm/mocci/DownScaler.java | 81 ++++--- .../ugoe/cs/rwm/mocci/InitialDeployment.java | 36 ++-- src/main/java/de/ugoe/cs/rwm/mocci/MAPE.java | 200 +++++++++--------- .../java/de/ugoe/cs/rwm/mocci/Monitor.java | 8 +- .../cs/rwm/mocci/RegistryAndLoggerSetup.java | 2 + .../java/de/ugoe/cs/rwm/mocci/UpScaler.java | 109 +++++----- .../mocci/CreateMonitoringElementsTest.java | 68 ++---- .../rwm/mocci/DeployHadoopMonitoringTest.java | 31 ++- .../java/de/ugoe/cs/rwm/mocci/MapeTest.java | 41 ++-- .../ugoe/cs/rwm/mocci/ResolveProxyTest.java | 35 +-- .../live/DeployHadoopMonitoringTestLive.java | 12 +- .../ugoe/cs/rwm/mocci/live/EmptyTestLive.java | 28 +-- 14 files changed, 295 insertions(+), 375 deletions(-) diff --git a/config/checkstyle/checkstyle.xml b/config/checkstyle/checkstyle.xml index a2566db..fd085c6 100644 --- a/config/checkstyle/checkstyle.xml +++ b/config/checkstyle/checkstyle.xml @@ -32,10 +32,6 @@ <property name="allowByTailComment" value="true"/> <property name="allowNonPrintableEscapes" value="true"/> </module> - <module name="LineLength"> - <property name="max" value="150"/> - <property name="ignorePattern" value="^package.*|^import.*|a href|href|http://|https://|ftp://"/> - </module> <module name="OneTopLevelClass"/> <module name="NeedBraces"/> <module name="NoLineWrap"/> diff --git a/src/main/java/de/ugoe/cs/rwm/mocci/AbsScaler.java b/src/main/java/de/ugoe/cs/rwm/mocci/AbsScaler.java index 46c11a6..2327815 100644 --- a/src/main/java/de/ugoe/cs/rwm/mocci/AbsScaler.java +++ b/src/main/java/de/ugoe/cs/rwm/mocci/AbsScaler.java @@ -4,10 +4,11 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * - Johannes Erbel <johannes.erbel@cs.uni-goettingen.de> */ + package de.ugoe.cs.rwm.mocci; import java.nio.file.Path; @@ -35,7 +36,7 @@ public abstract class AbsScaler { protected Resource runtimeModel; protected Connector conn; protected Path runtimePath; - + static List<String> interfaces = new ArrayList<String>() { { add("10.254.1.12"); @@ -45,11 +46,11 @@ public abstract class AbsScaler { add("10.254.1.52"); } }; - - - protected org.eclipse.cmf.occi.core.Resource getResourceById(EList<org.eclipse.cmf.occi.core.Resource> eList, String string) { - for(org.eclipse.cmf.occi.core.Resource res: eList ) { - if(res.getId().equals(string)) { + + protected org.eclipse.cmf.occi.core.Resource getResourceById(EList<org.eclipse.cmf.occi.core.Resource> eList, + String string) { + for (org.eclipse.cmf.occi.core.Resource res : eList) { + if (res.getId().equals(string)) { return res; } } diff --git a/src/main/java/de/ugoe/cs/rwm/mocci/DownScaler.java b/src/main/java/de/ugoe/cs/rwm/mocci/DownScaler.java index d85d6c3..0303043 100644 --- a/src/main/java/de/ugoe/cs/rwm/mocci/DownScaler.java +++ b/src/main/java/de/ugoe/cs/rwm/mocci/DownScaler.java @@ -4,10 +4,11 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * - Johannes Erbel <johannes.erbel@cs.uni-goettingen.de> */ + package de.ugoe.cs.rwm.mocci; import java.nio.file.Path; @@ -16,9 +17,7 @@ import java.util.List; import org.eclipse.cmf.occi.core.AttributeState; import org.eclipse.cmf.occi.core.Configuration; import org.eclipse.cmf.occi.core.Link; -import org.eclipse.cmf.occi.core.MixinBase; import org.eclipse.cmf.occi.infrastructure.Compute; -import org.eclipse.cmf.occi.infrastructure.Ipnetworkinterface; import org.eclipse.cmf.occi.infrastructure.Networkinterface; import org.eclipse.emf.common.util.BasicEList; import org.eclipse.emf.ecore.resource.Resource; @@ -34,65 +33,65 @@ public class DownScaler extends AbsScaler { private List<Link> linksToDelete; private List<org.eclipse.cmf.occi.core.Resource> resourcesToDelete; - + public DownScaler(Connector conn, Path runtimePath) { - this.conn = conn; + this.conn = conn; this.runtimePath = runtimePath; this.linksToDelete = new BasicEList<Link>(); this.resourcesToDelete = new BasicEList<org.eclipse.cmf.occi.core.Resource>(); } - + public Resource downScaleNodes() { CachedResourceSet.getCache().clear(); runtimeModel = ModelUtility.loadOCCIintoEMFResource(conn.loadRuntimeModel(runtimePath)); Configuration config = ((Configuration) runtimeModel.getContents().get(0)); boolean downScale = false; - - for(org.eclipse.cmf.occi.core.Resource res : config.getResources()) { - if(res instanceof Compute) { + + for (org.eclipse.cmf.occi.core.Resource res : config.getResources()) { + if (res instanceof Compute) { Compute comp = (Compute) res; - if(comp.getTitle().contains("hadoop-worker-additional")) { + if (comp.getTitle().contains("hadoop-worker-additional")) { Monitorableproperty monProp = getAttachedCPUMonProp(comp); - if(monProp != null && monProp.getMonitoringResult() != null) { - if(monProp.getMonitoringResult().equals("None")) { + if (monProp != null && monProp.getMonitoringResult() != null) { + if (monProp.getMonitoringResult().equals("None")) { System.out.println(" VM with None CPU utilization found: " + comp.getId()); addConnectedLinksAndComponents(comp); resourcesToDelete.add(comp); - System.out.println(" Deleting Entities Around: " + comp.getTitle() +" ("+comp.getId()+")"); + System.out.println( + " Delete Entities Around: " + comp.getTitle() + " (" + comp.getId() + ")"); downScale = true; break; } } - } + } } } - - if(downScale == false) { + + if (downScale == false) { System.out.println(" Every Compute busy/Only one worker! Skipping downScale!"); } - for(Link link: linksToDelete) { + for (Link link : linksToDelete) { EcoreUtil.delete(link); } config.getResources().removeAll(resourcesToDelete); - - for(org.eclipse.cmf.occi.core.Resource res: resourcesToDelete) { + + for (org.eclipse.cmf.occi.core.Resource res : resourcesToDelete) { EcoreUtil.delete(res); } Resource rM = runtimeModel; MAPE.newComp = null; CachedResourceSet.getCache().clear(); return rM; - - } + } private Monitorableproperty getAttachedCPUMonProp(Compute comp) { - for(Link link: comp.getRlinks()) { - if(link instanceof Monitorableproperty) { + for (Link link : comp.getRlinks()) { + if (link instanceof Monitorableproperty) { Monitorableproperty monProp = (Monitorableproperty) link; - if(monProp.getMonitoringProperty().equals("CPU")) { + if (monProp.getMonitoringProperty().equals("CPU")) { return monProp; } } @@ -103,38 +102,34 @@ public class DownScaler extends AbsScaler { private void addConnectedLinksAndComponents(Compute comp) { linksToDelete.addAll(comp.getLinks()); linksToDelete.addAll(comp.getRlinks()); - - for(Link link: comp.getRlinks()) { - if(link.getSource() instanceof Component) { + + for (Link link : comp.getRlinks()) { + if (link.getSource() instanceof Component) { resourcesToDelete.add(link.getSource()); linksToDelete.addAll(link.getSource().getLinks()); linksToDelete.addAll(link.getSource().getRlinks()); } - if(link instanceof Monitorableproperty) { + if (link instanceof Monitorableproperty) { resourcesToDelete.add(link.getSource()); } } - - for(Link link: comp.getLinks()) { - if(link instanceof Networkinterface) { + + for (Link link : comp.getLinks()) { + if (link instanceof Networkinterface) { Networkinterface nwi = (Networkinterface) link; - for(AttributeState attr: nwi.getAttributes()) { - if(attr.getName().equals("occi.networkinterface.address")) { - if(attr.getValue().startsWith("10.254.1")){ + for (AttributeState attr : nwi.getAttributes()) { + if (attr.getName().equals("occi.networkinterface.address")) { + if (attr.getValue().startsWith("10.254.1")) { interfaces.add(attr.getValue()); } } } /* - for(MixinBase mixB: nwi.getParts()) { - if(mixB instanceof Ipnetworkinterface) { - Ipnetworkinterface ipnwi = (Ipnetworkinterface) mixB; - if(ipnwi.getOcciNetworkinterfaceAddress().startsWith("100.254.1")) { - interfaces.add(ipnwi.getOcciNetworkinterfaceAddress()); - } - } - } - */ + * for(MixinBase mixB: nwi.getParts()) { if(mixB instanceof Ipnetworkinterface) + * { Ipnetworkinterface ipnwi = (Ipnetworkinterface) mixB; + * if(ipnwi.getOcciNetworkinterfaceAddress().startsWith("100.254.1")) { + * interfaces.add(ipnwi.getOcciNetworkinterfaceAddress()); } } } + */ } } } diff --git a/src/main/java/de/ugoe/cs/rwm/mocci/InitialDeployment.java b/src/main/java/de/ugoe/cs/rwm/mocci/InitialDeployment.java index c07ba87..b478bf8 100644 --- a/src/main/java/de/ugoe/cs/rwm/mocci/InitialDeployment.java +++ b/src/main/java/de/ugoe/cs/rwm/mocci/InitialDeployment.java @@ -4,10 +4,11 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * - Johannes Erbel <johannes.erbel@cs.uni-goettingen.de> */ + package de.ugoe.cs.rwm.mocci; import java.io.File; @@ -17,7 +18,6 @@ import java.io.InputStream; import java.io.OutputStream; import java.net.URL; import java.nio.file.Path; -import java.nio.file.Paths; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.epsilon.eol.exceptions.EolRuntimeException; @@ -33,24 +33,25 @@ import de.ugoe.cs.rwm.tocci.TransformatorFactory; import de.ugoe.cs.rwm.tocci.occi2openstack.OCCI2OPENSTACKTransformator; public class InitialDeployment { - - public static void main (String args[]) { + + public static void main(String args[]) { Connector conn = new LocalhostConnector("localhost", 8080, "ubuntu"); - //Connector conn = new MartConnector("192.168.35.45", 8080, "ubuntu", "~/key.pem"); + // Connector conn = new MartConnector("192.168.35.45", 8080, "ubuntu", + // "~/key.pem"); RegistryAndLoggerSetup.setup(); Path occiPath; - - if(args.length == 0) { + + if (args.length == 0) { System.out.println("Choosing default initial deployment model"); occiPath = getModelPath("de/ugoe/cs/rwm/mocci/occi/hadoopClusterCPU.occic"); } else { System.out.println("Choosing user defined deployment model: " + args[0]); - File occiFile = new File(args[0]); + File occiFile = new File(args[0]); occiPath = occiFile.toPath().toAbsolutePath(); } - + Resource model = ModelUtility.loadOCCIintoEMFResource(occiPath); - + Transformator trans = TransformatorFactory.getTransformator("OCCI2OCCI"); try { trans.transform(model, occiPath); @@ -60,21 +61,22 @@ public class InitialDeployment { } model = ModelUtility.loadOCCIintoEMFResource(occiPath); - + OCCI2OPENSTACKTransformator trans2 = new OCCI2OPENSTACKTransformator(); - trans2.setTransformationProperties(RegistryAndLoggerSetup.manNWRuntimeId, RegistryAndLoggerSetup.sshKey, RegistryAndLoggerSetup.userData, RegistryAndLoggerSetup.manNWid); - + trans2.setTransformationProperties(RegistryAndLoggerSetup.manNWRuntimeId, RegistryAndLoggerSetup.sshKey, + RegistryAndLoggerSetup.userData, RegistryAndLoggerSetup.manNWid); + try { trans2.transform(model, occiPath); } catch (EolRuntimeException e) { // TODO Auto-generated catch block e.printStackTrace(); } - + model = ModelUtility.loadOCCIintoEMFResource(occiPath); - + MartDeployer deployer; - if(conn instanceof MartConnector) { + if (conn instanceof MartConnector) { deployer = new MartDeployer(conn, 100000); } else { deployer = new MartDeployer(conn); @@ -83,7 +85,7 @@ public class InitialDeployment { MartExecutor executor = new MartExecutor(conn); executor.executeGetOperation("/resultprovider"); } - + public static Path getModelPath(String resourceName) { File file = null; URL res = ClassLoader.getSystemClassLoader().getResource(resourceName); diff --git a/src/main/java/de/ugoe/cs/rwm/mocci/MAPE.java b/src/main/java/de/ugoe/cs/rwm/mocci/MAPE.java index ee1d3b9..03431ed 100644 --- a/src/main/java/de/ugoe/cs/rwm/mocci/MAPE.java +++ b/src/main/java/de/ugoe/cs/rwm/mocci/MAPE.java @@ -4,53 +4,61 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * - Johannes Erbel <johannes.erbel@cs.uni-goettingen.de> */ + package de.ugoe.cs.rwm.mocci; import java.nio.file.Path; import java.nio.file.Paths; + import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.epsilon.eol.exceptions.EolRuntimeException; import org.json.JSONArray; +import org.modmacao.occi.platform.Component; import de.ugoe.cs.rwm.docci.MartDeployer; import de.ugoe.cs.rwm.docci.ModelUtility; import de.ugoe.cs.rwm.docci.connector.Connector; -import de.ugoe.cs.rwm.docci.connector.LocalhostConnector; +import de.ugoe.cs.rwm.docci.connector.LocalhostConnector; import de.ugoe.cs.rwm.docci.connector.MartConnector; import de.ugoe.cs.rwm.docci.executor.MartExecutor; import de.ugoe.cs.rwm.tocci.occi2openstack.OCCI2OPENSTACKTransformator; -import org.modmacao.occi.platform.Component; - -/**Making javadoc happy. +/** + * Making javadoc happy. + * * @author erbel * */ public class MAPE { protected static final Path RUNTIMEPATH = Paths.get(System.getProperty("user.home") + "/.rwm/runtime.occic"); static Connector conn = new LocalhostConnector("localhost", 8080, "ubuntu"); - //static Connector conn = new MartConnector("192.168.35.45", 8080, "ubuntu", "~/key.pem"); + // static Connector conn = new MartConnector("192.168.35.45", 8080, "ubuntu", + // "~/key.pem"); static MartExecutor executor = new MartExecutor(conn); static Resource runtimeModel; static Component newComp; static int interval = 10000; - - /**Making javadoc happy. - * @param args Making javadoc happy. + + /** + * Making javadoc happy. + * + * @param args + * Making javadoc happy. */ public static void main(String[] args) { System.out.println("Starting MAPE loop"); RegistryAndLoggerSetup.setup(); - - while(true) { + + while (true) { try { - System.out.println("\n--------------------Waiting for new MAPE-K Cycle: Sleeping " + interval +"--------------------"); + System.out.println("\n--------------------Waiting for new MAPE-K Cycle: Sleeping " + interval + + "--------------------"); Thread.sleep(interval); - + Monitor monitor = monitor(); String analysis = analyze(monitor); runtimeModel = plan(analysis); @@ -58,125 +66,125 @@ public class MAPE { } catch (InterruptedException e) { e.printStackTrace(); } - + } } -public static Monitor monitor() { + public static Monitor monitor() { int critCPUs = getNumberOfCriticalCPUs(); int noneCPUs = getNumberOfNoneCPUs(); int allCPUs = getNumberOfAllCPUs(); Monitor mon = new Monitor(critCPUs, noneCPUs, allCPUs); - System.out.println("Monitor: " + "Monitored CPUs: " + allCPUs + "| Critical CPUs: "+ critCPUs + "| None CPUs: " + noneCPUs); + System.out.println("Monitor: " + "Monitored CPUs: " + allCPUs + "| Critical CPUs: " + critCPUs + "| None CPUs: " + + noneCPUs); return mon; -} - - -public static String analyze(Monitor monitor) { - int noneCPUs = monitor.getNoneCPUs(); - int critCPUs = monitor.getCritCPUs(); - int allCPUs = monitor.getAllCPUs(); - - if(noneCPUs == 0 && critCPUs > allCPUs/2 && allCPUs <= 6){ - System.out.println("Analyze: Critical State Detected"); - return "upScale"; - } else { - System.out.println("Analyze: Non Critical State Detected"); - return "downScale"; - } -} - -public static Resource plan(String analysis) { - switch (analysis) { - case "upScale": System.out.println("Plan: upScale!"); - UpScaler upscaler = new UpScaler(conn, RUNTIMEPATH); - return upscaler.upScaleNodes(); - case "downScale": System.out.println("Plan: downScale!"); - DownScaler downscaler = new DownScaler(conn, RUNTIMEPATH); - return downscaler.downScaleNodes(); } - return null; -} + public static String analyze(Monitor monitor) { + int noneCPUs = monitor.getNoneCPUs(); + int critCPUs = monitor.getCritCPUs(); + int allCPUs = monitor.getAllCPUs(); + + if (noneCPUs == 0 && critCPUs > allCPUs / 2 && allCPUs <= 6) { + System.out.println("Analyze: Critical State Detected"); + return "upScale"; + } else { + System.out.println("Analyze: Non Critical State Detected"); + return "downScale"; + } + } + + public static Resource plan(String analysis) { + switch (analysis) { + case "upScale": + System.out.println("Plan: upScale!"); + UpScaler upscaler = new UpScaler(conn, RUNTIMEPATH); + return upscaler.upScaleNodes(); + case "downScale": + System.out.println("Plan: downScale!"); + DownScaler downscaler = new DownScaler(conn, RUNTIMEPATH); + return downscaler.downScaleNodes(); + } + return null; + } -public static void execute(Resource runtimeModel) { - System.out.println("Execute: Deploying adjusted Model"); + public static void execute(Resource runtimeModel) { + System.out.println("Execute: Deploying adjusted Model"); Path occiPath = RUNTIMEPATH; - + OCCI2OPENSTACKTransformator trans2 = new OCCI2OPENSTACKTransformator(); - trans2.setTransformationProperties(RegistryAndLoggerSetup.manNWRuntimeId, RegistryAndLoggerSetup.sshKey, RegistryAndLoggerSetup.userData, RegistryAndLoggerSetup.manNWid); - + trans2.setTransformationProperties(RegistryAndLoggerSetup.manNWRuntimeId, RegistryAndLoggerSetup.sshKey, + RegistryAndLoggerSetup.userData, RegistryAndLoggerSetup.manNWid); + try { trans2.transform(runtimeModel, occiPath); } catch (EolRuntimeException e) { // TODO Auto-generated catch block e.printStackTrace(); } - + runtimeModel = ModelUtility.loadOCCIintoEMFResource(occiPath); - + MartDeployer deployer; - if(conn instanceof MartConnector) { + if (conn instanceof MartConnector) { deployer = new MartDeployer(conn, 100000); } else { deployer = new MartDeployer(conn); } deployer.deploy(runtimeModel); - - if(newComp != null) { + + if (newComp != null) { executor.executeOperation("POST", newComp, ModelUtility.getAction(newComp, "start")); } } - - -private static int getNumberOfNoneCPUs() { - String query = "/monitorableproperty?attribute=monitoring.result&value=None"; - String result = executor.executeGetOperation(query); - if(result.equals("{ }") == false) { - String substring = result.substring(result.indexOf("["), (result.lastIndexOf("]")+1)); - JSONArray arr = new JSONArray(substring); - if(arr.length() == 0) { - return 1; + private static int getNumberOfNoneCPUs() { + String query = "/monitorableproperty?attribute=monitoring.result&value=None"; + String result = executor.executeGetOperation(query); + if (result.equals("{ }") == false) { + String substring = result.substring(result.indexOf("["), (result.lastIndexOf("]") + 1)); + JSONArray arr = new JSONArray(substring); + if (arr.length() == 0) { + return 1; + } else { + return arr.length(); + } } else { - return arr.length(); + return 0; } - } else { - return 0; + } - -} - -private static int getNumberOfCriticalCPUs() { - String query = "/monitorableproperty?attribute=monitoring.result&value=Critical"; - String result = executor.executeGetOperation(query); - if(result.equals("{ }") == false) { - String substring = result.substring(result.indexOf("["), (result.lastIndexOf("]")+1)); - JSONArray arr = new JSONArray(substring); - if(arr.length() == 0) { - return 1; + + private static int getNumberOfCriticalCPUs() { + String query = "/monitorableproperty?attribute=monitoring.result&value=Critical"; + String result = executor.executeGetOperation(query); + if (result.equals("{ }") == false) { + String substring = result.substring(result.indexOf("["), (result.lastIndexOf("]") + 1)); + JSONArray arr = new JSONArray(substring); + if (arr.length() == 0) { + return 1; + } else { + return arr.length(); + } } else { - return arr.length(); + return 0; } - } else { - return 0; - } -} - -private static int getNumberOfAllCPUs() { - String query = "/monitorableproperty?attribute=monitoring.property&value=CPU"; - String result = executor.executeGetOperation(query); - if(result.equals("{ }") == false) { - String substring = result.substring(result.indexOf("["), (result.lastIndexOf("]")+1)); - JSONArray arr = new JSONArray(substring); - if(arr.length() == 0) { - return 1; + } + + private static int getNumberOfAllCPUs() { + String query = "/monitorableproperty?attribute=monitoring.property&value=CPU"; + String result = executor.executeGetOperation(query); + if (result.equals("{ }") == false) { + String substring = result.substring(result.indexOf("["), (result.lastIndexOf("]") + 1)); + JSONArray arr = new JSONArray(substring); + if (arr.length() == 0) { + return 1; + } else { + return arr.length(); + } } else { - return arr.length(); + return 0; } - } else { - return 0; - } -} + } } \ No newline at end of file diff --git a/src/main/java/de/ugoe/cs/rwm/mocci/Monitor.java b/src/main/java/de/ugoe/cs/rwm/mocci/Monitor.java index 647f158..d33990a 100644 --- a/src/main/java/de/ugoe/cs/rwm/mocci/Monitor.java +++ b/src/main/java/de/ugoe/cs/rwm/mocci/Monitor.java @@ -4,17 +4,18 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * - Johannes Erbel <johannes.erbel@cs.uni-goettingen.de> */ + package de.ugoe.cs.rwm.mocci; public class Monitor { private int critCPUs; private int noneCPUs; private int allCPUs; - + public int getAllCPUs() { return allCPUs; } @@ -44,6 +45,5 @@ public class Monitor { public void setNoneCPUs(int noneCPUs) { this.noneCPUs = noneCPUs; } - - + } diff --git a/src/main/java/de/ugoe/cs/rwm/mocci/RegistryAndLoggerSetup.java b/src/main/java/de/ugoe/cs/rwm/mocci/RegistryAndLoggerSetup.java index 59bffc6..6ea6565 100644 --- a/src/main/java/de/ugoe/cs/rwm/mocci/RegistryAndLoggerSetup.java +++ b/src/main/java/de/ugoe/cs/rwm/mocci/RegistryAndLoggerSetup.java @@ -8,6 +8,7 @@ * Contributors: * - Johannes Erbel <johannes.erbel@cs.uni-goettingen.de> */ + package de.ugoe.cs.rwm.mocci; import org.apache.log4j.Level; @@ -36,6 +37,7 @@ import ossweruntime.OssweruntimePackage; public class RegistryAndLoggerSetup { + @SuppressWarnings("linelength") static String manNWid = "urn:uuid:29d78078-fb4c-47aa-a9af-b8aaf3339590"; static String manNWRuntimeId = "75a4639e-9ce7-4058-b859-8a711b0e2e7b"; static String sshKey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6H7Ydi45BTHid4qNppGAi5mzjbnZgt7bi6xLGmZG9CiLmhMsxOuk3Z05Nn+pmoN98qS0eY8S240PPk5VOlYqBY0vdRAwrZSHHaLdMp6I7ARNrI2KraYduweqz7ZQxPXQfwIeYx2HKQxEF2r+4//Fo4WfgdBkLuulvl/Gw3TUzJNQHvgpaiNo9+PI5CZydHnZbjUkRikS12pT+CbNKj+0QKeQztbCd41aKxDv5H0DjltVRcpPppv4dmiU/zoCAIngWLO1PPgfYWyze8Z9IoyBT7Qdg30U91TYZBuxzXR5lq7Fh64y/IZ/SjdOdSIvIuDjtmJDULRdLJzrvubrKY+YH Generated-by-Nova"; diff --git a/src/main/java/de/ugoe/cs/rwm/mocci/UpScaler.java b/src/main/java/de/ugoe/cs/rwm/mocci/UpScaler.java index cd819d0..ff915e8 100644 --- a/src/main/java/de/ugoe/cs/rwm/mocci/UpScaler.java +++ b/src/main/java/de/ugoe/cs/rwm/mocci/UpScaler.java @@ -4,10 +4,11 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * - Johannes Erbel <johannes.erbel@cs.uni-goettingen.de> */ + package de.ugoe.cs.rwm.mocci; import java.nio.file.Path; @@ -35,43 +36,44 @@ import monitoring.Resultprovider; import monitoring.Sensor; import ossweruntime.Ubuntu_xenialxerus; -public class UpScaler extends AbsScaler { - +public class UpScaler extends AbsScaler { + public UpScaler(Connector conn, Path runtimePath) { this.conn = conn; this.runtimePath = runtimePath; } - + @SuppressWarnings("unused") public Resource upScaleNodes() { runtimeModel = ModelUtility.loadOCCIintoEMFResource(conn.loadRuntimeModel(runtimePath)); Configuration config = ((Configuration) runtimeModel.getContents().get(0)); - Compute monVM = (Compute) getResourceById(config.getResources(), "urn:uuid:37829092-c690-494a-98fa-335b2fd660ea"); - - Compute comp = addCompute(config); - Component worker = addWorkerComponent(config, comp); - Sensor sens = addSensor(config, comp); - Datagatherer dg = addDataGatherer(config, comp, sens); - Dataprocessor dp = addDataProcessor(config, comp, sens, dg); - Resultprovider rp = addResultProvider(config, comp, sens, dp); - - return runtimeModel; - } - + Compute monVM = (Compute) getResourceById(config.getResources(), + "urn:uuid:37829092-c690-494a-98fa-335b2fd660ea"); + + Compute comp = addCompute(config); + Component worker = addWorkerComponent(config, comp); + Sensor sens = addSensor(config, comp); + Datagatherer dg = addDataGatherer(config, comp, sens); + Dataprocessor dp = addDataProcessor(config, comp, sens, dg); + Resultprovider rp = addResultProvider(config, comp, sens, dp); + + return runtimeModel; + } + private Compute addCompute(Configuration config) { System.out.println(" Adding Compute Node to Model"); Compute comp = iFactory.createCompute(); comp.setOcciComputeState(ComputeStatus.ACTIVE); - + AttributeState state = factory.createAttributeState(); state.setName("occi.compute.state"); state.setValue("active"); comp.getAttributes().add(state); config.getResources().add(comp); - + Ubuntu_xenialxerus mixOs = osFactory.createUbuntu_xenialxerus(); comp.getParts().add(mixOs); - + Networkinterface nwi = iFactory.createNetworkinterface(); nwi.setTarget(getResourceById(config.getResources(), "urn:uuid:29d78078-fb4c-47aa-a9af-b8aaf3339591")); nwi.setSource(comp); @@ -83,47 +85,44 @@ public class UpScaler extends AbsScaler { ipAttr.setName("occi.networkinterface.address"); ipAttr.setValue(ip); nwi.getAttributes().add(ipAttr); - + String ipadjusted = ip.replace(".", "-"); comp.setTitle("hadoop-worker-additional-" + ipadjusted); - + AttributeState hostname = factory.createAttributeState(); hostname.setName("occi.compute.hostname"); hostname.setValue("hadoop-worker-additional-" + ipadjusted); comp.getAttributes().add(hostname); - - + System.out.println(" Ip in Hadoop Network: " + interfaces.get(0)); interfaces.remove(0); - - - + Networkinterface nwimon = iFactory.createNetworkinterface(); nwimon.setTarget(getResourceById(config.getResources(), "urn:uuid:7a9fca2c-24fb-473c-aa9c-8dc9e68a432a")); nwimon.setSource(comp); return comp; } - + private Component addWorkerComponent(Configuration config, Compute comp) { System.out.println(" Adding Worker Component to Model"); Component worker = pFactory.createComponent(); worker.setTitle("worker-component"); - //worker.setOcciComponentState(Status.ACTIVE); + // worker.setOcciComponentState(Status.ACTIVE); config.getResources().add(worker); - + AttributeState attr = factory.createAttributeState(); attr.setName("occi.core.id"); attr.setValue(worker.getId()); worker.getAttributes().add(attr); - + MixinBase mBase = factory.createMixinBase(); mBase.setMixin(getMixin("hworker", config)); worker.getParts().add(mBase); - + Placementlink pLink = placeFactory.createPlacementlink(); pLink.setSource(worker); pLink.setTarget(comp); - + Componentlink compLink = pFactory.createComponentlink(); compLink.setSource(getResourceById(config.getResources(), "urn:uuid:a4888ba9-a0ea-48f2-a29e-901c876ab42d")); compLink.setTarget(worker); @@ -136,12 +135,12 @@ public class UpScaler extends AbsScaler { Sensor sens = mFactory.createSensor(); sens.setTitle("CPUSensor"); config.getResources().add(sens); - + AttributeState attr = factory.createAttributeState(); attr.setName("occi.core.id"); attr.setValue(sens.getId()); sens.getAttributes().add(attr); - + Monitorableproperty mp = mFactory.createMonitorableproperty(); mp.setTitle("monProp"); mp.setMonitoringProperty("CPU"); @@ -151,33 +150,33 @@ public class UpScaler extends AbsScaler { mp.getAttributes().add(attrProp); mp.setSource(sens); mp.setTarget(comp); - + return sens; } - + private Datagatherer addDataGatherer(Configuration config, Compute comp, Sensor sens) { System.out.println(" Adding Datagatherer to Model"); Datagatherer dg = mFactory.createDatagatherer(); dg.setTitle("CPUGatherer"); config.getResources().add(dg); - + AttributeState attr = factory.createAttributeState(); attr.setName("occi.core.id"); attr.setValue(dg.getId()); dg.getAttributes().add(attr); - + MixinBase mBase = factory.createMixinBase(); mBase.setMixin(getMixin("cpugatherer", config)); dg.getParts().add(mBase); - + Componentlink c1 = pFactory.createComponentlink(); c1.setSource(sens); c1.setTarget(dg); - + Placementlink pl = placeFactory.createPlacementlink(); pl.setSource(dg); pl.setTarget(comp); - + return dg; } @@ -186,16 +185,16 @@ public class UpScaler extends AbsScaler { Dataprocessor dp = mFactory.createDataprocessor(); dp.setTitle("CPUProcessor"); config.getResources().add(dp); - + AttributeState attr = factory.createAttributeState(); attr.setName("occi.core.id"); attr.setValue(dp.getId()); dp.getAttributes().add(attr); - + MixinBase mBase = factory.createMixinBase(); mBase.setMixin(getMixin("cpuprocessorlocal", config)); dp.getParts().add(mBase); - + Componentlink c2 = pFactory.createComponentlink(); c2.setSource(sens); c2.setTarget(dp); @@ -213,43 +212,43 @@ public class UpScaler extends AbsScaler { Resultprovider rp = mFactory.createResultprovider(); rp.setTitle("CPUProvider"); config.getResources().add(rp); - + Occiresultprovider orp = mFactory.createOcciresultprovider(); orp.setResultProviderEndpoint("192.168.35.45:8080"); AttributeState attrOP = factory.createAttributeState(); attrOP.setName("result.provider.endpoint"); attrOP.setValue("192.168.35.45:8080"); rp.getAttributes().add(attrOP); - + rp.getParts().add(orp); - + MixinBase mBase = factory.createMixinBase(); mBase.setMixin(getMixin("cpupublisher", config)); rp.getParts().add(mBase); - + AttributeState attr = factory.createAttributeState(); attr.setName("occi.core.id"); attr.setValue(rp.getId()); rp.getAttributes().add(attr); - + Componentlink c3 = pFactory.createComponentlink(); c3.setSource(sens); c3.setTarget(rp); - + Placementlink pl = placeFactory.createPlacementlink(); pl.setSource(rp); pl.setTarget(comp); - + Componentlink cl = pFactory.createComponentlink(); cl.setSource(rp); cl.setTarget(dp); - + return rp; } - + private Mixin getMixin(String string, Configuration config) { - for(Mixin mix: config.getMixins()) { - if(mix.getTerm().equals(string)) { + for (Mixin mix : config.getMixins()) { + if (mix.getTerm().equals(string)) { return mix; } } diff --git a/src/test/java/de/ugoe/cs/rwm/mocci/CreateMonitoringElementsTest.java b/src/test/java/de/ugoe/cs/rwm/mocci/CreateMonitoringElementsTest.java index 600aac1..abfc896 100644 --- a/src/test/java/de/ugoe/cs/rwm/mocci/CreateMonitoringElementsTest.java +++ b/src/test/java/de/ugoe/cs/rwm/mocci/CreateMonitoringElementsTest.java @@ -2,108 +2,81 @@ package de.ugoe.cs.rwm.mocci; import static org.junit.Assert.assertTrue; -import java.nio.file.Path; -import java.nio.file.Paths; - -import org.apache.log4j.Level; -import org.apache.log4j.Logger; import org.eclipse.cmf.occi.core.Configuration; import org.eclipse.cmf.occi.core.Link; -import org.eclipse.cmf.occi.core.Mixin; -import org.eclipse.cmf.occi.core.MixinBase; import org.eclipse.cmf.occi.core.OCCIFactory; -import org.eclipse.cmf.occi.core.OCCIPackage; import org.eclipse.cmf.occi.core.impl.OCCIFactoryImpl; -import org.eclipse.cmf.occi.core.util.OcciRegistry; import org.eclipse.cmf.occi.infrastructure.Compute; import org.eclipse.cmf.occi.infrastructure.InfrastructureFactory; import org.eclipse.cmf.occi.infrastructure.impl.InfrastructureFactoryImpl; -import org.eclipse.emf.common.util.EList; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.ecore.resource.Resource; -import org.eclipse.emf.ecore.resource.ResourceSet; -import org.eclipse.emf.ecore.util.EcoreUtil; -import org.eclipse.epsilon.emc.emf.CachedResourceSet; -import org.junit.Before; import org.junit.BeforeClass; -import org.junit.Ignore; import org.junit.Test; import org.modmacao.occi.platform.Componentlink; import org.modmacao.occi.platform.PlatformFactory; import org.modmacao.occi.platform.impl.PlatformFactoryImpl; -import de.ugoe.cs.rwm.docci.MartDeployer; -import de.ugoe.cs.rwm.docci.ModelUtility; -import de.ugoe.cs.rwm.mocci.TestUtility; -import de.ugoe.cs.rwm.docci.connector.Connector; -import de.ugoe.cs.rwm.docci.connector.LocalhostConnector; -import de.ugoe.cs.rwm.tocci.Transformator; -import de.ugoe.cs.rwm.tocci.TransformatorFactory; -import de.ugoe.cs.rwm.tocci.occi2openstack.OCCI2OPENSTACKTransformator; import monitoring.Datagatherer; import monitoring.Dataprocessor; import monitoring.Monitorableproperty; import monitoring.MonitoringFactory; -import monitoring.MonitoringPackage; import monitoring.Resultprovider; import monitoring.Sensor; import monitoring.impl.MonitoringFactoryImpl; public class CreateMonitoringElementsTest { - + @BeforeClass - public static void OCCIRegistrySetup() { + public static void OCCIRegistrySetup() { TestUtility.loggerSetup(); TestUtility.extensionRegistrySetup(); } - + @Test public void createMonitoringElements() { - //Factories to create OCCI elements + // Factories to create OCCI elements OCCIFactory cFact = new OCCIFactoryImpl(); InfrastructureFactory iFact = new InfrastructureFactoryImpl(); MonitoringFactory mFact = new MonitoringFactoryImpl(); PlatformFactory pFact = new PlatformFactoryImpl(); - - //Top level element + + // Top level element Configuration config = cFact.createConfiguration(); Compute comp = iFact.createCompute(); - //Resources + // Resources Sensor sensor = mFact.createSensor(); config.getResources().add(sensor); config.getResources().add(comp); - + Monitorableproperty mp = mFact.createMonitorableproperty(); mp.setSource(sensor); mp.setTarget(comp); - + Datagatherer dg = mFact.createDatagatherer(); Componentlink cl = pFact.createComponentlink(); cl.setSource(sensor); cl.setTarget(dg); - + Dataprocessor dp = mFact.createDataprocessor(); Componentlink cl1 = pFact.createComponentlink(); cl1.setSource(sensor); cl1.setTarget(dp); - + Resultprovider rp = mFact.createResultprovider(); Componentlink cl2 = pFact.createComponentlink(); cl2.setSource(sensor); cl2.setTarget(rp); - + System.out.println("Checking configuration: " + config.getResources()); - + assertTrue(checkSensor(config)); - + } - public boolean checkSensor(Configuration conf) { - for(org.eclipse.cmf.occi.core.Resource res: conf.getResources()) { - if(res instanceof Sensor) { + for (org.eclipse.cmf.occi.core.Resource res : conf.getResources()) { + if (res instanceof Sensor) { Sensor sens = (Sensor) res; - if(containsDevices(sens)) { + if (containsDevices(sens)) { return true; } } @@ -113,15 +86,14 @@ public class CreateMonitoringElementsTest { private boolean containsDevices(Sensor sens) { int count = 0; - for(Link link: sens.getLinks()) { - if(link instanceof Componentlink) { + for (Link link : sens.getLinks()) { + if (link instanceof Componentlink) { count++; } } - if(count == 3) { + if (count == 3) { return true; } return false; } } - \ No newline at end of file diff --git a/src/test/java/de/ugoe/cs/rwm/mocci/DeployHadoopMonitoringTest.java b/src/test/java/de/ugoe/cs/rwm/mocci/DeployHadoopMonitoringTest.java index f0a5178..f634c77 100644 --- a/src/test/java/de/ugoe/cs/rwm/mocci/DeployHadoopMonitoringTest.java +++ b/src/test/java/de/ugoe/cs/rwm/mocci/DeployHadoopMonitoringTest.java @@ -15,7 +15,6 @@ import org.junit.Test; import de.ugoe.cs.rwm.docci.MartDeployer; import de.ugoe.cs.rwm.docci.ModelUtility; -import de.ugoe.cs.rwm.mocci.TestUtility; import de.ugoe.cs.rwm.docci.connector.Connector; import de.ugoe.cs.rwm.docci.connector.LocalhostConnector; import de.ugoe.cs.rwm.tocci.Transformator; @@ -27,9 +26,9 @@ public class DeployHadoopMonitoringTest { private static String manNWRuntimeId = "75a4639e-9ce7-4058-b859-8a711b0e2e7b"; private static String sshKey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6H7Ydi45BTHid4qNppGAi5mzjbnZgt7bi6xLGmZG9CiLmhMsxOuk3Z05Nn+pmoN98qS0eY8S240PPk5VOlYqBY0vdRAwrZSHHaLdMp6I7ARNrI2KraYduweqz7ZQxPXQfwIeYx2HKQxEF2r+4//Fo4WfgdBkLuulvl/Gw3TUzJNQHvgpaiNo9+PI5CZydHnZbjUkRikS12pT+CbNKj+0QKeQztbCd41aKxDv5H0DjltVRcpPppv4dmiU/zoCAIngWLO1PPgfYWyze8Z9IoyBT7Qdg30U91TYZBuxzXR5lq7Fh64y/IZ/SjdOdSIvIuDjtmJDULRdLJzrvubrKY+YH Generated-by-Nova"; private static String userData = "I2Nsb3VkLWNvbmZpZwoKIyBVcGdyYWRlIHRoZSBpbnN0YW5jZSBvbiBmaXJzdCBib290CiMgKGllIHJ1biBhcHQtZ2V0IHVwZ3JhZGUpCiMKIyBEZWZhdWx0OiBmYWxzZQojIEFsaWFzZXM6IGFwdF91cGdyYWRlCnBhY2thZ2VfdXBncmFkZTogdHJ1ZQoKcGFja2FnZXM6CiAtIHB5dGhvbgoKd3JpdGVfZmlsZXM6CiAgLSBwYXRoOiAvZXRjL25ldHdvcmsvaW50ZXJmYWNlcy5kLzUwLWNsb3VkLWluaXQuY2ZnCiAgICBjb250ZW50OiB8CiAgICAgIGF1dG8gbG8KICAgICAgaWZhY2UgbG8gaW5ldCBsb29wYmFjawogICAgICAKICAgICAgYXV0byBlbnMwCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMAogICAgICBpZmFjZSBlbnMwIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMxCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMQogICAgICBpZmFjZSBlbnMxIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMyCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMgogICAgICBpZmFjZSBlbnMyIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMzCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMwogICAgICBpZmFjZSBlbnMzIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM0CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNAogICAgICBpZmFjZSBlbnM0IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM1CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNQogICAgICBpZmFjZSBlbnM1IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM2CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNgogICAgICBpZmFjZSBlbnM2IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM3CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNwogICAgICBpZmFjZSBlbnM3IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM4CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zOAogICAgICBpZmFjZSBlbnM4IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM5CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zOQogICAgICBpZmFjZSBlbnM5IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMxMAogICAgICBhbGxvdy1ob3RwbHVnIGVuczEwCiAgICAgIGlmYWNlIGVuczEwIGluZXQgZGhjcAoKIyMj"; - + @BeforeClass - public static void OCCIRegistrySetup() { + public static void OCCIRegistrySetup() { TestUtility.loggerSetup(); TestUtility.extensionRegistrySetup(); } @@ -50,8 +49,7 @@ public class DeployHadoopMonitoringTest { Path occiPath = Paths.get(ModelUtility.getPathToResource("occi/hadoopClusterCPU.occic")); Resource model = ModelUtility.loadOCCIintoEMFResource(occiPath); - - + Transformator trans = TransformatorFactory.getTransformator("OCCI2OCCI"); try { trans.transform(model, occiPath); @@ -61,29 +59,28 @@ public class DeployHadoopMonitoringTest { } model = ModelUtility.loadOCCIintoEMFResource(occiPath); - + OCCI2OPENSTACKTransformator trans2 = new OCCI2OPENSTACKTransformator(); trans2.setTransformationProperties(manNWRuntimeId, sshKey, userData, manNWid); - + try { trans2.transform(model, occiPath); } catch (EolRuntimeException e) { // TODO Auto-generated catch block e.printStackTrace(); } - + model = ModelUtility.loadOCCIintoEMFResource(occiPath); - Connector conn = new LocalhostConnector("localhost", 8080, "ubuntu"); MartDeployer deployer = new MartDeployer(conn); deployer.deploy(model); - + assertTrue(TestUtility.equalsRuntime(model, conn)); } - + @Test public void deployHadoopWithCPUAndMemMonitoring() { CachedResourceSet.getCache().clear(); @@ -91,8 +88,7 @@ public class DeployHadoopMonitoringTest { Path occiPath = Paths.get(ModelUtility.getPathToResource("occi/hadoopClusterNewExtWithMem.occic")); Resource model = ModelUtility.loadOCCIintoEMFResource(occiPath); - - + Transformator trans = TransformatorFactory.getTransformator("OCCI2OCCI"); try { trans.transform(model, occiPath); @@ -102,25 +98,24 @@ public class DeployHadoopMonitoringTest { } model = ModelUtility.loadOCCIintoEMFResource(occiPath); - + OCCI2OPENSTACKTransformator trans2 = new OCCI2OPENSTACKTransformator(); trans2.setTransformationProperties(manNWRuntimeId, sshKey, userData, manNWid); - + try { trans2.transform(model, occiPath); } catch (EolRuntimeException e) { // TODO Auto-generated catch block e.printStackTrace(); } - + model = ModelUtility.loadOCCIintoEMFResource(occiPath); - Connector conn = new LocalhostConnector("localhost", 8080, "ubuntu"); MartDeployer deployer = new MartDeployer(conn); deployer.deploy(model); - + assertTrue(TestUtility.equalsRuntime(model, conn)); } diff --git a/src/test/java/de/ugoe/cs/rwm/mocci/MapeTest.java b/src/test/java/de/ugoe/cs/rwm/mocci/MapeTest.java index 1b6dc89..e8b1024 100644 --- a/src/test/java/de/ugoe/cs/rwm/mocci/MapeTest.java +++ b/src/test/java/de/ugoe/cs/rwm/mocci/MapeTest.java @@ -10,7 +10,6 @@ import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.epsilon.emc.emf.CachedResourceSet; import org.junit.Before; import org.junit.BeforeClass; -import org.junit.Ignore; import org.junit.Test; import de.ugoe.cs.rwm.docci.MartDeployer; @@ -18,16 +17,14 @@ import de.ugoe.cs.rwm.docci.ModelUtility; import de.ugoe.cs.rwm.docci.connector.Connector; import de.ugoe.cs.rwm.docci.connector.LocalhostConnector; - public class MapeTest { - @BeforeClass - public static void OCCIRegistrySetup() { + public static void OCCIRegistrySetup() { TestUtility.loggerSetup(); - TestUtility.extensionRegistrySetup(); + TestUtility.extensionRegistrySetup(); } - + @Before public void resetEverything() { CachedResourceSet.getCache().clear(); @@ -35,41 +32,41 @@ public class MapeTest { Connector conn = new LocalhostConnector("localhost", 8080, "ubuntu"); MartDeployer deployer = new MartDeployer(conn); deployer.deploy(occiPath); - + InitialDeployment.main(new String[0]); } - + @Test public void Monitor() { - Monitor monitor = MAPE.monitor(); - assertTrue(monitor.getAllCPUs() == 1); - } - + Monitor monitor = MAPE.monitor(); + assertTrue(monitor.getAllCPUs() == 1); + } + @Test public void Analyze() { Monitor monitor = MAPE.monitor(); String analysis = MAPE.analyze(monitor); - if(monitor.getCritCPUs() == 1) { + if (monitor.getCritCPUs() == 1) { assertTrue(analysis.equals("upScale")); } - if(monitor.getNoneCPUs() == 1) { + if (monitor.getNoneCPUs() == 1) { assertTrue(analysis.equals("downScale")); } } - + @Test public void Plan() { Monitor monitor = MAPE.monitor(); String analysis = MAPE.analyze(monitor); Resource res = MAPE.plan(analysis); - if(analysis.equals("upScale")) { + if (analysis.equals("upScale")) { Configuration pre = (Configuration) MAPE.runtimeModel.getContents().get(0); Configuration post = (Configuration) res.getContents().get(0); - assertTrue(pre.getResources().size()<post.getResources().size()); - - } + assertTrue(pre.getResources().size() < post.getResources().size()); + } - + } + @Test public void Execute() { Monitor monitor = MAPE.monitor(); @@ -78,7 +75,5 @@ public class MapeTest { MAPE.execute(MAPE.runtimeModel); assertTrue(TestUtility.equalsRuntime(MAPE.runtimeModel, MAPE.conn)); } - -} - \ No newline at end of file +} diff --git a/src/test/java/de/ugoe/cs/rwm/mocci/ResolveProxyTest.java b/src/test/java/de/ugoe/cs/rwm/mocci/ResolveProxyTest.java index 5445e4d..c2ac595 100644 --- a/src/test/java/de/ugoe/cs/rwm/mocci/ResolveProxyTest.java +++ b/src/test/java/de/ugoe/cs/rwm/mocci/ResolveProxyTest.java @@ -5,54 +5,33 @@ import static org.junit.Assert.assertTrue; import java.nio.file.Path; import java.nio.file.Paths; -import org.apache.log4j.Level; -import org.apache.log4j.Logger; -import org.eclipse.cmf.occi.core.Configuration; import org.eclipse.cmf.occi.core.Link; import org.eclipse.cmf.occi.core.Mixin; -import org.eclipse.cmf.occi.core.OCCIPackage; -import org.eclipse.cmf.occi.core.util.OcciRegistry; import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.emf.ecore.resource.ResourceSet; -import org.eclipse.emf.ecore.util.EcoreUtil; -import org.eclipse.epsilon.emc.emf.CachedResourceSet; -import org.junit.Before; import org.junit.BeforeClass; -import org.junit.Ignore; import org.junit.Test; -import org.modmacao.occi.platform.Componentlink; -import org.modmacao.occi.platform.impl.PlatformFactoryImpl; - -import de.ugoe.cs.rwm.docci.MartDeployer; -import de.ugoe.cs.rwm.docci.ModelUtility; -import de.ugoe.cs.rwm.mocci.TestUtility; -import de.ugoe.cs.rwm.docci.connector.Connector; -import de.ugoe.cs.rwm.docci.connector.LocalhostConnector; -import de.ugoe.cs.rwm.tocci.Transformator; -import de.ugoe.cs.rwm.tocci.TransformatorFactory; -import de.ugoe.cs.rwm.tocci.occi2openstack.OCCI2OPENSTACKTransformator; -import monitoring.MonitoringPackage; public class ResolveProxyTest { - + @BeforeClass - public static void OCCIRegistrySetup() { + public static void OCCIRegistrySetup() { TestUtility.loggerSetup(); TestUtility.extensionRegistrySetup(); } @Test public void resolveProxies() { - Path newOCCI = Paths.get(de.ugoe.cs.rwm.docci.ModelUtility.getPathToResource("occi/hadoopClusterNewExtWithMem.occic")); - + Path newOCCI = Paths + .get(de.ugoe.cs.rwm.docci.ModelUtility.getPathToResource("occi/hadoopClusterNewExtWithMem.occic")); + Resource ress = de.ugoe.cs.rwm.docci.ModelUtility.loadOCCIintoEMFResource(newOCCI); ResourceSet resSet = ress.getResourceSet(); - - + EList<EObject> newModel = de.ugoe.cs.rwm.docci.ModelUtility.loadOCCI(newOCCI); - + for (org.eclipse.cmf.occi.core.Resource res : de.ugoe.cs.rwm.docci.ModelUtility.getResources(newModel)) { System.out.println("Resource Title: " + res.getTitle()); System.out.println(" Kind: " + res.getKind()); diff --git a/src/test/java/de/ugoe/cs/rwm/mocci/live/DeployHadoopMonitoringTestLive.java b/src/test/java/de/ugoe/cs/rwm/mocci/live/DeployHadoopMonitoringTestLive.java index 05d0a16..6a98609 100644 --- a/src/test/java/de/ugoe/cs/rwm/mocci/live/DeployHadoopMonitoringTestLive.java +++ b/src/test/java/de/ugoe/cs/rwm/mocci/live/DeployHadoopMonitoringTestLive.java @@ -25,13 +25,12 @@ public class DeployHadoopMonitoringTestLive { String sshKey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6H7Ydi45BTHid4qNppGAi5mzjbnZgt7bi6xLGmZG9CiLmhMsxOuk3Z05Nn+pmoN98qS0eY8S240PPk5VOlYqBY0vdRAwrZSHHaLdMp6I7ARNrI2KraYduweqz7ZQxPXQfwIeYx2HKQxEF2r+4//Fo4WfgdBkLuulvl/Gw3TUzJNQHvgpaiNo9+PI5CZydHnZbjUkRikS12pT+CbNKj+0QKeQztbCd41aKxDv5H0DjltVRcpPppv4dmiU/zoCAIngWLO1PPgfYWyze8Z9IoyBT7Qdg30U91TYZBuxzXR5lq7Fh64y/IZ/SjdOdSIvIuDjtmJDULRdLJzrvubrKY+YH Generated-by-Nova"; String userData = "I2Nsb3VkLWNvbmZpZwoKIyBVcGdyYWRlIHRoZSBpbnN0YW5jZSBvbiBmaXJzdCBib290CiMgKGllIHJ1biBhcHQtZ2V0IHVwZ3JhZGUpCiMKIyBEZWZhdWx0OiBmYWxzZQojIEFsaWFzZXM6IGFwdF91cGdyYWRlCnBhY2thZ2VfdXBncmFkZTogdHJ1ZQoKcGFja2FnZXM6CiAtIHB5dGhvbgoKd3JpdGVfZmlsZXM6CiAgLSBwYXRoOiAvZXRjL25ldHdvcmsvaW50ZXJmYWNlcy5kLzUwLWNsb3VkLWluaXQuY2ZnCiAgICBjb250ZW50OiB8CiAgICAgIGF1dG8gbG8KICAgICAgaWZhY2UgbG8gaW5ldCBsb29wYmFjawogICAgICAKICAgICAgYXV0byBlbnMwCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMAogICAgICBpZmFjZSBlbnMwIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMxCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMQogICAgICBpZmFjZSBlbnMxIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMyCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMgogICAgICBpZmFjZSBlbnMyIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMzCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMwogICAgICBpZmFjZSBlbnMzIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM0CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNAogICAgICBpZmFjZSBlbnM0IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM1CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNQogICAgICBpZmFjZSBlbnM1IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM2CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNgogICAgICBpZmFjZSBlbnM2IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM3CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNwogICAgICBpZmFjZSBlbnM3IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM4CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zOAogICAgICBpZmFjZSBlbnM4IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM5CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zOQogICAgICBpZmFjZSBlbnM5IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMxMAogICAgICBhbGxvdy1ob3RwbHVnIGVuczEwCiAgICAgIGlmYWNlIGVuczEwIGluZXQgZGhjcAoKIyMj"; - @BeforeClass - public static void OCCIRegistrySetup() { + public static void OCCIRegistrySetup() { TestUtility.loggerSetup(); TestUtility.extensionRegistrySetup(); } - + public void deprovisionEverything() { CachedResourceSet.getCache().clear(); Path occiPath = Paths.get(ModelUtility.getPathToResource("occi/Empty.occic")); @@ -52,23 +51,22 @@ public class DeployHadoopMonitoringTestLive { // TODO Auto-generated catch block e.printStackTrace(); } - + OCCI2OPENSTACKTransformator trans2 = new OCCI2OPENSTACKTransformator(); trans2.setTransformationProperties(manNWRuntimeId, sshKey, userData, manNWid); - + try { trans2.transform(occiPath, occiPath); } catch (EolRuntimeException e) { // TODO Auto-generated catch block e.printStackTrace(); } - Connector conn = new MartConnector("192.168.35.45", 8080, "ubuntu", "~/key.pem"); MartDeployer deployer = new MartDeployer(conn); deployer.deploy(occiPath); - + assertTrue(TestUtility.equalsRuntime(occiPath, conn)); } diff --git a/src/test/java/de/ugoe/cs/rwm/mocci/live/EmptyTestLive.java b/src/test/java/de/ugoe/cs/rwm/mocci/live/EmptyTestLive.java index 3d6d655..26e733b 100644 --- a/src/test/java/de/ugoe/cs/rwm/mocci/live/EmptyTestLive.java +++ b/src/test/java/de/ugoe/cs/rwm/mocci/live/EmptyTestLive.java @@ -1,38 +1,17 @@ package de.ugoe.cs.rwm.mocci.live; -import static org.junit.Assert.assertTrue; - import java.nio.file.Path; import java.nio.file.Paths; -import org.apache.log4j.Level; -import org.apache.log4j.Logger; -import org.eclipse.cmf.occi.core.Configuration; -import org.eclipse.cmf.occi.core.Link; -import org.eclipse.cmf.occi.core.Mixin; -import org.eclipse.cmf.occi.core.OCCIPackage; -import org.eclipse.cmf.occi.core.util.OcciRegistry; -import org.eclipse.emf.common.util.EList; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.ecore.resource.Resource; -import org.eclipse.emf.ecore.resource.ResourceSet; -import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.epsilon.emc.emf.CachedResourceSet; -import org.junit.Before; import org.junit.BeforeClass; -import org.junit.Ignore; import org.junit.Test; import de.ugoe.cs.rwm.docci.MartDeployer; import de.ugoe.cs.rwm.docci.ModelUtility; -import de.ugoe.cs.rwm.mocci.TestUtility; import de.ugoe.cs.rwm.docci.connector.Connector; -import de.ugoe.cs.rwm.docci.connector.LocalhostConnector; import de.ugoe.cs.rwm.docci.connector.MartConnector; -import de.ugoe.cs.rwm.tocci.Transformator; -import de.ugoe.cs.rwm.tocci.TransformatorFactory; -import de.ugoe.cs.rwm.tocci.occi2openstack.OCCI2OPENSTACKTransformator; -import monitoring.MonitoringPackage; +import de.ugoe.cs.rwm.mocci.TestUtility; public class EmptyTestLive { String manNWid = "urn:uuid:29d78078-fb4c-47aa-a9af-b8aaf3339590"; @@ -40,13 +19,12 @@ public class EmptyTestLive { String sshKey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6H7Ydi45BTHid4qNppGAi5mzjbnZgt7bi6xLGmZG9CiLmhMsxOuk3Z05Nn+pmoN98qS0eY8S240PPk5VOlYqBY0vdRAwrZSHHaLdMp6I7ARNrI2KraYduweqz7ZQxPXQfwIeYx2HKQxEF2r+4//Fo4WfgdBkLuulvl/Gw3TUzJNQHvgpaiNo9+PI5CZydHnZbjUkRikS12pT+CbNKj+0QKeQztbCd41aKxDv5H0DjltVRcpPppv4dmiU/zoCAIngWLO1PPgfYWyze8Z9IoyBT7Qdg30U91TYZBuxzXR5lq7Fh64y/IZ/SjdOdSIvIuDjtmJDULRdLJzrvubrKY+YH Generated-by-Nova"; String userData = "I2Nsb3VkLWNvbmZpZwoKIyBVcGdyYWRlIHRoZSBpbnN0YW5jZSBvbiBmaXJzdCBib290CiMgKGllIHJ1biBhcHQtZ2V0IHVwZ3JhZGUpCiMKIyBEZWZhdWx0OiBmYWxzZQojIEFsaWFzZXM6IGFwdF91cGdyYWRlCnBhY2thZ2VfdXBncmFkZTogdHJ1ZQoKcGFja2FnZXM6CiAtIHB5dGhvbgoKd3JpdGVfZmlsZXM6CiAgLSBwYXRoOiAvZXRjL25ldHdvcmsvaW50ZXJmYWNlcy5kLzUwLWNsb3VkLWluaXQuY2ZnCiAgICBjb250ZW50OiB8CiAgICAgIGF1dG8gbG8KICAgICAgaWZhY2UgbG8gaW5ldCBsb29wYmFjawogICAgICAKICAgICAgYXV0byBlbnMwCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMAogICAgICBpZmFjZSBlbnMwIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMxCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMQogICAgICBpZmFjZSBlbnMxIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMyCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMgogICAgICBpZmFjZSBlbnMyIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMzCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMwogICAgICBpZmFjZSBlbnMzIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM0CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNAogICAgICBpZmFjZSBlbnM0IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM1CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNQogICAgICBpZmFjZSBlbnM1IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM2CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNgogICAgICBpZmFjZSBlbnM2IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM3CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNwogICAgICBpZmFjZSBlbnM3IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM4CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zOAogICAgICBpZmFjZSBlbnM4IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM5CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zOQogICAgICBpZmFjZSBlbnM5IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMxMAogICAgICBhbGxvdy1ob3RwbHVnIGVuczEwCiAgICAgIGlmYWNlIGVuczEwIGluZXQgZGhjcAoKIyMj"; - @BeforeClass - public static void OCCIRegistrySetup() { + public static void OCCIRegistrySetup() { TestUtility.loggerSetup(); TestUtility.extensionRegistrySetup(); } - + @Test public void deprovisionEverything() { CachedResourceSet.getCache().clear(); -- GitLab