9a43f58f4d
* Add osprofiler wsgi middleware. This middleware is used for 2 things: 1) It checks that person who wants to trace is trusted and knows secret HMAC key. 2) It starts tracing in case of proper trace headers and adds first wsgi trace point, with info about HTTP request * Add initialization of osprofiler at start of service Currently that includes oslo.messaging notifer instance creation to send Ceilometer backend notifications. Neutron client change: Ic11796889075b2a0e589b70398fc4d4ed6f3ef7c Co-authored-by: Ryan Moats <rmoats@us.ibm.com> Depends-On: I5102eb46a7a377eca31375a0d64951ba1fdd035d Closes-Bug: #1335640 DocImpact Add devref and operator documentation on how to use this APIImpact Change-Id: I7fa2ad57dc5763ce72cba6945ebcadef2188e8bd
33 lines
1.9 KiB
YAML
33 lines
1.9 KiB
YAML
---
|
|
fixes:
|
|
- Missing OSprofiler support was added. This cross-project profiling library
|
|
allows to trace various OpenStack requests through all OpenStack
|
|
services that support it. To initiate OpenStack
|
|
request tracing `--profile <HMAC_KEY>` option needs to be added to
|
|
the CLI command. This key needs to present one of the secret keys
|
|
defined in neutron.conf configuration file with `hmac_keys` option
|
|
under the `[profiler]` configuration section. To enable or disable
|
|
Neutron profiling the appropriate `enabled` option under the same
|
|
section needs to be set either to `True` or `False`. By default
|
|
Neutron will trace all API and RPC requests, but there is an opportunity
|
|
to trace DB requests as well. For this purpose `trace_sqlalchemy`
|
|
option needs to be set to `True`. As a prerequisite OSprofiler
|
|
library and its storage backend needs to be installed to the
|
|
environment. If so (and if profiling is enabled in neutron.conf)
|
|
the trace can be generated via command -
|
|
`$ neutron --profile SECRET_KEY <subcommand>`.
|
|
At the end of output there will be message with <trace_id>, and
|
|
to plot nice HTML graphs the following command should be used -
|
|
`$ osprofiler trace show <trace_id> --html --out result.html`
|
|
upgrade:
|
|
- OSprofiler support was introduced. To allow its usage the api-paste.ini
|
|
file needs to be modified to contain osprofiler middleware. Also
|
|
`[profiler]` section needs to be added to the neutron.conf file with
|
|
`enabled`, `hmac_keys` and `trace_sqlalchemy` flags defined.
|
|
security:
|
|
- OSprofiler support requires passing of trace information
|
|
between various OpenStack services. This information is
|
|
securely signed by one of HMAC keys, defined in neutron.conf configuration
|
|
file. To allow cross-project tracing user should use the key, that is
|
|
common among all OpenStack services he or she wants to trace.
|