
On 02/03/2014 10:18 AM, Aline Manera wrote:
On 02/03/2014 04:24 AM, Rodrigo Trujillo wrote:
Reference: https://github.com/kimchi-project/kimchi/wiki/Todo-1.2 https://github.com/kimchi-project/kimchi/wiki/customize-VM
Royce has created the structure to add/list/lookup cdrom devices in the guests. There is a patch in the list (still under revision) with the code: " Kimchi-devel] [PATCH 0/5] cdrom: support add and query cdrom "
This RFC aims to continue the second part of this work and modify the API to allow user to change (UPDATE/POST) attached cd ISOs and delete (DELETE) cdrom devices. If necessary I can continue the Royces work.
Yeap! You will need to get Royce's patches, make the adjustments needed and resend the patch set. ACK
Aline has suggested to use the API as "/vms/<name>/storages" : """ . . . Maybe we can use /vms/<name>/storages That way we can use the same API to add/remove different kind of storages to the vm: cdrom, scsi disk, ide disk, etc ... """ This is the first decision here (1) Use api as follow ? (I propose to use API params to differentiate the storages, like '?type=cdrom')
**URI:** /vms/*:name*/storages * **GET**: Retrieve all storages attached to the VM * **POST**: Attatch new storage to specified virtual machine. * name : The name of the storage in the VM.
The name would be the 'dev'? like hdc, sda, etc?
* type: The type of the storage: cdrom, disk
* path *(optional)*: Path of ISO or DISK.
Why path is optional? I think when adding a new storage to VM the user must specify to where it should point This is true for hda, sda ... what about if the user wants to add an empty cdrom device in the guest ? Thats the only case I can think now, to use an empty path (virt-manager allows this). But, for your facility, we can make it required, so, user can only create a cdrom dev if he does has a ISO to attach.
### Sub-resource: storage **URI:** /vms/*:name*/storage/*:name* * **GET**: Retrieve the storage information * path: Path of the storage * type: Type of the storage
What about 'dev'? ACK
* **PUT**: Update storage information * name *(optional)*: The name of the storage in the VM. * path *(optional)*: Path of ISO or DISK.
We just use the notation "optional" for POST requests
In this case (PUT) we just list the parameters can be updated
* **DELETE**: Remove the storage
Examples: UPDATE {'path': ''} /vms/vm-1/storage/cdrom-1--> to eject the iso
No! The path to the disk should never be empty To eject a disk/cdrom, use DELETE request
UPDATE {'path': '/root/ubuntu.iso'} /vms/vm-1/storage/cdrom-1-->to change or insert a media POST {'path':'abcd', 'bus': 'ide', 'name': 'cdrom-2'} /vms/vm-1/storage --> to attach a new cdrom
'bus'?? I didn't see any reference to it above
DELETE {} /vms/vm-1/cdroms/cdrom-1-->to detach a cdrom
(2) Should be possible to add and remove storages with the guest running ? (Like hot plug) Does libvirt provide this ?
It would be good to have. Need to check libvirt and so. I am going to do this
(3) The new attached isos should be shown in the guests like changing a CD ?
I didn't understand that question.
(4) The specification mention tuning of the devices. Should tuning be always done in the background, or allow users to specify tuning parameters ?
What tuning parameters are you talking about? Not sure, I am in doubt too. I see Virt-manager has some performance and tunning parameters to set, like Cache/IO mode, read/write speeds, etc
Regards,
Rodrigo Trujillo
_______________________________________________ Kimchi-devel mailing list Kimchi-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/kimchi-devel
_______________________________________________ Kimchi-devel mailing list Kimchi-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/kimchi-devel