diff --git a/connectors/src/main/java/org/cloudml/connectors/AzureConnector.java b/connectors/src/main/java/org/cloudml/connectors/AzureConnector.java index 2c20c0a4..9b5a3e46 100644 --- a/connectors/src/main/java/org/cloudml/connectors/AzureConnector.java +++ b/connectors/src/main/java/org/cloudml/connectors/AzureConnector.java @@ -62,7 +62,7 @@ public class AzureConnector implements Connector{ private ComputeManagementClient computeManagementClient; private HostedServiceOperations hostedServicesOperations; - private HashMap runtimeInformation; + private HashMap runtimeInformation; public AzureConnector(String endpoint, String provider,String login,String secretKey){ journal.log(Level.INFO, ">> Connecting to "+provider+" ..."); @@ -98,8 +98,8 @@ public void execCommand(String id, String command, String login, String key) { } @Override - public HashMap createInstance(VMInstance a) { - runtimeInformation=new HashMap(); + public HashMap createInstance(VMInstance a) { + runtimeInformation=new HashMap(); VM vm = a.getType(); ComponentInstance.State state = ComponentInstance.State.UNRECOGNIZED; @@ -199,7 +199,7 @@ public HashMap createInstance(VMInstance a) { } state = ComponentInstance.State.RUNNING; - runtimeInformation.put("status", state.toString()); + runtimeInformation.put("status", state); return runtimeInformation; } diff --git a/connectors/src/main/java/org/cloudml/connectors/CloudSigmaConnector.java b/connectors/src/main/java/org/cloudml/connectors/CloudSigmaConnector.java index f4fa38c9..35598e15 100644 --- a/connectors/src/main/java/org/cloudml/connectors/CloudSigmaConnector.java +++ b/connectors/src/main/java/org/cloudml/connectors/CloudSigmaConnector.java @@ -60,7 +60,7 @@ public class CloudSigmaConnector implements Connector { private ComputeServiceContext computeContext; private ComputeService compute; private String provider; - private HashMap runtimeInformation; + private HashMap runtimeInformation; private CloudSigma2Api cloudSigmaApi; @@ -124,9 +124,9 @@ private String readSshKey(String keyPath){ @Override - public HashMap createInstance(VMInstance a) { + public HashMap createInstance(VMInstance a) { VM vm = a.getType(); - runtimeInformation=new HashMap(); + runtimeInformation=new HashMap(); ComponentInstance.State state = ComponentInstance.State.UNRECOGNIZED; // First try to find the desired template drive in MyDrives @@ -230,7 +230,7 @@ public HashMap createInstance(VMInstance a) { } - runtimeInformation.put("status", state.toString()); + runtimeInformation.put("status", state); return runtimeInformation; } diff --git a/connectors/src/main/java/org/cloudml/connectors/Connector.java b/connectors/src/main/java/org/cloudml/connectors/Connector.java index 65df7152..82627497 100644 --- a/connectors/src/main/java/org/cloudml/connectors/Connector.java +++ b/connectors/src/main/java/org/cloudml/connectors/Connector.java @@ -31,7 +31,7 @@ public interface Connector { public void execCommand(String id, String command, String login, String key); - public HashMap createInstance(VMInstance a); + public HashMap createInstance(VMInstance a); public void destroyVM(String id); diff --git a/connectors/src/main/java/org/cloudml/connectors/FlexiantConnector.java b/connectors/src/main/java/org/cloudml/connectors/FlexiantConnector.java index d0f63e00..226f9aff 100644 --- a/connectors/src/main/java/org/cloudml/connectors/FlexiantConnector.java +++ b/connectors/src/main/java/org/cloudml/connectors/FlexiantConnector.java @@ -49,7 +49,7 @@ public class FlexiantConnector implements Connector{ private final String endpoint; private UserService service; private BindingProvider portBP; - private HashMap runtimeInformation=new HashMap(); + private HashMap runtimeInformation=new HashMap(); @SuppressWarnings("restriction") public FlexiantConnector(String endPoint, String login, String secretKey) throws MalformedURLException{ @@ -150,7 +150,7 @@ public List getListImages(){ } } - public HashMap createInstance(VMInstance a){ + public HashMap createInstance(VMInstance a){ ComponentInstance.State state = ComponentInstance.State.UNRECOGNIZED; try { Server template = new Server(); @@ -160,7 +160,7 @@ public HashMap createInstance(VMInstance a){ template.setResourceType(ResourceType.SERVER); - journal.log(Level.INFO, ">> Provisioning a vm ..."+vm.getGroupName()); + journal.log(Level.INFO, ">> Provisioning a vm ..."); if (vm.getMinCores() > 0 && vm.getMinRam() > 0) template.setProductOfferUUID(findProduct(((double) vm.getMinRam()), vm.getMinCores())); @@ -226,7 +226,7 @@ public HashMap createInstance(VMInstance a){ //a.setStatusAsError(); state = ComponentInstance.State.ERROR; } - runtimeInformation.put("status", state.toString()); + runtimeInformation.put("status", state); return runtimeInformation; } @@ -237,9 +237,17 @@ public void execCommand(VMInstance n, String command, String login, String keyPa public void execCommand(String id, String command, String login, String keyPath){ + Server temp=(Server)findObjectResourceByID(id, ResourceType.SERVER); String ip=temp.getNics().get(0).getIpAddresses().get(0).getIpAddress(); SSHConnector sc=new SSHConnector(keyPath, login, ip); + while (!sc.checkConnectivity()){ + try { + Thread.sleep(32000); + } catch (InterruptedException e) { + journal.log(Level.SEVERE, e.getMessage()); + } + } try { Thread.sleep(32000); } catch (InterruptedException e) { diff --git a/connectors/src/main/java/org/cloudml/connectors/JCloudsConnector.java b/connectors/src/main/java/org/cloudml/connectors/JCloudsConnector.java index b921a10d..5fe30eb0 100644 --- a/connectors/src/main/java/org/cloudml/connectors/JCloudsConnector.java +++ b/connectors/src/main/java/org/cloudml/connectors/JCloudsConnector.java @@ -81,7 +81,7 @@ public class JCloudsConnector implements Connector{ private String provider; private ComputeServiceContext computeContext; private EC2Api ec2api; - private HashMap runtimeInformation; + private HashMap runtimeInformation; public JCloudsConnector(String provider,String login,String secretKey){ journal.log(Level.INFO, ">> Connecting to "+provider+" ..."); @@ -263,8 +263,8 @@ public void updateVMMetadata(VMInstance a){ * @param a description of the VM to be created * @return */ - public HashMap createInstance(VMInstance a){ - runtimeInformation=new HashMap(); + public HashMap createInstance(VMInstance a){ + runtimeInformation=new HashMap(); VM vm = a.getType(); ComponentInstance.State state = ComponentInstance.State.UNRECOGNIZED; NodeMetadata cm= (NodeMetadata)getVMByName(a.getName()); @@ -342,7 +342,7 @@ public HashMap createInstance(VMInstance a){ state = ComponentInstance.State.RUNNING; } - runtimeInformation.put("status", state.toString()); + runtimeInformation.put("status", state); return runtimeInformation; } diff --git a/connectors/src/main/java/org/cloudml/connectors/OpenStackConnector.java b/connectors/src/main/java/org/cloudml/connectors/OpenStackConnector.java index 29d152f0..fda5128d 100644 --- a/connectors/src/main/java/org/cloudml/connectors/OpenStackConnector.java +++ b/connectors/src/main/java/org/cloudml/connectors/OpenStackConnector.java @@ -73,7 +73,7 @@ public class OpenStackConnector implements Connector{ private ComputeService novaComputeService; private final String endpoint; private NovaApi serverApi; - private HashMap runtimeInformation=new HashMap(); + private HashMap runtimeInformation=new HashMap(); public OpenStackConnector(String endPoint,String provider,String login,String secretKey){ this.endpoint=endPoint; @@ -338,7 +338,7 @@ public Image checkIfImageExist(String name){ * @param a description of the VM to be created * @return */ - public HashMap createInstance(VMInstance a){ + public HashMap createInstance(VMInstance a){ ComponentInstance.State state = ComponentInstance.State.UNRECOGNIZED; VM vm = a.getType(); ComputeMetadata cm= getVMByName(a.getName()); @@ -439,7 +439,7 @@ public HashMap createInstance(VMInstance a){ state = ComponentInstance.State.RUNNING; } - runtimeInformation.put("status",state.toString()); + runtimeInformation.put("status",state); return runtimeInformation; } diff --git a/connectors/src/main/java/org/cloudml/connectors/SSHConnector.java b/connectors/src/main/java/org/cloudml/connectors/SSHConnector.java index b0fbef4a..2f9f15c5 100644 --- a/connectors/src/main/java/org/cloudml/connectors/SSHConnector.java +++ b/connectors/src/main/java/org/cloudml/connectors/SSHConnector.java @@ -140,17 +140,17 @@ public Boolean execCommandSsh(String command){ in = channel.getInputStream(); InputStream extIn=channel.getExtInputStream(); channel.connect(); - byte[] tmp=new byte[2048]; - byte[] tmp2=new byte[2048]; + byte[] tmp=new byte[4096]; + byte[] tmp2=new byte[4096]; while(true){ while(in.available()>0 || extIn.available()>0){ if(in.available()>0){ - int i=in.read(tmp, 0, 2048); + int i=in.read(tmp, 0, 4096); if(i<0)break; journal.log(Level.INFO, ">> "+ new String(tmp, 0, i)); } if(extIn.available()>0){ - int i=extIn.read(tmp2, 0, 2048); + int i=extIn.read(tmp2, 0, 4096); if(i<0)break; journal.log(Level.INFO, ">> "+ new String(tmp2, 0, i)); } diff --git a/deployer/src/main/java/org/cloudml/deployer/CloudAppDeployer.java b/deployer/src/main/java/org/cloudml/deployer/CloudAppDeployer.java index 2c62914b..8db3b22c 100644 --- a/deployer/src/main/java/org/cloudml/deployer/CloudAppDeployer.java +++ b/deployer/src/main/java/org/cloudml/deployer/CloudAppDeployer.java @@ -364,7 +364,7 @@ private void prepareAnInternalComponent(InternalComponentInstance instance, Comp }*/ for(InternalComponentInstance ici: host.hostedComponents()){ - coordinator.updateStatus(ici.getName(), InternalComponentInstance.State.RUNNING.toString(), CloudAppDeployer.class.getName()); + coordinator.updateStatusInternalComponent(ici.getName(), InternalComponentInstance.State.RUNNING.toString(), CloudAppDeployer.class.getName()); } coordinator.updateStatusInternalComponent(host.getName(), ComponentInstance.State.RUNNING.toString(), CloudAppDeployer.class.getName()); } @@ -768,20 +768,21 @@ private void provisionAVM(VMInstance n) { } Provider p = n.getType().getProvider(); Connector jc = ConnectorFactory.createIaaSConnector(p); - coordinator.updateStatus(n.getName(), ComponentInstance.State.PENDING.toString(), CloudAppDeployer.class.getName()); - HashMap runtimeInformation = jc.createInstance(n); + coordinator.updateStatus(n.getName(), ComponentInstance.State.PENDING, CloudAppDeployer.class.getName()); + HashMap runtimeInformation = jc.createInstance(n); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } - coordinator.updateStatus(n.getName(), runtimeInformation.get("status"), CloudAppDeployer.class.getName()); + journal.log(Level.INFO, ">> Status: "+runtimeInformation.get("status")); + coordinator.updateStatus(n.getName(), (ComponentInstance.State)runtimeInformation.get("status"), CloudAppDeployer.class.getName()); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } - coordinator.updateIP(n.getName(),runtimeInformation.get("publicAddress"),CloudAppDeployer.class.getName()); + coordinator.updateIP(n.getName(),runtimeInformation.get("publicAddress").toString(),CloudAppDeployer.class.getName()); //enable the monitoring of the new machine if (statusMonitorActive) { statusMonitor.attachModule(jc); @@ -822,7 +823,7 @@ private void provisionAPlatform(ExternalComponentInstance n) { String pa=connector.getDBEndPoint(eci.getName(), 600); eci.setPublicAddress(pa); coordinator.updateIP(n.getName(),pa,CloudAppDeployer.class.getName()); - coordinator.updateStatus(n.getName(), ComponentInstance.State.RUNNING.toString(), CloudAppDeployer.class.getName()); + coordinator.updateStatus(n.getName(), ComponentInstance.State.RUNNING, CloudAppDeployer.class.getName()); //execute the configure command /*if (!n.getType().getResources().isEmpty()) { for (Resource r : n.getType().getResources()) { @@ -837,7 +838,7 @@ private void provisionAPlatform(ExternalComponentInstance n) { if (ec.getServiceType().toLowerCase().equals("messagequeue")) { String url = connector.createQueue(n.getName()); eci.setPublicAddress(url); - coordinator.updateStatus(n.getName(), ComponentInstance.State.RUNNING.toString(), CloudAppDeployer.class.getName()); + coordinator.updateStatus(n.getName(), ComponentInstance.State.RUNNING, CloudAppDeployer.class.getName()); } if(ec.getServiceType().toLowerCase().equals("loadbalancer")){ String endpoint = ec.getEndPoint(); @@ -868,7 +869,7 @@ private void provisionAPlatform(ExternalComponentInstance n) { journal.log(Level.INFO, ">>Add pool:" + pConnector.addPool(eci.getName() + "Back", testPool)); journal.log(Level.INFO, ">> " + pConnector.addGateway(gateway)); - coordinator.updateStatus(n.getName(), ComponentInstance.State.RUNNING.toString(), CloudAppDeployer.class.getName()); + coordinator.updateStatus(n.getName(), ComponentInstance.State.RUNNING, CloudAppDeployer.class.getName()); } if (statusMonitorActive) { statusMonitor.attachModule(connector); @@ -895,13 +896,13 @@ protected void configureWithRelationships(RelationshipInstanceGroup relationship if (valet != null) valet.config(); else if(res.hasProperty("db-binding-alias")){ - coordinator.updateStatus(bi.getProvidedEnd().getOwner().get().getName(), ComponentInstance.State.PENDING.toString(), CloudAppDeployer.class.getName()); + coordinator.updateStatus(bi.getProvidedEnd().getOwner().get().getName(), ComponentInstance.State.PENDING, CloudAppDeployer.class.getName()); try{ Provider p = ((ExternalComponent) bi.getProvidedEnd().getOwner().get().getType()).getProvider(); PaaSConnector connector = ConnectorFactory.createPaaSConnector(p); String alias = res.getProperties().valueOf("db-binding-alias"); connector.bindDbToApp(bi.getRequiredEnd().getOwner().getName(), bi.getProvidedEnd().getOwner().getName(), alias); - coordinator.updateStatus(bi.getProvidedEnd().getOwner().get().getName(), ComponentInstance.State.RUNNING.toString(), CloudAppDeployer.class.getName()); + coordinator.updateStatus(bi.getProvidedEnd().getOwner().get().getName(), ComponentInstance.State.RUNNING, CloudAppDeployer.class.getName()); }catch(Exception ex){ ex.printStackTrace(); journal.log(Level.INFO, ">> db-binding only works for PaaS databases" ); @@ -988,7 +989,7 @@ else if (serveri.isExternal() && "loadbalancer".equals(((ExternalComponentInstan journal.log(Level.INFO, ">>Modify backend: "+connector.addPool(serveri.getName()+"Back", backend)); journal.log(Level.INFO, ">>Delete Target: "+connector.deleteTarget(serveri.getName()+"Back", "targetOneHold")); connector.start(); - coordinator.updateStatus(serveri.getName(), ComponentInstance.State.RUNNING.toString(), CloudAppDeployer.class.getName()); + coordinator.updateStatus(serveri.getName(), ComponentInstance.State.RUNNING, CloudAppDeployer.class.getName()); } else if (bi.getRequiredEnd().getType().isRemote()) { RequiredPortInstance client = bi.getRequiredEnd(); @@ -1154,7 +1155,7 @@ private void terminateVM(VMInstance n) { Connector jc = ConnectorFactory.createIaaSConnector(p); jc.destroyVM(n.getId()); jc.closeConnection(); - coordinator.updateStatus(n.getName(), ComponentInstance.State.STOPPED.toString(), CloudAppDeployer.class.getName()); + coordinator.updateStatus(n.getName(), ComponentInstance.State.STOPPED, CloudAppDeployer.class.getName()); //old way without using mrt //n.setStatusAsStopped(); } diff --git a/deployer/src/main/java/org/cloudml/deployer/ResourcePoolScaler.java b/deployer/src/main/java/org/cloudml/deployer/ResourcePoolScaler.java index 26d66de6..a82b0106 100644 --- a/deployer/src/main/java/org/cloudml/deployer/ResourcePoolScaler.java +++ b/deployer/src/main/java/org/cloudml/deployer/ResourcePoolScaler.java @@ -91,10 +91,10 @@ private void allConfiguration(Map result=c2.createInstance(ci); + HashMap result=c2.createInstance(ci); c2.closeConnection(); - coordinator.updateStatusInternalComponent(ci.getName(), result.get("status"), CloudAppDeployer.class.getName()); - coordinator.updateStatus(vmi.getName(), ComponentInstance.State.RUNNING.toString(), CloudAppDeployer.class.getName()); - coordinator.updateIP(ci.getName(),result.get("publicAddress"),CloudAppDeployer.class.getName()); + coordinator.updateStatusInternalComponent(ci.getName(), result.get("status").toString(), CloudAppDeployer.class.getName()); + coordinator.updateStatus(vmi.getName(), ComponentInstance.State.RUNNING, CloudAppDeployer.class.getName()); + coordinator.updateIP(ci.getName(),result.get("publicAddress").toString(),CloudAppDeployer.class.getName()); } } diff --git a/deployer/src/main/java/org/cloudml/deployer/Scaler.java b/deployer/src/main/java/org/cloudml/deployer/Scaler.java index 323f1b33..aa5ed58f 100644 --- a/deployer/src/main/java/org/cloudml/deployer/Scaler.java +++ b/deployer/src/main/java/org/cloudml/deployer/Scaler.java @@ -203,11 +203,11 @@ public void scaleOut(VMInstance vmi, int n){ public void run() { //once this is done we can work in parallel Connector c2 = ConnectorFactory.createIaaSConnector(vm.getProvider()); - HashMap result = c2.createInstance(ci); + HashMap result = c2.createInstance(ci); c2.closeConnection(); - coordinator.updateStatusInternalComponent(ci.getName(), result.get("status"), CloudAppDeployer.class.getName()); - coordinator.updateStatus(name, ComponentInstance.State.RUNNING.toString(), CloudAppDeployer.class.getName()); - coordinator.updateIP(ci.getName(),result.get("publicAddress"),CloudAppDeployer.class.getName()); + coordinator.updateStatusInternalComponent(ci.getName(), result.get("status").toString(), CloudAppDeployer.class.getName()); + coordinator.updateStatus(name, ComponentInstance.State.RUNNING, CloudAppDeployer.class.getName()); + coordinator.updateIP(ci.getName(),result.get("publicAddress").toString(),CloudAppDeployer.class.getName()); dep.setAllEnvVarComponent(currentModel); @@ -266,12 +266,12 @@ public void scaleOut(VMInstance vmi) { } Connector c2=ConnectorFactory.createIaaSConnector(v.getProvider()); - HashMap result=c2.createInstance(ci); + HashMap result=c2.createInstance(ci); c2.closeConnection(); - coordinator.updateStatusInternalComponent(ci.getName(), result.get("status"), CloudAppDeployer.class.getName()); - coordinator.updateStatus(vmi.getName(), ComponentInstance.State.RUNNING.toString(), CloudAppDeployer.class.getName()); - coordinator.updateIP(ci.getName(),result.get("publicAddress"),CloudAppDeployer.class.getName()); + coordinator.updateStatusInternalComponent(ci.getName(), result.get("status").toString(), CloudAppDeployer.class.getName()); + coordinator.updateStatus(vmi.getName(), ComponentInstance.State.RUNNING, CloudAppDeployer.class.getName()); + coordinator.updateIP(ci.getName(),result.get("publicAddress").toString(),CloudAppDeployer.class.getName()); dep.setAllEnvVarComponent(currentModel); diff --git a/facade/src/main/java/org/cloudml/facade/Facade.java b/facade/src/main/java/org/cloudml/facade/Facade.java index 0463f750..41e6e5cc 100644 --- a/facade/src/main/java/org/cloudml/facade/Facade.java +++ b/facade/src/main/java/org/cloudml/facade/Facade.java @@ -254,7 +254,7 @@ public void run() { Provider provider = vmi.getType().getProvider(); Connector c = ConnectorFactory.createIaaSConnector(provider); c.startVM(vmi); - coordinator.updateStatus(vmi.getName(), ComponentInstance.State.RUNNING.toString(), Facade.class.getName()); + coordinator.updateStatus(vmi.getName(), ComponentInstance.State.RUNNING, Facade.class.getName()); for(InternalComponentInstance ici : vmi.hostedComponents()){ InternalComponent ic=ici.getType(); for(Resource r : ic.getResources()){ @@ -317,7 +317,7 @@ public void run() { } } c.stopVM(vmi); - coordinator.updateStatus(vmi.getName(), ComponentInstance.State.STOPPED.toString(), Facade.class.getName()); + coordinator.updateStatus(vmi.getName(), ComponentInstance.State.STOPPED, Facade.class.getName()); c.closeConnection(); } } diff --git a/monitoring/src/main/java/org/cloudml/monitoring/status/NotificationSender.java b/monitoring/src/main/java/org/cloudml/monitoring/status/NotificationSender.java index 1537d318..f85b881c 100644 --- a/monitoring/src/main/java/org/cloudml/monitoring/status/NotificationSender.java +++ b/monitoring/src/main/java/org/cloudml/monitoring/status/NotificationSender.java @@ -41,7 +41,7 @@ public class NotificationSender { * @param coord to interact with mrt */ public static void updateUsingFacade(String name, ComponentInstance.State newStatus, Coordinator coord) { - coord.updateStatus(name, newStatus.toString(), StatusMonitor.class.getName()); + coord.updateStatus(name, newStatus, StatusMonitor.class.getName()); } //this method simply print the changes of the status and can be removed if no longer useful for any demo diff --git a/mrt/src/main/java/org/cloudml/mrt/Coordinator.java b/mrt/src/main/java/org/cloudml/mrt/Coordinator.java index 78c1a3c1..f242d3c9 100755 --- a/mrt/src/main/java/org/cloudml/mrt/Coordinator.java +++ b/mrt/src/main/java/org/cloudml/mrt/Coordinator.java @@ -37,6 +37,7 @@ import org.cloudml.core.ComponentInstance; import org.cloudml.core.Deployment; import org.cloudml.core.InternalComponentInstance; +import org.cloudml.core.VMInstance; import org.cloudml.mrt.cmd.CmdWrapper; import org.cloudml.mrt.cmd.abstracts.Change; import org.cloudml.mrt.cmd.abstracts.Instruction; @@ -49,7 +50,7 @@ import org.yaml.snakeyaml.Yaml; /** - * @author Hui Song + * @author Hui Song & Nicolas Ferry */ public class Coordinator { @@ -94,28 +95,41 @@ public void updateStatusInternalComponent(String name, String newState, String i } } - public void updateStatus(String name, String newState, String identity) { + public void updateStatus(String name, ComponentInstance.State newState, String identity) { //A PeerStub identifies who launches the modifications PeerStub committer = new SystemOutPeerStub(identity); //A wrapper hides the complexity of invoking the coordinator CmdWrapper wrapper = new CmdWrapper(this, committer); + journal.log(Level.INFO, ">> Prepare to update status of: "+name); //Update the value of status try { Thread.sleep(1500); Object res = wrapper.eGet("/componentInstances[name='" + name + "']/status"); + ComponentInstance res2=(ComponentInstance)wrapper.eGet("/componentInstances[name='" + name + "']"); if (res !=null) { - if (!res.toString().equals(newState)) { + if (!res.toString().equals(newState.toString())) { journal.log(Level.INFO, ">> Updating the model.."); wrapper.eSet("/componentInstances[name='" + name + "']", wrapper.makePair("status", "" + newState + "")); journal.log(Level.INFO, ">> Status of: " + name + " changed in: " + newState + ""); + if(res2 instanceof VMInstance) + ((VMInstance)res2).setStatus(newState); } + }else{ + if(res2 instanceof VMInstance) + ((VMInstance)res2).setStatus(ComponentInstance.State.PENDING); + journal.log(Level.INFO, ">> No former status, updating the model.."); + wrapper.eSet("/componentInstances[name='" + name + "']", wrapper.makePair("status", "" + newState + "")); + journal.log(Level.INFO, ">> Status of: " + name + " changed in: " + newState + ""); + if(res2 instanceof VMInstance) + ((VMInstance)res2).setStatus(newState); } - } catch (org.apache.commons.jxpath.JXPathNotFoundException e) { journal.log(Level.INFO, "Machine: " + name + " not in this model"); } catch (InterruptedException e) { + journal.log(Level.SEVERE, ">> Could not update status!"); + journal.log(Level.SEVERE, e.getLocalizedMessage(), e); e.printStackTrace(); } } diff --git a/ui/websocket/src/main/java/org/cloudml/websocket/Daemon.java b/ui/websocket/src/main/java/org/cloudml/websocket/Daemon.java index 9a928afd..9cfe6acd 100755 --- a/ui/websocket/src/main/java/org/cloudml/websocket/Daemon.java +++ b/ui/websocket/src/main/java/org/cloudml/websocket/Daemon.java @@ -55,7 +55,7 @@ public static void main( String[] args ) e.printStackTrace(); } Map env = System.getenv(); - int port = 9000; + int port = 9030; if(env.containsKey("MODACLOUDS_MODELS_AT_RUNTIME_ENDPOINT_PORT")) port=Integer.parseInt(env.get("MODACLOUDS_MODELS_AT_RUNTIME_ENDPOINT_PORT"));