public Cloud4soaConnector(Provider provider){ this.provider=provider; this.credentials=new Credentials( provider.getCredentials().getLogin(), provider.getCredentials().getPassword(), provider.getProperties().get("account").getValue() ); if(provider.getName().toLowerCase().equals(CLOUDBEES.toLowerCase())) this.platform = CLOUDBEES; if(provider.getName().toLowerCase().equals(RDS.toLowerCase())) this.platform = RDS; }
public Boolean scaleOut(VMInstance vmi,Provider provider){ Scaler scaler = new Scaler(currentModel, coordinator, this); if(provider.getProperties().get("MaxVMs") != null) { int max = Integer.parseInt(provider.getProperties().valueOf("MaxVMs")); if (nbVMFromProvider(provider) + 1 < max) { scaler.scaleOut(vmi, provider); } else { if (coordinator != null) { coordinator.ack("MaxVMsReached", this.getClass().getName()); } return false; } }else { scaler.scaleOut(vmi,provider); } return true; }
/** * I had a hard-coded region of eu-west-1. Need to fix this some time * @param p * @return */ public static PaaSConnector createPaaSConnector(Provider p){ if("beanstalk".equals(p.getName().toLowerCase()) || "ebs".equals(p.getName().toLowerCase()) || "rds".equals(p.getName().toLowerCase()) || "sqs".equals(p.getName().toLowerCase())) return new BeanstalkConnector(p.getCredentials().getLogin(), p.getCredentials().getPassword(), "eu-west-1"); if("cloudbees".equals(p.getName().toLowerCase())) return new Cloud4soaConnector(p); if("cf".equals(p.getName().toLowerCase()) || p.getName().toLowerCase().contains("cloudfoundry")) return new CloudFoundryConnector(p.getProperties().valueOf("endPoint"),p.getCredentials().getLogin(), p.getCredentials().getPassword(), p.getProperties().valueOf("org"), p.getProperties().valueOf("space")); throw new IllegalArgumentException("No such connector"); } private static PyHrapiConnector loadbalancerConnector = null;
public Boolean scaleOut(VMInstance vmi){ Scaler scaler = new Scaler(currentModel, coordinator, this); if(vmi.getType().getProvider().getProperties().get("MaxVMs") != null) { int max = Integer.parseInt(vmi.getType().getProvider().getProperties().valueOf("MaxVMs")); if (nbVMFromProvider(vmi.getType().getProvider()) +1 < max) { scaler.scaleOut(vmi); }else{ if (coordinator != null) { coordinator.ack("MaxVMsReached", this.getClass().getName()); } return false; } }else{ scaler.scaleOut(vmi); } return true; }
public Boolean scaleOut(VMInstance vmi, int nb){ Scaler scaler = new Scaler(currentModel, coordinator, this); if(vmi.getType().getProvider().getProperties().get("MaxVMs") != null) { int max = Integer.parseInt(vmi.getType().getProvider().getProperties().valueOf("MaxVMs")); if (nbVMFromProvider(vmi.getType().getProvider()) + nb < max) { scaler.scaleOut(vmi,nb); }else{ if (coordinator != null) { coordinator.ack("MaxVMsReached", this.getClass().getName()); } return false; } }else { scaler.scaleOut(vmi, nb); } return true; }
private void undeploy(String name) throws Cloud4SoaException { String adapterUrl = provider.getProperties().valueOf("enPoint"); ai = new ApplicationInstance(); ai.setAppName(name); ai.setAdapterUrl("adapterURL"); ems.undeployApplication(adapterUrl, credentials, pi, ai); }
public static Connector createIaaSConnector(Provider p){ try { if(p.getName().toLowerCase().equals("aws-ec2") || p.getName().toLowerCase().equals("ec2")) return new JCloudsConnector(p.getName(), p.getCredentials().getLogin(), p.getCredentials().getPassword()); if(p.getName().toLowerCase().equals("cloudsigma2-zrh")) return new CloudSigmaConnector(p.getName(), p.getCredentials().getLogin(), p.getCredentials().getPassword()); if(p.getName().toLowerCase().equals("flexiant")) return new FlexiantConnector(p.getProperties().valueOf("endPoint"), p.getCredentials().getLogin(), p.getCredentials().getPassword()); if(p.getName().toLowerCase().equals("openstack-nova")) return new OpenStackConnector(p.getProperties().valueOf("endPoint"), p.getName(), p.getCredentials().getLogin(), p.getCredentials().getPassword()); if(p.getName().toLowerCase().equals("azurecompute")) return new AzureConnector(p.getProperties().valueOf("endPoint"), p.getName(), p.getCredentials().getLogin(), p.getCredentials().getPassword()); } catch (MalformedURLException e) { journal.log(Level.SEVERE, e.getMessage()); } throw new IllegalArgumentException("No such connector"); }
private void deploy(String name, File warFile) throws Cloud4SoaException { DeployApplicationParameters parameters = new DeployApplicationParameters(); String adapterUrl = provider.getProperties().valueOf("enPoint"); ai = new ApplicationInstance(); ai.setAppName(name); ai.setAdapterUrl("adapterURL"); parameters.setApplicationArchive(warFile); ems.deployApplication(adapterUrl, credentials, pi, ai, parameters); }