Repository: cloudstack
Updated Branches:
  refs/heads/hotfix/4.3-CLOUDSTACK-6756 [created] 15549f3b6


Fixed CLOUDSTACK-6756: usage id is not being returned for an ip in deleted ip 
range

(cherry picked from commit df42ce903d399cf30055e55bc24b84fbc0b563a9)
Signed-off-by: Rohit Yadav <rohit.ya...@shapeblue.com>

Conflicts:
        api/src/com/cloud/network/IpAddress.java
        engine/components-api/src/com/cloud/network/addr/PublicIp.java
        engine/schema/src/com/cloud/dc/VlanVO.java
        engine/schema/src/com/cloud/network/dao/IPAddressVO.java
        server/src/com/cloud/configuration/ConfigurationManagerImpl.java

Deleted:
        setup/db/db/schema-430to440.sql


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

Branch: refs/heads/hotfix/4.3-CLOUDSTACK-6756
Commit: 79edd933b3dfae9e56a71b72902e876a9816389b
Parents: 14bd151
Author: Rajani Karuturi <rajanikarut...@gmail.com>
Authored: Fri May 23 15:50:06 2014 +0530
Committer: Rohit Yadav <rohit.ya...@shapeblue.com>
Committed: Tue Sep 2 18:37:58 2014 +0200

----------------------------------------------------------------------
 api/src/com/cloud/dc/Vlan.java                  |  6 +++
 api/src/com/cloud/network/IpAddress.java        |  6 +++
 .../src/com/cloud/network/addr/PublicIp.java    | 20 +++++++
 engine/schema/src/com/cloud/dc/VlanVO.java      | 57 +++++++++++++-------
 .../src/com/cloud/network/dao/IPAddressVO.java  | 40 ++++++++++++--
 .../configuration/ConfigurationManagerImpl.java |  2 +-
 6 files changed, 109 insertions(+), 22 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/79edd933/api/src/com/cloud/dc/Vlan.java
----------------------------------------------------------------------
diff --git a/api/src/com/cloud/dc/Vlan.java b/api/src/com/cloud/dc/Vlan.java
index 790195f..af054a2 100644
--- a/api/src/com/cloud/dc/Vlan.java
+++ b/api/src/com/cloud/dc/Vlan.java
@@ -20,6 +20,8 @@ import org.apache.cloudstack.acl.InfrastructureEntity;
 import org.apache.cloudstack.api.Identity;
 import org.apache.cloudstack.api.InternalIdentity;
 
+import java.util.Date;
+
 public interface Vlan extends InfrastructureEntity, InternalIdentity, Identity 
{
     public enum VlanType {
         DirectAttached,
@@ -42,6 +44,10 @@ public interface Vlan extends InfrastructureEntity, 
InternalIdentity, Identity {
 
     public Long getNetworkId();
 
+    public Date getRemoved();
+
+    public Date getCreated();
+
     public Long getPhysicalNetworkId();
 
        public String getIp6Gateway();

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/79edd933/api/src/com/cloud/network/IpAddress.java
----------------------------------------------------------------------
diff --git a/api/src/com/cloud/network/IpAddress.java 
b/api/src/com/cloud/network/IpAddress.java
index de11a6d..bfe187f 100644
--- a/api/src/com/cloud/network/IpAddress.java
+++ b/api/src/com/cloud/network/IpAddress.java
@@ -86,4 +86,10 @@ public interface IpAddress extends ControlledEntity, 
Identity, InternalIdentity
 
     Long getNetworkId();
 
+    boolean isDisplay();
+
+    public Date getRemoved();
+
+    public Date getCreated();
+
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/79edd933/engine/components-api/src/com/cloud/network/addr/PublicIp.java
----------------------------------------------------------------------
diff --git a/engine/components-api/src/com/cloud/network/addr/PublicIp.java 
b/engine/components-api/src/com/cloud/network/addr/PublicIp.java
index b18c691..ebb48fe 100644
--- a/engine/components-api/src/com/cloud/network/addr/PublicIp.java
+++ b/engine/components-api/src/com/cloud/network/addr/PublicIp.java
@@ -232,4 +232,24 @@ public class PublicIp implements PublicIpAddress {
     public Long getIpMacAddress() {
         return  _addr.getMacAddress();
     }
+
+    @Override
+    public boolean isDisplay() {
+        return _addr.isDisplay();
+    }
+
+    @Override
+    public Date getRemoved() {
+        return _addr.getRemoved();
+    }
+
+    @Override
+    public Date getCreated() {
+        return _addr.getCreated();
+    }
+
+    @Override
+    public Class<?> getEntityType() {
+        return IpAddress.class;
+    }
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/79edd933/engine/schema/src/com/cloud/dc/VlanVO.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/dc/VlanVO.java 
b/engine/schema/src/com/cloud/dc/VlanVO.java
index d262409..4e621bb 100644
--- a/engine/schema/src/com/cloud/dc/VlanVO.java
+++ b/engine/schema/src/com/cloud/dc/VlanVO.java
@@ -16,6 +16,9 @@
 // under the License.
 package com.cloud.dc;
 
+import com.cloud.utils.db.GenericDao;
+
+import java.util.Date;
 import java.util.UUID;
 
 import javax.persistence.Column;
@@ -76,26 +79,34 @@ public class VlanVO implements Vlan {
     @Column(name="uuid")
     String uuid;
 
-       public VlanVO(VlanType vlanType, String vlanTag, String vlanGateway, 
String vlanNetmask, long dataCenterId, String ipRange, Long networkId, Long 
physicalNetworkId, String ip6Gateway, String ip6Cidr, String ip6Range) {
-               this.vlanType = vlanType;
-               this.vlanTag = vlanTag;
-               this.vlanGateway = vlanGateway;
-               this.vlanNetmask = vlanNetmask;
-               this.ip6Gateway = ip6Gateway;
-               this.ip6Cidr = ip6Cidr;
-               this.dataCenterId = dataCenterId;
-               this.ipRange = ipRange;
-               this.ip6Range = ip6Range;
-               this.networkId = networkId;
-               this.uuid = UUID.randomUUID().toString();
-               this.physicalNetworkId = physicalNetworkId;
-       }
+    @Column(name= GenericDao.REMOVED_COLUMN)
+    private Date removed;
 
-       public VlanVO() {
-               this.uuid = UUID.randomUUID().toString();
-       }
+    @Column(name = GenericDao.CREATED_COLUMN)
+    private Date created;
 
-       @Override
+
+    public VlanVO(VlanType vlanType, String vlanTag, String vlanGateway, 
String vlanNetmask, long dataCenterId, String ipRange, Long networkId, Long 
physicalNetworkId,
+            String ip6Gateway, String ip6Cidr, String ip6Range) {
+        this.vlanType = vlanType;
+        this.vlanTag = vlanTag;
+        this.vlanGateway = vlanGateway;
+        this.vlanNetmask = vlanNetmask;
+        this.ip6Gateway = ip6Gateway;
+        this.ip6Cidr = ip6Cidr;
+        this.dataCenterId = dataCenterId;
+        this.ipRange = ipRange;
+        this.ip6Range = ip6Range;
+        this.networkId = networkId;
+        this.uuid = UUID.randomUUID().toString();
+        this.physicalNetworkId = physicalNetworkId;
+    }
+
+    public VlanVO() {
+        this.uuid = UUID.randomUUID().toString();
+    }
+
+    @Override
     public long getId() {
                return id;
        }
@@ -152,6 +163,16 @@ public class VlanVO implements Vlan {
        this.uuid = uuid;
     }
     @Override
+    public Date getRemoved() {
+        return removed;
+    }
+
+    @Override
+    public Date getCreated() {
+        return created;
+    }
+
+    @Override
     public Long getPhysicalNetworkId() {
         return physicalNetworkId;
     }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/79edd933/engine/schema/src/com/cloud/network/dao/IPAddressVO.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/network/dao/IPAddressVO.java 
b/engine/schema/src/com/cloud/network/dao/IPAddressVO.java
index c5f17504..2a22243 100644
--- a/engine/schema/src/com/cloud/network/dao/IPAddressVO.java
+++ b/engine/schema/src/com/cloud/network/dao/IPAddressVO.java
@@ -32,6 +32,7 @@ import javax.persistence.TemporalType;
 import javax.persistence.Transient;
 
 import com.cloud.network.IpAddress;
+import com.cloud.utils.db.GenericDao;
 import com.cloud.utils.net.Ip;
 
 /**
@@ -114,9 +115,18 @@ public class IPAddressVO implements IpAddress {
     @Column(name="is_portable")
     private boolean portable = false;
 
-       protected IPAddressVO() {
-               this.uuid = UUID.randomUUID().toString();
-       }
+    @Column(name = "display", updatable = true, nullable = false)
+    protected boolean display = true;
+
+    @Column(name= GenericDao.REMOVED_COLUMN)
+    private Date removed;
+
+    @Column(name = GenericDao.CREATED_COLUMN)
+    private Date created;
+
+    protected IPAddressVO() {
+        uuid = UUID.randomUUID().toString();
+    }
 
        @Override
     public boolean readyToUse() {
@@ -333,4 +343,28 @@ public class IPAddressVO implements IpAddress {
     public Long getNetworkId() {
         return sourceNetworkId;
     }
+
+    @Override
+    public boolean isDisplay() {
+        return display;
+    }
+
+    public void setDisplay(boolean display) {
+        this.display = display;
+    }
+
+    @Override
+    public Class<?> getEntityType() {
+        return IpAddress.class;
+    }
+
+    @Override
+    public Date getRemoved() {
+        return removed;
+    }
+
+    @Override
+    public Date getCreated() {
+        return created;
+    }
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/79edd933/server/src/com/cloud/configuration/ConfigurationManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java 
b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java
index 41128cd..30a082d 100755
--- a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java
+++ b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java
@@ -3213,7 +3213,7 @@ ConfigurationManagerImpl extends ManagerBase implements 
ConfigurationManager, Co
             @Override
             public void doInTransactionWithoutResult(TransactionStatus status) 
{
                 _publicIpAddressDao.deletePublicIPRange(vlanDbId);
-                _vlanDao.expunge(vlanDbId);
+                _vlanDao.remove(vlanDbId);
             }
         });
 

Reply via email to