Skip to content

Commit cfe94ff

Browse files
Soft delete PF, LB and FW rules
1 parent 5b696c0 commit cfe94ff

File tree

15 files changed

+116
-8
lines changed

15 files changed

+116
-8
lines changed

engine/schema/src/main/java/com/cloud/network/LBHealthCheckPolicyVO.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
// under the License.
1717
package com.cloud.network;
1818

19+
import java.util.Date;
1920
import java.util.UUID;
2021

2122
import javax.persistence.Column;
@@ -25,8 +26,11 @@
2526
import javax.persistence.Id;
2627
import javax.persistence.PrimaryKeyJoinColumn;
2728
import javax.persistence.Table;
29+
import javax.persistence.Temporal;
30+
import javax.persistence.TemporalType;
2831

2932
import com.cloud.network.rules.HealthCheckPolicy;
33+
import com.cloud.utils.db.GenericDao;
3034
import org.apache.cloudstack.utils.reflectiontostringbuilderutils.ReflectionToStringBuilderUtils;
3135

3236
@Entity
@@ -68,6 +72,10 @@ public class LBHealthCheckPolicyVO implements HealthCheckPolicy {
6872
@Column(name = "display", updatable = true, nullable = false)
6973
protected boolean display = true;
7074

75+
@Column(name = GenericDao.REMOVED_COLUMN)
76+
@Temporal(value = TemporalType.TIMESTAMP)
77+
private Date removed;
78+
7179
protected LBHealthCheckPolicyVO() {
7280
this.uuid = UUID.randomUUID().toString();
7381
}

engine/schema/src/main/java/com/cloud/network/dao/FirewallRulesDaoImpl.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ protected FirewallRulesDaoImpl() {
9494
ReleaseSearch.and("ipId", ReleaseSearch.entity().getSourceIpAddressId(), Op.EQ);
9595
ReleaseSearch.and("purpose", ReleaseSearch.entity().getPurpose(), Op.EQ);
9696
ReleaseSearch.and("ports", ReleaseSearch.entity().getSourcePortStart(), Op.IN);
97+
ReleaseSearch.and("removed", ReleaseSearch.entity().getRemoved(), Op.NULL);
9798
ReleaseSearch.done();
9899

99100
SystemRuleSearch = createSearchBuilder();

engine/schema/src/main/java/com/cloud/network/dao/LBHealthCheckPolicyDaoImpl.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,17 +32,19 @@ public class LBHealthCheckPolicyDaoImpl extends GenericDaoBase<LBHealthCheckPoli
3232
public void remove(long loadBalancerId) {
3333
SearchCriteria<LBHealthCheckPolicyVO> sc = createSearchCriteria();
3434
sc.addAnd("loadBalancerId", SearchCriteria.Op.EQ, loadBalancerId);
35+
sc.addAnd("removed", SearchCriteria.Op.NULL);
3536

36-
expunge(sc);
37+
remove(sc);
3738
}
3839

3940
@Override
4041
public void remove(long loadBalancerId, Boolean revoke) {
4142
SearchCriteria<LBHealthCheckPolicyVO> sc = createSearchCriteria();
4243
sc.addAnd("loadBalancerId", SearchCriteria.Op.EQ, loadBalancerId);
4344
sc.addAnd("revoke", SearchCriteria.Op.EQ, revoke);
45+
sc.addAnd("removed", SearchCriteria.Op.NULL);
4446

45-
expunge(sc);
47+
remove(sc);
4648
}
4749

4850
@Override

engine/schema/src/main/java/com/cloud/network/dao/LBStickinessPolicyDao.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,6 @@ public interface LBStickinessPolicyDao extends GenericDao<LBStickinessPolicyVO,
2828
List<LBStickinessPolicyVO> listByLoadBalancerIdAndDisplayFlag(long loadBalancerId, boolean forDisplay);
2929

3030
List<LBStickinessPolicyVO> listByLoadBalancerId(long loadBalancerId, boolean revoke);
31+
32+
List<LBStickinessPolicyVO> listByLoadBalancerId(long loadBalancerId);
3133
}

engine/schema/src/main/java/com/cloud/network/dao/LBStickinessPolicyDaoImpl.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,17 +31,19 @@ public class LBStickinessPolicyDaoImpl extends GenericDaoBase<LBStickinessPolicy
3131
public void remove(long loadBalancerId) {
3232
SearchCriteria<LBStickinessPolicyVO> sc = createSearchCriteria();
3333
sc.addAnd("loadBalancerId", SearchCriteria.Op.EQ, loadBalancerId);
34+
sc.addAnd("removed", SearchCriteria.Op.NULL);
3435

35-
expunge(sc);
36+
remove(sc);
3637
}
3738

3839
@Override
3940
public void remove(long loadBalancerId, Boolean revoke) {
4041
SearchCriteria<LBStickinessPolicyVO> sc = createSearchCriteria();
4142
sc.addAnd("loadBalancerId", SearchCriteria.Op.EQ, loadBalancerId);
4243
sc.addAnd("revoke", SearchCriteria.Op.EQ, revoke);
44+
sc.addAnd("removed", SearchCriteria.Op.NULL);
4345

44-
expunge(sc);
46+
remove(sc);
4547
}
4648

4749
@Override
@@ -62,4 +64,10 @@ public List<LBStickinessPolicyVO> listByLoadBalancerId(long loadBalancerId, bool
6264
return listBy(sc);
6365
}
6466

67+
@Override
68+
public List<LBStickinessPolicyVO> listByLoadBalancerId(long loadBalancerId) {
69+
SearchCriteria<LBStickinessPolicyVO> sc = createSearchCriteria();
70+
sc.addAnd("loadBalancerId", SearchCriteria.Op.EQ, loadBalancerId);
71+
return listBy(sc);
72+
}
6573
}

engine/schema/src/main/java/com/cloud/network/dao/LBStickinessPolicyVO.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package com.cloud.network.dao;
1818

1919
import java.util.ArrayList;
20+
import java.util.Date;
2021
import java.util.HashMap;
2122
import java.util.Iterator;
2223
import java.util.List;
@@ -30,9 +31,12 @@
3031
import javax.persistence.Id;
3132
import javax.persistence.PrimaryKeyJoinColumn;
3233
import javax.persistence.Table;
34+
import javax.persistence.Temporal;
35+
import javax.persistence.TemporalType;
3336

3437
import com.cloud.network.rules.StickinessPolicy;
3538
import com.cloud.utils.Pair;
39+
import com.cloud.utils.db.GenericDao;
3640
import org.apache.cloudstack.utils.reflectiontostringbuilderutils.ReflectionToStringBuilderUtils;
3741

3842
@Entity
@@ -68,6 +72,10 @@ public class LBStickinessPolicyVO implements StickinessPolicy {
6872
@Column(name = "display", updatable = true, nullable = false)
6973
protected boolean display = true;
7074

75+
@Column(name = GenericDao.REMOVED_COLUMN)
76+
@Temporal(value = TemporalType.TIMESTAMP)
77+
private Date removed;
78+
7179
protected LBStickinessPolicyVO() {
7280
this.uuid = UUID.randomUUID().toString();
7381
}

engine/schema/src/main/java/com/cloud/network/dao/LoadBalancerCertMapVO.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,17 @@
1616
// under the License.
1717
package com.cloud.network.dao;
1818

19+
import java.util.Date;
1920
import java.util.UUID;
2021

2122
import javax.persistence.Column;
2223
import javax.persistence.Entity;
2324
import javax.persistence.Id;
2425
import javax.persistence.Table;
26+
import javax.persistence.Temporal;
27+
import javax.persistence.TemporalType;
2528

29+
import com.cloud.utils.db.GenericDao;
2630
import org.apache.cloudstack.api.InternalIdentity;
2731

2832
@Entity
@@ -45,6 +49,10 @@ public class LoadBalancerCertMapVO implements InternalIdentity {
4549
@Column(name = "revoke")
4650
private boolean revoke = false;
4751

52+
@Column(name = GenericDao.REMOVED_COLUMN)
53+
@Temporal(value = TemporalType.TIMESTAMP)
54+
private Date removed;
55+
4856
public LoadBalancerCertMapVO() {
4957
this.uuid = UUID.randomUUID().toString();
5058
}

engine/schema/src/main/java/com/cloud/network/dao/LoadBalancerVMMapDaoImpl.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,20 +34,22 @@ public class LoadBalancerVMMapDaoImpl extends GenericDaoBase<LoadBalancerVMMapVO
3434
public void remove(long loadBalancerId) {
3535
SearchCriteria<LoadBalancerVMMapVO> sc = createSearchCriteria();
3636
sc.addAnd("loadBalancerId", SearchCriteria.Op.EQ, loadBalancerId);
37+
sc.addAnd("removed", SearchCriteria.Op.NULL);
3738

38-
expunge(sc);
39+
remove(sc);
3940
}
4041

4142
@Override
4243
public void remove(long loadBalancerId, List<Long> instanceIds, Boolean revoke) {
4344
SearchCriteria<LoadBalancerVMMapVO> sc = createSearchCriteria();
4445
sc.addAnd("loadBalancerId", SearchCriteria.Op.EQ, loadBalancerId);
4546
sc.addAnd("instanceId", SearchCriteria.Op.IN, instanceIds.toArray());
47+
sc.addAnd("removed", SearchCriteria.Op.NULL);
4648
if (revoke != null) {
4749
sc.addAnd("revoke", SearchCriteria.Op.EQ, revoke);
4850
}
4951

50-
expunge(sc);
52+
remove(sc);
5153
}
5254

5355
@Override
@@ -56,12 +58,13 @@ public void remove(long loadBalancerId, long instanceId, String instanceIp, Bool
5658
sc.addAnd("loadBalancerId", SearchCriteria.Op.EQ, loadBalancerId);
5759
sc.addAnd("instanceId", SearchCriteria.Op.IN, instanceId);
5860
sc.addAnd("instanceIp", SearchCriteria.Op.EQ, instanceIp);
61+
sc.addAnd("removed", SearchCriteria.Op.NULL);
5962

6063
if (revoke != null) {
6164
sc.addAnd("revoke", SearchCriteria.Op.EQ, revoke);
6265
}
6366

64-
expunge(sc);
67+
remove(sc);
6568
}
6669

6770

engine/schema/src/main/java/com/cloud/network/dao/LoadBalancerVMMapVO.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,14 @@
2222
import javax.persistence.GenerationType;
2323
import javax.persistence.Id;
2424
import javax.persistence.Table;
25+
import javax.persistence.Temporal;
26+
import javax.persistence.TemporalType;
2527

28+
import com.cloud.utils.db.GenericDao;
2629
import org.apache.cloudstack.api.InternalIdentity;
2730

31+
import java.util.Date;
32+
2833
@Entity
2934
@Table(name = "load_balancer_vm_map")
3035
public class LoadBalancerVMMapVO implements InternalIdentity {
@@ -48,6 +53,10 @@ public class LoadBalancerVMMapVO implements InternalIdentity {
4853
@Column(name = "state")
4954
private String state;
5055

56+
@Column(name = GenericDao.REMOVED_COLUMN)
57+
@Temporal(value = TemporalType.TIMESTAMP)
58+
private Date removed = null;
59+
5160
public LoadBalancerVMMapVO() {
5261
}
5362

engine/schema/src/main/java/com/cloud/network/rules/FirewallRuleVO.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@
3232
import javax.persistence.Inheritance;
3333
import javax.persistence.InheritanceType;
3434
import javax.persistence.Table;
35+
import javax.persistence.Temporal;
36+
import javax.persistence.TemporalType;
3537
import javax.persistence.Transient;
3638

3739
import com.cloud.utils.db.GenericDao;
@@ -82,6 +84,10 @@ public class FirewallRuleVO implements FirewallRule {
8284
@Column(name = GenericDao.CREATED_COLUMN)
8385
Date created;
8486

87+
@Column(name = GenericDao.REMOVED_COLUMN)
88+
@Temporal(value = TemporalType.TIMESTAMP)
89+
private Date removed;
90+
8591
@Column(name = "network_id")
8692
Long networkId;
8793

@@ -203,6 +209,10 @@ public Date getCreated() {
203209
return created;
204210
}
205211

212+
public Date getRemoved() {
213+
return removed;
214+
}
215+
206216
protected FirewallRuleVO() {
207217
uuid = UUID.randomUUID().toString();
208218
}

0 commit comments

Comments
 (0)