Maor Lipchuk has posted comments on this change.

Change subject: core: fail deletion of template disk with derived disks
......................................................................


Patch Set 2:

(4 comments)

....................................................
File 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveDiskCommand.java
Line 200:     private DiskImagesValidator createDiskImagesValidator(DiskImage 
disk) {
Line 201:       return new DiskImagesValidator(Arrays.asList(disk));
Line 202:     }
Line 203: 
Line 204:     private boolean checkDerivedDisksFromDiskNotExist(DiskImage 
diskImage) {
I would recommend to change the method name (The FromDiskNotExist sounds 
strange to me, and also this method is specifically for template), how about 
isTemplateDiskHasNoDerivedDisks?
Line 205:         return 
validate(createDiskImagesValidator(diskImage).diskImagesHaveNoDerivedDisks(getParameters().getStorageDomainId()));
Line 206:     }
Line 207: 
Line 208:     private List<String> getNamesOfDerivedVmsFromTemplate(DiskImage 
diskImage) {


....................................................
File 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/DiskImagesValidator.java
Line 129:         return ValidationResult.VALID;
Line 130:     }
Line 131: 
Line 132: 
Line 133:     public ValidationResult diskImagesHaveNoDerivedDisks(Guid 
storageDomainId) {
a null storageDomainId indicating it refers to any disks on any storages should 
be referenced in a javadoc IMHO.
Line 134:         List<String> disksInfo = null;
Line 135:         for (DiskImage diskImage : diskImages) {
Line 136:             if (diskImage.getVmEntityType() != null && 
diskImage.getVmEntityType().isTemplateType()) {
Line 137:                 List<DiskImage> basedDisks = 
getDiskImageDAO().getAllSnapshotsForParent(diskImage.getImageId());


Line 130:     }
Line 131: 
Line 132: 
Line 133:     public ValidationResult diskImagesHaveNoDerivedDisks(Guid 
storageDomainId) {
Line 134:         List<String> disksInfo = null;
You can simply declare new LinkedList<> instead of initializing this in the 
middle of the for loop (at line 141), and just check if this is not empty at 
line 149.
Line 135:         for (DiskImage diskImage : diskImages) {
Line 136:             if (diskImage.getVmEntityType() != null && 
diskImage.getVmEntityType().isTemplateType()) {
Line 137:                 List<DiskImage> basedDisks = 
getDiskImageDAO().getAllSnapshotsForParent(diskImage.getImageId());
Line 138:                 for (DiskImage basedDisk : basedDisks) {


Line 132: 
Line 133:     public ValidationResult diskImagesHaveNoDerivedDisks(Guid 
storageDomainId) {
Line 134:         List<String> disksInfo = null;
Line 135:         for (DiskImage diskImage : diskImages) {
Line 136:             if (diskImage.getVmEntityType() != null && 
diskImage.getVmEntityType().isTemplateType()) {
1) If VmEntityType is null then this is a bug and we should not return true in 
this validation.

2) Why should we validate this condition for each disk in the template, this 
list of disks should be related to only one entity (A template for now)
Line 137:                 List<DiskImage> basedDisks = 
getDiskImageDAO().getAllSnapshotsForParent(diskImage.getImageId());
Line 138:                 for (DiskImage basedDisk : basedDisks) {
Line 139:                     if (storageDomainId == null || 
basedDisk.getStorageIds().contains(storageDomainId)) {
Line 140:                         if (disksInfo == null) {


-- 
To view, visit http://gerrit.ovirt.org/22428
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ifca48993f40f3c5f7b603f33add7049e78e6c4e9
Gerrit-PatchSet: 2
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Liron Ar <[email protected]>
Gerrit-Reviewer: Allon Mureinik <[email protected]>
Gerrit-Reviewer: Liron Ar <[email protected]>
Gerrit-Reviewer: Maor Lipchuk <[email protected]>
Gerrit-Reviewer: Tal Nisan <[email protected]>
Gerrit-Reviewer: oVirt Jenkins CI Server
Gerrit-HasComments: Yes
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to