
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.