You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by an...@apache.org on 2014/08/12 18:02:46 UTC

git commit: Use the security groups options in the portable TemplateOptions

Repository: jclouds
Updated Branches:
  refs/heads/fix-496 [created] f710e9dba


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/f710e9db
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/f710e9db
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/f710e9db

Branch: refs/heads/fix-496
Commit: f710e9dba26a2c6a39c1b6252aac6f8a3c7e124b
Parents: 8743e94
Author: Ignasi Barrera <na...@apache.org>
Authored: Tue Jul 15 18:02:36 2014 +0200
Committer: Andrew Phillips <an...@apache.org>
Committed: Tue Aug 12 12:01:52 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/f710e9db/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/f710e9db/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/f710e9db/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);