Repository: jclouds Updated Branches: refs/heads/master 8743e947b -> 95b6064c3
JCLOUDS-496: Use the security groups options in the portable TemplateOptions Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/95b6064c Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/95b6064c Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/95b6064c Branch: refs/heads/master Commit: 95b6064c3da59949469e43ccfcc1254250ee41d4 Parents: 8743e94 Author: Ignasi Barrera <[email protected]> Authored: Tue Jul 15 18:02:36 2014 +0200 Committer: Andrew Phillips <[email protected]> Committed: Tue Aug 12 13:34:29 2014 -0400 ---------------------------------------------------------------------- .../v2_0/compute/NovaComputeServiceAdapter.java | 4 ++-- .../v2_0/compute/options/NovaTemplateOptions.java | 16 +++++++++------- ...teNodesWithGroupEncodedIntoNameThenAddToSet.java | 7 +++---- 3 files changed, 14 insertions(+), 13 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jclouds/blob/95b6064c/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeServiceAdapter.java ---------------------------------------------------------------------- diff --git a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeServiceAdapter.java b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeServiceAdapter.java index 399da43..2361899 100644 --- a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeServiceAdapter.java +++ b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeServiceAdapter.java @@ -103,8 +103,8 @@ public class NovaComputeServiceAdapter implements CreateServerOptions options = new CreateServerOptions(); options.metadata(metadataAndTagsAsCommaDelimitedValue(template.getOptions())); - if (templateOptions.getSecurityGroupNames().isPresent()) - options.securityGroupNames(templateOptions.getSecurityGroupNames().get()); + if (!templateOptions.getGroups().isEmpty()) + options.securityGroupNames(templateOptions.getGroups()); options.userData(templateOptions.getUserData()); options.diskConfig(templateOptions.getDiskConfig()); options.configDrive(templateOptions.getConfigDrive()); http://git-wip-us.apache.org/repos/asf/jclouds/blob/95b6064c/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/options/NovaTemplateOptions.java ---------------------------------------------------------------------- diff --git a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/options/NovaTemplateOptions.java b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/options/NovaTemplateOptions.java index b6166bb..2778afc 100644 --- a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/options/NovaTemplateOptions.java +++ b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/options/NovaTemplateOptions.java @@ -83,7 +83,6 @@ public class NovaTemplateOptions extends TemplateOptions implements Cloneable { protected boolean autoAssignFloatingIp = false; protected Optional<Set<String>> floatingIpPoolNames = Optional.absent(); - protected Optional<Set<String>> securityGroupNames = Optional.absent(); protected boolean generateKeyPair = false; protected String keyPairName; protected byte[] userData; @@ -100,7 +99,6 @@ public class NovaTemplateOptions extends TemplateOptions implements Cloneable { NovaTemplateOptions that = NovaTemplateOptions.class.cast(o); return super.equals(that) && equal(this.autoAssignFloatingIp, that.autoAssignFloatingIp) && equal(this.floatingIpPoolNames, that.floatingIpPoolNames) - && equal(this.securityGroupNames, that.securityGroupNames) && equal(this.generateKeyPair, that.generateKeyPair) && equal(this.keyPairName, that.keyPairName) && Arrays.equals(this.userData, that.userData) @@ -111,7 +109,7 @@ public class NovaTemplateOptions extends TemplateOptions implements Cloneable { @Override public int hashCode() { - return Objects.hashCode(super.hashCode(), autoAssignFloatingIp, floatingIpPoolNames, securityGroupNames, generateKeyPair, keyPairName, userData, diskConfig, configDrive, novaNetworks); + return Objects.hashCode(super.hashCode(), autoAssignFloatingIp, floatingIpPoolNames, generateKeyPair, keyPairName, userData, diskConfig, configDrive, novaNetworks); } @Override @@ -121,8 +119,6 @@ public class NovaTemplateOptions extends TemplateOptions implements Cloneable { toString.add("autoAssignFloatingIp", autoAssignFloatingIp); if (floatingIpPoolNames.isPresent()) toString.add("floatingIpPoolNames", floatingIpPoolNames.get()); - if (securityGroupNames.isPresent()) - toString.add("securityGroupNames", securityGroupNames.get()); if (generateKeyPair) toString.add("generateKeyPair", generateKeyPair); toString.add("keyPairName", keyPairName); @@ -179,18 +175,22 @@ public class NovaTemplateOptions extends TemplateOptions implements Cloneable { /** * * @see org.jclouds.openstack.nova.v2_0.options.CreateServerOptions#getSecurityGroupNames + * @deprecated Use @link {@link TemplateOptions#securityGroups(String...)} instead. */ + @Deprecated public NovaTemplateOptions securityGroupNames(String... securityGroupNames) { return securityGroupNames(ImmutableSet.copyOf(checkNotNull(securityGroupNames, "securityGroupNames"))); } /** * @see org.jclouds.openstack.nova.v2_0.options.CreateServerOptions#getSecurityGroupNames + * @deprecated Use {@link TemplateOptions#securityGroups(Iterable)} instead. */ + @Deprecated public NovaTemplateOptions securityGroupNames(Iterable<String> securityGroupNames) { for (String groupName : checkNotNull(securityGroupNames, "securityGroupNames")) checkNotNull(emptyToNull(groupName), "all security groups must be non-empty"); - this.securityGroupNames = Optional.<Set<String>> of(ImmutableSet.copyOf(securityGroupNames)); + securityGroups(securityGroupNames); return this; } @@ -243,9 +243,11 @@ public class NovaTemplateOptions extends TemplateOptions implements Cloneable { * to {@link #getInboundPorts()} * * @see org.jclouds.openstack.nova.v2_0.options.CreateServerOptions#getSecurityGroupNames + * @deprecated Use {@link TemplateOptions#getGroups()} instead. */ + @Deprecated public Optional<Set<String>> getSecurityGroupNames() { - return securityGroupNames; + return getGroups().isEmpty() ? Optional.<Set<String>>absent() : Optional.of(getGroups()); } public byte[] getUserData() { http://git-wip-us.apache.org/repos/asf/jclouds/blob/95b6064c/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/strategy/ApplyNovaTemplateOptionsCreateNodesWithGroupEncodedIntoNameThenAddToSet.java ---------------------------------------------------------------------- diff --git a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/strategy/ApplyNovaTemplateOptionsCreateNodesWithGroupEncodedIntoNameThenAddToSet.java b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/strategy/ApplyNovaTemplateOptionsCreateNodesWithGroupEncodedIntoNameThenAddToSet.java index 58f7af5..79bd021 100644 --- a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/strategy/ApplyNovaTemplateOptionsCreateNodesWithGroupEncodedIntoNameThenAddToSet.java +++ b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/strategy/ApplyNovaTemplateOptionsCreateNodesWithGroupEncodedIntoNameThenAddToSet.java @@ -126,20 +126,19 @@ public class ApplyNovaTemplateOptionsCreateNodesWithGroupEncodedIntoNameThenAddT boolean securityGroupExtensionPresent = novaApi.getSecurityGroupExtensionForZone(zone).isPresent(); List<Integer> inboundPorts = Ints.asList(templateOptions.getInboundPorts()); - if (templateOptions.getSecurityGroupNames().isPresent() - && templateOptions.getSecurityGroupNames().get().size() > 0) { + if (!templateOptions.getGroups().isEmpty()) { checkArgument(securityGroupExtensionPresent, "Security groups are required by options, but the extension is not available! options: %s", templateOptions); } else if (securityGroupExtensionPresent) { - if (!templateOptions.getSecurityGroupNames().isPresent() && inboundPorts.size() > 0) { + if (templateOptions.getGroups().isEmpty() && !inboundPorts.isEmpty()) { String securityGroupName = namingConvention.create().sharedNameForGroup(group); try { securityGroupCache.get(new ZoneSecurityGroupNameAndPorts(zone, securityGroupName, inboundPorts)); } catch (ExecutionException e) { throw Throwables.propagate(e.getCause()); } - templateOptions.securityGroupNames(securityGroupName); + templateOptions.securityGroups(securityGroupName); } } templateOptions.userMetadata(ComputeServiceConstants.NODE_GROUP_KEY, group);
