On 02/02/2012 07:16 PM, Jon Choate wrote:
On 02/02/2012 11:19 AM, Maor wrote:
> On 02/02/2012 06:01 PM, Jon Choate wrote:
>> Given the changes for multiple storage domains, do we want to allow a
>> user to specify multiple storage domains per disk when creating or
>> importing a template?
>>
>> Otherwise the user will need to use the copy(clone) template disk
>> afterwards to create the copies of the storage domain disks where they
>> want them.
>>
>> If so, what would the UI look for this? It would require the backend to
>> receive something that looks like Map<DiskImage,
List<StorageDomain>>.
>>
>> thoughts?
> I think something that should be taken in consider if doing that, is
> that the VM which the template is created from will stay in image lock
> much longer.
Not necessarily. Once we get one copy of each disk down, we can release
the vm and use these copies as the source of the other copies.
> Also what would be the desired behaviour if few of storage domains would
> not be available, and will fail. (right now, if counting on the
> AsyncTaskManager mechanism, the all operation of create template will be
> rolled back, and the template would not be created at all.
Yes, the failure cases need to be considered. I would think that as long
as one copy of each disk can be created then the template should
persist. If we can't create a copy of each disk then we need to roll
back and not create the template.
But in this approach how do we convey the list of failures back to the
user?
how about we start with KISS to see everything works post all changes
going around, and later can add support for multiple clones (parallel or
serial)?