You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by je...@apache.org on 2014/07/11 18:57:44 UTC

git commit: STRATOS-646: Floating IP allocation fails if we don't pre-allocate floating IPs

Repository: stratos
Updated Branches:
  refs/heads/4.0.0 b38290ed6 -> cfcf30111


STRATOS-646: Floating IP allocation fails if we don't pre-allocate floating IPs


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

Branch: refs/heads/4.0.0
Commit: cfcf30111187c7b7f52b4c31bcfd44e5f61e5d67
Parents: b38290e
Author: Jeffrey Nguyen <je...@cisco.com>
Authored: Tue May 20 16:42:26 2014 -0700
Committer: Jeffrey Nguyen <je...@cisco.com>
Committed: Fri Jul 11 09:57:21 2014 -0700

----------------------------------------------------------------------
 .../stratos/cloud/controller/iaases/OpenstackNovaIaas.java   | 8 +++++++-
 .../cloud/controller/util/CloudControllerConstants.java      | 1 +
 2 files changed, 8 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/cfcf3011/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/OpenstackNovaIaas.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/OpenstackNovaIaas.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/OpenstackNovaIaas.java
index dccbb2e..ff2ea70 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/OpenstackNovaIaas.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/OpenstackNovaIaas.java
@@ -252,7 +252,13 @@ public class OpenstackNovaIaas extends Iaas {
 
 		// if no unassigned IP is available, we'll try to allocate an IP.
 		if (ip == null || ip.isEmpty()) {
-			FloatingIP allocatedFloatingIP = floatingIp.create();
+			String defaultFloatingIpPool = iaasInfo.getProperty(CloudControllerConstants.DEFAULT_FLOATING_IP_POOL);
+			FloatingIP allocatedFloatingIP;
+			if ((defaultFloatingIpPool == null) || "".equals(defaultFloatingIpPool)) {
+				allocatedFloatingIP = floatingIp.create();
+			} else {
+				allocatedFloatingIP = floatingIp.allocateFromPool(defaultFloatingIpPool);
+			}
 			if (allocatedFloatingIP == null) {
 				String msg = "Failed to allocate an IP address.";
 				log.error(msg);

http://git-wip-us.apache.org/repos/asf/stratos/blob/cfcf3011/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerConstants.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerConstants.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerConstants.java
index 3b81dc8..b96ea28 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerConstants.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerConstants.java
@@ -142,6 +142,7 @@ public final class CloudControllerConstants {
     public static final String INSTANCE_TOPIC = "instance-status";
     // pre define a floating ip
     public static final String FLOATING_IP_PROPERTY = "floatingIp";
+    public static final String DEFAULT_FLOATING_IP_POOL = "defaultFloatingIpPool";
     
     
     /**