Repository: incubator-stratos
Updated Branches:
  refs/heads/master bf3a353bc -> 2ef562e1e


fixing https://issues.apache.org/jira/browse/STRATOS-525 - ability to assign 
availability zone via NovaTemplateOptions


Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/2ef562e1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/2ef562e1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/2ef562e1

Branch: refs/heads/master
Commit: 2ef562e1ed864dff0a2fbfd69c38dc61336ff24c
Parents: bf3a353
Author: Nirmal Fernando <[email protected]>
Authored: Tue Mar 18 09:18:18 2014 +0530
Committer: Nirmal Fernando <[email protected]>
Committed: Tue Mar 18 09:18:18 2014 +0530

----------------------------------------------------------------------
 .../v2_0/compute/NovaComputeServiceAdapter.java |  2 ++
 .../compute/options/NovaTemplateOptions.java    | 31 +++++++++++++++++++-
 2 files changed, 32 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2ef562e1/dependencies/jclouds/openstack-nova/1.7.1-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeServiceAdapter.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/openstack-nova/1.7.1-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeServiceAdapter.java
 
b/dependencies/jclouds/openstack-nova/1.7.1-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeServiceAdapter.java
index e4ceade..0e24996 100644
--- 
a/dependencies/jclouds/openstack-nova/1.7.1-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeServiceAdapter.java
+++ 
b/dependencies/jclouds/openstack-nova/1.7.1-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeServiceAdapter.java
@@ -110,6 +110,8 @@ public class NovaComputeServiceAdapter implements
       options.userData(templateOptions.getUserData());
       options.diskConfig(templateOptions.getDiskConfig());
       options.configDrive(templateOptions.getConfigDrive());
+      options.availabilityZone(templateOptions.getAvailabilityZone());
+
       if (templateOptions.getNovaNetworks() != null) {
          options.novaNetworks(templateOptions.getNovaNetworks());
       }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2ef562e1/dependencies/jclouds/openstack-nova/1.7.1-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/compute/options/NovaTemplateOptions.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/openstack-nova/1.7.1-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/compute/options/NovaTemplateOptions.java
 
b/dependencies/jclouds/openstack-nova/1.7.1-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/compute/options/NovaTemplateOptions.java
index e5f5794..b85dfd4 100644
--- 
a/dependencies/jclouds/openstack-nova/1.7.1-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/compute/options/NovaTemplateOptions.java
+++ 
b/dependencies/jclouds/openstack-nova/1.7.1-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/compute/options/NovaTemplateOptions.java
@@ -70,6 +70,7 @@ public class NovaTemplateOptions extends TemplateOptions 
implements Cloneable {
             eTo.securityGroupNames(getSecurityGroupNames().get());
          eTo.generateKeyPair(shouldGenerateKeyPair());
          eTo.keyPairName(getKeyPairName());
+        eTo.availabilityZone(getAvailabilityZone());
          if (getUserData() != null) {
              eTo.userData(getUserData());
          }
@@ -89,6 +90,7 @@ public class NovaTemplateOptions extends TemplateOptions 
implements Cloneable {
    protected byte[] userData;
    protected String diskConfig;
    protected boolean configDrive;
+   protected String availabilityZone;
    protected Set<Network> novaNetworks;
 
    @Override
@@ -105,12 +107,13 @@ public class NovaTemplateOptions extends TemplateOptions 
implements Cloneable {
             && Arrays.equals(this.userData, that.userData)
             && equal(this.diskConfig, that.diskConfig)
             && equal(this.configDrive, that.configDrive)
+            && equal(this.availabilityZone, that.availabilityZone)
             && equal(this.novaNetworks, that.novaNetworks);
    }
 
    @Override
    public int hashCode() {
-      return Objects.hashCode(super.hashCode(), autoAssignFloatingIp, 
securityGroupNames, generateKeyPair, keyPairName, userData, diskConfig, 
configDrive, novaNetworks);
+      return Objects.hashCode(super.hashCode(), autoAssignFloatingIp, 
securityGroupNames, generateKeyPair, keyPairName, userData, diskConfig, 
configDrive,availabilityZone, novaNetworks);
    }
 
    @Override
@@ -126,6 +129,7 @@ public class NovaTemplateOptions extends TemplateOptions 
implements Cloneable {
       toString.add("userData", userData);
       toString.add("diskConfig", diskConfig);
       toString.add("configDrive", configDrive);
+      toString.add("availabilityZone", availabilityZone);
       toString.add("novaNetworks", novaNetworks);
       return toString;
    }
@@ -157,6 +161,15 @@ public class NovaTemplateOptions extends TemplateOptions 
implements Cloneable {
    }
 
    /**
+    * set availability zone
+    */
+   public NovaTemplateOptions availabilityZone(String zone) {
+      this.availabilityZone = zone;
+      return this;
+   }
+
+
+   /**
     *
     * @see 
org.jclouds.openstack.nova.v2_0.options.CreateServerOptions#getSecurityGroupNames
     */
@@ -193,6 +206,15 @@ public class NovaTemplateOptions extends TemplateOptions 
implements Cloneable {
    public String getKeyPairName() {
       return keyPairName;
    }
+
+   /**
+    * Specifies the availability zone used to run instances with
+    * @return the availability zone to be used
+    */
+   public String getAvailabilityZone() {
+      return availabilityZone;
+   }
+
    
    /**
     * <h3>Note</h3>
@@ -263,6 +285,13 @@ public class NovaTemplateOptions extends TemplateOptions 
implements Cloneable {
       public static NovaTemplateOptions keyPairName(String keyPairName) {
          return new NovaTemplateOptions().keyPairName(keyPairName);
       }
+
+      /**
+       * @see NovaTemplateOptions#getAvailabilityZone()
+       */
+      public static NovaTemplateOptions availabilityZone(String zone) {
+         return new NovaTemplateOptions().availabilityZone(zone);
+      }
       
       /**
        * @see 
org.jclouds.openstack.nova.v2_0.options.CreateServerOptions#getSecurityGroupNames

Reply via email to