On 05/13/2016 04:21 PM, Fabrice Bacchella wrote:
I'm trying to generated a lun disk, using the python SDK.
My code can be found
at
https://github.com/fbacchella/ovirtcmd/blob/master/ovlib/disks/__init__.py
If a try to see the content of a existing disk and test with :
print disk.get_type()
print disk.get_storage_type()
I'm getting :
None
lun
Now I try to create another LUN disk with
kwargs['storage_type'] = 'lun'
kwargs['type_'] = 'system'
I'm getting:
> POST /api/disks HTTP/1.1
> <disk>
> <type>system</type>
> <interface>virtio-scsi</interface>
> <lun_storage>
> <logical_unit id="3600c0ff00026285aed8f355701000000"/>
> </lun_storage>
> <storage_type>lun</storage_type>
> </disk>
...
< <fault>
< <reason>Incomplete parameters</reason>
< <detail>Storage [type] required for invoke0</detail>
< </fault>
changing to
kwargs['type_'] = None
change nothing, I'm still getting the same error message.
> POST /api/disks HTTP/1.1
> <disk>
> <interface>virtio-scsi</interface>
> <lun_storage>
> <logical_unit id="3600c0ff00026285aed8f355701000000"/>
> </lun_storage>
> <storage_type>lun</storage_type>
> </disk>
...
< <fault>
< <reason>Incomplete parameters</reason>
< <detail>Storage [type] required for invoke0</detail>
< </fault>
What did I do wrong ? There is nothing about that in the logs
When creating a LUN disk you need to specify the type (fcp or iscsi)
inside the "lun_storage" element, so you need to send an XML document
like this:
<disk>
<interface>virtio</interface>
<lun_storage>
<type>fcp</type>
<logical_unit id="3600c0ff00026285aed8f355701000000"/>
</lun_storage>
</disk>
To do that with the Python SDK you need the following code:
params.Disk(
interface='virtio',
lun_storage=params.Storage(
type_='fcp',
logical_unit=[
params.LogicalUnit(
id='0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-2',
),
],
),
)
--
Dirección Comercial: C/Jose Bardasano Baos, 9, Edif. Gorbea 3, planta
3ºD, 28016 Madrid, Spain
Inscrita en el Reg. Mercantil de Madrid – C.I.F. B82657941 - Red Hat S.L.