@Override public boolean apply(ImageInZone arg0) { String imageName = arg0.getImage().getName(); return imageName.indexOf("Kernel") == -1 && imageName.indexOf("Ramdisk") == -1; }
public T fromImage(Image in) { return super.fromResource(in) .updated(in.getUpdated()) .created(in.getCreated()) .tenantId(in.getTenantId()) .userId(in.getUserId()) .status(in.getStatus()) .progress(in.getProgress()) .minDisk(in.getMinDisk()) .minRam(in.getMinRam()) .server(in.getServer()) .metadata(in.getMetadata()); } }
@Test(description = "GET /v${apiVersion}/{tenantId}/images/{id}", dependsOnMethods = { "testListImagesInDetail" }) public void testGetImageById() throws Exception { for (String zoneId : api.getConfiguredZones()) { ImageApi imageApi = api.getImageApiForZone(zoneId); Set<? extends Image> response = imageApi.listInDetail().concat().toSet(); for (Image image : response) { Image details = imageApi.get(image.getId()); assertNotNull(details); assertEquals(details.getId(), image.getId()); assertEquals(details.getName(), image.getName()); assertEquals(details.getLinks(), image.getLinks()); assertEquals(details.getCreated(), image.getCreated()); assertEquals(details.getMinDisk(), image.getMinDisk()); assertEquals(details.getMinRam(), image.getMinRam()); assertEquals(details.getProgress(), image.getProgress()); assertEquals(details.getStatus(), image.getStatus()); assertEquals(details.getServer(), image.getServer()); assertEquals(details.getTenantId(), image.getTenantId()); assertEquals(details.getUpdated(), image.getUpdated()); assertEquals(details.getUserId(), image.getUserId()); } } } }
@Override public Image apply(ImageInZone imageInZone) { Location location = locationIndex.get().get(imageInZone.getZone()); checkState(location != null, "location %s not in locationIndex: %s", imageInZone.getZone(), locationIndex.get()); org.jclouds.openstack.nova.v2_0.domain.Image image = imageInZone.getImage(); return new ImageBuilder().id(imageInZone.slashEncode()).providerId(image.getId()).name(image.getName()) .userMetadata(image.getMetadata()).operatingSystem(imageToOs.apply(image)).description(image.getName()) .location(location).status(toPortableImageStatus.get(image.getStatus())).build(); }
@Test(description = "GET /v${apiVersion}/{tenantId}/images/detail") public void testListImagesInDetail() throws Exception { for (String zoneId : api.getConfiguredZones()) { ImageApi imageApi = api.getImageApiForZone(zoneId); Set<? extends Image> response = imageApi.listInDetail().concat().toSet(); assertNotNull(response); assertFalse(response.isEmpty()); for (Image image : response) { assertNotNull(image.getId()); assertNotNull(image.getName()); assertNotNull(image.getLinks()); assertNotNull(image.getCreated()); // image.getMinDisk() can be zero // image.getMinRam() can be zero assertTrue(image.getProgress() >= 0 && image.getProgress() <= 100); assertNotNull(image.getStatus()); // image.getServer() can be null // image.getTenantId() can be null // image.getUpdated() can be null // image.getUserId() can be null } } }
@Test public void testTryStackOneric() { String name = "oneiric-server-cloudimg-amd64"; Image imageToConvert = Image.builder().id("id-" + name).name(name).build(); OperatingSystem convertedOs = converterForUbuntu.apply(imageToConvert); assertEquals(convertedOs.getName(), imageToConvert.getName()); assertEquals(convertedOs.getFamily(), OsFamily.UBUNTU); assertEquals(convertedOs.getDescription(), imageToConvert.getName()); assertEquals(convertedOs.getVersion(), "11.10"); assertEquals(convertedOs.getArch(), null); assertTrue(convertedOs.is64Bit()); }
String osVersion = null; String imageName = Objects.firstNonNull(from.getName(), "unspecified"); Matcher matcher = WINDOWS_PATTERN.matcher(from.getName()); if (matcher.find()) { osVersion = ComputeServiceUtils.parseVersionOrReturnEmptyString(osFamily, matcher.group(1), osVersionMap); osVersion = ubuntuVersion; } else { logger.trace("could not parse operating system family for image(%s): %s", from.getId(), imageNameParts); osFamily = OsFamily.UNRECOGNIZED;
@Test public void testConversionWhereLocationFound() { UUID id = UUID.randomUUID(); Image novaImageToConvert = Image.builder().id(id.toString()).name("Test Image " + id).status(Image.Status.DELETED).build(); OperatingSystem operatingSystem = new OperatingSystem(OsFamily.UBUNTU, "My Test OS", "My Test Version", "x86", "My Test OS", true); ImageInZoneToImage converter = new ImageInZoneToImage(NovaComputeServiceContextModule.toPortableImageStatus, constant(operatingSystem), locationIndex); ImageInZone novaImageInZoneToConvert = new ImageInZone(novaImageToConvert, "az-1.region-a.geo-1"); org.jclouds.compute.domain.Image convertedImage = converter.apply(novaImageInZoneToConvert); assertEquals(convertedImage.getId(), novaImageInZoneToConvert.slashEncode()); assertEquals(convertedImage.getProviderId(), novaImageToConvert.getId()); assertEquals(convertedImage.getLocation(), locationIndex.get().get("az-1.region-a.geo-1")); assertEquals(convertedImage.getName(), novaImageToConvert.getName()); assertEquals(convertedImage.getStatus(), org.jclouds.compute.domain.Image.Status.DELETED); assertEquals(convertedImage.getOperatingSystem(), operatingSystem); }
public ImageInZone(Image image, String zoneId) { super(zoneId, checkNotNull(image, "image").getId()); this.image = image; }
@Override public boolean apply(Image image) { return status.equals(image.getStatus()); }
@Test(description = "GET /v${apiVersion}/{tenantId}/images/{id}", dependsOnMethods = { "testListImagesInDetail" }) public void testGetImageById() throws Exception { for (String regionId : api.getConfiguredRegions()) { ImageApi imageApi = api.getImageApi(regionId); Set<? extends Image> response = imageApi.listInDetail().concat().toSet(); for (Image image : response) { Image details = imageApi.get(image.getId()); assertNotNull(details); assertEquals(details.getId(), image.getId()); assertEquals(details.getName(), image.getName()); assertEquals(details.getLinks(), image.getLinks()); assertEquals(details.getCreated(), image.getCreated()); assertEquals(details.getMinDisk(), image.getMinDisk()); assertEquals(details.getMinRam(), image.getMinRam()); assertEquals(details.getProgress(), image.getProgress()); assertEquals(details.getStatus(), image.getStatus()); assertEquals(details.getServer(), image.getServer()); assertEquals(details.getTenantId(), image.getTenantId()); assertEquals(details.getUpdated(), image.getUpdated()); assertEquals(details.getUserId(), image.getUserId()); } } } }
@Override public Image apply(ImageInZone imageInZone) { Location location = locationIndex.get().get(imageInZone.getZone()); checkState(location != null, "location %s not in locationIndex: %s", imageInZone.getZone(), locationIndex.get()); org.jclouds.openstack.nova.v2_0.domain.Image image = imageInZone.getImage(); return new ImageBuilder().id(imageInZone.slashEncode()).providerId(image.getId()).name(image.getName()) .userMetadata(image.getMetadata()).operatingSystem(imageToOs.apply(image)).description(image.getName()) .location(location).status(toPortableImageStatus.get(image.getStatus())).build(); }
@Test(description = "GET /v${apiVersion}/{tenantId}/images/detail") public void testListImagesInDetail() throws Exception { for (String regionId : api.getConfiguredRegions()) { ImageApi imageApi = api.getImageApi(regionId); Set<? extends Image> response = imageApi.listInDetail().concat().toSet(); assertNotNull(response); assertFalse(response.isEmpty()); for (Image image : response) { assertNotNull(image.getId()); assertNotNull(image.getName()); assertNotNull(image.getLinks()); assertNotNull(image.getCreated()); // image.getMinDisk() can be zero // image.getMinRam() can be zero assertTrue(image.getProgress() >= 0 && image.getProgress() <= 100); assertNotNull(image.getStatus()); // image.getServer() can be null // image.getTenantId() can be null // image.getUpdated() can be null // image.getUserId() can be null } } }
@Test public void testOEL() { String name = "Oracle EL"; Image imageToConvert = Image.builder().id("id-" + name).name(name).build(); ImageToOperatingSystem converter = new ImageToOperatingSystem( new HashMap<OsFamily, Map<String, String>>()); OperatingSystem convertedOs = converter.apply(imageToConvert); assertEquals(convertedOs.getName(), imageToConvert.getName()); assertEquals(convertedOs.getFamily(), OsFamily.OEL); assertEquals(convertedOs.getDescription(), imageToConvert.getName()); assertEquals(convertedOs.getVersion(), null); assertEquals(convertedOs.getArch(), null); assertTrue(convertedOs.is64Bit()); }
String osVersion = null; String imageName = Objects.firstNonNull(from.getName(), "unspecified"); Matcher matcher = WINDOWS_PATTERN.matcher(from.getName()); if (matcher.find()) { osVersion = ComputeServiceUtils.parseVersionOrReturnEmptyString(osFamily, matcher.group(1), osVersionMap); osVersion = ubuntuVersion; } else { logger.trace("could not parse operating system family for image(%s): %s", from.getId(), imageNameParts); osFamily = OsFamily.UNRECOGNIZED;
@Test public void testConversionWhereLocationFound() { UUID id = UUID.randomUUID(); Image novaImageToConvert = Image.builder().id(id.toString()).name("Test Image " + id).status(Image.Status.DELETED).build(); OperatingSystem operatingSystem = new OperatingSystem(OsFamily.UBUNTU, "My Test OS", "My Test Version", "x86", "My Test OS", true); ImageInRegionToImage converter = new ImageInRegionToImage(NovaComputeServiceContextModule.toPortableImageStatus, constant(operatingSystem), locationIndex); ImageInRegion novaImageInRegionToConvert = new ImageInRegion(novaImageToConvert, "az-1.region-a.geo-1"); org.jclouds.compute.domain.Image convertedImage = converter.apply(novaImageInRegionToConvert); assertEquals(convertedImage.getId(), novaImageInRegionToConvert.slashEncode()); assertEquals(convertedImage.getProviderId(), novaImageToConvert.getId()); assertEquals(convertedImage.getLocation(), locationIndex.get().get("az-1.region-a.geo-1")); assertEquals(convertedImage.getName(), novaImageToConvert.getName()); assertEquals(convertedImage.getStatus(), org.jclouds.compute.domain.Image.Status.DELETED); assertEquals(convertedImage.getOperatingSystem(), operatingSystem); }
public ImageInRegion(Image image, String regionId) { super(regionId, checkNotNull(image, "image").getId()); this.image = image; }
@Override public boolean apply(Image image) { return status.equals(image.getStatus()); }
public T fromImage(Image in) { return super.fromResource(in) .updated(in.getUpdated()) .created(in.getCreated()) .tenantId(in.getTenantId()) .userId(in.getUserId()) .status(in.getStatus()) .progress(in.getProgress()) .minDisk(in.getMinDisk()) .minRam(in.getMinRam()) .server(in.getServer()) .metadata(in.getMetadata()); } }