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

Reply via email to