protected Hardware findHardwareForServerOrNull(ServerInRegion serverInRegion) { return findObjectOfTypeForServerOrNull(hardwares.get(), "hardware", serverInRegion.getServer().getFlavor().getId(), serverInRegion); }
@Test public void testWhenComputeServiceSaysAllNodesAreDeadBothGroupsAreReturned() { ServerInRegion withoutHost = new ServerInRegion(new ServerInRegionToNodeMetadataTest().expectedServer(), "az-1.region-a.geo-1"); ServerInRegion withHost = new ServerInRegion(new ParseServerTest().expected(), "az-1.region-a.geo-1"); ServerInRegionToNodeMetadata converter = new ServerInRegionToNodeMetadata( NovaComputeServiceContextModule.toPortableNodeStatus, locationIndex, Suppliers .<Set<? extends Image>> ofInstance(ImmutableSet.<Image> of()), Suppliers .<Set<? extends Hardware>> ofInstance(ImmutableSet.<Hardware> of()), namingConvention); Set<? extends NodeMetadata> set = ImmutableSet.of(converter.apply(withHost), converter.apply(withoutHost)); assertEquals(new OrphanedGroupsByRegionId(Predicates.<RegionAndName> alwaysTrue()).apply(set), ImmutableMultimap .<String, String> builder().putAll("az-1.region-a.geo-1", "sample", "test").build()); }
builder.operatingSystem(findOperatingSystemForServerOrNull(serverInRegion)); builder.hardware(findHardwareForServerOrNull(serverInRegion)); builder.status(toPortableNodeStatus.get(from.getStatus()));
builder.operatingSystem(findOperatingSystemForServerOrNull(serverInRegion)); builder.hardware(findHardwareForServerOrNull(serverInRegion)); builder.status(toPortableNodeStatus.get(from.getStatus()));
builder.operatingSystem(findOperatingSystemForServerOrNull(serverInRegion)); builder.hardware(findHardwareForServerOrNull(serverInRegion)); builder.status(toPortableNodeStatus.get(from.getStatus()));
@Test public void testWhenComputeServiceSaysAllNodesAreDeadNoGroupsAreReturned() { ServerInRegion withoutHost = new ServerInRegion(new ServerInRegionToNodeMetadataTest().expectedServer(), "az-1.region-a.geo-1"); ServerInRegion withHost = new ServerInRegion(new ParseServerTest().expected(), "az-1.region-a.geo-1"); ServerInRegionToNodeMetadata converter = new ServerInRegionToNodeMetadata( NovaComputeServiceContextModule.toPortableNodeStatus, locationIndex, Suppliers .<Set<? extends Image>> ofInstance(ImmutableSet.<Image> of()), Suppliers .<Set<? extends Hardware>> ofInstance(ImmutableSet.<Hardware> of()), namingConvention); Set<? extends NodeMetadata> set = ImmutableSet.of(converter.apply(withHost), converter.apply(withoutHost)); assertEquals(new OrphanedGroupsByRegionId(Predicates.<RegionAndName> alwaysFalse()).apply(set), ImmutableMultimap .<String, String> of()); } }
protected Hardware findHardwareForServerOrNull(ServerInRegion serverInRegion) { return findObjectOfTypeForServerOrNull(hardwares.get(), "hardware", serverInRegion.getServer().getFlavor().getId(), serverInRegion); }
@Test public void testNewServerWithoutHostIdSetsRegionAsLocation() { Set<Image> images = ImmutableSet.<Image> of(); Set<Hardware> hardwares = ImmutableSet.<Hardware> of(); Server serverToConvert = expectedServer(); ServerInRegion serverInRegionToConvert = new ServerInRegion(serverToConvert, "az-1.region-a.geo-1"); ServerInRegionToNodeMetadata converter = new ServerInRegionToNodeMetadata( NovaComputeServiceContextModule.toPortableNodeStatus, locationIndex, Suppliers .<Set<? extends Image>> ofInstance(images), Suppliers .<Set<? extends Hardware>> ofInstance(hardwares), namingConvention); NodeMetadata convertedNodeMetadata = converter.apply(serverInRegionToConvert); assertEquals(serverInRegionToConvert.slashEncode(), convertedNodeMetadata.getId()); assertEquals(serverToConvert.getId(), convertedNodeMetadata.getProviderId()); assertEquals(convertedNodeMetadata.getLocation(), region); URI expectedURI = URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v2/37936628937291/servers/71752"); assertEquals(convertedNodeMetadata.getUri(), expectedURI); }
protected Hardware findHardwareForServerOrNull(ServerInRegion serverInRegion) { return findObjectOfTypeForServerOrNull(hardwares.get(), "hardware", serverInRegion.getServer().getFlavor().getId(), serverInRegion); }
ServerInRegionToNodeMetadata converter = new ServerInRegionToNodeMetadata( NovaComputeServiceContextModule.toPortableNodeStatus, locationIndex, Suppliers .<Set<? extends Image>> ofInstance(images), Suppliers .<Set<? extends Hardware>> ofInstance(hardwares), namingConvention); NodeMetadata convertedNodeMetadata = converter.apply(serverInRegionToConvert);
protected OperatingSystem findOperatingSystemForServerOrNull(ServerInRegion serverInRegion) { if (serverInRegion.getServer().getImage() != null) { Image image = findObjectOfTypeForServerOrNull( images.get(), "image", serverInRegion.getServer().getImage().getId(), serverInRegion); return (image != null) ? image.getOperatingSystem() : null; } else { return null; } }
@Test public void testFloatingIp() { 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(); Server serverToConvert = new ParseServerWithAddressExtensionsTest().expected(); ServerInRegion serverInRegionToConvert = new ServerInRegion(serverToConvert, "az-1.region-a.geo-1"); ServerInRegionToNodeMetadata converter = new ServerInRegionToNodeMetadata( NovaComputeServiceContextModule.toPortableNodeStatus, locationIndex, Suppliers.<Set<? extends Image>> ofInstance(ImmutableSet.of(existingImage)), Suppliers.<Set<? extends Hardware>> ofInstance(ImmutableSet.of(existingHardware)), namingConvention); NodeMetadata convertedNodeMetadata = converter.apply(serverInRegionToConvert); assertEquals(convertedNodeMetadata.getPrivateAddresses(), ImmutableSet.of("172.16.130.24")); assertEquals(convertedNodeMetadata.getPublicAddresses(), ImmutableSet.of("10.8.54.75")); }
protected OperatingSystem findOperatingSystemForServerOrNull(ServerInRegion serverInRegion) { if (serverInRegion.getServer().getImage() != null) { Image image = findObjectOfTypeForServerOrNull( images.get(), "image", serverInRegion.getServer().getImage().getId(), serverInRegion); return (image != null) ? image.getOperatingSystem() : null; } else { return null; } }
@Test public void testNullAccessIPs() { 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(); Set<Image> images = existingImage == null ? ImmutableSet.<Image> of() : ImmutableSet.of(existingImage); Set<Hardware> hardwares = existingHardware == null ? ImmutableSet.<Hardware> of() : ImmutableSet .of(existingHardware); Server serverToConvert = new ParseServerTest().expected().toBuilder() .accessIPv4(null) .accessIPv6(null) .build(); ServerInRegion serverInRegionToConvert = new ServerInRegion(serverToConvert, "az-1.region-a.geo-1"); ServerInRegionToNodeMetadata converter = new ServerInRegionToNodeMetadata( NovaComputeServiceContextModule.toPortableNodeStatus, locationIndex, Suppliers .<Set<? extends Image>> ofInstance(images), Suppliers .<Set<? extends Hardware>> ofInstance(hardwares), namingConvention); NodeMetadata convertedNodeMetadata = converter.apply(serverInRegionToConvert); assertNotNull(convertedNodeMetadata.getPrivateAddresses()); assertEquals(convertedNodeMetadata.getPrivateAddresses(), ImmutableSet.of("10.176.42.16")); assertNotNull(convertedNodeMetadata.getPublicAddresses()); // note jclouds doesn't yet support ipv6 b/c not tested yet assertEquals(convertedNodeMetadata.getPublicAddresses(), ImmutableSet.of("67.23.10.132", "67.23.10.131")); }
protected OperatingSystem findOperatingSystemForServerOrNull(ServerInRegion serverInRegion) { if (serverInRegion.getServer().getImage() != null) { Image image = findObjectOfTypeForServerOrNull( images.get(), "image", serverInRegion.getServer().getImage().getId(), serverInRegion); return (image != null) ? image.getOperatingSystem() : null; } else { return null; } }
@Test public void testServerWithoutImage() { 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(); Server serverToConvert = new ParseServerWithoutImageTest().expected(); ServerInRegion serverInRegionToConvert = new ServerInRegion(serverToConvert, "az-1.region-a.geo-1"); ServerInRegionToNodeMetadata converter = new ServerInRegionToNodeMetadata( NovaComputeServiceContextModule.toPortableNodeStatus, locationIndex, Suppliers.<Set<? extends Image>> ofInstance(ImmutableSet.of(existingImage)), Suppliers.<Set<? extends Hardware>> ofInstance(ImmutableSet.of(existingHardware)), namingConvention); NodeMetadata convertedNodeMetadata = converter.apply(serverInRegionToConvert); assertNull(convertedNodeMetadata.getImageId()); }
@Test public void testDuplicateAccessIPs() { 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(); Set<Image> images = existingImage == null ? ImmutableSet.<Image> of() : ImmutableSet.of(existingImage); Set<Hardware> hardwares = existingHardware == null ? ImmutableSet.<Hardware> of() : ImmutableSet .of(existingHardware); Server serverToConvert = new ParseServerTest().expected().toBuilder() .accessIPv4("67.23.10.132") .accessIPv6("::babe:67.23.10.132") .build(); ServerInRegion serverInRegionToConvert = new ServerInRegion(serverToConvert, "az-1.region-a.geo-1"); ServerInRegionToNodeMetadata converter = new ServerInRegionToNodeMetadata( NovaComputeServiceContextModule.toPortableNodeStatus, locationIndex, Suppliers .<Set<? extends Image>> ofInstance(images), Suppliers .<Set<? extends Hardware>> ofInstance(hardwares), namingConvention); NodeMetadata convertedNodeMetadata = converter.apply(serverInRegionToConvert); assertNotNull(convertedNodeMetadata.getPrivateAddresses()); assertEquals(convertedNodeMetadata.getPrivateAddresses(), ImmutableSet.of("10.176.42.16")); assertNotNull(convertedNodeMetadata.getPublicAddresses()); // note jclouds doesn't yet support ipv6 b/c not tested yet assertEquals(convertedNodeMetadata.getPublicAddresses(), ImmutableSet.of("67.23.10.132", "67.23.10.131")); }
@Test public void testAlternateAccessIPs() { 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(); Set<Image> images = existingImage == null ? ImmutableSet.<Image> of() : ImmutableSet.of(existingImage); Set<Hardware> hardwares = existingHardware == null ? ImmutableSet.<Hardware> of() : ImmutableSet .of(existingHardware); Server serverToConvert = new ParseServerTest().expected().toBuilder() .accessIPv4("76.32.1.231") .accessIPv6("::babe:76.32.1.231") .build(); ServerInRegion serverInRegionToConvert = new ServerInRegion(serverToConvert, "az-1.region-a.geo-1"); ServerInRegionToNodeMetadata converter = new ServerInRegionToNodeMetadata( NovaComputeServiceContextModule.toPortableNodeStatus, locationIndex, Suppliers .<Set<? extends Image>> ofInstance(images), Suppliers .<Set<? extends Hardware>> ofInstance(hardwares), namingConvention); NodeMetadata convertedNodeMetadata = converter.apply(serverInRegionToConvert); assertNotNull(convertedNodeMetadata.getPrivateAddresses()); assertEquals(convertedNodeMetadata.getPrivateAddresses(), ImmutableSet.of("10.176.42.16")); assertNotNull(convertedNodeMetadata.getPublicAddresses()); // note jclouds doesn't yet support ipv6 b/c not tested yet assertEquals(convertedNodeMetadata.getPublicAddresses(), ImmutableSet.of("67.23.10.132", "67.23.10.131", "76.32.1.231")); }