private String setEnvVarCommand(VMInstance vmi, String varName, String value){ if (!vmi.getType().getOs().toLowerCase().contains("windows")) { //String command="echo export "+varName+"="+value+" >> ~/.bashrc"; //jc.execCommand(vmi.getId(), command, "ubuntu", vmi.getType().getPrivateKey()); return "sudo sh -c 'echo export "+varName+"="+value+" >> /etc/environment';"; } else { //TODO: should we do something for Windows as well? } return ""; }
public PuppetMarionnetteConnector(String endpoint, VMInstance vmi){ this.endpoint=endpoint; this.isWindows=(vmi.getType().getOs().toLowerCase().contains("windows")); }
@Override public String toString() { return "VMInstance: " + getName() + " Type:" + getType().getName() + "{\n" + "minRam:" + (getType()).getMinRam() + "\n" + "minCore" + (getType()).getMinCores() + "\n" + "minDisk" + (getType()).getMinStorage() + "\n" + "OS" + (getType()).getOs() + "\n" + "location" + (getType()).getLocation() + "\n" + "publicAdress" + getPublicAddress() + "\n" + "groupName" + (getType()).getGroupName(); }
public VMInstanceGroup ofType(String typeName) { final ArrayList<VMInstance> selectedInstances = new ArrayList<VMInstance>(); for (VMInstance nodeInstance : this) { if (nodeInstance.getType().getName().equals(typeName)) { selectedInstances.add(nodeInstance); } } return new VMInstanceGroup(selectedInstances); }
public VMInstanceGroup ofType(VM vm) { final ArrayList<VMInstance> selectedInstances = new ArrayList<VMInstance>(); for (VMInstance instance : this) { if (instance.getType().equals(vm)) { selectedInstances.add(instance); } } return new VMInstanceGroup(selectedInstances); }
public void setEnvVar(VMInstance vmi, String varName, String value){ if (!vmi.getType().getOs().toLowerCase().contains("windows")) { //String command="echo export "+varName+"="+value+" >> ~/.bashrc"; Connector jc = ConnectorFactory.createIaaSConnector(vmi.getType().getProvider()); //jc.execCommand(vmi.getId(), command, "ubuntu", vmi.getType().getPrivateKey()); String command3="sudo sh -c 'echo export "+varName+"="+value+" >> /etc/environment'"; jc.execCommand(vmi.getId(), command3, "ubuntu", vmi.getType().getPrivateKey()); jc.closeConnection(); } else { //TODO: should we do something for Windows as well? } }
public CPIMTable(Vertex v){ super(); this.v=v; Class c; if(v.getType().equals("node")) c=((VMInstance)v.getInstance()).getType().getClass(); else c=((InternalComponentInstance)v.getInstance()).getType().getClass(); this.properties=c.getDeclaredFields(); }
private void setEnvVar(VMInstance vmi, String cmd){ if (!vmi.getType().getOs().toLowerCase().contains("windows")) { //String command="echo export "+varName+"="+value+" >> ~/.bashrc"; Connector jc = ConnectorFactory.createIaaSConnector(vmi.getType().getProvider()); jc.execCommand(vmi.getId(), cmd, "ubuntu", vmi.getType().getPrivateKey()); jc.closeConnection(); } else { //TODO: should we do something for Windows as well? } }
private void provisionVM(VMInstance vmi){ Connector c2=ConnectorFactory.createIaaSConnector(vmi.getType().getProvider()); HashMap<String,Object> result=c2.createInstance(ci); c2.closeConnection(); coordinator.updateStatusInternalComponent(ci.getName(), result.get("status").toString(), CloudAppDeployer.class.getName()); coordinator.updateStatus(vmi.getName(), ComponentInstance.State.RUNNING, CloudAppDeployer.class.getName()); coordinator.updateIP(ci.getName(),result.get("publicAddress").toString(),CloudAppDeployer.class.getName()); } }
private static VM fromCloudmlToModaMP(VMInstance toTranslate) { VM toReturn = new VM(); //KB entity field String id = toTranslate.getName(); toReturn.setId(id); toReturn.setType(String.valueOf(toTranslate.getType().getName())); toReturn.setCloudProvider(toTranslate.getType().getProvider().getName()); toReturn.setLocation(toTranslate.getType().getLocation()); toReturn.setNumberOfCPUs(toTranslate.getCore()); return toReturn; } //Translate an internal component from cloudML to Monitoring Platform QoS-model
protected void restartHostedComponents(VMInstance ci){ journal.log(Level.INFO, ">> Restarting Hosted components of: "+ci.getName()); for(InternalComponentInstance ici: allHostedComponents(ci)){ Provider p=ci.getType().getProvider(); Connector c2=ConnectorFactory.createIaaSConnector(p); for(Resource r: ici.getType().getResources()){ dep.start(c2,ci.getType(),ci,r.getStartCommand()); } c2.closeConnection(); } }
private int nbVMFromProvider(Provider p){ int n=0; for(VMInstance v: currentModel.getComponentInstances().onlyVMs()){ if(v.getType().getProvider().equals(p)) n++; } return n; }
private void executeInstallCommand(InternalComponentInstance x, VMInstance owner, Connector jc) { unlessNotNull("Cannot install with an argument at null", x, owner, jc); for (Resource r : x.getType().getResources()) { if (!r.getInstallCommand().equals("")) { if (r.getRequireCredentials()) { jc.execCommand(owner.getId(), CloudMLQueryUtil.cloudmlStringRecover(r.getInstallCommand(), r, x) + " " + owner.getType().getProvider().getCredentials().getLogin() + " " + owner.getType().getProvider().getCredentials().getPassword(), "ubuntu", owner.getType().getPrivateKey()); } else { executeCommand(owner, jc, CloudMLQueryUtil.cloudmlStringRecover(r.getInstallCommand(), r, x)); } } } }
protected void configureImpactedComponents(Set<ComponentInstance> listOfAllComponentImpacted, Map<InternalComponentInstance, InternalComponentInstance> duplicatedGraph){ for(ComponentInstance ici: listOfAllComponentImpacted){ coordinator.updateStatusInternalComponent(ici.getName(), InternalComponentInstance.State.INSTALLED.toString(), CloudAppDeployer.class.getName()); if(ici.isInternal()){ Provider p=ici.asInternal().externalHost().asVM().getType().getProvider(); Connector c2=ConnectorFactory.createIaaSConnector(p); for(Resource r: ici.getType().getResources()){ dep.configure(c2, ci.getType(), ici.asInternal().externalHost().asVM(), r.getConfigureCommand(),false); } c2.closeConnection(); } coordinator.updateStatusInternalComponent(ici.getName(), InternalComponentInstance.State.CONFIGURED.toString(), CloudAppDeployer.class.getName()); } }
private void unconfigureWithIP(Resource r, PortInstance<? extends Port> i) { Connector jc; if (r != null) { VMInstance ownerVM = (VMInstance) getDestination(i.getOwner().get()); //TODO: generalize to PaaS VM n = ownerVM.getType(); jc = ConnectorFactory.createIaaSConnector(n.getProvider()); //jc=new JCloudsConnector(n.getProvider().getName(), n.getProvider().getLogin(), n.getProvider().getPasswd()); //jc.execCommand(ownerVM.getId(), r.getStopCommand(), "ubuntu", n.getPrivateKey()); executeCommand(ownerVM, jc, r.getStopCommand()); jc.closeConnection(); } }
/** * Create the VM described by the given VMInstance object * * @param a */ public void createVM(VMInstance a) { Provider provider = a.getType().getProvider(); JCloudsConnector jc = new JCloudsConnector(provider.getName(), provider.getCredentials().getLogin(), provider.getCredentials().getPassword()); jc.createInstance(a); jc.closeConnection(); }
@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); } }
@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); } }