Bug 1308350 - [SCALE] Improve GetDeviceList verb call through the REST API to work in scale.
[SCALE] Improve GetDeviceList verb call through the REST API to work in scale.
Status: CLOSED CURRENTRELEASE
Product: ovirt-engine
Classification: oVirt
Component: RestAPI (Show other bugs)
3.6.0
Unspecified Unspecified
unspecified Severity medium (vote)
: ovirt-4.0.0-beta
: 4.0.0
Assigned To: Fred Rolland
Eldad Marciano
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2016-02-14 09:51 EST by Yaniv Lavi
Modified: 2016-08-16 23:41 EDT (History)
6 users (show)

See Also:
Fixed In Version:
Doc Type: Enhancement
Doc Text:
With this update, support has been added for skipping the LUN status check in the REST API as checking the status of the LUN is a heavyweight operation and this data is not always required. To enable this feature set report_status to false. The default for report_status is true to allow for backward compatibility. The report_status parameter is available when getting a list of storage devices visible to a host or when getting a specific storage device via a host, GET /hosts/{host:id}/storage or GET /hosts/{host:id}/storage/{storage:id}. For example: GET /hosts/{host:id}/storage/{storage:id};report_status=false <host_storage id="360014051136c20574f743bdbd28177fd"> <logical_units> <logical_unit id="360014051136c20574f743bdbd28177fd"> <lun_mapping>0</lun_mapping> <paths>1</paths> <product_id>lun0</product_id> <serial>SLIO-ORG_lun0_1136c205-74f7-43bd6993</serial> <size>10737418240</size> <vendor_id>LIO-ORG</vendor_id> <volume_group_id>O9Du7I-RahN</volume_group_id> </logical_unit> </logical_units> <type>iscsi</type> <host id="8bb5ade5-e988-4000-8b93-dbfc6717fe50"/> </host_storage>
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-08-11 11:07:10 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: Storage
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
ylavi: ovirt‑4.0.0?
rule-engine: planning_ack+
rule-engine: devel_ack+
ylavi: testing_ack?


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
oVirt gerrit 56270 master MERGED Added "reportStatus" to Storage Get operation 2016-04-18 09:41 EDT
oVirt gerrit 56301 master MERGED restapi: Support skip LUN status check 2016-04-19 05:06 EDT

  None (edit)
Description Yaniv Lavi 2016-02-14 09:51:37 EST
Description of problem:
For DC level 3.6, the only place we still do the PV creation test when executing GetDeviceList verb is through the REST API.
When getting the LUNs list, we need to provide the "Status" of the LUN.

It was kept for backward compatibility with 3.x and we can remove\change in 4.0. Scale setups will timeout as before fixing BZ #1217401. We need to provide alternative to this REST call that will work for scale.

Steps to Reproduce:
1. Run engine with many direct luns. For example:
total luns available: 383
         total paths: 1,532
2. Call GetDeviceList verb through the REST API

Actual results:
real    9m37.496s
user    0m1.905s
sys     0m0.047s

Expected results:
Should not time out.

Additional info:
Comment 1 Juan Hernández 2016-02-15 04:00:48 EST
Note that the reporting of the status of the LUN can be removed or made optional in version 4 of the API. But as version 4 of the engine has to support versions 3 and 4 of the API the capability can't be removed from the backend. Thus it is easier to just keep it in version 4 of the API.

I'd suggest to add a parameter that can be used to enable/disable this reporting of the status of the LUN:

  GET /hosts/{host:id}/storage;report_status=true|false

The default value of this parameter should be "true" in version 3 of the API, to preserve backwards compatibility. In version 4 of the API it can be "false".
Comment 2 Gil Klein 2016-08-11 11:07:10 EDT
This bug was fixed and is slated to be in the upcoming version. As we
are focusing our testing at this phase on severe bugs, this bug was
closed without going through its verification step. If you think this
bug should be verified by QE, please set its severity to high and move
it back to ON_QA
Comment 3 Allon Mureinik 2016-08-16 04:12:19 EDT
Megan, the term "host storage domain" is confusing. Storage domains are DC level entities, not host level entities.

The correct term would be something like "The report_status parameter is available when getting a list of storage devices visible to a host or when getting a specific storage device via a host".
Comment 4 Megan Lewis 2016-08-16 23:41:37 EDT
Hi Allon, 

Thanks for picking that up. Not sure what I was thinking yesterday. Corrected now. 

Megan

Note You need to log in before you can comment on or make changes to this bug.