Repository: jclouds Updated Branches: refs/heads/master b77ea0695 -> 65ba26eca
JCLOUDS-1307: Invalidate SG on removal even if already externally deleted Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/65ba26ec Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/65ba26ec Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/65ba26ec Branch: refs/heads/master Commit: 65ba26eca7d63b6b7cef70386f00425438318825 Parents: b77ea06 Author: Svetoslav Neykov <[email protected]> Authored: Fri Jun 9 12:41:16 2017 +0300 Committer: Svetoslav Neykov <[email protected]> Committed: Tue Jun 27 13:26:51 2017 +0300 ---------------------------------------------------------------------- .../extensions/AWSEC2SecurityGroupExtension.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jclouds/blob/65ba26ec/providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/extensions/AWSEC2SecurityGroupExtension.java ---------------------------------------------------------------------- diff --git a/providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/extensions/AWSEC2SecurityGroupExtension.java b/providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/extensions/AWSEC2SecurityGroupExtension.java index db1e8f2..6c10493 100644 --- a/providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/extensions/AWSEC2SecurityGroupExtension.java +++ b/providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/extensions/AWSEC2SecurityGroupExtension.java @@ -24,6 +24,7 @@ import static com.google.common.collect.Iterables.transform; import javax.inject.Inject; import javax.inject.Named; +import java.util.Map; import java.util.Set; import com.google.common.base.Function; @@ -105,12 +106,17 @@ public class AWSEC2SecurityGroupExtension extends EC2SecurityGroupExtension { if (group != null) { client.getSecurityGroupApi().get().deleteSecurityGroupInRegionById(region, groupId); - // TODO: test this clear happens groupCreator.invalidate(new RegionNameAndIngressRules(region, group.getName(), null, false, null)); return true; + } else { + for (Map.Entry<RegionAndName, String> cachedSg : groupCreator.asMap().entrySet()) { + if (groupId.equals(cachedSg.getValue())) { + groupCreator.invalidate(cachedSg.getKey()); + break; + } + } + return false; } - - return false; } @Override
