private PlacementGroup refresh(PlacementGroup group) { return Iterables.getOnlyElement(client.getPlacementGroupApi().get().describePlacementGroupsInRegion( group.getRegion(), group.getName())); } }
@Test(expectedExceptions = AWSResponseException.class) public void testFilterInvalid() { for (String region : supportedRegions) { SortedSet<PlacementGroup> allResults = newTreeSet(client.getPlacementGroupApi().get() .describePlacementGroupsInRegion(region)); assertNotNull(allResults); if (allResults.size() >= 1) { PlacementGroup group = allResults.last(); client.getPlacementGroupApi().get() .describePlacementGroupsInRegionWithFilter(region, ImmutableMultimap.<String, String>builder() .put("invalid-filter", group.getName()).build()); } } }
private PlacementGroup refresh(PlacementGroup group) { return Iterables.getOnlyElement(client.getPlacementGroupApi().get().describePlacementGroupsInRegion( group.getRegion(), group.getName())); } }
@Test public void testFilter() { for (String region : supportedRegions) { SortedSet<PlacementGroup> allResults = newTreeSet(client.getPlacementGroupApi().get() .describePlacementGroupsInRegion(region)); assertNotNull(allResults); if (allResults.size() >= 1) { PlacementGroup group = allResults.last(); SortedSet<PlacementGroup> result = newTreeSet(client.getPlacementGroupApi().get() .describePlacementGroupsInRegionWithFilter(region, ImmutableMultimap.<String, String>builder() .put("group-name", group.getName()).build())); assertNotNull(result); PlacementGroup compare = result.last(); assertEquals(compare, group); } } }
private PlacementGroup refresh(PlacementGroup group) { return Iterables.getOnlyElement(client.getPlacementGroupApi().get().describePlacementGroupsInRegion( group.getRegion(), group.getName())); } }
private PlacementGroup refresh(PlacementGroup group) { return Iterables.getOnlyElement(client.getPlacementGroupApi().get().describePlacementGroupsInRegion( group.getRegion(), group.getName())); } }
private PlacementGroup refresh(PlacementGroup group) { return Iterables.getOnlyElement(client.getPlacementGroupApi().get().describePlacementGroupsInRegion( group.getRegion(), group.getName())); } }
private PlacementGroup refresh(PlacementGroup group) { return Iterables.getOnlyElement(client.getPlacementGroupApi().get().describePlacementGroupsInRegion( group.getRegion(), group.getName())); } }
@VisibleForTesting void deletePlacementGroup(String region, String group) { checkNotNull(emptyToNull(group), "group must be defined"); // placementGroupName must be unique within an account per // http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/index.html?using_cluster_computing.html String placementGroup = String.format("jclouds#%s#%s", group, region); try { if (client.getPlacementGroupApi().get().describePlacementGroupsInRegion(region, placementGroup).size() > 0) { logger.debug(">> deleting placementGroup(%s)", placementGroup); try { client.getPlacementGroupApi().get().deletePlacementGroupInRegion(region, placementGroup); checkState(placementGroupDeleted.apply(new PlacementGroup(region, placementGroup, "cluster", State.PENDING)), String.format("placementGroup region(%s) name(%s) failed to delete", region, placementGroup)); placementGroupMap.invalidate(new RegionAndName(region, placementGroup)); logger.debug("<< deleted placementGroup(%s)", placementGroup); } catch (IllegalStateException e) { logger.debug("<< inUse placementGroup(%s)", placementGroup); } } } catch (UnsupportedOperationException e) { logger.trace("<< placementGroups unsupported in region %s", region); } }
@VisibleForTesting void deletePlacementGroup(String region, String group) { checkNotNull(emptyToNull(group), "group must be defined"); // placementGroupName must be unique within an account per // http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/index.html?using_cluster_computing.html String placementGroup = String.format("jclouds#%s#%s", group, region); try { if (!client.getPlacementGroupApi().get().describePlacementGroupsInRegion(region, placementGroup).isEmpty()) { logger.debug(">> deleting placementGroup(%s)", placementGroup); try { client.getPlacementGroupApi().get().deletePlacementGroupInRegion(region, placementGroup); checkState(placementGroupDeleted.apply(new PlacementGroup(region, placementGroup, "cluster", State.PENDING)), "placementGroup region(%s) name(%s) failed to delete", region, placementGroup); placementGroupMap.invalidate(new RegionAndName(region, placementGroup)); logger.debug("<< deleted placementGroup(%s)", placementGroup); } catch (IllegalStateException e) { logger.debug("<< inUse placementGroup(%s)", placementGroup); } } } catch (UnsupportedOperationException e) { logger.trace("<< placementGroups unsupported in region %s", region); } }
@VisibleForTesting void deletePlacementGroup(String region, String group) { checkNotNull(emptyToNull(group), "group must be defined"); // placementGroupName must be unique within an account per // http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/index.html?using_cluster_computing.html String placementGroup = String.format("jclouds#%s#%s", group, region); try { if (!client.getPlacementGroupApi().get().describePlacementGroupsInRegion(region, placementGroup).isEmpty()) { logger.debug(">> deleting placementGroup(%s)", placementGroup); try { client.getPlacementGroupApi().get().deletePlacementGroupInRegion(region, placementGroup); checkState(placementGroupDeleted.apply(new PlacementGroup(region, placementGroup, "cluster", State.PENDING)), "placementGroup region(%s) name(%s) failed to delete", region, placementGroup); placementGroupMap.invalidate(new RegionAndName(region, placementGroup)); logger.debug("<< deleted placementGroup(%s)", placementGroup); } catch (IllegalStateException e) { logger.debug("<< inUse placementGroup(%s)", placementGroup); } } } catch (UnsupportedOperationException e) { logger.trace("<< placementGroups unsupported in region %s", region); } }
private void verifyPlacementGroup(String region, String groupName) { assert availableTester.apply(new PlacementGroup(region, groupName, "cluster", State.PENDING)) : group; Set<PlacementGroup> oneResult = client.getPlacementGroupApi().get().describePlacementGroupsInRegion(region, groupName); assertNotNull(oneResult); assertEquals(oneResult.size(), 1); group = oneResult.iterator().next(); assertEquals(group.getName(), groupName); assertEquals(group.getStrategy(), "cluster"); assert availableTester.apply(group) : group; }
@Test public void testDescribe() { for (String region : supportedRegions) { SortedSet<PlacementGroup> allResults = newTreeSet(client.getPlacementGroupApi().get() .describePlacementGroupsInRegion(region)); assertNotNull(allResults); if (allResults.size() >= 1) { PlacementGroup group = allResults.last(); SortedSet<PlacementGroup> result = newTreeSet(client.getPlacementGroupApi().get() .describePlacementGroupsInRegion(region, group.getName())); assertNotNull(result); PlacementGroup compare = result.last(); assertEquals(compare, group); } } for (String region : client.getAvailabilityZoneAndRegionApi().get().describeRegions().keySet()) { if (!supportedRegions.contains(region)) try { client.getPlacementGroupApi().get().describePlacementGroupsInRegion(region); fail("should be unsupported for region: " + region); } catch (UnsupportedOperationException e) { } } }