Alissa Bonas has posted comments on this change.
Change subject: core, restapi: Introducing support for attaching disk snapshot
......................................................................
Patch Set 6:
(7 comments)
partial review..
....................................................
Commit Message
Line 36:
Line 37: OPEN ISSUES:
Line 38: 1. UI - would be handled in a following patch (the
Line 39: information is accessible through REST)
Line 40: 2. REST issue with multiple parents of resource, as a temp soltuion -
this item is not very clear - what exact issue? what's the symptom and is it a
bug? and how temporary is the solution introduced in this patch?
Line 41: i've added the snapshot id info as a new tag "snapshot_id"
Line 42: 3. Permissions/Tests.
Line 43:
Line 44: Change-Id: I02579bf1a91cd294a5040acf432f1fdb87eb18c1
....................................................
File
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AttachDiskToVmCommand.java
Line 76: }
Line 77:
Line 78: updateDisksFromDb();
Line 79: if ((!isOperationPerformedOnDiskSnapshot() &&
!isDiskCanBeAddedToVm(disk, getVm())) || !isDiskPassPciAndIdeLimit(disk)) {
Line 80: return false;
is there an error message set somewhere so user can understand what's wrong?
Line 81: }
Line 82:
Line 83: if (getVmDeviceDao().exists(new VmDeviceId(disk.getId(),
getVmId()))) {
Line 84: return
failCanDoAction(VdcBllMessages.ACTION_TYPE_FAILED_DISK_ALREADY_ATTACHED);
....................................................
File
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDeviceDAODbFacadeImpl.java
Line 48: .addValue("is_readonly", entity.getIsReadOnly())
Line 49: .addValue("alias", entity.getAlias())
Line 50: .addValue("custom_properties",
Line 51:
SerializationFactory.getSerializer().serialize(entity.getCustomProperties()))
Line 52: .addValue("snapshot_id", entity.getSnapshotId());
is it possible this property is empty? what is the default value? (especially
for entities that exist in db since previous versions).
Line 53: }
Line 54:
Line 55: @Override
Line 56: protected RowMapper<VmDevice> createEntityRowMapper() {
Line 143: vmDevice.setIsReadOnly(rs.getBoolean("is_readonly"));
Line 144: vmDevice.setAlias(rs.getString("alias"));
Line 145:
vmDevice.setCustomProperties(SerializationFactory.getDeserializer()
Line 146:
.deserializeOrCreateNew(rs.getString("custom_properties"),
LinkedHashMap.class));
Line 147: vmDevice.setSnapshotId(getGuid(rs, "snapshot_id"));
same comment as above - won't this fail from older entities?
Line 148: return vmDevice;
Line 149: }
Line 150: }
Line 151:
....................................................
File
backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd
Line 2661: <xs:element ref="quota" minOccurs="0" maxOccurs="1"/>
Line 2662: <xs:element name="lun_storage" type="Storage"
minOccurs="0"/>
Line 2663: <xs:element name="sgio" type="xs:string" minOccurs="0"/>
Line 2664: <xs:element ref="snapshot" minOccurs="0" maxOccurs="1"/>
Line 2665: <xs:element name="snapshot_id" type="xs:string"
minOccurs="0" maxOccurs="1"/>
why is the snapshot id next to the snapshot? I mean - why isn't it
hierarchically contained in the snapshot object?
What happens in the currently proposed structure if you have a snapshot
element, but not snapshot_id?
Line 2666: </xs:sequence>
Line 2667: </xs:extension>
Line 2668: </xs:complexContent>
Line 2669: </xs:complexType>
....................................................
File
frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java
Line 337: @DefaultStringValue("Cannot ${action} ${type}. VM is previewing a
Snapshot.")
Line 338: String ACTION_TYPE_FAILED_VM_IN_PREVIEW();
Line 339:
Line 340: @DefaultStringValue("Cannot ${action} ${type}. The following VM
activated disks are snapshots: ${diskAliases}, please deactivate them and try
again.")
Line 341: String ACTION_TYPE_FAILED_VM_HAS_PLUGGED_DISK_SNAPSHOT();
in which command is this error used? I didn't see it in any of the commands in
this patch (perhaps missed it?)
Line 342:
Line 343: @DefaultStringValue("Cannot ${action} ${type}: The following
disks are locked: ${diskAliases}. Please try again in a few minutes.")
Line 344: String ACTION_TYPE_FAILED_DISKS_LOCKED();
Line 345:
....................................................
File packaging/dbscripts/disk_images_sp.sql
Line 131: RETURNS SETOF images_storage_domain_view
Line 132: AS $procedure$
Line 133: BEGIN
Line 134: RETURN QUERY SELECT *
Line 135: FROM images_storage_domain_view images_storage_domain_view
no need to write the name of the view twice. it's meaningless.
Line 136: WHERE image_group_id = v_image_group_id
Line 137: AND vm_snapshot_id = v_vm_snapshot_id;
Line 138: END; $procedure$
Line 139: LANGUAGE plpgsql;
--
To view, visit http://gerrit.ovirt.org/17679
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I02579bf1a91cd294a5040acf432f1fdb87eb18c1
Gerrit-PatchSet: 6
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Liron Ar <[email protected]>
Gerrit-Reviewer: Alissa Bonas <[email protected]>
Gerrit-Reviewer: Allon Mureinik <[email protected]>
Gerrit-Reviewer: Ayal Baron <[email protected]>
Gerrit-Reviewer: Daniel Erez <[email protected]>
Gerrit-Reviewer: Federico Simoncelli <[email protected]>
Gerrit-Reviewer: Liron Ar <[email protected]>
Gerrit-Reviewer: Maor Lipchuk <[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