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.
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
### 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'?
* **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.
(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?
Regards,
Rodrigo Trujillo
_______________________________________________
Kimchi-devel mailing list
Kimchi-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/kimchi-devel