The oslo.config library is not really optional, because of multiple
implementations importing it. Actually the library is now installed
because the oslo.concurrency library depends on it.
Change-Id: I935ee16c6d52564ce6a61890a47cb57196ea5bad
Importing pkg_resources has a side-effect of reading all of the
metadata for every installed python package. The newer
importlib.metadata module can load the metadata for one package at a
time, which makes this library load more quickly and improves the
startup-time performance of applications that use it such as
python-openstackclient.
importlib.metadata is part of the python 3.8 standard library and is
distributed separately for other versions of python.
Change-Id: Ib1870a3d102116f84c7677601fd44fdac41a13a6
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Main changes:
- Add minimum version for requirements [1]
- Fix dulwich issue that broke py35 gate [2]
Trivial changes:
- Re-format multi-line deps in tox.ini
- Verify and change constraints of pymongo, prettytable
to match global requirements
---
requirements without minimum version definitaions may cause CI failure
Merge https://review.openstack.org/#/c/574367/ made requirements job
check for minimum version definitions, requirements without minimum version
may cause CI failure.
This patch sync the requirements with lower-constraints
---
Start using upper-constraints in tox venvs
Without this we are exposed to any breakages in dependencies, which
is currently blocking the repo because of a broken dulwich release.
Note that this required the removal of the explicit .[oslo_config]
requirement. I'm not sure why that was there since it will be
pulled in by oslo.concurrency anyway and it broke the venv creation
when constraints were added. Since I'm not sure why it was split
out as a separate thing I'm leaving the setup.cfg target but
removing it from tox.ini.
We also need to pin dulwich in lower-constraints, even though it's a
transitive dependency. Otherwise the lower-constraints job installs
the broken latest version.
Transitive dependency that we need to pin due to
https://bugs.launchpad.net/tripleo/+bug/1778004
---
[1] https://review.openstack.org/#/c/575691
[2] https://review.openstack.org/#/c/577462
Co-Authored-By: Kevin_Zheng <zhengzhenyu@huawei.com>
Co-Authored-By: Ben Nemec <bnemec@redhat.com>
Change-Id: Ibfe5f460139849ba39b369321360f6f5a0e9e2a0
Closes-Bug: #1777083
Closes-Bug: #1778004
Create a tox environment for running the unit tests against the lower
bounds of the dependencies.
Create a lower-constraints.txt to be used to enforce the lower bounds
in those tests.
Add openstack-tox-lower-constraints job to the zuul configuration.
See http://lists.openstack.org/pipermail/openstack-dev/2018-March/128352.html
for more details.
Change-Id: I4ec215baac733ef07a619c03c28406c994d493f5
This is an initial trace list command, which acts both as a
starting-point, as well as an immediate solution for anyone
who needs the basic functionality of this feature.
Change-Id: I99ad62103914b047cfc3c33e50ae98b6a0d01d6d
Related-Bug: #1733232
Oslo.messaging library is not required by OSProfiler core. It is needed
by "messaging" driver only and thus can be turn into runtime dependency
(just like client libs for other drivers).
Change-Id: Ie42cd0fdd5e96ce65b83edf934a139c282d1e784
The oslo.log (logging) configuration library provides standardized
configuration for all openstack projects. It also provides custom
formatters, handlers and support for context specific logging (like
resource id's etc).
I think it's better to use the common logging module.
Change-Id: If7674f12537d478d6f7403f9570b4b41e0a93ccd
Added init_from_conf method, that takes service configuration
and initializes notifier. This allows initialization to be
handled in osprofiler instead of projects/services. Added
oslo.messaging dependency.
Change-Id: I77d0d3b5e9e725507916724dcd28d5fbc6f7f5c7
Instead of computing/finding the decorated function name using
a less robust function, use the one provided by oslo.utils which
is more robust.
Also at the same time, avoid refinding the function name every
single time the decorated function is called, as its needless to
do this once it has been completed once.
Change-Id: Id39a73ee80163dd930a5900d9631e3b8665e7a26
argparse was external in python 2.6 but not anymore, remove it
from requirements.
This should help with pip 8.0 that gets confused in this situation.
Installation of the external argparse is really not needed.
Change-Id: Id8984ef560f0bb3006e360a8cb32fc015a9ccfcf
This patch implements basic client code for OSProfiler, which contains:
* osprofiler.cmd.cliutils - module with utils for client code
* osprofiler.cmd.commands - module with all commands. Each group of
commands should inherit from `osprofiler.cmd.commands.BaseCommand` class
(implemented commands: `results show`)
* osprofiler.cmd.exc - module for clients exceptions
(implemented exceptions: CommandError)
* osprofiler.cmd.shell - module with basic shell class(`OSProfilerShell`),
which append ceilometer and identity arguments groups, discover all cli
commands in `osprofiler.cmd.commands`.
* osprofiler.cmd.template.html - html-template for command
"osprofiler trace show"
Change-Id: If4bd50658c594793fe97e8ba1c9867694aa46ff4