private void addECs() { addedECs = new ArrayList<ExternalComponentInstance<? extends ExternalComponent>>(targetDM.getComponentInstances().onlyExternals()); addedECs.removeAll(matchingECs.values()); }
private ComponentInstance<? extends Component> findHost(Deployment container) { final ComponentInstance<? extends Component> host = container.getComponentInstances().firstNamed(hostName); if (host == null) { final String error = String.format("Unable to find the host component named '%s'!", hostName); throw new IllegalStateException(error); } return host; }
private InternalComponentInstance findClient(Deployment container) throws IllegalStateException { final InternalComponentInstance clientComponent = container.getComponentInstances().onlyInternals().firstNamed(client); if (clientComponent == null) { final String error = String.format("Unable to find the internal component instance '%s'", client); throw new IllegalStateException(error); } return clientComponent; } }
@Override protected List<ProvidedPortInstance> collectCandidates(Deployment deployment) { ArrayList<ProvidedPortInstance> candidates = new ArrayList<ProvidedPortInstance>(); for (InternalComponentInstance artefactInstance : deployment.getComponentInstances().onlyInternals()) { for (ProvidedPortInstance serverPort : artefactInstance.getProvidedPorts()) { if (isCandidate(bindingType, serverPort)) { candidates.add(serverPort); } } } return candidates; }
public void externalComponentInstancesToPOJO(List<net.cloudml.core.ExternalComponentInstance> componentInstances) { int counter = 0; for (net.cloudml.core.ExternalComponentInstance kc: componentInstances) { externalComponentInstanceToPOJO((net.cloudml.core.ExternalComponentInstance) kc); counter++; } assert counter == model.getComponentInstances().onlyExternals().size(); assert externalComponentInstances.size() == counter; }
@Override public Void applyTo(Deployment deployment) { final InternalComponentInstanceGroup hosted = deployment.getComponentInstances().onlyInternals().hostedOn(instance); for(InternalComponentInstance hostedComponent: hosted) { getLibrary().migrate(deployment, hostedComponent); } getLibrary().stop(deployment, instance); deployment.getComponentInstances().remove(instance); return NOTHING; }
private void migrateAllHostedComponents(Deployment deployment) { final InternalComponentInstanceGroup hosted = deployment.getComponentInstances().onlyInternals().hostedOn(artefactInstance); for (InternalComponentInstance hostedComponent: hosted) { getLibrary().migrate(deployment, hostedComponent); } }
private void visitPuppetResources(ComponentInstance ci){ InternalComponentInstanceGroup icig= currentModel.getComponentInstances().onlyInternals().hostedOn(ci); if(icig !=null){ for(ComponentInstance c : icig){ InternalComponentInstance ici; PuppetResource pr=findPuppetResource(c); if(pr != null) manifest+=pr.getManifestEntry()+System.lineSeparator(); visitPuppetResources(c); } } }
private int nbVMFromProvider(Provider p){ int n=0; for(VMInstance v: currentModel.getComponentInstances().onlyVMs()){ if(v.getType().getProvider().equals(p)) n++; } return n; }
public final ComponentInstanceGroup<ComponentInstance<? extends Component>> instances() { if (owner.isUndefined()) { return new ComponentInstanceGroup<ComponentInstance<? extends Component>>(); } return getDeployment().getComponentInstances().ofType(getName()); }
public VMInstanceGroup getInstances() { if (getOwner().isDefined()) { return getDeployment().getComponentInstances().onlyVMs().ofType(this); } else { return new VMInstanceGroup(); } }
/** * Generate the manifest file for each VM from the manifestEntry of each puppet resource and start puppet. */ private void generatePuppetManifestAndConfigure(){ for(VMInstance vmi : currentModel.getComponentInstances().onlyVMs()){ PuppetManifestGenerator pmg = new PuppetManifestGenerator(vmi, currentModel); String path=pmg.generate(); if(path != null){ managePuppet(pmg.getSkeleton(), vmi, vmi.getName(), path); } } }
private void shutdownInternalComponentInstance(Deployment target) { getLibrary().stop(target, artefactInstance); final ExecuteInstance execution = target.getExecuteInstances().withSubject(artefactInstance); assert execution != null: String.format("There should be an execute instance whose required end points to '%s'", artefactInstance.getName()); target.getExecuteInstances().remove(execution); target.getComponentInstances().remove(artefactInstance); }
@Override public void integrateIn(Deployment container) { final VMInstance result = findType(container).instantiates(getName()); setupProperties(result); setupResources(result); container.getComponentInstances().add(result); }
public void vmInstanceToPOJO(net.cloudml.core.VMInstance kVmInstance) { net.cloudml.core.VMInstance kVM = (net.cloudml.core.VMInstance) kVmInstance; assert vms.containsKey(kVM.getType().getName()); VMInstance ni = new VMInstance(kVM.getName(), vms.get(kVM.getType().getName())); ni.setPublicAddress(kVM.getPublicAddress()); ni.setHostname(kVM.getHostname()); convertProperties(kVM, ni); initProvidedExecutionPlatformInstances(kVmInstance, ni); vmInstances.put(ni.getName(), ni); model.getComponentInstances().add(ni); }
@Override public void handle(ListComponentInstances command) { if (isDeploymentLoaded()) { final Collection<ComponentInstance<? extends Component>> instances = deploy.getComponentInstances().toList(); final ComponentInstanceList data = new ComponentInstanceList(command, instances); dispatch(new Message(command, Category.INFORMATION, data.toString())); dispatch(data); } else { reportNoDeploymentLoaded(command); } }
@Override public void handle(Snapshot command) { if (isDeploymentLoaded()) { dispatch(new Message(command, Category.INFORMATION, "Generating snapshot ...")); VMInstance vmi = deploy.getComponentInstances().onlyVMs().withID(command.getVmId()); Connector c = ConnectorFactory.createIaaSConnector(vmi.getType().getProvider()); c.createSnapshot(vmi); } else { reportNoDeploymentLoaded(command); } }
public Deployment clone(){ Deployment tmp=new Deployment(); tmp.getComponents().addAll(this.getComponents()); tmp.getComponentInstances().addAll(this.getComponentInstances()); tmp.getExecuteInstances().addAll(this.getExecuteInstances()); tmp.getProviders().addAll(this.getProviders()); tmp.getRelationshipInstances().addAll(this.getRelationshipInstances()); tmp.getClouds().addAll(this.getClouds()); tmp.getRelationships().addAll(this.getRelationships()); tmp.setName(this.getName()); return tmp; }
@Override public void handle(Image command) { if (isDeploymentLoaded()) { dispatch(new Message(command, Category.INFORMATION, "Generating an image ...")); VMInstance vmi = deploy.getComponentInstances().onlyVMs().withID(command.getVmId()); Connector c = ConnectorFactory.createIaaSConnector(vmi.getType().getProvider()); c.createImage(vmi); } else { reportNoDeploymentLoaded(command); } }
@Override public InternalComponentInstance applyTo(Deployment target) { final String instanceName = getLibrary().createUniqueComponentInstanceName(target, type); InternalComponentInstanceBuilder builder = anInternalComponentInstance() .named(instanceName) .ofType(type.getName()) .hostedBy(host.getName()); builder.integrateIn(target); InternalComponentInstance instance = target.getComponentInstances().onlyInternals().firstNamed(instanceName); resolveDependencies(target, instance); return instance; }