Bug 1123754

Summary: Direct FC lun disk details aren't validated
Product: Red Hat Enterprise Virtualization Manager Reporter: Udayendu Sekhar Kar <ukar>
Component: ovirt-engineAssignee: Daniel Erez <derez>
Status: CLOSED ERRATA QA Contact: Elad <ebenahar>
Severity: high Docs Contact:
Priority: high    
Version: 3.4.0CC: amureini, bugs, derez, ecohen, gklein, iheim, juan.hernandez, juwu, lpeer, pstehlik, rbalakri, Rhev-m-bugs, rpai, scohen, tnisan, ukar, yeylon
Target Milestone: ---Flags: amureini: needinfo+
Target Release: 3.5.0   
Hardware: x86_64   
OS: Linux   
Whiteboard: storage
Fixed In Version: vt2.2 Doc Type: Enhancement
Doc Text:
Upon creating a new DirectLUN disk, the LUN visibility on a host is now validated. If the specified LUN isn't visible to the host, the action would be aborted and a proper error message returned. Note that the validation is only executed if a host is specified by the user; otherwise, no validation is performed.
Story Points: ---
Clone Of: 1096217 Environment:
Last Closed: 2015-02-11 18:06:53 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Storage RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1096217    
Bug Blocks: 1142923, 1156165    

Description Udayendu Sekhar Kar 2014-07-28 08:00:21 UTC
+++ 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.

Comment 1 Allon Mureinik 2014-07-28 11:38:46 UTC
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?

Comment 2 Udayendu Sekhar Kar 2014-07-28 13:37:32 UTC
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

Comment 3 Udayendu Sekhar Kar 2014-08-05 03:07:58 UTC
Allon,

One more point I would like to add here:

- Customer is using the FC lun.

Thanks,
Uday

Comment 5 Elad 2014-09-15 11:44:42 UTC
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

Comment 6 Tal Nisan 2014-11-26 11:32:49 UTC
Please supply doc text

Comment 8 errata-xmlrpc 2015-02-11 18:06:53 UTC
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