private String getAvailabilityZoneFromTemplateOptionsOrDefault(AtomicReference<NodeAndNovaTemplateOptions> input, String regionId) { return MoreObjects.firstNonNull(input.get().getNovaTemplateOptions().get().getAvailabilityZone(), Iterables.get(novaApi.getAvailabilityZoneApi(regionId).get().listAvailabilityZones(), 0).getName()); }
@Test public void testListAvailabilityZones() throws Exception { Optional<? extends AvailabilityZoneApi> availabilityZoneApi = api.getAvailabilityZoneApi("RegionOne"); if (availabilityZoneApi.isPresent()) { FluentIterable<? extends AvailabilityZone> zones = availabilityZoneApi.get().list(); for (AvailabilityZone zone : zones) { assertNotNull(zone.getName()); assertTrue(zone.getState().available(), "zone: " + zone.getName() + " is not available."); } } } }
@Test public void testListInDetail() throws Exception { Optional<? extends AvailabilityZoneApi> availabilityZoneApi = api.getAvailabilityZoneApi("RegionOne"); if (availabilityZoneApi.isPresent()) { FluentIterable<? extends AvailabilityZoneDetails> zones = availabilityZoneApi.get().listInDetail(); for (AvailabilityZoneDetails zone : zones) { assertNotNull(zone.getName()); assertTrue(zone.getState() .isAvailable(), "zone: " + zone.getName() + " is not available."); String hostName = zone.getHosts().keySet().iterator().next(); assertNotNull(hostName, "Expected host name to be not null"); String hostServiceName = zone.getHosts().get(hostName).keySet().iterator().next(); assertNotNull(hostServiceName, "Expected host service name to be not null"); HostService hostService = zone.getHosts().get(hostName).get(hostServiceName); assertTrue(hostService.isAvailable(), "Couldn't find host service availability"); assertTrue(hostService.isActive(), "Couldn't find host service state"); assertNotNull(hostService.getUpdated(), "Expected Updated time, but none received "); } } } }
FluentIterable<? extends AvailabilityZoneDetails> zones = availabilityZonesApi.getAvailabilityZoneApi("az-1.region-a.geo-1").get().listInDetail();
private String getAvailabilityZoneFromTemplateOptionsOrDefault(AtomicReference<NodeAndNovaTemplateOptions> input, String regionId) { return MoreObjects.firstNonNull(input.get().getNovaTemplateOptions().get().getAvailabilityZone(), Iterables.get(novaApi.getAvailabilityZoneApi(regionId).get().listAvailabilityZones(), 0).getName()); }
@BeforeClass(groups = {"integration", "live"}) @Override public void setup() { super.setup(); region = Iterables.getLast(api.getConfiguredRegions(), "nova"); volumeOption = api.getVolumeApi(region); Optional<? extends AvailabilityZoneApi> availabilityZoneApi = api.getAvailabilityZoneApi(region); availabilityZone = availabilityZoneApi.isPresent() ? Iterables.getLast(availabilityZoneApi.get().list()).getName() : region; }
@Test public void testListAvailabilityZones() throws Exception { Optional<? extends AvailabilityZoneApi> availabilityZoneApi = api.getAvailabilityZoneApi("RegionOne"); if (availabilityZoneApi.isPresent()) { FluentIterable<? extends AvailabilityZone> zones = availabilityZoneApi.get().listAvailabilityZones(); for (AvailabilityZone zone : zones) { assertNotNull(zone.getName()); assertTrue(zone.getState().isAvailable(), "zone: " + zone.getName() + " is not available."); } } }
@Test public void testCreateInAvailabilityZone() { String serverId = null; String availabilityZone; for (String regionId : regions) { ServerApi serverApi = api.getServerApi(regionId); Optional<? extends AvailabilityZoneApi> availabilityZoneApi = api.getAvailabilityZoneApi(regionId); availabilityZone = availabilityZoneApi.isPresent() ? Iterables.get(availabilityZoneApi.get().list(), 0).getName() : "nova"; try { serverId = createServer(regionId, availabilityZone).getId(); Server server = serverApi.get(serverId); assertEquals(server.getStatus(), ACTIVE); } finally { if (serverId != null) { serverApi.delete(serverId); } } } }
public void testListAvailabilityZones() throws Exception { HttpRequest list = HttpRequest .builder() .method("GET") .endpoint("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v2/3456/os-availability-zone") .addHeader("Accept", "application/json") .addHeader("X-Auth-Token", authToken).build(); HttpResponse listResponse = HttpResponse.builder().statusCode(200) .payload(payloadFromResource("/listAvailabilityZones.json")).build(); NovaApi availabilityZonesApi = requestsSendResponses(keystoneAuthWithUsernameAndPasswordAndTenantName, responseWithKeystoneAccess, extensionsOfNovaRequest, extensionsOfNovaResponse, list, listResponse); assertEquals(availabilityZonesApi.getConfiguredRegions(), ImmutableSet.of("az-1.region-a.geo-1", "az-2.region-a.geo-1", "az-3.region-a.geo-1")); FluentIterable<? extends AvailabilityZone> zones = availabilityZonesApi.getAvailabilityZoneApi("az-1.region-a.geo-1").get().listAvailabilityZones(); Optional<? extends AvailabilityZone> zone = zones.first(); assertTrue(zone.isPresent(), "Couldn't find zone"); assertEquals(zone.get().getName(), "internal", "Expected zone name to be internal but it was: " + zone.get().getName()); assertTrue(zone.get().getState().isAvailable(), "Zone: " + zone.get().getName() + " is not available."); }
public void testAvailabilityZonesList() throws Exception { HttpRequest list = HttpRequest .builder() .method("GET") .endpoint("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v2/3456/os-availability-zone") .addHeader("Accept", "application/json") .addHeader("X-Auth-Token", authToken).build(); HttpResponse listResponse = HttpResponse.builder().statusCode(200) .payload(payloadFromResource("/listAvailabilityZones.json")).build(); NovaApi availabilityZonesApi = requestsSendResponses(keystoneAuthWithUsernameAndPasswordAndTenantName, responseWithKeystoneAccess, extensionsOfNovaRequest, extensionsOfNovaResponse, list, listResponse); assertEquals(availabilityZonesApi.getConfiguredRegions(), ImmutableSet.of("az-1.region-a.geo-1", "az-2.region-a.geo-1", "az-3.region-a.geo-1")); FluentIterable<? extends AvailabilityZone> zones = availabilityZonesApi.getAvailabilityZoneApi("az-1.region-a.geo-1").get().list(); Optional<? extends AvailabilityZone> zone = zones.first(); assertTrue(zone.isPresent(), "Couldn't find zone"); assertEquals(zone.get().getName(), "internal", "Expected zone name to be internal but it was: " + zone.get().getName()); assertTrue(zone.get().getState().available(), "Zone: " + zone.get().getName() + " is not available."); } }