Bug 1308350 - [SCALE] Improve GetDeviceList verb call through the REST API to work in scale.
Summary: [SCALE] Improve GetDeviceList verb call through the REST API to work in scale.
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: ovirt-engine
Classification: oVirt
Component: RestAPI
Version: 3.6.0
Hardware: Unspecified
OS: Unspecified
unspecified
medium vote
Target Milestone: ovirt-4.0.0-beta
: 4.0.0
Assignee: Fred Rolland
QA Contact: Eldad Marciano
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-02-14 14:51 UTC by Yaniv Lavi
Modified: 2016-08-17 03:41 UTC (History)
6 users (show)

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>
Clone Of:
Environment:
Last Closed: 2016-08-11 15:07:10 UTC
oVirt Team: Storage
ylavi: ovirt-4.0.0?
rule-engine: planning_ack+
rule-engine: devel_ack+
ylavi: testing_ack?


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Bugzilla 1217401 None None None Never
oVirt gerrit 56270 master MERGED Added "reportStatus" to Storage Get operation 2016-04-18 13:41:29 UTC
oVirt gerrit 56301 master MERGED restapi: Support skip LUN status check 2016-04-19 09:06:43 UTC

Internal Links: 1217401

Description Yaniv Lavi 2016-02-14 14:51:37 UTC
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 09:00:48 UTC
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 15:07:10 UTC
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 08:12:19 UTC
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-17 03:41:37 UTC
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.