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.
(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.