fixing a copying of a reference to a new instance

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

Branch: refs/heads/master
Commit: f764f50396f53c0e32c0e16ee282f02c9d6d571f
Parents: 0520d06
Author: Nirmal Fernando <[email protected]>
Authored: Sat Feb 8 00:15:27 2014 +0530
Committer: Nirmal Fernando <[email protected]>
Committed: Sat Feb 8 00:15:27 2014 +0530

----------------------------------------------------------------------
 .../stratos/cloud/controller/iaases/OpenstackNovaIaas.java  | 9 +++++++++
 .../cloud/controller/impl/CloudControllerServiceImpl.java   | 8 ++++++--
 .../apache/stratos/cloud/controller/pojo/IaasProvider.java  | 5 +----
 3 files changed, 16 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/f764f503/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 8cba65a..b654696 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
@@ -240,6 +240,15 @@ public class OpenstackNovaIaas extends Iaas {
                while (node.getPrivateAddresses() == null) {
                        CloudControllerUtil.sleep(1000);
                }
+               
+               if (node.getPublicAddresses() != null
+                               && 
node.getPublicAddresses().iterator().hasNext()) {
+                       log.info("A public IP ("
+                                       + 
node.getPublicAddresses().iterator().next()
+                                       + ") is already allocated to the 
instance [id] : "
+                                       + node.getId());
+                       return null;
+               }
 
                int retries = 0;
                while (retries < 5

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/f764f503/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java
index 6dc59f6..906fbdc 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java
@@ -526,8 +526,12 @@ public class CloudControllerServiceImpl implements 
CloudControllerService {
                         Iaas iaas = iaasProvider.getIaas();
                         // allocate an IP address - manual IP assigning mode
                         ip = iaas.associateAddress(node);
-                        memberContext.setAllocatedIpAddress(ip);
-                        log.info("Allocated an ip address: " + 
memberContext.toString());
+                        
+                                               if (ip != null) {
+                                                       
memberContext.setAllocatedIpAddress(ip);
+                                                       log.info("Allocated an 
ip address: "
+                                                                       + 
memberContext.toString());
+                                               }
                     }
 
                     // public ip

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/f764f503/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/IaasProvider.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/IaasProvider.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/IaasProvider.java
index 2a14ebe..5e6150b 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/IaasProvider.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/IaasProvider.java
@@ -80,14 +80,11 @@ public class IaasProvider implements Serializable{
        this.type = anIaasProvider.getType();
        this.name = anIaasProvider.getName();
        this.className = anIaasProvider.getClassName();
-       this.properties = anIaasProvider.getProperties();
+       this.properties = new 
HashMap<String,String>(anIaasProvider.getProperties());
        this.image = anIaasProvider.getImage();
        this.provider = anIaasProvider.getProvider();
        this.identity = anIaasProvider.getIdentity();
        this.credential = anIaasProvider.getCredential();
-       this.computeService = anIaasProvider.getComputeService();
-       this.template = anIaasProvider.getTemplate();
-       this.iaas = anIaasProvider.getIaas();
        this.payload = anIaasProvider.getPayload();
     }
     

Reply via email to