@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")); }
@Override public Server deserialize(JsonElement jsonElement, Type type, JsonDeserializationContext context) throws JsonParseException { Server serverBase; // Servers can be created without an image so test if an image object is returned if (jsonElement.getAsJsonObject().get("image").isJsonObject()) { serverBase = apply((ServerInternal) context.deserialize(jsonElement, ServerInternal.class)); } else { serverBase = apply((ServerInternalWithoutImage) context.deserialize(jsonElement, ServerInternalWithoutImage.class)); } Server.Builder<?> result = Server.builder().fromServer(serverBase); ServerExtendedStatus extendedStatus = context.deserialize(jsonElement, ServerExtendedStatus.class); if (!Objects.equal(extendedStatus, ServerExtendedStatus.builder().build())) { result.extendedStatus(extendedStatus); } ServerExtendedAttributes extraAttributes = context.deserialize(jsonElement, ServerExtendedAttributes.class); if (!Objects.equal(extraAttributes, ServerExtendedAttributes.builder().build())) { result.extendedAttributes(extraAttributes); } return result.build(); }
return ImmutableSet.<Server>of( Server.builder() .links( Link.create( Relation.SELF, .image(Resource.builder() .id("e3f84189-964e-4dc3-8ac6-832c2b7553d4") .links(Link.create( URI.create("http://openstack:8774/4e1900cf21924a098709c23480e157c0/images/e3f84189-964e-4dc3-8ac6-832c2b7553d4"))) .build()) .flavor(Resource.builder() .id("6") .links(Link.create( URI.create("http://openstack:8774/4e1900cf21924a098709c23480e157c0/flavors/6"))) .build()) .id("56d51a88-0066-4976-91b6-d1b453be603f") .userId("08ba127f0d6842279f9db8e8bc6977e9") .status(Status.BUILD) .updated(new SimpleDateFormatDateService().iso8601SecondsDateParse("2014-03-19T11:54:59Z")) .hostId("0bc453b1c10348e9dc398fed7a5b06f996964ae1643fe460a85a23d8") .name("machine_5") .created(new SimpleDateFormatDateService().iso8601SecondsDateParse("2014-03-19T11:54:57Z")) .tenantId("4e1900cf21924a098709c23480e157c0") .extendedStatus(ServerExtendedStatus.builder().vmState("building").powerState(0).taskState("spawning") .build()) .diskConfig("MANUAL")
return ImmutableSet.<Server>of( Server.builder() .addresses(ImmutableMultimap.<String, Address>builder() .putAll("Net TenantA Front-Middle", Address.createV4("172.16.11.5")) .putAll("Public network", Address.createV4("172.16.1.13"), Address.createV4("10.193.112.119")).build()) .links( Link.create( Relation.SELF, Relation.BOOKMARK, URI.create("http://nova:8774/8d10e6646d5d4585937395b04839a353/servers/0c80b392-db30-4736-ae02-4480090f1207"))) .image( Resource.builder() .id("416af940-2d3c-4a7c-977c-a9030685ad5e") Relation.BOOKMARK, URI.create("http://nova:8774/8d10e6646d5d4585937395b04839a353/images/416af940-2d3c-4a7c-977c-a9030685ad5e"))).build()) .flavor( Resource.builder() .id("1") Relation.BOOKMARK, URI.create("http://nova:8774/8d10e6646d5d4585937395b04839a353/flavors/1"))).build()) .id("0c80b392-db30-4736-ae02-4480090f1207") .userId("df13814f6c354d00a8acf66502836323") .status(Status.ACTIVE) .updated(new SimpleDateFormatDateService().iso8601SecondsDateParse("2012-04-12T11:21:33Z")) .hostId("03d796ebb52b1b555e5f6d9262f7dbd52b3f7c181e3aa89b34ca5408") .name("VM proxy")
return ImmutableSet.<Server>of( Server.builder() .addresses(ImmutableMultimap.<String, Address>builder() .putAll("Net TenantA Front-Middle", Address.createV4("172.16.11.5")) .putAll("Public network", Address.createV4("172.16.1.13"), Address.createV4("10.193.112.119")).build()) .links( Link.create( Relation.SELF, Relation.BOOKMARK, URI.create("http://nova:8774/8d10e6646d5d4585937395b04839a353/servers/0c80b392-db30-4736-ae02-4480090f1207"))) .image( Resource.builder() .id("416af940-2d3c-4a7c-977c-a9030685ad5e") Relation.BOOKMARK, URI.create("http://nova:8774/8d10e6646d5d4585937395b04839a353/images/416af940-2d3c-4a7c-977c-a9030685ad5e"))).build()) .flavor( Resource.builder() .id("1") Relation.BOOKMARK, URI.create("http://nova:8774/8d10e6646d5d4585937395b04839a353/flavors/1"))).build()) .id("0c80b392-db30-4736-ae02-4480090f1207") .userId("df13814f6c354d00a8acf66502836323") .status(Status.ACTIVE) .updated(new SimpleDateFormatDateService().iso8601SecondsDateParse("2012-04-12T11:21:33Z")) .hostId("03d796ebb52b1b555e5f6d9262f7dbd52b3f7c181e3aa89b34ca5408") .name("VM proxy")
return Server .builder() .id("71752") .tenantId("1234") .userId("5678") .name("sample-f352") .updated(new SimpleDateFormatDateService().iso8601SecondsDateParse("2010-10-10T12:00:00Z")) .created(new SimpleDateFormatDateService().iso8601SecondsDateParse("2010-08-10T12:00:00Z")) .hostId("e4d909c290d0fb1ca068ffaddf22cbd0") .accessIPv4("67.23.10.132") .accessIPv6("::babe:67.23.10.132") .status(Status.ACTIVE) .diskConfig(Server.DISK_CONFIG_AUTO) .availabilityZone("nova") .image( Resource .builder() .flavor( Resource .builder() .metadata( new ImmutableMap.Builder<String, String>().put("Server Label", "Web Head 1") .put("Image Version", "2.1").build() .addresses(ImmutableMultimap.<String, Address>builder() .putAll("public", createV4("67.23.10.132"), createV6("::babe:67.23.10.132"), createV4("67.23.10.131"), createV6("::babe:4317:0A83")) .putAll("private", createV4("10.176.42.16"), createV6("::babe:10.176.42.16"))
return Server .builder() .id("0bdc3a8d-3a96-4ccc-bb40-715537a7df7b") .tenantId("cac29c920a6149aabe499757b6ba81c7") .userId("ed15e338032f4a2c85b7fa80e40b9917") .name("cloudts-f07") .updated(new SimpleDateFormatDateService().iso8601SecondsDateParse("2016-02-17T14:48:00Z")) .created(new SimpleDateFormatDateService().iso8601SecondsDateParse("2016-02-17T14:46:13Z")) .hostId("18a9cd55f76c520dcad6c31d5b2b8f4c921979629c0274c0f7d2de39") .status(Status.ACTIVE) .image( Resource .builder() URI.create("http://openstack:8774/cac29c920a6149aabe499757b6ba81c7/images/9a9f496a-f5c2-4286-81a4-98189a48777a"))) .build()) .flavor( Resource .builder() URI.create("http://openstack:8774/cac29c920a6149aabe499757b6ba81c7/flavors/3"))) .build()) .links( Link.create( Relation.SELF, Relation.BOOKMARK, URI.create("http://openstack:8774/cac29c920a6149aabe499757b6ba81c7/servers/0bdc3a8d-3a96-4ccc-bb40-715537a7df7b"))) .metadata(ImmutableMap.<String, String>of("jclouds-group", "cloudts"))
return Server .builder() .id("52415800-8b69-11e0-9b19-734f000004d2") .tenantId("1234") .userId("5678") .name("sample-f352") .updated(new SimpleDateFormatDateService().iso8601SecondsDateParse("2010-10-10T12:00:00Z")) .created(new SimpleDateFormatDateService().iso8601SecondsDateParse("2010-08-10T12:00:00Z")) .hostId("e4d909c290d0fb1ca068ffaddf22cbd0") .accessIPv4("67.23.10.132") .accessIPv6("::babe:67.23.10.132") .status(Status.BUILD) .image( Resource .builder() URI.create("http://servers.api.openstack.org/1234/images/52415800-8b69-11e0-9b19-734f6f006e54"))) .build()) .flavor( Resource .builder() URI.create("http://servers.api.openstack.org/1234/flavors/52415800-8b69-11e0-9b19-734f216543fd"))) .build()) .metadata( new ImmutableMap.Builder<String, String>().put("Server Label", "Web Head 1") .put("Image Version", "2.1").build()) .addresses(ImmutableMultimap.<String, Address>builder() .putAll("public", Address.createV4("67.23.10.132"), Address.createV6("::babe:67.23.10.132"),
return Server .builder() .id("1459") .uuid("2443c9c7-9791-412e-ac09-a6d55ec25335") .tenantId("37") .userId("508151008") .name("mygroup-72c") .updated(new SimpleDateFormatDateService().iso8601SecondsDateParse("2012-03-23T01:30:26Z")) .created(new SimpleDateFormatDateService().iso8601SecondsDateParse("2012-03-23T01:30:26Z")) .hostId("881706597197955ac7cc4b353bc7ec884e13fa280de9cc82057796cb") .status(Status.ACTIVE) .image( Resource .builder() URI.create("https://nova-api.openstack.org:9774/37/images/14"))) .build()) .flavor( Resource .builder() URI.create("https://nova-api.openstack.org:9774/37/flavors/1"))) .build()) .links( Link.create( Relation.SELF, Relation.BOOKMARK, URI.create("https://nova-api.openstack.org:9774/37/servers/1459")))
return Server .builder() .id("59662") .hostId("cb0d9e5004bef8c21270a0b09f7624f4c387f3a523f3aaa4c5694a61") .uuid("7aed8e05-1daf-476a-87b2-640e8f7dcafd") .tenantId("37936628937291") .userId("54297837463082") .name("hpcloud-computes-38d") .updated(new SimpleDateFormatDateService().iso8601SecondsDateParse("2012-03-22T22:11:55Z")) .created(new SimpleDateFormatDateService().iso8601SecondsDateParse("2012-03-22T22:11:19Z")) .status(Status.ACTIVE) .keyName("jclouds_hpcloud-computes_77") .image( Resource .builder() URI.create("https://az-2.region-a.geo-1.compute.hpcloudsvc.com/37936628937291/images/229"))) .build()) .flavor( Resource .builder() URI.create("https://az-2.region-a.geo-1.compute.hpcloudsvc.com/37936628937291/flavors/100"))) .build()) .metadata(ImmutableMap.of("Name", "hpcloud-computes")) .addresses(ImmutableMultimap.<String, Address>builder() .putAll("private", Address.createV4("10.6.39.189"), Address.createV4("15.185.181.94")).build()) .links( Link.create(Relation.SELF, URI.create("https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v2/37936628937291/servers/59662")),
return Server .builder() .id("141b775f-7ac1-45f0-9a95-146260f33a53") .tenantId("7f312675f9b84c97bff8f5054e181419") .userId("89c01b67395d4bea945f7f5bfd7f344a") .name("test") .updated(new SimpleDateFormatDateService().iso8601SecondsDateParse("2012-05-04T15:07:48Z")) .created(new SimpleDateFormatDateService().iso8601SecondsDateParse("2012-05-04T15:07:36Z")) .hostId("eab9a77d1c44b8833e4a3dc6d2d9d50de556e780a319f184d8c82d9b") .status(Status.PAUSED) .image( Resource .builder() URI.create("http://172.16.89.149:8774/7f312675f9b84c97bff8f5054e181419/images/8e6f5bc4-a210-45b2-841f-c510eae14300"))) .build()) .flavor( Resource .builder() URI.create("http://172.16.89.149:8774/7f312675f9b84c97bff8f5054e181419/flavors/1"))) .build()) .links( Link.create( Relation.SELF, Relation.BOOKMARK, URI.create("http://172.16.89.149:8774/7f312675f9b84c97bff8f5054e181419/servers/141b775f-7ac1-45f0-9a95-146260f33a53"))) .addresses(ImmutableMultimap.of("private", Address.createV4("10.0.0.8")))
return Server .builder() .id("71752") .tenantId("1234") .userId("5678") .name("sample-f352") .updated(new SimpleDateFormatDateService().iso8601SecondsDateParse("2010-10-10T12:00:00Z")) .created(new SimpleDateFormatDateService().iso8601SecondsDateParse("2010-08-10T12:00:00Z")) .hostId("e4d909c290d0fb1ca068ffaddf22cbd0") .accessIPv4("67.23.10.132") .accessIPv6("::babe:67.23.10.132") .status(Status.BUILD) .diskConfig(Server.DISK_CONFIG_AUTO) .flavor( Resource .builder() URI.create("http://servers.api.openstack.org/1234/flavors/52415800-8b69-11e0-9b19-734f216543fd"))) .build()) .metadata( new ImmutableMap.Builder<String, String>().put("Server Label", "Web Head 1") .put("Image Version", "2.1").build()) .addresses(ImmutableMultimap.<String, Address>builder() .putAll("public", createV4("67.23.10.132"), createV6("::babe:67.23.10.132"), createV4("67.23.10.131"), createV6("::babe:4317:0A83")) .putAll("private", createV4("10.176.42.16"), createV6("::babe:10.176.42.16")) .build()) .links(Link.create( Relation.SELF, URI.create("http://servers.api.openstack.org/v2/1234/servers/71752")), Link.create(
return Server .builder() .id("59662") .hostId("cb0d9e5004bef8c21270a0b09f7624f4c387f3a523f3aaa4c5694a61") .uuid("7aed8e05-1daf-476a-87b2-640e8f7dcafd") .tenantId("37936628937291") .userId("54297837463082") .name("hpcloud-computes-38d") .updated(new SimpleDateFormatDateService().iso8601SecondsDateParse("2012-03-22T22:11:55Z")) .created(new SimpleDateFormatDateService().iso8601SecondsDateParse("2012-03-22T22:11:19Z")) .status(Status.ACTIVE) .keyName("jclouds_hpcloud-computes_77") .image( Resource .builder() URI.create("https://az-2.region-a.geo-1.compute.hpcloudsvc.com/37936628937291/images/229"))) .build()) .flavor( Resource .builder() URI.create("https://az-2.region-a.geo-1.compute.hpcloudsvc.com/37936628937291/flavors/100"))) .build()) .metadata(ImmutableMap.of("Name", "hpcloud-computes")) .addresses(ImmutableMultimap.<String, Address>builder() .putAll("private", Address.createV4("10.6.39.189"), Address.createV4("15.185.181.94")).build()) .links( Link.create(Relation.SELF, URI.create("https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/37936628937291/servers/59662")),
public Server expectedServer() { return Server .builder() .id("71752") .uuid("47491020-6a78-4f63-9475-23195ac4515c") .tenantId("37936628937291") .userId("54297837463082") .name("test-e92") .updated(new SimpleDateFormatDateService().iso8601SecondsDateParse("2012-03-19T06:21:13Z")) .created(new SimpleDateFormatDateService().iso8601SecondsDateParse("2012-03-19T06:21:13Z")) .status(Server.Status.BUILD) .image( Resource .builder() URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/37936628937291/images/1241"))) .build()) .flavor( Resource .builder() URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/37936628937291/flavors/100"))) .build()) .links( Link.create(Link.Relation.SELF, URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v2/37936628937291/servers/71752")), Link.create(Link.Relation.BOOKMARK, URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/37936628937291/servers/71752"))).build();
return Server .builder() .id("141b775f-7ac1-45f0-9a95-146260f33a53") .tenantId("7f312675f9b84c97bff8f5054e181419") .userId("89c01b67395d4bea945f7f5bfd7f344a") .name("test") .updated(new SimpleDateFormatDateService().iso8601SecondsDateParse("2012-05-04T15:07:48Z")) .created(new SimpleDateFormatDateService().iso8601SecondsDateParse("2012-05-04T15:07:36Z")) .hostId("eab9a77d1c44b8833e4a3dc6d2d9d50de556e780a319f184d8c82d9b") .status(Status.PAUSED) .image( Resource .builder() URI.create("http://172.16.89.149:8774/7f312675f9b84c97bff8f5054e181419/images/8e6f5bc4-a210-45b2-841f-c510eae14300"))) .build()) .flavor( Resource .builder() URI.create("http://172.16.89.149:8774/7f312675f9b84c97bff8f5054e181419/flavors/1"))) .build()) .links( Link.create( Relation.SELF, Relation.BOOKMARK, URI.create("http://172.16.89.149:8774/7f312675f9b84c97bff8f5054e181419/servers/141b775f-7ac1-45f0-9a95-146260f33a53"))) .addresses(ImmutableMultimap.of("private", Address.createV4("10.0.0.8")))
return Server .builder() .id("1459") .uuid("2443c9c7-9791-412e-ac09-a6d55ec25335") .tenantId("37") .userId("508151008") .name("mygroup-72c") .updated(new SimpleDateFormatDateService().iso8601SecondsDateParse("2012-03-23T01:30:26Z")) .created(new SimpleDateFormatDateService().iso8601SecondsDateParse("2012-03-23T01:30:26Z")) .hostId("881706597197955ac7cc4b353bc7ec884e13fa280de9cc82057796cb") .status(Status.ACTIVE) .image( Resource .builder() URI.create("https://nova-api.openstack.org:9774/37/images/14"))) .build()) .flavor( Resource .builder() URI.create("https://nova-api.openstack.org:9774/37/flavors/1"))) .build()) .links( Link.create( Relation.SELF, Relation.BOOKMARK, URI.create("https://nova-api.openstack.org:9774/37/servers/1459")))
public Server expectedServer() { return Server .builder() .id("71752") .uuid("47491020-6a78-4f63-9475-23195ac4515c") .tenantId("37936628937291") .userId("54297837463082") .name("test-e92") .updated(new SimpleDateFormatDateService().iso8601SecondsDateParse("2012-03-19T06:21:13Z")) .created(new SimpleDateFormatDateService().iso8601SecondsDateParse("2012-03-19T06:21:13Z")) .status(Server.Status.BUILD) .image( Resource .builder() URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/37936628937291/images/1241"))) .build()) .flavor( Resource .builder() URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/37936628937291/flavors/100"))) .build()) .links( Link.create(Link.Relation.SELF, URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/37936628937291/servers/71752")), Link.create(Link.Relation.BOOKMARK, URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/37936628937291/servers/71752"))).build();
@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 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")); }
public T fromServer(Server in) { return super.fromResource(in) .uuid(in.getUuid()) .tenantId(in.getTenantId()) .userId(in.getUserId()) .updated(in.getUpdated()) .created(in.getCreated()) .hostId(in.getHostId()) .accessIPv4(in.getAccessIPv4()) .accessIPv6(in.getAccessIPv6()) .status(in.getStatus()) .image(in.getImage()) .flavor(in.getFlavor()) .keyName(in.getKeyName()) .configDrive(in.getConfigDrive()) .addresses(in.getAddresses()) .metadata(in.getMetadata()) .extendedStatus(in.getExtendedStatus().orNull()) .extendedAttributes(in.getExtendedAttributes().orNull()) .diskConfig(in.getDiskConfig().orNull()) .availabilityZone(in.getAvailabilityZone().orNull()); } }