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/10/03 16:27:54 UTC
[38/50] [abbrv] git commit: Support availability zone in
NovaTemplateOptions.
Support availability zone in NovaTemplateOptions.
Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/cf95033b
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/cf95033b
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/cf95033b
Branch: refs/heads/fix-jclouds-538
Commit: cf95033b1a5211b9f7f05ad36add7d6202e47701
Parents: 2c790c8
Author: Evgeny Tarasenko <et...@xored.com>
Authored: Sun Sep 14 17:22:42 2014 +0700
Committer: Jeremy Daggett <jd...@apache.org>
Committed: Wed Sep 24 06:49:38 2014 -0700
----------------------------------------------------------------------
.../v2_0/compute/NovaComputeServiceAdapter.java | 1 +
.../compute/options/NovaTemplateOptions.java | 32 ++++++++++++++++++--
.../nova/v2_0/options/CreateServerOptions.java | 5 +++
.../options/NovaTemplateOptionsTest.java | 7 +++++
4 files changed, 43 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jclouds/blob/cf95033b/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 2762c30..00d5802 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
@@ -109,6 +109,7 @@ 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/jclouds/blob/cf95033b/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 519c0c0..f9906ed 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
@@ -78,6 +78,7 @@ public class NovaTemplateOptions extends TemplateOptions implements Cloneable {
eTo.configDrive(getConfigDrive());
eTo.novaNetworks(getNovaNetworks());
+ eTo.availabilityZone(getAvailabilityZone());
}
}
@@ -89,6 +90,7 @@ public class NovaTemplateOptions extends TemplateOptions implements Cloneable {
protected String diskConfig;
protected boolean configDrive;
protected Set<Network> novaNetworks;
+ protected String availabilityZone;
@Override
public boolean equals(Object o) {
@@ -104,12 +106,14 @@ 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.novaNetworks, that.novaNetworks);
+ && equal(this.novaNetworks, that.novaNetworks)
+ && equal(this.availabilityZone, that.availabilityZone);
}
@Override
public int hashCode() {
- return Objects.hashCode(super.hashCode(), autoAssignFloatingIp, floatingIpPoolNames, generateKeyPair, keyPairName, userData, diskConfig, configDrive, novaNetworks);
+ return Objects.hashCode(super.hashCode(), autoAssignFloatingIp, floatingIpPoolNames, generateKeyPair, keyPairName,
+ userData, diskConfig, configDrive, novaNetworks, availabilityZone);
}
@Override
@@ -126,6 +130,7 @@ public class NovaTemplateOptions extends TemplateOptions implements Cloneable {
toString.add("diskConfig", diskConfig);
toString.add("configDrive", configDrive);
toString.add("novaNetworks", novaNetworks);
+ toString.add("availabilityZone", availabilityZone);
return toString;
}
@@ -207,6 +212,14 @@ public class NovaTemplateOptions extends TemplateOptions implements Cloneable {
}
/**
+ * @see CreateServerOptions#getAvailabilityZone()
+ */
+ public NovaTemplateOptions availabilityZone(String availabilityZone) {
+ this.availabilityZone = availabilityZone;
+ return this;
+ }
+
+ /**
* The floating IP pool name(s) to use when allocating a FloatingIP. Applicable
* only if #shouldAutoAssignFloatingIp() returns true. If not set will attempt to
* use whatever FloatingIP(s) can be found regardless of which pool they originated
@@ -275,6 +288,13 @@ public class NovaTemplateOptions extends TemplateOptions implements Cloneable {
return novaNetworks;
}
+ /**
+ * @see CreateServerOptions#getAvailabilityZone()
+ */
+ public String getAvailabilityZone() {
+ return availabilityZone;
+ }
+
public static class Builder {
/**
@@ -467,6 +487,14 @@ public class NovaTemplateOptions extends TemplateOptions implements Cloneable {
NovaTemplateOptions options = new NovaTemplateOptions();
return NovaTemplateOptions.class.cast(options.novaNetworks(novaNetworks));
}
+
+ /**
+ * @see NovaTemplateOptions#getAvailabilityZone()
+ */
+ public static NovaTemplateOptions availabilityZone(String availabilityZone) {
+ NovaTemplateOptions options = new NovaTemplateOptions();
+ return options.availabilityZone(availabilityZone);
+ }
}
// methods that only facilitate returning the correct object type
http://git-wip-us.apache.org/repos/asf/jclouds/blob/cf95033b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/options/CreateServerOptions.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/options/CreateServerOptions.java b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/options/CreateServerOptions.java
index dc092bf..eed4b10 100644
--- a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/options/CreateServerOptions.java
+++ b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/options/CreateServerOptions.java
@@ -345,6 +345,11 @@ public class CreateServerOptions implements MapBinder {
return keyName;
}
+ /**
+ * The availability zone in which to launch the server.
+ *
+ * @return the availability zone to be used
+ */
public String getAvailabilityZone() {
return availabilityZone;
}
http://git-wip-us.apache.org/repos/asf/jclouds/blob/cf95033b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/compute/options/NovaTemplateOptionsTest.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/compute/options/NovaTemplateOptionsTest.java b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/compute/options/NovaTemplateOptionsTest.java
index 94c9919..3801865 100644
--- a/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/compute/options/NovaTemplateOptionsTest.java
+++ b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/compute/options/NovaTemplateOptionsTest.java
@@ -196,6 +196,13 @@ public class NovaTemplateOptionsTest {
}
@Test
+ public void testAvailabilityZone() {
+ NovaTemplateOptions options = new NovaTemplateOptions();
+ options.availabilityZone("nova");
+ assertEquals(options.getAvailabilityZone(), "nova");
+ }
+
+ @Test
public void testDiskConfig() {
NovaTemplateOptions options = new NovaTemplateOptions();
options.diskConfig(Server.DISK_CONFIG_AUTO);