@Override public OperatingSystem apply(String from) { OperatingSystem.Builder builder = OperatingSystem.builder(); OsFamily osFamily = parseOsFamilyOrUnrecognized(checkNotNull(from, "vapp template name")); builder.family(osFamily); builder.description(from); builder.is64Bit(from.indexOf("64") != -1); Matcher matcher = OS_PATTERN.matcher(from); if (matcher.find()) { builder.version(ComputeServiceUtils.parseVersionOrReturnEmptyString(osFamily, matcher.group(3), osVersionMap)); } return builder.build(); } }
public void testReturnRootWhenNotOnWindows() { Image image = createMock(Image.class); expect(image.getId()).andReturn("1"); expect(image.getOperatingSystem()).andReturn( OperatingSystem.builder().family(OsFamily.LINUX).description("foo").build()).atLeastOnce(); replay(image); Credentials creds = new Credentials("root", null); assertEquals(new ReturnCredentialsBoundToImage(null, ImmutableMap.<String, Credentials> of(), ImmutableMap .<OsFamily, LoginCredentials> of()).apply(image), creds); verify(image); }
public void testReturnRootWhenNotOnWindows() { Image image = createMock(Image.class); expect(image.getId()).andReturn("1"); expect(image.getOperatingSystem()).andReturn( OperatingSystem.builder().family(OsFamily.LINUX).description("foo").build()).atLeastOnce(); replay(image); Credentials creds = new Credentials("root", null); assertEquals(new ReturnCredentialsBoundToImage(null, ImmutableMap.<String, Credentials> of(), ImmutableMap .<OsFamily, LoginCredentials> of()).apply(image), creds); verify(image); }
@Override public Image apply(DriveInfo drive) { if (drive.getName() == null) return null; String description = drive.getDescription() != null ? drive.getDescription() : drive.getName(); Builder builder = OperatingSystem.builder(); OsFamilyVersion64Bit parsed = imageParser.apply(drive.getName()); builder.name(drive.getName()).description(description) .is64Bit(drive.getBits() != null ? drive.getBits() == 64 : parsed.is64Bit).version(parsed.version) .family(parsed.family); return new ImageBuilder().ids(drive.getUuid()) .userMetadata(ImmutableMap.<String, String> of("size", drive.getSize() / 1024 / 1024 / 1024 + "")) .location(locationSupplier.get()).name(drive.getName()).description(description) .operatingSystem(builder.build()).status(Status.AVAILABLE).version("").build(); } }
@Test public void testOldWindowsName() throws Exception { ReviseParsedImage rpi = new AWSEC2ReviseParsedImage(osVersionMap); Image from = newImage("amazon", "Windows-2008R2-SP1-English-Base-2012.01.12"); OperatingSystem.Builder osBuilder = OperatingSystem.builder().description("test"); ImageBuilder builder = new ImageBuilder().id("1").operatingSystem(osBuilder.build()).status( org.jclouds.compute.domain.Image.Status.AVAILABLE).description("test"); OsFamily family = OsFamily.WINDOWS; rpi.reviseParsedImage(from, builder, family, osBuilder); OperatingSystem os = osBuilder.build(); assertEquals(os.getFamily(), OsFamily.WINDOWS); assertEquals(os.getVersion(), "2008"); assertEquals(builder.build().getVersion(), "2012.01.12"); }
@Test public void testNewWindowsName() throws Exception { ReviseParsedImage rpi = new AWSEC2ReviseParsedImage(osVersionMap); Image from = newImage("amazon", "Windows_Server-2008-R2_SP1-English-64Bit-Base-2012.03.13"); OperatingSystem.Builder osBuilder = OperatingSystem.builder().description("test"); ImageBuilder builder = new ImageBuilder().id("1").operatingSystem(osBuilder.build()).status( org.jclouds.compute.domain.Image.Status.AVAILABLE).description("test"); OsFamily family = OsFamily.WINDOWS; rpi.reviseParsedImage(from, builder, family, osBuilder); OperatingSystem os = osBuilder.build(); assertEquals(os.getFamily(), OsFamily.WINDOWS); assertEquals(os.getVersion(), "2008"); assertEquals(builder.build().getVersion(), "2012.03.13"); }
public void testParseVostokImage() { Set<org.jclouds.compute.domain.Image> result = convertImages("/vostok.xml"); assertEquals( Iterables.get(result, 0), new ImageBuilder() .operatingSystem( new OperatingSystem.Builder().family(OsFamily.UNRECOGNIZED).arch("paravirtual").version("") .description("vostok-builds/vostok-0.95-5622/vostok-0.95-5622.manifest.xml") .is64Bit(false).build()) .description("vostok-builds/vostok-0.95-5622/vostok-0.95-5622.manifest.xml") .defaultCredentials(LoginCredentials.builder().user("root").build()).id("us-east-1/ami-870de2ee") .providerId("ami-870de2ee").location(defaultLocation).version("5622") .userMetadata(ImmutableMap.of("owner", "133804938231", "rootDeviceType", "instance-store")) .status(org.jclouds.compute.domain.Image.Status.AVAILABLE).build()); }
@Override public Image apply(org.jclouds.servermanager.Image from) { ImageBuilder builder = new ImageBuilder(); builder.ids(from.id + ""); builder.name(from.name); builder.description(from.name); OsFamily family = null; try { family = OsFamily.fromValue(from.name); builder.operatingSystem(new OperatingSystem.Builder().name(from.name).family(family).build()); } catch (IllegalArgumentException e) { logger.debug("<< didn't match os(%s)", from); } builder.status(Status.AVAILABLE); return builder.build(); }
@Override public Image apply(final OSImage image) { final ImageBuilder builder = new ImageBuilder() .id(image.name()) .name(image.label()) .description(image.description()) .status(Image.Status.AVAILABLE) .uri(image.mediaLink()) .providerId(image.name()) .location(FluentIterable.from(locations.get()) .firstMatch(LocationPredicates.idEquals(image.location())).orNull()); final OperatingSystem.Builder osBuilder = osFamily().apply(image); return builder.operatingSystem(osBuilder.build()).build(); }
@Test public void testWhenNoHardwareAndImageMatchServerScopedIdsHardwareOperatingSystemAndImageIdAreSet() { Hardware existingHardware = new HardwareBuilder().id("az-1.region-a.geo-1/52415800-8b69-11e0-9b19-734f216543fd") .providerId("52415800-8b69-11e0-9b19-734f216543fd").location(region).build(); Image existingImage = new ImageBuilder().id("az-1.region-a.geo-1/52415800-8b69-11e0-9b19-734f6f006e54") .operatingSystem(OperatingSystem.builder().family(OsFamily.LINUX).description("foobuntu").build()) .providerId("52415800-8b69-11e0-9b19-734f6f006e54").description("foobuntu").status(Image.Status.AVAILABLE) .location(region).build(); checkHardwareAndImageStatus(existingHardware, existingHardware, existingImage.getId(), existingImage.getOperatingSystem(), existingImage); }
public void testReturnLoginCredentialAssociatedToOsFamily() { Image image = createMock(Image.class); expect(image.getId()).andReturn("1"); expect(image.getOperatingSystem()).andReturn( OperatingSystem.builder().family(OsFamily.WINDOWS).description("foo").build()).atLeastOnce(); replay(image); Credentials creds = new Credentials("Administrator", null); assertEquals(new ReturnCredentialsBoundToImage(null, ImmutableMap.<String, Credentials> of(), ImmutableMap.of( OsFamily.WINDOWS, LoginCredentials.builder().user("Administrator").build())).apply(image), creds); verify(image); }
@BeforeMethod public void setup() { image = new ImageBuilder().ids("mock").operatingSystem(OperatingSystem.builder().description("mock").build()) .status(Status.AVAILABLE).build(); hardware = new HardwareBuilder().ids("mock").volume(new VolumeBuilder().type(Type.LOCAL).size(1.0f).build()) .processor(new Processor(1.0, 1.0)).build(); template = new TemplateImpl(image, hardware, new LocationBuilder().id("mock").scope(LocationScope.PROVIDER) .description("mock").build(), TemplateOptions.NONE); }
@Test public void testWhenNoHardwareOrImageMatchServerScopedIdsImageIdIsStillSet() { Hardware existingHardware = new HardwareBuilder().id("az-1.region-a.geo-1/FOOOOOOOO").providerId("FOOOOOOOO") .location(region).build(); Image existingImage = new ImageBuilder().id("az-1.region-a.geo-1/FOOOOOOOO") .operatingSystem(OperatingSystem.builder().family(OsFamily.LINUX).description("foobuntu").build()) .providerId("FOOOOOOOO").description("foobuntu").location(region).status(Image.Status.AVAILABLE).build(); checkHardwareAndImageStatus(null, existingHardware, "az-1.region-a.geo-1/52415800-8b69-11e0-9b19-734f6f006e54", null, existingImage); }
@Override public Image apply(OSTemplate template) { checkNotNull(template, "template"); OsFamilyVersion64Bit parsed = osParser.apply(template.getName()); Builder builder = OperatingSystem.builder(); builder.name(template.getName()).description(template.getName()).is64Bit(parsed.is64Bit).version(parsed.version) .family(parsed.family); return new ImageBuilder().ids(template.getName()).name(template.getName()).description(template.getName()) .operatingSystem(builder.build()).status(Status.AVAILABLE).build(); } }
@Nullable @Override public OperatingSystem apply(@Nullable org.jclouds.dimensiondata.cloudcontrol.domain.OperatingSystem from) { OperatingSystem.Builder builder = OperatingSystem.builder(); builder.name(from.displayName()); builder.family(operatingSystemToOsFamily.apply(from)); builder.is64Bit(from.id().endsWith("64")); builder.description(from.family() + " " + from.displayName()); return builder.build(); } }
@Test public void testWhenNoHardwareOrImageMatchServerScopedIdsImageIdIsStillSet() { Hardware existingHardware = new HardwareBuilder().id("az-1.region-a.geo-1/FOOOOOOOO").providerId("FOOOOOOOO") .location(zone).build(); Image existingImage = new ImageBuilder().id("az-1.region-a.geo-1/FOOOOOOOO") .operatingSystem(OperatingSystem.builder().family(OsFamily.LINUX).description("foobuntu").build()) .providerId("FOOOOOOOO").description("foobuntu").location(zone).status(Image.Status.AVAILABLE).build(); checkHardwareAndImageStatus(null, existingHardware, "az-1.region-a.geo-1/52415800-8b69-11e0-9b19-734f6f006e54", null, existingImage); }
@Override public Image getImage(VirtualGuest guest) { return new ImageBuilder().ids("123").description("mocked image") .operatingSystem(OperatingSystem.builder().description("foo os").build()) .status(Image.Status.AVAILABLE).build(); } }
public void testReturnLoginCredentialAssociatedToOsFamily() { Image image = createMock(Image.class); expect(image.getId()).andReturn("1"); expect(image.getOperatingSystem()).andReturn( OperatingSystem.builder().family(OsFamily.WINDOWS).description("foo").build()).atLeastOnce(); replay(image); Credentials creds = new Credentials("Administrator", null); assertEquals(new ReturnCredentialsBoundToImage(null, ImmutableMap.<String, Credentials> of(), ImmutableMap.of( OsFamily.WINDOWS, LoginCredentials.builder().user("Administrator").build())).apply(image), creds); verify(image); }
@Override public Image apply(OSTemplate template) { checkNotNull(template, "template"); OsFamilyVersion64Bit parsed = osParser.apply(template.getName()); Builder builder = OperatingSystem.builder(); builder.name(template.getName()).description(template.getName()).is64Bit(parsed.is64Bit).version(parsed.version) .family(parsed.family); return new ImageBuilder().ids(template.getName()).name(template.getName()).description(template.getName()) .operatingSystem(builder.build()).status(Status.AVAILABLE).build(); } }
@Test public void testWhenNoHardwareAndImageMatchServerScopedIdsHardwareOperatingSystemAndImageIdAreSet() { Hardware existingHardware = new HardwareBuilder().id("az-1.region-a.geo-1/52415800-8b69-11e0-9b19-734f216543fd") .providerId("52415800-8b69-11e0-9b19-734f216543fd").location(zone).build(); Image existingImage = new ImageBuilder().id("az-1.region-a.geo-1/52415800-8b69-11e0-9b19-734f6f006e54") .operatingSystem(OperatingSystem.builder().family(OsFamily.LINUX).description("foobuntu").build()) .providerId("52415800-8b69-11e0-9b19-734f6f006e54").description("foobuntu").status(Image.Status.AVAILABLE) .location(zone).build(); checkHardwareAndImageStatus(existingHardware, existingHardware, existingImage.getId(), existingImage.getOperatingSystem(), existingImage); }