diff options
author | Ramamani Yeleswarapu <ramamani.yeleswarapu@intel.com> | 2016-08-18 16:55:56 -0700 |
---|---|---|
committer | Ramamani Yeleswarapu <ramamani.yeleswarapu@intel.com> | 2017-07-07 15:58:28 -0700 |
commit | 3773f17403bb02b372673643780b9619151d22ea (patch) | |
tree | 6966eae7c1427f09e7c79a60eecfaa9623c811b7 /tools | |
parent | 8e4815648825914e9a94a55129f371bc0bd601e4 (diff) | |
download | ironic-3773f17403bb02b372673643780b9619151d22ea.tar.gz |
Enable OSProfiler support in Ironic
This patch does the following:
* Adds osprofiler wsgi middleware
This middleware is used for 2 things:
- It checks that person who wants to trace is trusted and knows
secret HMAC key.
- It starts tracing in case of proper trace headers
and adds first wsgi trace point, with info about HTTP request.
* Adds initialization of osprofiler at start of service
- Initialize and set an oslo.messaging based notifier instance
to osprofiler, which will be used to send notifications to Ceilometer.
* Traces HTTP/RPC/DB API calls and SQL requests
NOTE to test this patch:
1) Make the following changes in localrc to configure DevStack to enable
OSProfiler:
enable_plugin panko https://git.openstack.org/openstack/panko
enable_plugin ceilometer https://git.openstack.org/openstack/ceilometer
enable_plugin osprofiler https://git.openstack.org/openstack/osprofiler
# Enable the following services
CEILOMETER_NOTIFICATION_TOPICS=notifications,profiler
ENABLED_SERVICES+=,ceilometer-acompute,ceilometer-acentral
ENABLED_SERVICES+=,ceilometer-anotification,ceilometer-collector
ENABLED_SERVICES+=,ceilometer-alarm-evaluator,ceilometer-alarm-notifier
ENABLED_SERVICES+=,ceilometer-api
NOTE: the order of enabling plugins matters.
2) Run stack.sh. Once DevStack environment is setup, enable profiler options
in ironic.conf and restart ironic services:
[profiler]
enabled = true
hmac_keys = SECRET_KEY
trace_sqlalchemy = true
3) Use openstackclient and run baremetal command with
--os-profile SECRET_KEY
[--profile can be used, but it is deprecated.]
For example, the following will cause the <trace-id> to be printed
after node list:
$ openstack --os-profile SECRET_KEY baremetal node list
.....
.....
Trace ID: <trace-id>
Display trace with command:
osprofiler trace show --html <trace-id>
4) The trace results can be saved using this command:
$ osprofiler trace show --html <trace-id> --out trace.html
OSprofiler spec: https://review.openstack.org/#/c/103825/
Co-Authored-By: Tovin Seven <vinhnt@vn.fujitsu.com>
Co-Authored-By: Hieu LE <hieulq@vn.fujitsu.com>
Partial-Bug: #1560704
Change-Id: Icd3d7c62cf7442de8a77fc67f119ae9b03725f02
Diffstat (limited to 'tools')
-rw-r--r-- | tools/config/ironic-config-generator.conf | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/tools/config/ironic-config-generator.conf b/tools/config/ironic-config-generator.conf index 088c234bf..f738cc406 100644 --- a/tools/config/ironic-config-generator.conf +++ b/tools/config/ironic-config-generator.conf @@ -16,4 +16,5 @@ namespace = oslo.log namespace = oslo.service.service namespace = oslo.service.periodic_task namespace = oslo.service.sslutils +namespace = osprofiler namespace = keystonemiddleware.auth_token |