Skip to content

Commit c8113e9

Browse files
author
gitlab
committed
Merge branch 'ZSV-11415@@2' into 'zsv_5.0.0'
<fix>[account]: transfer all resources to admin when deleting users See merge request zstackio/zstack!9349
2 parents 421e9c8 + da1dd86 commit c8113e9

14 files changed

Lines changed: 35 additions & 19 deletions

File tree

compute/src/main/java/org/zstack/compute/vm/VmCascadeExtension.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -540,8 +540,7 @@ public List<String> getEdgeNames() {
540540
IpRangeVO.class.getSimpleName(),
541541
PrimaryStorageVO.class.getSimpleName(),
542542
L2NetworkVO.class.getSimpleName(),
543-
InstanceOfferingVO.class.getSimpleName(),
544-
AccountVO.class.getSimpleName());
543+
InstanceOfferingVO.class.getSimpleName());
545544
}
546545

547546
@Override

configuration/src/main/java/org/zstack/configuration/DiskOfferingCascadeExtension.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import org.zstack.utils.logging.CLogger;
2424

2525
import java.util.ArrayList;
26-
import java.util.Arrays;
26+
import java.util.Collections;
2727
import java.util.List;
2828

2929
/**
@@ -102,7 +102,7 @@ private void handleDeletionCheck(CascadeAction action, Completion completion) {
102102

103103
@Override
104104
public List<String> getEdgeNames() {
105-
return Arrays.asList(AccountVO.class.getSimpleName());
105+
return Collections.emptyList();
106106
}
107107

108108
@Override

configuration/src/main/java/org/zstack/configuration/InstanceOfferingCascadeExtension.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import org.zstack.utils.logging.CLogger;
2424

2525
import java.util.ArrayList;
26-
import java.util.Arrays;
26+
import java.util.Collections;
2727
import java.util.List;
2828

2929
/**
@@ -101,7 +101,7 @@ private void handleDeletionCheck(CascadeAction action, Completion completion) {
101101

102102
@Override
103103
public List<String> getEdgeNames() {
104-
return Arrays.asList(AccountVO.class.getSimpleName());
104+
return Collections.emptyList();
105105
}
106106

107107
@Override

identity/src/main/java/org/zstack/identity/AccountBase.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,16 @@ public void fail(ErrorCode errorCode) {
201201
}
202202
});
203203

204+
flow(new NoRollbackFlow() {
205+
String __name__ = "transfer-account-resource-to-admin";
206+
207+
@Override
208+
public void run(FlowTrigger trigger, Map data) {
209+
transferAllOwnedResourcesToAdmin();
210+
trigger.next();
211+
}
212+
});
213+
204214
done(new FlowDoneHandler(completion) {
205215
@Override
206216
public void handle(Map data) {
@@ -248,6 +258,15 @@ public void fail(ErrorCode errorCode) {
248258
});
249259
}
250260

261+
private void transferAllOwnedResourcesToAdmin() {
262+
SQL.New(AccountResourceRefVO.class)
263+
.eq(AccountResourceRefVO_.accountUuid, self.getUuid())
264+
.eq(AccountResourceRefVO_.type, AccessLevel.Own)
265+
.set(AccountResourceRefVO_.accountUuid, AccountConstant.INITIAL_SYSTEM_ADMIN_UUID)
266+
.update();
267+
}
268+
269+
251270
private void deleteRelatedResources() {
252271
new SQLBatch() {
253272
@Override

image/src/main/java/org/zstack/image/ImageCascadeExtension.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ private void handleDeletionCheck(CascadeAction action, Completion completion) {
105105

106106
@Override
107107
public List<String> getEdgeNames() {
108-
return Arrays.asList(BackupStorageVO.class.getSimpleName(), AccountVO.class.getSimpleName());
108+
return Arrays.asList(BackupStorageVO.class.getSimpleName());
109109
}
110110

111111
@Override

network/src/main/java/org/zstack/network/l2/L2NetworkCascadeExtension.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ private void handleDeletionCheck(CascadeAction action, Completion completion) {
214214

215215
@Override
216216
public List<String> getEdgeNames() {
217-
return Arrays.asList(ZoneVO.class.getSimpleName(), AccountVO.class.getSimpleName());
217+
return Arrays.asList(ZoneVO.class.getSimpleName());
218218
}
219219

220220
@Override

network/src/main/java/org/zstack/network/l3/L3NetworkCascadeExtension.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ private void handleDeletionCheck(CascadeAction action, Completion completion) {
132132

133133
@Override
134134
public List<String> getEdgeNames() {
135-
return Arrays.asList(L2NetworkVO.class.getSimpleName(), AccountVO.class.getSimpleName());
135+
return Arrays.asList(L2NetworkVO.class.getSimpleName());
136136
}
137137

138138
@Override

plugin/acl/src/main/java/org/zstack/acl/AccessControlListCascadeExtension.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
import org.zstack.utils.Utils;
2121
import org.zstack.utils.logging.CLogger;
2222

23-
import java.util.Arrays;
23+
import java.util.Collections;
2424
import java.util.List;
2525

2626
public class AccessControlListCascadeExtension extends AbstractAsyncCascadeExtension {
@@ -87,7 +87,7 @@ private void handleDeletionCleanup(CascadeAction action, Completion completion)
8787

8888
@Override
8989
public List<String> getEdgeNames() {
90-
return Arrays.asList(AccountVO.class.getSimpleName());
90+
return Collections.emptyList();
9191
}
9292

9393
@Override

plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmCascadeExtension.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -642,8 +642,7 @@ private void handleDeletionCheck(CascadeAction action, Completion completion) {
642642
@Override
643643
public List<String> getEdgeNames() {
644644
return Arrays.asList(HostVO.class.getSimpleName(), L3NetworkVO.class.getSimpleName(),
645-
IpRangeVO.class.getSimpleName(), PrimaryStorageVO.class.getSimpleName(), L2NetworkVO.class.getSimpleName(),
646-
AccountVO.class.getSimpleName());
645+
IpRangeVO.class.getSimpleName(), PrimaryStorageVO.class.getSimpleName(), L2NetworkVO.class.getSimpleName());
647646
}
648647

649648
@Override

plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerCascadeExtension.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,6 @@ private void handleDeletionCheck(CascadeAction action, Completion completion) {
203203
@Override
204204
public List<String> getEdgeNames() {
205205
List<String> ret = new ArrayList<>();
206-
ret.add(AccountVO.class.getSimpleName());
207206
ret.add(VipVO.class.getSimpleName());
208207
ret.add(AccessControlListVO.class.getSimpleName());
209208
return ret;

0 commit comments

Comments
 (0)