db11260c11
Some services such as nova introduced GMR for API wsgi application so that GMR can be generated via a file handler. However the current setup method tries to register signal handler and causes warnings. For example we are seeing the following error when starting nova-api by apache + mod_wsgi. mod_wsgi (pid=80323): Callback registration for signal 12 ignored. File "/var/www/cgi-bin/nova/nova-api", line 52, in <module> application = init_application() File "/usr/lib/python3.9/site-packages/nova/api/openstack/compute/wsgi.py", line 20, in init_application return wsgi_app.init_application(NAME) File "/usr/lib/python3.9/site-packages/nova/api/openstack/wsgi_app.py", line 128, in init_application init_global_data(conf_files, name) File "/usr/lib/python3.9/site-packages/nova/utils.py", line 1122, in wrapper return func(*args, **kwargs) File "/usr/lib/python3.9/site-packages/nova/api/openstack/wsgi_app.py", line 105, in init_global_data gmr.TextGuruMeditation.setup_autorun( File "/usr/lib/python3.9/site-packages/oslo_reports/guru_meditation_report.py", line 152, in setup_autorun cls._setup_signal(signal.SIGUSR2, File "/usr/lib/python3.9/site-packages/oslo_reports/guru_meditation_report.py", line 185, in _setup_signal signal.signal(signum, This introduces the new argument so that we can disable signal handler completely to avoid such warnings. Change-Id: I95170542fecb493260a22d9148f3a2777207cb0e |
||
---|---|---|
doc | ||
oslo_reports | ||
releasenotes | ||
.coveragerc | ||
.gitignore | ||
.gitreview | ||
.mailmap | ||
.pre-commit-config.yaml | ||
.stestr.conf | ||
.zuul.yaml | ||
CONTRIBUTING.rst | ||
HACKING.rst | ||
LICENSE | ||
README.rst | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
README.rst
Team and repository tags
oslo.reports
When things go wrong in (production) deployments of OpenStack collecting debug data is a key first step in the process of triaging & ultimately resolving the problem. Projects like Nova has extensively used logging capabilities which produce a vast amount of data. This does not, however, enable an admin to obtain an accurate view on the current live state of the system. For example, what threads are running, what config parameters are in effect, and more.
The project oslo.reports hosts a general purpose error report generation framework, known as the "guru meditation report" (cf http://en.wikipedia.org/wiki/Guru_Meditation) to address the issues described above.
Models: These classes define structured data for a variety of interesting pieces of state. For example, stack traces, threads, config parameters, package version info, etc. They are capable of being serialized to XML / JSON or a plain text representation
Generators: These classes are used to populate the model classes with the current runtime state of the system
Views: views serialize models into say JSON, text or xml. There is also a predefined view that utilizes Jinja templating system.
There will be a number of standard models / generators available for all OpenStack services
StackTraceModel: a base class for any model which includes a stack trace ThreadModel: a class for information about a thread ExceptionModel: a class for information about a caught exception ConfigModel: a class for information about configuration file settings PackageModel: a class for information about vendor/product/version/package information
Each OpenStack project will have the ability to register further generator classes to provide custom project specific data.
- Free software: Apache license
- Documentation: https://docs.openstack.org/oslo.reports/latest
- Source: https://opendev.org/openstack/oslo.reports
- Bugs: https://bugs.launchpad.net/oslo.reports
- Release notes: https://docs.openstack.org/releasenotes/oslo.reports/