Gilad Chaplik has submitted this change and it was merged. Change subject: core: refactoring quota ......................................................................
core: refactoring quota this patch is a combination of 8 patches, that are pushed together because there're dependent on each other: in gerrit they were pushed separately to ease the review process. Detailed description (original patches) core: refactoring quota Currently the quota is handled through static methods, involving db and cache. adding an inteface to handle quota only when command implements it. the quota manager should handle quota validation in cache. Change-Id: Idc7573082e777370cdf0b88dbe5bfedeb5d02baf Signed-off-by: Gilad Chaplik <gchap...@redhat.com> core: refactoring quota CRUD commands add, remove & update quota commands should inherit abstract command class, without the need to use quotaHelper. Change-Id: I78124bce99bad0d716e711b6dd76e9c763affbc6 Signed-off-by: Gilad Chaplik <gchap...@redhat.com> core: quota command implements Quotable iface in every command that uses quota, we sholud implement Quotable. validate and rollback according to command & quota parameters. Change-Id: I9f7a4afa4b5308f96d9281fe3cc9791d9ac438e3 Signed-off-by: Gilad Chaplik <gchap...@redhat.com> core: removing quota from backend base class quota ref will be provided only in need not everywhere (using quotable interface). Change-Id: I65974e59b9470c9cc3319aeaaed4d0ed9103cead Signed-off-by: Gilad Chaplik <gchap...@redhat.com> core: removing quota unnecessary code from tests Change-Id: I8b8ffbcee2ea74c4a88669d26939644dfe680c06 Signed-off-by: Gilad Chaplik <gchap...@redhat.com> engine: removing default quota in db scripts (SP & views) in backend (DAO and bll layers) in webamind In the new quota design there is no need for default quota. Elements without quota, will have null/no quota. therefore, the upgrade scripts should not create default quotas and set the elements with it. hence removing the column is_default_quota in quota table, and all column's refs in views and SPs. Change-Id: I197ebf9aafb3919a17c8b10bd9971ab049f62ef8 Signed-off-by: Gilad Chaplik <gchap...@redhat.com> core: check consume quota permission on assignment Currently there is no checks for permissions, on cosume quota. added to the quotable interface getPermissionQuotaSubject method, and all of its implementation must supply the relevent quota (quota(s) in case disk are involved). this check will be performed only when the quota mode isn't disabled. in the commnad base, when the command is quotable we will invoke the method, and add the permission check the the list. Change-Id: I6f2812af88eb7130dd3527ace4615b4515043d29 Signed-off-by: Gilad Chaplik <gchap...@redhat.com> core: quota - fix tests and checkstyles Change-Id: I62ab51302c55de82e912e61ba5462297461eb78c Signed-off-by: Gilad Chaplik <gchap...@redhat.com> --- M backend/manager/dbscripts/create_views.sql M backend/manager/dbscripts/quota_sp.sql M backend/manager/dbscripts/upgrade/03_01_0460_add_defalut_quota_column.sql M backend/manager/dbscripts/upgrade/03_01_0520_quota_upgrade_script.sql M backend/manager/dbscripts/upgrade/03_01_0960_fix_default_quota_name.sql A backend/manager/dbscripts/upgrade/03_01_1310_remove_default_quota.sql M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AbstractDiskVmCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddDiskCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddQuotaCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmFromSnapshotCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmFromTemplateCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommandBase.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommonVmPoolWithVmsCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmTemplateCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveOrCopyDiskCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveOrCopyImageGroupCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveOrCopyTemplateCommand.java A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/QuotaCRUDCommand.java D backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/QuotaHelper.java D backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/QuotaManager.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveDiskCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveQuotaCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmTemplateCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RunVmCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/StopVmCommandBase.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateQuotaCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmDiskCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmPoolWithVmsCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmTemplateCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmCommand.java A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/quota/QuotaManager.java A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/quota/StorageQuotaValidationParameter.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddEmptyStoragePoolCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateStoragePoolCommand.java M backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/AddQuotaCommandTest.java D backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/QuotaHelperTest.java M backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/RemoveQuotaCommandTest.java M backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/RunVmCommandTest.java M backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/UpdateQuotaCommandTest.java D backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/AddEmptyStoragePoolCommandTest.java A backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/Quotable.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/Quota.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogDirector.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogableBase.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskImageDAODbFacadeImpl.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/QuotaDAO.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/QuotaDAODbFacadeImpl.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAODbFacadeImpl.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmTemplateDAODbFacadeImpl.java M backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/QuotaDAOTest.java M backend/manager/modules/dal/src/test/resources/fixtures.xml M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/quota/QuotaListModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/TemplateListModel.java 58 files changed, 1,742 insertions(+), 2,841 deletions(-) Approvals: Gilad Chaplik: Verified; Looks good to me, approved -- To view, visit http://gerrit.ovirt.org/6315 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: merged Gerrit-Change-Id: I62ab51302c55de82e912e61ba5462297461eb78c Gerrit-PatchSet: 9 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Gilad Chaplik <gchap...@redhat.com> Gerrit-Reviewer: Allon Mureinik <amure...@redhat.com> Gerrit-Reviewer: Ayal Baron <aba...@redhat.com> Gerrit-Reviewer: Gilad Chaplik <gchap...@redhat.com> Gerrit-Reviewer: Laszlo Hornyak <lhorn...@redhat.com> Gerrit-Reviewer: Michael Kublin <mkub...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches