9541a29761
*) Add osprofiler wsgi middleware This middleware is used for 2 things: 1) It checks that person who want to trace is trusted and knows secret HMAC key. 2) It start tracing in case of proper trace headers and add first wsgi trace point, with info about HTTP request *) Add initialization of osprofiler at start of serivce. You should use python-designateclient with this patch: https://review.opendev.org/#/c/773575 Run any command with --os-profile SECRET_KEY $ openstack zone create --email <email_id> <zone_name> \ --os-profile SECRET_KEY # it will print <Trace ID> Get pretty HTML with traces: $ osprofiler trace show --html <Trace ID> --connection-string \ <connection_string> --out <output.html> e.g. --connection-string can be redis://localhost:6379 Note that osprofiler should be run from admin user name & tenant. Implements: blueprint designate-os-profiler Change-Id: I2a3787b6428d679555a9add3a57ffe8c2112b6d3
71 lines
2.6 KiB
INI
71 lines
2.6 KiB
INI
[composite:osapi_dns]
|
|
use = egg:Paste#urlmap
|
|
/: osapi_dns_versions
|
|
/healthcheck: healthcheck
|
|
/v2: osapi_dns_v2
|
|
/admin: osapi_dns_admin
|
|
|
|
[composite:osapi_dns_versions]
|
|
use = call:designate.api.middleware:auth_pipeline_factory
|
|
noauth = http_proxy_to_wsgi cors maintenance faultwrapper osprofiler osapi_dns_app_versions
|
|
keystone = http_proxy_to_wsgi cors maintenance faultwrapper osprofiler osapi_dns_app_versions
|
|
|
|
[app:osapi_dns_app_versions]
|
|
paste.app_factory = designate.api.versions:factory
|
|
|
|
|
|
[composite:osapi_dns_v2]
|
|
use = call:designate.api.middleware:auth_pipeline_factory
|
|
noauth = http_proxy_to_wsgi cors request_id faultwrapper validation_API_v2 osprofiler noauthcontext maintenance normalizeuri osapi_dns_app_v2
|
|
keystone = http_proxy_to_wsgi cors request_id faultwrapper validation_API_v2 osprofiler authtoken keystonecontext maintenance normalizeuri osapi_dns_app_v2
|
|
|
|
[app:osapi_dns_app_v2]
|
|
paste.app_factory = designate.api.v2:factory
|
|
|
|
[composite:osapi_dns_admin]
|
|
use = call:designate.api.middleware:auth_pipeline_factory
|
|
noauth = http_proxy_to_wsgi cors request_id faultwrapper osprofiler noauthcontext maintenance normalizeuri osapi_dns_app_admin
|
|
keystone = http_proxy_to_wsgi cors request_id faultwrapper osprofiler authtoken keystonecontext maintenance normalizeuri osapi_dns_app_admin
|
|
|
|
[app:osapi_dns_app_admin]
|
|
paste.app_factory = designate.api.admin:factory
|
|
|
|
[filter:cors]
|
|
paste.filter_factory = oslo_middleware.cors:filter_factory
|
|
oslo_config_project = designate
|
|
|
|
[filter:request_id]
|
|
paste.filter_factory = oslo_middleware:RequestId.factory
|
|
|
|
[filter:http_proxy_to_wsgi]
|
|
paste.filter_factory = oslo_middleware:HTTPProxyToWSGI.factory
|
|
|
|
[filter:osprofiler]
|
|
paste.filter_factory = designate.common.profiler:WsgiMiddleware.factory
|
|
|
|
[filter:noauthcontext]
|
|
paste.filter_factory = designate.api.middleware:NoAuthContextMiddleware.factory
|
|
|
|
[filter:authtoken]
|
|
paste.filter_factory = keystonemiddleware.auth_token:filter_factory
|
|
|
|
[filter:keystonecontext]
|
|
paste.filter_factory = designate.api.middleware:KeystoneContextMiddleware.factory
|
|
|
|
[filter:maintenance]
|
|
paste.filter_factory = designate.api.middleware:MaintenanceMiddleware.factory
|
|
|
|
[filter:normalizeuri]
|
|
paste.filter_factory = designate.api.middleware:NormalizeURIMiddleware.factory
|
|
|
|
[filter:faultwrapper]
|
|
paste.filter_factory = designate.api.middleware:FaultWrapperMiddleware.factory
|
|
|
|
[filter:validation_API_v2]
|
|
paste.filter_factory = designate.api.middleware:APIv2ValidationErrorMiddleware.factory
|
|
|
|
[app:healthcheck]
|
|
paste.app_factory = oslo_middleware:Healthcheck.app_factory
|
|
backends = disable_by_file
|
|
disable_by_file_path = /etc/designate/healthcheck_disable
|