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/05/21 01:50:57 UTC

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

Repository: incubator-stratos
Updated Branches:
  refs/heads/master ab383d81b -> 535a64556


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


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

Branch: refs/heads/master
Commit: 535a645561f75d98d6d79acd2506a9651d8b64f9
Parents: ab383d8
Author: Jeffrey Nguyen <je...@cisco.com>
Authored: Tue May 20 16:42:26 2014 -0700
Committer: Jeffrey Nguyen <je...@cisco.com>
Committed: Tue May 20 16:42:26 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/incubator-stratos/blob/535a6455/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 cc6f376..7dd1e99 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
@@ -256,7 +256,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/incubator-stratos/blob/535a6455/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";
     
     
     /**