StarlingX dashboard failed to retrieve system data on Cloud Overview page
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
StarlingX |
Fix Released
|
Medium
|
Tyler Smith |
Bug Description
Brief Description
-----------------
In a large distributed cloud, the system command to SystemController region errors out when the response header grows too large from too many endpoints. It appears that this issue is limited to sysinv as the requests to dcmanager endpoint to get the subcloud data and to fm endpoint to get the alarm stati of the subclouds work.
Severity
--------
Major
Steps to Reproduce
------------------
Set up a SystemController with a large number of subclouds in the database.
Either use CLI command: system --os-region-name SystemController show or navigate to the Cloud Overview page in SystemController region on Horizon
Expected Behavior
------------------
System data is returned and displayed
Actual Behavior
----------------
HTTP 400 Header Line Too Long
Reproducibility
---------------
100% reproducible
System Configuration
-------
Distributed Cloud
Branch/Pull Time/Commit
-------
Dec. 12th master load
Last Pass
---------
I don't think this scenario has ever been verified.
Timestamp/Logs
--------------
[sysadmin@
DEBUG (base:187) Making authentication request to http://
DEBUG (connectionpool
DEBUG (connectionpool
DEBUG (base:192) {"token": {"is_domain": false, "methods": ["password"], "roles": [{"id": "4e5f7576161540
.......
.......
DEBUG (utils:195) REQ: curl -i http://
connect: (192.168.204.2, 26385) ************
send: 'GET /v1/isystems HTTP/1.1\r\nHost: 192.168.
reply: 'HTTP/1.1 400 Header Line Too Long\r\n'
header: Content-Length: 0
header: Date: Mon, 16 Dec 2019 19:16:28 GMT
DEBUG (http:157) RESP:
WARNING (http:215) Request returned failure status.
expected string or buffer
Test Activity
-------------
Developer Testing
Changed in starlingx: | |
assignee: | Dariush Eslimi (deslimi) → Tyler Smith (tyler.smith) |
I took a brief look at this and the solution seems to be to override the max_header_line setting in the sysinv wsgi setup to a higher value