protected void releaseAnyPublicIpForInstanceInRegion(String instanceId, String region) { if (!autoAllocateElasticIps) return; try { String ip = elasticIpCache.get(new RegionAndName(region, instanceId)); logger.debug(">> disassociating elastic IP %s", ip); client.getElasticIPAddressApi().get().disassociateAddressInRegion(region, ip); logger.trace("<< disassociated elastic IP %s", ip); elasticIpCache.invalidate(new RegionAndName(region, instanceId)); logger.debug(">> releasing elastic IP %s", ip); client.getElasticIPAddressApi().get().releaseAddressInRegion(region, ip); logger.trace("<< released elastic IP %s", ip); } catch (CacheLoader.InvalidCacheLoadException e) { // no ip was found return; } catch (ExecutionException e) { // don't propagate as we need to clean up the node regardless logger.warn(e, "error cleaning up elastic ip for instance %s/%s", region, instanceId); } }
protected void releaseAnyPublicIpForInstanceInRegion(String instanceId, String region) { if (!autoAllocateElasticIps) return; try { String ip = elasticIpCache.get(new RegionAndName(region, instanceId)); logger.debug(">> disassociating elastic IP %s", ip); client.getElasticIPAddressApi().get().disassociateAddressInRegion(region, ip); logger.trace("<< disassociated elastic IP %s", ip); elasticIpCache.invalidate(new RegionAndName(region, instanceId)); logger.debug(">> releasing elastic IP %s", ip); client.getElasticIPAddressApi().get().releaseAddressInRegion(region, ip); logger.trace("<< released elastic IP %s", ip); } catch (CacheLoader.InvalidCacheLoadException e) { // no ip was found return; } catch (ExecutionException e) { // don't propagate as we need to clean up the node regardless logger.warn(e, "error cleaning up elastic ip for instance %s/%s", region, instanceId); } }
protected void releaseAnyPublicIpForInstanceInRegion(String instanceId, String region) { if (!autoAllocateElasticIps) return; try { String ip = elasticIpCache.get(new RegionAndName(region, instanceId)); logger.debug(">> disassociating elastic IP %s", ip); client.getElasticIPAddressApi().get().disassociateAddressInRegion(region, ip); logger.trace("<< disassociated elastic IP %s", ip); elasticIpCache.invalidate(new RegionAndName(region, instanceId)); logger.debug(">> releasing elastic IP %s", ip); client.getElasticIPAddressApi().get().releaseAddressInRegion(region, ip); logger.trace("<< released elastic IP %s", ip); } catch (CacheLoader.InvalidCacheLoadException e) { // no ip was found return; } catch (ExecutionException e) { // don't propagate as we need to clean up the node regardless logger.warn(e, "error cleaning up elastic ip for instance %s/%s", region, instanceId); } }
ipClient.releaseAddressInRegion("region", "1.1.1.1"); elasticIpCache.invalidate(new RegionAndName("region", "i-blah"));
@AfterTest void cleanup() throws InterruptedException, ExecutionException, TimeoutException { if (address != null) client.getElasticIPAddressApi().get().releaseAddressInRegion(null, address); if (instanceId != null) client.getInstanceApi().get().terminateInstancesInRegion(null, instanceId); if (keyPair != null) client.getKeyPairApi().get().deleteKeyPairInRegion(null, keyPair.getKeyName()); if (securityGroupName != null) client.getSecurityGroupApi().get().deleteSecurityGroupInRegion(null, securityGroupName); }