[Kimchi-devel] [PATCH V2] [ QUESTION] Create new storage volume when attaching disk to a guest

Paulo Ricardo Paz Vital pvital at linux.vnet.ibm.com
Fri Jan 29 13:24:32 UTC 2016


Hello Socorro.

This patch I proposed was not applied. So the arguments you're using to
create a new storage volume are not correct.

To create a new storage volume allocated to a specific VM, you need
execute two REST requests:

1. POST /storagepools/<pool>/storagevolumes {capacity:..., format:..}
2. POST /vms/<name>/storages {vol:..}

The idea for UI is, in storage tab of the VM edit screen, add the option
to create a new empty storage volume, asking the user the capacity and
format for the new volume. Then, UI will execute the above 2 POSTs
requests to create the volume and attach it to the VM the user is editing.

Best regards,
Paulo Vital.

On 01/28/2016 05:36 PM, Socorro Stoppler wrote:
> Hi Paulo/Aline,
> 
> I've been working on the UI for this and ran into some errors. 
> Therefore, before proceeding, I thought I'd run the curl command just to
> make sure I'm able to create this new storage volume w/out the UI's
> involvement.  Here's the error that I got:
> 
> 
> 
> I would've thought the API would create whatever was needed in order to
> be able to create new storage volume.  What am I doing wrong?
> 
> Thanks!
> -Socorro
> 
> 
> On 11/11/2015 05:43 AM, pvital at linux.vnet.ibm.com wrote:
>> From: Paulo Vital <pvital at linux.vnet.ibm.com>
>>
>> Changes in V2:
>>  * Updated test cases
>>  * Modified dictionary return of parameters
>>
>> V1:
>>
>> Add back-end support to create new storage volume (new virtual disk) when
>> attaching disk to a guest created before.
>>     
>> There are three essential parameters to create the new volume:
>>      * vol: Storage volume name of disk image, that should be 'new_vol'.
>>      * capacity: The total space which can be used to store new volumes.
>>                  The unit is bytes.
>>      * format: The format of the defined Storage Volume. Only used when creating
>>                a storage volume with 'capacity'.
>>     
>> To test this patch:
>>
>> $ curl -k -u test -H "Content-Type: application/json" -H "Accept: application/json" 'https://localhost:8001/plugins/kimchi/vms/kimchi-vm-new/storages' -X POST -d '{ "vol": "new_vol", "type": "disk", "pool": "default", "format": "qcow2", "capacity": 1024 }'
>> Enter host password for user 'test':
>> {
>>   "bus":"virtio",
>>   "path":"/var/lib/libvirt/images/2477bfd8-a9e2-4887-a683-e89015b3ba11
>> -1.img",
>>   "type":"disk",
>>   "dev":"vdb",
>>   "format":"qcow2"
>> }
>>
>> $ curl -k -u test -H "Content-Type: application/json" -H "Accept: application/json" 'https://localhost:8001/plugins/kimchi/vms/kimchi-vm-new/storages' -X GET 
>> Enter host password for user 'test':
>> [
>>   {
>>     "bus":"virtio",
>>     "path":"/var/lib/libvirt/images/2477bfd8-a9e2-4887-a683
>> -e89015b3ba11-0.img",
>>     "type":"disk",
>>     "dev":"vda",
>>     "format":"qcow2"
>>   },
>>   {
>>     "bus":"virtio",
>>     "path":"/var/lib/libvirt/images/2477bfd8-a9e2-4887-a683
>> -e89015b3ba11-1.img",
>>     "type":"disk",
>>     "dev":"vdb",
>>     "format":"qcow2"
>>   },
>>   {
>>     "bus":"ide",
>>     "path":"/var/lib/kimchi/tests/ubuntu14.04.iso",
>>     "type":"cdrom",
>>     "dev":"hdc",
>>     "format":"raw"
>>   }
>> ]
>>
>>
>> Paulo Vital (1):
>>   Create new storage volume when attaching disk to a guest.
>>
>>  src/wok/plugins/kimchi/API.json            | 12 ++++++++++++
>>  src/wok/plugins/kimchi/docs/API.md         |  6 +++++-
>>  src/wok/plugins/kimchi/i18n.py             |  1 +
>>  src/wok/plugins/kimchi/model/vmstorages.py | 28 +++++++++++++++++++++++++++-
>>  src/wok/plugins/kimchi/tests/test_model.py | 25 +++++++++++++++++++++++++
>>  5 files changed, 70 insertions(+), 2 deletions(-)
>>
> 




More information about the Kimchi-devel mailing list