+++ This bug was initially created as a clone of Bug #1096217 +++ When adding a direct iSCSI direct LUN disk using the RESTAPI without creating a storage domain, the details given by the user aren't validated, and stored in the database regardless of their correctness. In particular the LUN id isn't validated, just stored in the database. Other attributes, like the vendor id, the model id, the serial number and the size aren't retrieved from the iSCSI server and left empty in the database. This can be reproduced with a Python script like this: #!/usr/bin/python import ovirtsdk.api import ovirtsdk.xml.params api = ovirtsdk.api.API( url="https://rhel.example.com/ovirt-engine/api", username="admin@internal", password="******", insecure=True, debug=True) # Create the iSCSI storage connection: sc = ovirtsdk.xml.params.StorageConnection() sc.set_address("192.168.122.1") sc.set_type("iscsi") sc.set_port(3260) sc.set_target("iqn.2014-01.com.example:iscsi") sc = api.storageconnections.add(sc) # Add the direct LUN disk: lu = ovirtsdk.xml.params.LogicalUnit() lu.set_id("something_that_doesnt_exist") lu.set_address(sc.get_address()) lu.set_port(sc.get_port()) lu.set_target(sc.get_target()) storage = ovirtsdk.xml.params.Storage() storage.set_type("iscsi") storage.set_logical_unit([lu]) disk = ovirtsdk.xml.params.Disk() disk.set_name("mylun") disk.set_interface("virtio") disk.set_type("iscsi") disk.set_format("raw") disk.set_lun_storage(storage) disk = api.disks.add(disk) api.disconnect() This succeeds, and the LUN disk is created, but will never work. The expected result is that incorrect LUN ids are detected, and that the additional attributes are populated correctly.
Udayendu, as far as I can see this is just a clone to track the same issue as Bug #1096217 for RHEV (as opposed to oVirt). Am I missing anything?
Yes Allon, This is just a clone some that I can map it to the service request opened by customer for RHEV as we can't map the upstream BZ to the ticket. But customer is having this issue, so we need some quick fix. Thanks, Uday
Allon, One more point I would like to add here: - Customer is using the FC lun. Thanks, Uday
When trying to add a FC direct LUN via REST with wrong parameters, the LUN is not added to the DB and the operation fails with: <fault> <reason>Operation Failed</reason> <detail>Entity not found: null</detail> </fault> note that in order to validate the existence of the LUN with the right parameters, need to pass the host in the XML request. Verified using rhev 3.5 vt3.1
Please supply doc text
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHSA-2015-0158.html