To use osprofiler with placement:
* Add a [profiler] section to the placement.conf (and other openstack
service conf files):
[profiler]
connection_string = mysql+pymysql://root:admin@127.0.0.1/osprofiler?charset=utf8
hmac_keys = my-secret-key
trace_sqlalchemy = True
enabled = True
* Include the hmac_keys in your API request
$ openstack server create --flavor c1 --image cirros-0.4.0-x86_64-disk \
--os-profile my-secret-key vm --wait
The openstack client will return the trace id:
Trace ID: 67428cdd-bfaa-496f-b430-507165729246
$
* Extrace the trace in html format
$ osprofiler trace show --html 67428cdd-bfaa-496f-b430-507165729246 \
--connection-string mysql+pymysql://root:admin@127.0.0.1/osprofiler?charset=utf8
Here is an example trace output for the above server create request
including the placement interactions enabled by this patch:
https://pste.eu/p/ZFsb.html
Story: 2005842
Task: 33616
(cherry picked from commit 40c97d7346)
Conflicts:
placement/deploy.py
Change-Id: I5a0e805fe04c00c5e7cf316f0ea8d432b940e560