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
