python-novaclient/releasenotes/notes/add-osprofiler-support-cc9dd228242e9919.yaml
Boris Pavlovic 0fed79fd8f Add profiling support to novaclient
To be able to create profiling traces for Nova, client should be
able to send special HTTP header that contains trace info.
This patch is also important to be able to make cross project
traces. (Typical case heat calls nova via python client, if
profiler is initialized in heat, nova client will add extra
header, that will be parsed by special osprofiler middleware in nova
api.)

Security considerations: trace information is signed by one of the
HMAC keys that are set in nova.conf. So only person who knows HMAC key
is able to send proper header.

oslo-spec: https://review.openstack.org/#/c/103825/
Based on: https://review.openstack.org/#/c/105089/

Co-Authored-By: Dina Belova <dbelova@mirantis.com>
Co-Authored-By: Roman Podoliaka <rpodolyaka@mirantis.com>
Co-Authored-By: Tovin Seven <vinhnt@vn.fujitsu.com>

Partially implements: blueprint osprofiler-support-in-nova

Depends-On: I82d2badc8c1fcec27c3fce7c3c20e0f3b76414f1
Change-Id: I56ce4b547230e475854994c9d2249ef90e5b656c
2017-01-19 03:50:06 +00:00

26 lines
1.2 KiB
YAML

---
prelude: >
OSprofiler support was added to the client. That makes
possible to trigger Nova operation trace generation from
the CLI.
features:
- A new ``--profile`` option was added to allow Nova
profiling from the CLI. If the user wishes to trace a
nova boot request he or she needs to type the following
command -- ``nova --profile <secret_key> boot --image <image>
--flavor <flavor> <vm_name>``, where ``secret_key`` should match one
of the keys defined in nova.conf. As a result of this operation
additional information regarding ``trace_id`` will be
printed, that can be used to generate human-friendly
html report -- ``osprofiler trace show --html <trace_id> --out
trace.html``.
To enable profiling, user needs to have osprofiler
installed in the local environment via ``pip install osprofiler``.
security:
- OSprofiler support, that was added during the Ocata release cycle,
requires passing of trace information between various
OpenStack services. This information is signed by one of
the HMAC keys defined in nova.conf file. That means that
only someone who knows this key is able to send the proper
header to trigger profiling.