File: make_paste_ini_config_optional.rst

package info (click to toggle)
python-osprofiler 4.2.0-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 760 kB
  • sloc: python: 4,828; makefile: 170; sh: 161
file content (82 lines) | stat: -rw-r--r-- 2,403 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
..
 This work is licensed under a Creative Commons Attribution 3.0 Unported
 License.

 http://creativecommons.org/licenses/by/3.0/legalcode

..
 This template should be in ReSTructured text. The filename in the git
 repository should match the launchpad URL, for example a URL of
 https://blueprints.launchpad.net/heat/+spec/awesome-thing should be named
 awesome-thing.rst .  Please do not delete any of the sections in this
 template.  If you have nothing to say for a whole section, just write: None
 For help with syntax, see http://www.sphinx-doc.org/en/stable/rest.html
 To test out your formatting, see http://www.tele3.cz/jbar/rest/rest.html

======================================
 Make api-paste.ini Arguments Optional
======================================

Problem description
===================

Integration of OSprofiler with OpenStack projects is harder than it should be,
it requires keeping part of arguments inside api-paste.ini files and part in
projects.conf file.

We should make all configuration options from api-paste.ini file optional
and add alternative way to configure osprofiler.web.WsgiMiddleware


Proposed change
===============

Integration of OSprofiler requires 2 changes in api-paste.ini file:

- One is adding osprofiler.web.WsgiMiddleware to pipelines:
  https://github.com/openstack/cinder/blob/master/etc/cinder/api-paste.ini#L13

- Another is to add it's arguments:
  https://github.com/openstack/cinder/blob/master/etc/cinder/api-paste.ini#L31-L32

  so WsgiMiddleware will be correctly initialized here:
  https://github.com/openstack/osprofiler/blob/51761f375189bdc03b7e72a266ad0950777f32b1/osprofiler/web.py#L64

We should make ``hmac_keys`` and ``enabled``  variable optional, create
separated method from initialization of wsgi middleware and cut new release.
After that remove


Alternatives
------------

None.


Implementation
==============

Assignee(s)
-----------

Primary assignee:
  dbelova

Work Items
----------

- Modify osprofiler.web.WsgiMiddleware to make ``hmac_keys`` optional (done)

- Add alternative way to setup osprofiler.web.WsgiMiddleware, e.g. extra
  argument hmac_keys to enable() method (done)

- Cut new release 0.3.1 (tbd)

- Fix the code in all projects: remove api-paste.ini arguments and use
  osprofiler.web.enable with extra argument (tbd)


Dependencies
============

- Cinder, Glance, Trove - projects should be fixed