Gilad Chaplik has posted comments on this change.

Change subject: core, db: disk profile for disk image
......................................................................


Patch Set 13:

(9 comments)

new patch to follow

http://gerrit.ovirt.org/#/c/29036/13/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddDiskCommand.java
File 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddDiskCommand.java:

Line 567:     }
Line 568: 
Line 569:     private Guid getDiskProfileId() {
Line 570:         if (getParameters().getDiskInfo() != null
Line 571:                 && DiskStorageType.IMAGE == 
getParameters().getDiskInfo().getDiskStorageType()) {
> the if can be removed (and so the method)
Done
Line 572:             return getDiskImageInfo().getDiskProfileId();
Line 573:         }
Line 574:         return null;
Line 575:     }


http://gerrit.ovirt.org/#/c/29036/13/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java
File 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java:

Line 704:         ArrayList<Guid> storageIds = new ArrayList<Guid>();
Line 705:         storageIds.add(storageId);
Line 706:         newImage.setStorageIds(storageIds);
Line 707:         newImage.setQuotaId(image.getQuotaId());
Line 708:         newImage.setDiskProfileId(image.getDiskProfileId());
> are you sure the the profile is always of the given domain?
since it's similar to quota, I'm willing to bet...
Line 709:         return newImage;
Line 710:     }
Line 711: 
Line 712:     protected boolean canAddVm(List<String> reasons, String name, 
Guid storagePoolId,


http://gerrit.ovirt.org/#/c/29036/13/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/BaseImagesCommand.java
File 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/BaseImagesCommand.java:

Line 265:         diskDynamic.setId(image.getImageId());
Line 266:         diskDynamic.setactual_size(image.getActualSizeInBytes());
Line 267:         getDiskImageDynamicDAO().save(diskDynamic);
Line 268:         image_storage_domain_map image_storage_domain_map = new 
image_storage_domain_map(image.getImageId(),
Line 269:                 image.getStorageIds().get(0), image.getQuotaId(), 
image.getDiskProfileIds().get(0));
> why not .getDiskProfileId?
Done
Line 270:         getImageStorageDomainMapDao().save(image_storage_domain_map);
Line 271:         boolean isDiskAdded = saveDiskIfNotExists(image);
Line 272:         if (compensationContext != null) {
Line 273:             compensationContext.snapshotNewEntity(image.getImage());


Line 401:     static public image_storage_domain_map saveImage(DiskImage 
diskImage) {
Line 402:         
DbFacade.getInstance().getImageDao().save(diskImage.getImage());
Line 403:         image_storage_domain_map image_storage_domain_map = new 
image_storage_domain_map(diskImage.getImageId(),
Line 404:                 diskImage.getStorageIds()
Line 405:                         .get(0), diskImage.getQuotaId(), 
diskImage.getDiskProfileIds().get(0));
> same
Done
Line 406:         DbFacade.getInstance()
Line 407:                 .getImageStorageDomainMapDao()
Line 408:                 .save(image_storage_domain_map);
Line 409:         return image_storage_domain_map;


http://gerrit.ovirt.org/#/c/29036/13/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/TryBackToAllSnapshotsOfVmCommand.java
File 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/TryBackToAllSnapshotsOfVmCommand.java:

Line 208:                     params.setVmSnapshotId(newActiveSnapshotId);
Line 209:                     
params.setEntityInfo(getParameters().getEntityInfo());
Line 210:                     params.setParentParameters(getParameters());
Line 211:                     params.setQuotaId(image.getQuotaId());
Line 212:                     params.setDiskProfileId(image.getDiskProfileId());
> why do we need a profile id when we do a preview of snapshot?
Done
Line 213:                     return params;
Line 214:                 }
Line 215:             });
Line 216:         }


http://gerrit.ovirt.org/#/c/29036/13/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmDiskCommand.java
File 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmDiskCommand.java:

Line 382: 
Line 383:     protected void updateDiskProfile(DiskImage diskImage) {
Line 384:         if (isDiskImage()) {
Line 385:             DiskImage oldDisk = (DiskImage) getOldDisk();
Line 386:             if (!Objects.equals(oldDisk.getDiskProfileId(), 
diskImage.getDiskProfileId())) {
> it seems like the profile will never be updated.. as in applyUserChanges() 
this code should stay, and applyUserChanges should be removed..
Line 387:                 
getImageStorageDomainMapDao().updateDiskProfileByImageGroupId(diskImage.getId(),
Line 388:                         diskImage.getStorageIds().get(0),
Line 389:                         diskImage.getDiskProfileId());
Line 390:             }


http://gerrit.ovirt.org/#/c/29036/13/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/DiskImage.java
File 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/DiskImage.java:

Line 534:                 && ObjectUtils.objectsEqual(readLatency, 
other.readLatency)
Line 535:                 && ObjectUtils.objectsEqual(writeLatency, 
other.writeLatency)
Line 536:                 && ObjectUtils.objectsEqual(flushLatency, 
other.flushLatency)
Line 537:                 && ObjectUtils.objectsEqual(diskProfileIds, 
other.diskProfileIds)
Line 538:                 && ObjectUtils.objectsEqual(diskProfileNames, 
other.diskProfileNames));
> we'll get true here only if the lists has the same objects in the same orde
iirc we can.. lets leave it for now, in rare cases we'll have 2 DP
Line 539:     }
Line 540: 


http://gerrit.ovirt.org/#/c/29036/13/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/ImageStorageDomainMapDao.java
File 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/ImageStorageDomainMapDao.java:

Line 53:      * @param diskId
Line 54:      * @param storageDomainId
Line 55:      * @param diskProfileId
Line 56:      */
Line 57:     void updateDiskProfileByImageGroupId(Guid diskId, Guid 
storageDomainId, Guid diskProfileId);
> i'd add here "AndStorageDomainId"
actually it's just diskProfileId.


http://gerrit.ovirt.org/#/c/29036/13/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/ImageStorageDomainMapDaoTest.java
File 
backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/ImageStorageDomainMapDaoTest.java:

Line 107:     }
Line 108: 
Line 109:     @Test
Line 110:     public void testChangeDiskProfileForDisk() {
Line 111:         // fetch image
> I'd test with few images per disk.
will try to add on more tests in future.
Line 112:         image_storage_domain_map image_storage_domain_map = 
dao.getAllByImageId(EXISTING_IMAGE_ID).get(0);
Line 113:         // test that the current disk profile doesn't equal with the 
new disk profile
Line 114:         assertThat("Same source and dest disk profile id, cannot 
perform test",
Line 115:                 image_storage_domain_map.getDiskProfileId(), 
not(equalTo(FixturesTool.DISK_PROFILE_2)));


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

Gerrit-MessageType: comment
Gerrit-Change-Id: I9488a1e31e85013a01ee088fdf71854f765059c9
Gerrit-PatchSet: 13
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Gilad Chaplik <gchap...@redhat.com>
Gerrit-Reviewer: Allon Mureinik <amure...@redhat.com>
Gerrit-Reviewer: Arik Hadas <aha...@redhat.com>
Gerrit-Reviewer: Daniel Erez <de...@redhat.com>
Gerrit-Reviewer: Doron Fediuck <dfedi...@redhat.com>
Gerrit-Reviewer: Gilad Chaplik <gchap...@redhat.com>
Gerrit-Reviewer: Liron Aravot <lara...@redhat.com>
Gerrit-Reviewer: Tal Nisan <tni...@redhat.com>
Gerrit-Reviewer: automat...@ovirt.org
Gerrit-Reviewer: oVirt Jenkins CI Server
Gerrit-HasComments: Yes
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to