/** * Check if an image exist * @param imageID the id of the image * @return */ public Boolean imageIsAvailable(String imageID){ if(novaComputeService.getImage(imageID) != null) return true; return false; }
/** * Find an image by its id. * <p/> * <h3>note</h3> * <p/> * This is an uncached call to the backend service */ @Override public Image getImage(String id) { return computeService.getImage(id); }
/** * Find an image by its id. * <p/> * <h3>note</h3> * <p/> * This is an uncached call to the backend service */ @Override public Image getImage(String id) { return computeService.getImage(id); }
@Override protected void doCall(ComputeService computeService, String indent) throws Exception { for (String imageId : names) { Image image = computeService.getImage(imageId); if (image == null) { return; } stdout.println(indent+"Image "+imageId+" {"); stdout.println(indent+"\t"+image); stdout.println(indent+"}"); } } }
@Override public Image getImage(String id) { return delegate.getImage(id); }
private Optional<? extends Image> getImage() { return Optional.fromNullable(view.getComputeService().getImage(imageId)); }
/** * Create an image of a VM * @param vmi the VMInstance to use * @return id of the image */ public String createImage(VMInstance vmi){ AMIApi ami=ec2api.getAMIApi().get(); String id=""; Image img = checkIfImageExist(vmi.getName()+"-image"); if(img == null){ journal.log(Level.INFO, ">> Creating an image of VM: "+vmi.getName()); id=ami.createImageInRegion(vmi.getId().split("/")[0],vmi.getName()+"-image",vmi.getId().split("/")[1], CreateImageOptions.Builder.noReboot()); String status=""; while (!status.toLowerCase().equals("available")){ Image i=compute.getImage("eu-west-1/"+id); status=i.getStatus().name(); try { Thread.sleep(3000); } catch (InterruptedException e) { e.printStackTrace(); } } journal.log(Level.INFO, ">> Image created with ID: "+id); }else{ id=img.getId().split("/")[1]; } return "eu-west-1/"+id; }
@Override protected void initializeContext() { super.initializeContext(); client = view.getComputeService(); String imageName = SSHABLE_IMAGE + ":" + SSHABLE_IMAGE_TAG; defaultImage = client.getImage(imageName); assertNotNull(defaultImage); }
/** * Create an image of the VM * @param vmi a VMInstance * @return id of the image */ public String createImage(VMInstance vmi){ String id=""; Image i = checkIfImageExist(vmi.getName()+"-image"); if(i == null){ NodeMetadata nm=getVMById(vmi.getId()); ServerApi serverApi1=serverApi.getServerApiForZone(vmi.getType().getRegion()); journal.log(Level.INFO, ">> Creating an image of VM: "+vmi.getName()+" "+nm.getId()+" :: "+vmi.getType().getRegion()); id=serverApi1.createImageFromServer(vmi.getName()+"-image",nm.getId().split("/")[1]); String status=""; while (!status.toLowerCase().equals("available")){ Image im=novaComputeService.getImage(vmi.getType().getRegion()+"/"+id); status=im.getStatus().name(); try { Thread.sleep(3000); } catch (InterruptedException e) { journal.log(Level.SEVERE, e.getMessage()); } } journal.log(Level.INFO, ">> Image created with ID: "+id); }else{ id=i.getId().split("/")[1]; } return id; }
public void testImageById() { Template defaultTemplate = view.getComputeService().templateBuilder().build(); assertEquals(view.getComputeService().getImage(defaultTemplate.getImage().getId()), defaultTemplate.getImage()); }
public void testImageById() { Template defaultTemplate = view.getComputeService().templateBuilder().build(); assertEquals(view.getComputeService().getImage(defaultTemplate.getImage().getId()), defaultTemplate.getImage()); }
protected Template buildTemplate(TemplateBuilder templateBuilder) { String imageName = SSHABLE_IMAGE + ":" + SSHABLE_IMAGE_TAG; org.jclouds.docker.domain.Image image = imageApi().inspectImage(imageName); if (image == null) { CreateImageOptions options = CreateImageOptions.Builder.fromImage(SSHABLE_IMAGE).tag(SSHABLE_IMAGE_TAG); imageApi().createImage(options); } image = imageApi().inspectImage(imageName); defaultImage = client.getImage(image.id()); DockerTemplateOptions options = new DockerTemplateOptions(); options.env(ImmutableList.of("ROOT_PASS=password")); options.overrideLoginCredentials(LoginCredentials.builder().identity("root").credential("password").build()); template = templateBuilder.imageId(defaultImage.getId()).options(options).build(); return template; }