Updated Branches: refs/heads/1.6.x 66e19a6bc -> ffff38561
JCLOUDS-242. Fix security group creation on aws-ec2. Contributed by Richard Downer. Project: http://git-wip-us.apache.org/repos/asf/incubator-jclouds/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-jclouds/commit/ffff3856 Tree: http://git-wip-us.apache.org/repos/asf/incubator-jclouds/tree/ffff3856 Diff: http://git-wip-us.apache.org/repos/asf/incubator-jclouds/diff/ffff3856 Branch: refs/heads/1.6.x Commit: ffff38561ac75c5e6699a31915136c54d79b00de Parents: 66e19a6 Author: Andrew Bayer <[email protected]> Authored: Wed Aug 14 11:01:23 2013 -0700 Committer: Andrew Bayer <[email protected]> Committed: Thu Aug 15 12:24:23 2013 -0400 ---------------------------------------------------------------------- .../ec2/compute/loaders/AWSEC2CreateSecurityGroupIfNeeded.java | 3 ++- .../compute/internal/BaseAWSEC2ComputeServiceExpectTest.java | 2 +- .../compute/loaders/AWSEC2CreateSecurityGroupIfNeededTest.java | 6 +++--- 3 files changed, 6 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/ffff3856/providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/loaders/AWSEC2CreateSecurityGroupIfNeeded.java ---------------------------------------------------------------------- diff --git a/providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/loaders/AWSEC2CreateSecurityGroupIfNeeded.java b/providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/loaders/AWSEC2CreateSecurityGroupIfNeeded.java index ad14efe..3368ec8 100644 --- a/providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/loaders/AWSEC2CreateSecurityGroupIfNeeded.java +++ b/providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/loaders/AWSEC2CreateSecurityGroupIfNeeded.java @@ -117,8 +117,9 @@ public class AWSEC2CreateSecurityGroupIfNeeded extends CacheLoader<RegionAndName Set<IpPermission> perms = permissions.build(); if (perms.size() > 0) { + String id = Iterables.get(securityClient.describeSecurityGroupsInRegion(region, name), 0).getId(); logger.debug(">> authorizing securityGroup region(%s) name(%s) IpPermissions(%s)", region, name, perms); - securityClient.authorizeSecurityGroupIngressInRegion(region, name, perms); + securityClient.authorizeSecurityGroupIngressInRegion(region, id, perms); logger.debug("<< authorized securityGroup(%s)", name); } http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/ffff3856/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/compute/internal/BaseAWSEC2ComputeServiceExpectTest.java ---------------------------------------------------------------------- diff --git a/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/compute/internal/BaseAWSEC2ComputeServiceExpectTest.java b/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/compute/internal/BaseAWSEC2ComputeServiceExpectTest.java index 193cd72..fe92f8b 100644 --- a/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/compute/internal/BaseAWSEC2ComputeServiceExpectTest.java +++ b/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/compute/internal/BaseAWSEC2ComputeServiceExpectTest.java @@ -65,7 +65,7 @@ public abstract class BaseAWSEC2ComputeServiceExpectTest extends BaseEC2ComputeS .endpoint("https://ec2." + region + ".amazonaws.com/") .addHeader("Host", "ec2." + region + ".amazonaws.com") .addFormParam("Action", "AuthorizeSecurityGroupIngress") - .addFormParam("GroupId", "jclouds#test") + .addFormParam("GroupId", "sg-3c6ef654") .addFormParam("IpPermissions.0.FromPort", "22") .addFormParam("IpPermissions.0.ToPort", "22") .addFormParam("IpPermissions.0.IpRanges.0.CidrIp", "0.0.0.0/0") http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/ffff3856/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/compute/loaders/AWSEC2CreateSecurityGroupIfNeededTest.java ---------------------------------------------------------------------- diff --git a/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/compute/loaders/AWSEC2CreateSecurityGroupIfNeededTest.java b/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/compute/loaders/AWSEC2CreateSecurityGroupIfNeededTest.java index db3093c..038c6d6 100644 --- a/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/compute/loaders/AWSEC2CreateSecurityGroupIfNeededTest.java +++ b/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/compute/loaders/AWSEC2CreateSecurityGroupIfNeededTest.java @@ -19,7 +19,6 @@ package org.jclouds.aws.ec2.compute.loaders; import static org.easymock.EasyMock.createMock; import static org.easymock.EasyMock.createNiceMock; import static org.easymock.EasyMock.expect; -import static org.easymock.EasyMock.expectLastCall; import static org.easymock.EasyMock.replay; import static org.easymock.EasyMock.verify; import static org.testng.Assert.assertEquals; @@ -33,7 +32,6 @@ import org.jclouds.ec2.compute.domain.RegionNameAndIngressRules; import org.jclouds.ec2.domain.IpPermission; import org.jclouds.ec2.domain.IpProtocol; import org.jclouds.ec2.domain.SecurityGroup; -import org.jclouds.ec2.domain.UserIdGroupPair; import org.testng.annotations.Test; import com.google.common.base.Predicate; @@ -81,7 +79,9 @@ public class AWSEC2CreateSecurityGroupIfNeededTest { client.createSecurityGroupInRegion("region", "group", "group"); expect(group.getOwnerId()).andReturn("ownerId"); - client.authorizeSecurityGroupIngressInRegion("region", "group", permissions.build()); + expect(group.getId()).andReturn("sg-123456"); + expect(client.describeSecurityGroupsInRegion("region", "group")).andReturn(Set.class.cast(groups)); + client.authorizeSecurityGroupIngressInRegion("region", "sg-123456", permissions.build()); expect(client.describeSecurityGroupsInRegion("region", "group")).andReturn(Set.class.cast(groups));
