[ https://issues.apache.org/jira/browse/CLOUDSTACK-9733?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Suresh Kumar Anaparti updated CLOUDSTACK-9733: ---------------------------------------------- Description: Pre-CloudStack 4.4.0, before the VM job framework changes (CLOUDSTACK-669), Concurrent volume (both root and data) snapshots were allowed per host based on the value of global config "concurrent.snapshots.threshold.perhost". The volumes could belong to the same VM or spread across multiple VMs on a given host. The synchronisation was done based on the host (Id). As part of the VM job framework changes (CLOUDSTACK-669) in CloudStack 4.4.0, a separate job queue was introduced for individual VMs with a concurrency level of 1 (i.e. all operations to a given VM are serialized). Volume snapshot was also considered as a VM operation as part of these changes and goes through the VM job queue. These changes made the config "concurrent.snapshots.threshold.perhost" obsolete (it was also no longer getting honoured, since there is no single point of enforcement). Only one volume snapshot of a VM is allowed at any given point of time as the sync object is the VM (id). So concurrent volume snapshots of a VM are not allowed and are not limited per host as per the global configuration parameter "concurrent.snapshots.threshold.perhost". This functionality needs to be re-introduced to execute more than 1 snapshot of a VM at a time (when the underlying hypervisor supports) and snapshots should be limited per host based on the value of "concurrent.snapshots.threshold.perhost"at the cluster level (for more flexibility). was: Before the VM job framework changes (CLOUDSTACK-669), Concurrent volume (both root and data) snapshots were allowed per host based on the value of global config "concurrent.snapshots.threshold.perhost". The volumes could belong to the same VM or spread across multiple VMs on a given host. The synchronisation was done based on the host (Id). As part of the VM job framework changes (CLOUDSTACK-669) in CloudStack 4.4.0, a separate job queue was introduced for individual VMs with a concurrency level of 1 (i.e. all operations to a given VM are serialized). Volume snapshot was also considered as a VM operation as part of these changes and goes through the VM job queue. These changes made the config "concurrent.snapshots.threshold.perhost" obsolete (it was also no longer getting honoured, since there is no single point of enforcement). Only one volume snapshot of a VM is allowed at any given point of time as the sync object is the VM (id). So concurrent volume snapshots of a VM are not allowed and are not limited per host as per the global configuration parameter "concurrent.snapshots.threshold.perhost". This functionality needs to be re-introduced to execute more than 1 snapshot of a VM at a time (when the underlying hypervisor supports) and snapshots should be limited per host based on the value of "concurrent.snapshots.threshold.perhost"at the cluster level (for more flexibility). > Concurrent volume snapshots of a VM are not allowed and are not limited per > host as per the global configuration parameter > "concurrent.snapshots.threshold.perhost". > -------------------------------------------------------------------------------------------------------------------------------------------------------------------- > > Key: CLOUDSTACK-9733 > URL: https://issues.apache.org/jira/browse/CLOUDSTACK-9733 > Project: CloudStack > Issue Type: Bug > Security Level: Public(Anyone can view this level - this is the > default.) > Components: Snapshot, Volumes > Reporter: Suresh Kumar Anaparti > Assignee: Suresh Kumar Anaparti > Fix For: 4.10.0.0 > > > Pre-CloudStack 4.4.0, before the VM job framework changes (CLOUDSTACK-669), > Concurrent volume (both root and data) snapshots were allowed per host based > on the value of global config "concurrent.snapshots.threshold.perhost". The > volumes could belong to the same VM or spread across multiple VMs on a given > host. The synchronisation was done based on the host (Id). > As part of the VM job framework changes (CLOUDSTACK-669) in CloudStack 4.4.0, > a separate job queue was introduced for individual VMs with a concurrency > level of 1 (i.e. all operations to a given VM are serialized). Volume > snapshot was also considered as a VM operation as part of these changes and > goes through the VM job queue. These changes made the config > "concurrent.snapshots.threshold.perhost" obsolete (it was also no longer > getting honoured, since there is no single point of enforcement). > Only one volume snapshot of a VM is allowed at any given point of time as the > sync object is the VM (id). So concurrent volume snapshots of a VM are not > allowed and are not limited per host as per the global configuration > parameter "concurrent.snapshots.threshold.perhost". > This functionality needs to be re-introduced to execute more than 1 snapshot > of a VM at a time (when the underlying hypervisor supports) and snapshots > should be limited per host based on the value of > "concurrent.snapshots.threshold.perhost"at the cluster level (for more > flexibility). -- This message was sent by Atlassian JIRA (v6.3.4#6332)