@Override public boolean equals(Object other) { if (other != null && other instanceof ExternalComponent) { ExternalComponent otherComp = (ExternalComponent) other; return isNamed(otherComp.getName()) && this.provider.isNamed(((ExternalComponent) other).getProvider().getName()); } else { return false; } }
public static Deployment createBeanstalkDeployment(){ DeploymentBuilder dmb = PaasCloudBees.completeCloudBeesPaaS(); Deployment dm = dmb.build(); dm.getProviders().firstNamed("CloudBees").setName("beanstalk"); dm.getProviders().firstNamed("beanstalk").setCredentials(new FileCredentials("c:\\temp\\aws.credential")); ExternalComponent c = dm.getComponents().onlyExternals().firstNamed("cbdb"); c.setServiceType("database"); c.setLogin("sintef"); c.setPasswd("password123"); c.getProperties().add(new Property("DB-Engine","MySQL")); c.getProperties().add(new Property("DB-Version","5.6.17")); c.getProperties().add(new Property("DB-Name","cbdb")); return dm; }
@Override public T build() { final ExternalComponent result = new ExternalComponent(getName(), createStubProvider()); prepare(result); return (T) result; }
ExternalComponentInstance<? extends ExternalComponent> eci = (ExternalComponentInstance<? extends ExternalComponent>) n; ExternalComponent ec = eci.getType(); Provider p = eci.getType().getProvider(); PaaSConnector connector = null; if(!ec.getServiceType().toLowerCase().equals("loadbalancer")) //LoadBalancer need a special connector... connector = ConnectorFactory.createPaaSConnector(p); if (ec.getServiceType() == null) return; if (ec.getServiceType().toLowerCase().equals("database")) {//For now we use string but this will evolve to an enum ec.hasProperty("DB-Engine") ? ec.getProperties().valueOf("DB-Engine") : null, ec.hasProperty("DB-Version") ? ec.getProperties().valueOf("DB-Version") : null, eci.getName(), ec.hasProperty("DB-Name") ? ec.getProperties().valueOf("DB-Name") : null, ec.getLogin(), ec.getPasswd(), ec.hasProperty("allocatedSize") ? Integer.parseInt(ec.getProperties().valueOf("allocatedSize")) : 0, null, ec.hasProperty("securityGroup") ? ec.getProperties().valueOf("securityGroup") : ""); String pa=connector.getDBEndPoint(eci.getName(), 600); eci.setPublicAddress(pa); if (ec.getServiceType().toLowerCase().equals("messagequeue")) { String url = connector.createQueue(n.getName()); eci.setPublicAddress(url); coordinator.updateStatus(n.getName(), ComponentInstance.State.RUNNING, CloudAppDeployer.class.getName()); if(ec.getServiceType().toLowerCase().equals("loadbalancer")){
ExternalComponent ec = new ExternalComponent(kExternalComponent.getName(), new Provider("Dummy provider")); convertProperties(kExternalComponent, ec); convertResources(kExternalComponent, ec); ec.setProvider(p); if (kExternalComponent.getLogin() != null) { ec.setLogin(kExternalComponent.getLogin()); ec.setPasswd(kExternalComponent.getPasswd()); ec.setLocation(kExternalComponent.getLocation()); ec.setRegion(kExternalComponent.getRegion()); ec.setServiceType(kExternalComponent.getServiceType()); ec.setEndPoint(kExternalComponent.getEndPoint()); externalComponents.put(ec.getName(), ec);
kNode.setImageId(vm.getImageId()); kNode.setIs64os(vm.getIs64os()); if(ec.getLocation() != null) kNode.setLocation(vm.getLocation()); kNode.setMinCores(vm.getMinCores()); kNode.setSecurityGroup(vm.getSecurityGroup()); kNode.setSshKey(vm.getSshKey()); if(ec.getRegion() != null) kNode.setRegion(vm.getRegion()); if(ec.getLogin() != null) kNode.setLogin(ec.getLogin()); if(ec.getPasswd() != null) kNode.setPasswd(ec.getPasswd()); if(((VM) ec).getProviderSpecificTypeName() != null) kNode.setProviderSpecificTypeName(((VM) ec).getProviderSpecificTypeName()); if(ec.getEndPoint() != null) kNode.setEndPoint(ec.getEndPoint()); convertProperties(ec, kec, factory); convertResources(ec, kec, factory); kec.setName(ec.getName()); kec.setProvider(providers.get(ec.getProvider().getName())); if(ec.getLogin() != null) kec.setLogin(ec.getLogin()); if(ec.getPasswd() != null) kec.setPasswd(ec.getPasswd()); if(ec.getLocation() != null) kec.setLocation(ec.getLocation());
ComponentInstance serveri = bi.getProvidedEnd().getOwner().get(); ComponentInstance clienti = bi.getRequiredEnd().getOwner().get(); if (serveri.isExternal() && "database".equals(((ExternalComponentInstance<ExternalComponent>) serveri).getType().getServiceType())) { //For DB for (Resource res : bi.getType().getResources()) { ConfigValet valet = ConfigValet.createValet(bi, res); 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"); if(pltfi.isExternal()){ ExternalComponent pltf = (ExternalComponent) pltfi.getType(); if(!pltf.isVM()){ if(client.hasProperty("temp-warfile")) { try { PaaSConnector connector = (PaaSConnector) ConnectorFactory.createPaaSConnector(pltf.getProvider()); connector.uploadWar(client.getProperties().valueOf("temp-warfile"), "db-reconfig", clienti.getName(), pltfi.getName(), 600); coordinator.updateStatusInternalComponent(clienti.getName(), State.RUNNING.toString(), CloudAppDeployer.class.getName()); else if (serveri.isExternal() && "loadbalancer".equals(((ExternalComponentInstance<ExternalComponent>) serveri).getType().getServiceType())) { //For Loadbalancer String endpoint = serveri.getType().asExternal().getEndPoint(); if(endpoint==null){ Map<String, String> env = System.getenv(); ExternalComponentInstance serveri2 = bi.getProvidedEnd().getOwner().get().asInternal().externalHost(); ExternalComponent pltf = clienti.asInternal().externalHost().getType(); PaaSConnector connector = (PaaSConnector) ConnectorFactory.createPaaSConnector(pltf.getProvider());
@Override public String toString() { return "Type " + getName(); }
public static Deployment createCloudBeesDeployment(){ DeploymentBuilder dmb = org.cloudml.core.samples.PaasCloudBees.completeCloudBeesPaaS(); Deployment dm = dmb.build(); dm.getProviders().firstNamed("CloudBees").setCredentials(new FileCredentials("c:\\temp\\cloudbees.credential")); ExternalComponent c = dm.getComponents().onlyExternals().firstNamed("cbdb"); c.setLogin("sintef"); c.setPasswd("password123"); System.out.println(dm); return dm; }
@Override public ComponentInstance<? extends Component> applyTo(Deployment deployment) { final String name = getLibrary().createUniqueComponentInstanceName(deployment, type); if (type.isExternal()) { ExternalComponent external = type.asExternal(); if (external.isVM()) { aVMInstance() .named(name) .ofType(type.getName()) .integrateIn(deployment); } else { anExternalComponentInstance() .named(name) .ofType(external.getName()) .integrateIn(deployment); } } else { InternalComponent component = type.asInternal(); ComponentInstance<? extends Component> host = getLibrary().findDestinationFor(deployment, component); return getLibrary().install(deployment, component, host); } return deployment.getComponentInstances().firstNamed(name); } }
/** * Terminates a set of VMs * * @param vms A list of vmInstances * @throws MalformedURLException */ private void terminateExternalServices(Map<ExternalComponentInstance<? extends ExternalComponent>,List<InternalComponentInstance>> vms) { for (ExternalComponentInstance n : vms.keySet()) { if (n instanceof VMInstance) { terminateVM((VMInstance) n); } else{ PaaSConnector pc = ConnectorFactory.createPaaSConnector(n.getType().asExternal().getProvider()); for(InternalComponentInstance c: vms.get(n)){ journal.log(Level.INFO, ">> Terminating app "+c.asInternal().getName()); pc.deleteApp(c.asInternal().getName()); } journal.log(Level.INFO, ">> Terminated!"); } } }
PyHrapiConnector connector = ConnectorFactory.createLoadBalancerProvider(ec.getEndPoint()); String substext = null; try{ .asExternal(); ExternalComponent subEc = subEci.getType().asExternal(); String subEndPoint = subEc.getEndPoint(); if(subEndPoint.startsWith("https://")) subEndPoint = subEndPoint.substring(8);
public DefaultListModel fillList(){ DefaultListModel lm=new DefaultListModel(); for(ExternalComponent n:dmodel.getComponents().onlyExternals()){ lm.addElement(n.getName()); } for(Component n:dmodel.getComponents()){ lm.addElement(n.getName()); } for(Relationship b:dmodel.getRelationships()){ lm.addElement(b.getName()); } return lm; }
} else { // If the destination is a PaaS platform ExternalComponent ownerType = (ExternalComponent) host.getType(); Provider p = ownerType.getProvider(); PaaSConnector connector = ConnectorFactory.createPaaSConnector(p); int minRam=0;
public static Deployment createCloudBeesDeployment(){ DeploymentBuilder dmb = org.cloudml.core.samples.PaasCloudBees.completeCloudBeesPaaS(); Deployment dm = dmb.build(); dm.getProviders().firstNamed("CloudBees").setName("beanstalk"); dm.getProviders().firstNamed("beanstalk").setCredentials(new FileCredentials("c:\\temp\\aws.credential")); ExternalComponent c = dm.getComponents().onlyExternals().firstNamed("cbdb"); c.setServiceType("database"); c.setLogin("sintef"); c.setPasswd("password123"); c.getProperties().add(new Property("DB-Engine","MySQL")); c.getProperties().add(new Property("DB-Version","5.6.17")); c.getProperties().add(new Property("DB-Name","cbdb")); System.out.println(dm); return dm; }
value=c.externalHost().getType().getName();
@Override public void integrateIn(Deployment container) { final ExternalComponent result = new ExternalComponent(getName(), findProvider(container)); prepare(result); container.getComponents().add(result); }
value=c.externalHost().getType().getName();
if (a.getName().equals(nodeType) && a instanceof ExternalComponent) { VMInstance ai = ((VM) a).instantiates(nodeType + cnt); dm.getComponentInstances().add(ai);