Maor Lipchuk has posted comments on this change. Change subject: core:Force remove should not delete VMs/Tempaltes with MSD. ......................................................................
Patch Set 3: (6 comments) http://gerrit.ovirt.org/#/c/28537/3//COMMIT_MSG Commit Message: Line 13: Today, when using force reomve on Storage Domain, we also remove VMs/Templates with disks on multiple storage domains, Line 14: those disks on the other data storage domains are left as floating disks in the system, Line 15: even though they might contain snapshots of the deleted VM/Template. Line 16: Line 17: This patch fix this behaviour by leaving the VMs/Templates with disks on MSD, when using force remove. > please keep your lines no longer than 70 chars done Line 18: It also deletes the devices which are related to those VMs/Templates, Line 19: since until now those devices were deleted also with the VM/Template. Line 20: Line 21: Change-Id: Ic222ee55a711ea9101bf20ac812219714f70aab3 Line 16: Line 17: This patch fix this behaviour by leaving the VMs/Templates with disks on MSD, when using force remove. Line 18: It also deletes the devices which are related to those VMs/Templates, Line 19: since until now those devices were deleted also with the VM/Template. Line 20: > Missing: done Line 21: Change-Id: Ic222ee55a711ea9101bf20ac812219714f70aab3 http://gerrit.ovirt.org/#/c/28537/3/packaging/dbscripts/storages_sp.sql File packaging/dbscripts/storages_sp.sql: Line 651: except select image_guid as image_id, disk_id from images_storage_domain_view where storage_id != v_storage_domain_id; Line 652: END; Line 653: Line 654: BEGIN Line 655: -- All the VMs which have disks also on other storage domains. > /s/VMs/VMs and Templates done Line 656: CREATE TEMPORARY TABLE ENTITY_IDS_ON_OTHER_STORAGE_DOMAINS_TEMPORARY_TABLE AS Line 657: SELECT DISTINCT vm_static.vm_guid Line 658: FROM vm_static Line 659: INNER JOIN (-- Join vm_static only with VMs that have images on the storage domain v_storage_domain_id Line 655: -- All the VMs which have disks also on other storage domains. Line 656: CREATE TEMPORARY TABLE ENTITY_IDS_ON_OTHER_STORAGE_DOMAINS_TEMPORARY_TABLE AS Line 657: SELECT DISTINCT vm_static.vm_guid Line 658: FROM vm_static Line 659: INNER JOIN (-- Join vm_static only with VMs that have images on the storage domain v_storage_domain_id > /s/VMs/VMs and Templates done Line 660: SELECT vm_static.vm_guid Line 661: FROM vm_static Line 662: INNER JOIN vm_device vd ON vd.vm_id = vm_static.vm_guid Line 663: INNER JOIN images i ON i.image_group_id = vd.device_id Line 662: INNER JOIN vm_device vd ON vd.vm_id = vm_static.vm_guid Line 663: INNER JOIN images i ON i.image_group_id = vd.device_id Line 664: INNER JOIN (SELECT image_id Line 665: FROM image_storage_domain_map Line 666: WHERE image_storage_domain_map.storage_domain_id = v_storage_domain_id) isd_map > those images can be selected from the table create above (STORAGE_DOMAIN_MA done Line 667: ON i.image_guid = isd_map.image_id) vm_guids_with_disks_on_storage_domain ON vm_static.vm_guid = vm_guids_with_disks_on_storage_domain.vm_guid Line 668: -- With all the VMs which have images on the storage domain, get all of their images and check if there is an image on another storage domain. Line 669: INNER JOIN vm_device vd ON vd.vm_id = vm_static.vm_guid Line 670: INNER JOIN images i ON i.image_group_id = vd.device_id Line 735: delete FROM vm_interface where vmt_guid in(select vm_guid from TEMPLATES_IDS_TEMPORARY_TABLE); Line 736: delete FROM permissions where object_id in (select vm_guid from TEMPLATES_IDS_TEMPORARY_TABLE); Line 737: delete FROM vm_static where vm_guid in(select vm_id as vm_guid from VM_IDS_TEMPORARY_TABLE where entity_type <> 'TEMPLATE'); Line 738: Line 739: -- Delete devices which are related to VMs with MSD (VMs which has not removed) > please improve that comment..no one knows what is MSD and it's also related done Line 740: delete FROM vm_device where device_id in (select disk_id from STORAGE_DOMAIN_MAP_TABLE); Line 741: Line 742: -- Delete pools and snapshots of pools based on templates from the storage domain to be removed Line 743: delete FROM snapshots where vm_id in (select vm_guid FROM vm_static where vmt_guid in (select vm_guid from TEMPLATES_IDS_TEMPORARY_TABLE)); -- To view, visit http://gerrit.ovirt.org/28537 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ic222ee55a711ea9101bf20ac812219714f70aab3 Gerrit-PatchSet: 3 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Maor Lipchuk <mlipc...@redhat.com> Gerrit-Reviewer: Allon Mureinik <amure...@redhat.com> Gerrit-Reviewer: Daniel Erez <de...@redhat.com> Gerrit-Reviewer: Liron Ar <lara...@redhat.com> Gerrit-Reviewer: Maor Lipchuk <mlipc...@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