private ComponentInstance<? extends Component> rejectIfInvalid(ComponentInstance<? extends Component> host) { if (host == null) { throw new IllegalArgumentException("'null' is not a valid destination for installation"); } if (!host.canHost(type)) { final String error = String.format("Illegal installation: '%s' cannot host component of type '%s'", host.getName(), type.getName()); throw new IllegalArgumentException(error); } return host; }
@Override public String toString() { StringBuilder builder = new StringBuilder(); builder.append("Instance " + getName() + " : " + getType().getName() +" id:"+this.hashCode()); for(PortInstance p : this.getProvidedPorts()) builder.append("-Provided port:"+p.getName()); for(PortInstance p : this.getRequiredPorts()) builder.append("-Required port:"+p.getName()); return builder.toString(); }
for(Property p : ic.getProperties()){ if(p.getName().contains("env:")){ for(InternalComponentInstance ici: d.getComponentInstances().ofType(ic.getName()).onlyInternals()){ prepareSetEnv(d,ici,p);
private static InternalComponent fromCloudmlToModaMP(InternalComponentInstance toTranslate){ InternalComponent toReturn = new InternalComponent(); String id = toTranslate.getName(); toReturn.setId(id); toReturn.setType(String.valueOf(toTranslate.getType().getName())); toReturn.addRequiredComponent(toTranslate.externalHost().getName()); return toReturn; } //Translate a cloud provider from cloudML to Monitoring Platform QoS-model
/** * Upload resources associated to an internal component on a specified * external component * * @param x the internal component with upload commands * @param owner the external component on which the resources are about to * be uploaded * @param jc the connector used to upload */ private void executeUploadCommands(InternalComponentInstance x, VMInstance owner, Connector jc) { journal.log(Level.INFO, ">> Upload "+x.getType().getName()); unlessNotNull("Cannot upload with an argument at null", x, owner, jc); for (Resource r : x.getType().getResources()) { for (String path : r.getUploadCommand().keySet()) { jc.uploadFile(path, r.getUploadCommand().get(path), owner.getId(), "ubuntu", owner.getType().getPrivateKey()); } } }
value=c.getType().getName();
value=c.getType().getName();
public void internalComponentInstanceToKmf(InternalComponentInstance ici) { checkNull(ici, "Cannot convert null"); net.cloudml.core.InternalComponentInstance kai = factory.createInternalComponentInstance(); kai.setName(ici.getName()); kai.setType(internalComponents.get(ici.getType().getName())); convertProperties(ici, kai, factory); this.internalComponentInstances.put(kai.getName(), kai); initRequiredExecutionPlatformInstance(ici, kai); initProvidedExecutionPlatformInstances(ici, kai); convertAndAddRequiredPortInstances(ici.getRequiredPorts().toList(), kai); convertAndAddProvidedPortInstances(ici.getProvidedPorts().toList(), kai); kDeploy.addInternalComponentInstances(kai); }
public void internalComponentToKmf(InternalComponent internalComponent) { checkNull(internalComponent, "Cannot convert null!"); net.cloudml.core.InternalComponent kic = factory.createInternalComponent(); kic.setName(internalComponent.getName()); convertProperties(internalComponent, kic, factory); convertResources(internalComponent, kic, factory); this.internalComponents.put(kic.getName(), kic); initRequiredExecutionPlatform(internalComponent, kic); initProvidedExecutionPlatforms(internalComponent, kic); convertAndAddProvidedPorts(internalComponent.getProvidedPorts().toList(), kic); convertAndAddRequiredPorts(internalComponent.getRequiredPorts().toList(), kic); kDeploy.addInternalComponents(kic); //kDeploy.addComponents(kic); }
public void internalComponentToPOJO(net.cloudml.core.InternalComponent kInternalComponent) { checkForNull(kInternalComponent, "Cannot convert null!"); InternalComponent ic = new InternalComponent(kInternalComponent.getName(), new RequiredExecutionPlatform("to be replaced")); convertProperties(kInternalComponent, ic); convertResources(kInternalComponent, ic); convertPuppetResources(kInternalComponent,ic); internalComponents.put(ic.getName(), ic); initRequiredExecutionPlatform(kInternalComponent, ic); initProvidedExecutionPlatforms(kInternalComponent, ic); convertAndAddProvidedPortsToPOJO(kInternalComponent.getProvidedPorts(), ic); convertAndAddRequiredPortsToPOJO(kInternalComponent.getRequiredPorts(), ic); model.getComponents().add(ic); }
@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; }
public void internalComponentInstanceToPOJO(net.cloudml.core.InternalComponentInstance kInternalComponentInstance) { checkForNull(kInternalComponentInstance, "Cannot convert null!"); InternalComponentInstance ai = new InternalComponentInstance(kInternalComponentInstance.getName(), internalComponents.get(kInternalComponentInstance.getType().getName())); convertProperties(kInternalComponentInstance, ai); internalComponentInstances.put(ai.getName(), ai); initRequiredExecutionPlatformInstance(kInternalComponentInstance, ai); initProvidedExecutionPlatformInstances(kInternalComponentInstance, ai); //TODO: destination convertAndAddProvidedPortInstances(kInternalComponentInstance.getProvidedPortInstances(), ai); RequiredPortInstanceGroup rpig=new RequiredPortInstanceGroup(); for (net.cloudml.core.RequiredPortInstance kapi: kInternalComponentInstance.getRequiredPortInstances()) { RequiredPortInstance api = new RequiredPortInstance(kapi.getName(), requiredPorts.get(ai.getType().getName() + "_" + kapi.getType().getName())); api.getOwner().set(ai); convertProperties(kapi, api); //ai.getRequiredPorts().add(api); rpig.add(api); requiredPortInstances.put(api.getName(), api); } ai.setRequiredPorts(rpig); model.getComponentInstances().add(ai); }
@Override public ComponentInstance applyTo(Deployment target) { ComponentInstance result=null; if(instance.isInternal()){ final String instanceName = getLibrary().createUniqueComponentInstanceName(target, instance.asInternal().getType()); InternalComponentInstanceBuilder builder = anInternalComponentInstance() .named(instanceName) .ofType(instance.asInternal().getType().getName()) .hostedBy(host.getName()); builder.integrateIn(target); result = target.getComponentInstances().onlyInternals().firstNamed(instanceName); } if(instance.isExternal()){ result=getLibrary().provision(target, instance.getType()); } return result; }