/** * Provision the VMs and upload the model with informations about the VM * <p/> * Added: Also deal with PaaS platforms * * @param ems A list of vms */ private void setExternalServices(ExternalComponentInstanceGroup ems) { for (ExternalComponentInstance n : ems) { if (n instanceof VMInstance) provisionAVM((VMInstance) n); else provisionAPlatform(n); } for (ExternalComponentInstance n : ems){ try{ if("loadbalancer".equals(n.getType().asExternal().getServiceType().toLowerCase())) configSubLoadBalancers(n); } catch(Exception e){ continue; } } }
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 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")){ String endpoint = ec.getEndPoint(); if(endpoint==null){
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); else if (serveri.isExternal() && "loadbalancer".equals(((ExternalComponentInstance<ExternalComponent>) serveri).getType().getServiceType())) { //For Loadbalancer String endpoint = serveri.getType().asExternal().getEndPoint(); if(endpoint==null){
if(ec.getRegion() != null) kec.setRegion(ec.getRegion()); if(ec.getServiceType() != null) kec.setServiceType(ec.getServiceType()); if(ec.getEndPoint() != null) kec.setEndPoint(ec.getEndPoint());