On 2014年07月02日 11:23, Aline Manera wrote:
On 07/01/2014 04:53 AM, Royce Lv wrote:
> Currently kimchi just support create a vm from an ISO defined
> template. This requires duplicate installation.
> This release we want to support create a vm from an installed image.
>
> This involves the following change:
>
> 1. Create a template from an image:
>
> POST /templates/template-1
> {'base': 'abs_base_img_path'}
>
> Implementation:
> (1)probe image os distro and version to get suggested config.
> (2)Avoid image to be deleted.
> (3)Avoid using ISO and base image at the same time.
>
> 2. Create a vm from image based template:
> This part has already been covered by Aline's prototype patch.
>
> POST /vms/vm-1
> {'storagepool': 'default', 'network': 'default',
'disks':[{'index':0,
> 'base': 'abs_path'}]}
> or
> {'storagepool': 'default', 'network': 'default',
'disks':[{'index':0,
> 'base': 'abs_path', 'volume': 'scsi_volume'}]}
>
> The create vm implementation need to be re-considered for the
> following points:
> (1) when creating vm on scsi/iscsi pool, if volume size smaller than
> original image, need to be rejected.
From that, I assume you will copy the img content to the scsi/iscsi
volume. Is that correct?
If so, can't we use backing store
(
http://libvirt.org/formatstorage.html#StorageVolBacking) for the
existing img and make the vm volume the RW img?
During my prototype development, I used backing store and it worked
well with directory storage volumes
But I haven't tested it with scsi/iscsi volumes
Yes, we will use the backing
file, but since the original image may be a
small image with a large size, the rest most part will be write to the
SCSI/iSCSI volume,
to *guarantee* volume will not explode in write, the cow volume needs to
be >= declared.
It is a secure choice, but yes, there will be some waste in space.
> (2) when creating vm on directory based pool, volume generating logic
> is different with allocation new volume.
> (2) xml generating need to be refactored.
>
> Anything else need to be considered, welcome your comments.