pip 20.3 finally includes a proper dependency resolver. Its use is
causing the following error messages on the lower-constraints job:
ERROR: Cannot install ... because these package versions have
conflicting dependencies.
The conflict is caused by:
bandit 1.1.0 depends on PyYAML>=3.1.0
cliff 3.4.0 depends on PyYAML>=3.12
openstacksdk 0.52.0 depends on PyYAML>=3.13
Bump our lower constraint for PyYAML to resolve this issue. With that
resolved, we see a new issue:
ERROR: Could not find a version that satisfies the requirement
cryptography>=2.7 (from openstacksdk)
ERROR: No matching distribution found for cryptography>=2.7
This is less self-explanatory but looking at the lower-constraints for
openstacksdk 0.52.0 shows a dependency on cryptography 2.7 [1], meaning
we need to bump this also.
Next up, flake8-import-order seems to cause the dependency resolver to
go nuts, eventually ending with the following error message in a Python
3.6 environment:
Using cached enum34-1.1.2.zip (49 kB)
ERROR: Command errored out with exit status 1:
command: ...
cwd: ...
Complete output (9 lines):
Traceback (most recent call last):
File "<string>", line 1, in <module>
File ".../lib/python3.6/site-packages/setuptools/__init__.py", line 7, in <module>
import setuptools.distutils_patch # noqa: F401
File ".../lib/python3.6/site-packages/setuptools/distutils_patch.py", line 9, in <module>
import re
File "/usr/lib64/python3.6/re.py", line 142, in <module>
class RegexFlag(enum.IntFlag):
AttributeError: module 'enum' has no attribute 'IntFlag'
----------------------------------------
A quick Google suggests this is because the enum34 package is not
complete [2]. We shouldn't even be using it since our base virtualenv
should at least use Python 3.6, but I guess some dependency doesn't
properly restrict the dependency to <= Python 3.4. This is moved from
'test-requirements.txt' to 'tox.ini' since we don't need to use our
constraints machinery for linters.
Finally, the versions of bandit and hacking that pip is bringing in both
requires in a newer version of babel, which in turn requires a new
version of pytz.
Collecting hacking>=2.0.0
...
ERROR: Cannot install oslo.i18n because these package versions have
conflicting dependencies.
The conflict is caused by:
babel 2.9.0 depends on pytz>=2015.7
babel 2.8.1 depends on pytz>=2015.7
babel 2.8.0 depends on pytz>=2015.7
babel 2.7.0 depends on pytz>=2015.7
Seeing as we shouldn't be tracking bandit in
lower-constraints, I'm not sure why we're want to bump these
dependencies for just that. As above, we move these dependencies out of
'test-requirements' and into 'tox.ini' since we can do that for linters.
[1] https://opendev.org/openstack/openstacksdk/src/tag/0.52.0/requirements.txt#L19
[2] https://github.com/iterative/dvc/issues/1995#issuecomment-491889669
Change-Id: I8ec738fbcabc8d8553db79a876e5592576cd18fa
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
Importing pkg_resources scans every installed distribution to find
all of the entry points. Stevedore is adding a new caching layer using
importlib.metadata, which will not. Switching to the stevedore should
eventually speed up load times, especially for command line apps. This
change makes the switch now to ensure API compatibility.
We were already using stevedore for tests, so this moves the dependency
from test-requirements.txt to requirements.txt and raises the minimum
version to something more recent.
Change-Id: I3e3632783bc745979b6db73e610df8a77ffaceb0
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
We've depended on openstacksdk for config for ages now, clean up
after ourselves and stop installing it in tests.
Change-Id: I66b3ec2a36bc462d2f1ac151e95ccbdc946076b8
Now that we no longer support py27, we can use the standard library
unittest.mock module instead of the third party mock lib.
Change-Id: Ibd39328c27b68190e2edbf1f52fcea52db3ae791
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
We had this library capped at a release that is a few years old. Now
that we have dropped py2 testing, we can pick up the latest version.
This uncovered a few things to clean up. Mostly the fact that mock is
now a part of the StdLib unittest since Python 3.3.
Change-Id: I27484dd4c25378413ff16e97a35a1a46062357bc
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
Plugin projects were listed in test-requirements.txt ostensibly to pull
them in for autodoc building. However, test-requirements.txt wasn't
being used for that purpose -- doc/requirements.txt was, so [1] added
them there. So this commit removes them from test-requirements.txt where
they're unused.
[1] Id9be39971110fd2eb4519a0582c9bf2514cdcacd
Change-Id: Ia89888ee05e17da636ee46894232624e0178d6bc
Add the osc-placement project (osc plugin for the placement service) to
the list of known plugins.
Change-Id: I77b614b38ecf872d0d93473b834994913930b76f
Pick up newer versions of this library. Thankfully no serious changes
are needed.
Change-Id: I69e523844529fc1c8aa0c1ce764182dbe29cfeb6
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
This commit makes to use stestr instead of ostestr
directly. ostestr>1.0.0 has started to use stestr instead of
testrepository. So there is no reason to use ostestr anymore.
Change-Id: I6327d50c9f6dd19f1de24b9b51532104fb3e916e
Intel RSD is new architecture that disaggregates compute, storage,
and network resources, and provide the ability to dynamically compose
resources based on workload-specific demands [1]. The python-rsdclient
project provide specific RSD plugin to allow user to invoke RSD API
through OpenStackClient. So Added it into existing plugin list.
[1] https://www.intel.com/content/www/us/en/architecture-and-technology/rack-scale-design-overview.html
Change-Id: Ic49efddfb003c89ece6d782905b27fb46402b3ab
This patch adds the "appcontainer" commands to the docs and sets
up the document generation for the python-zunclient plugin
Change-Id: I58bd208e98bd059d9df03ee71dcb83779044f83a
In reviews we usually check import grouping but it is boring.
By using flake8-import-order plugin, we can avoid this.
It enforces loose checking so it sounds good to use it.
This flake8 plugin is already used in tempest.
Note that flake8-import-order version is pinned to avoid unexpected
breakage of pep8 job.
Setup for unit tests of hacking rules is tweaked to disable
flake8-import-order checks. This extension assumes an actual file exists
and causes hacking rule unit tests.
Change-Id: I12b596820727aeeb379bee16c2bc993dee9eb637
This patch adds the "loadbalancer" commands to the docs and sets
up the document generation for the python-octaviaclient plugin.
Depends-On: Ib123383c5f6904b4b00831e8cc7aaa180bd4a506
Change-Id: I48939cc3653cd379a328e0a0973d075019d22b00
The patch[1] about OSC plugin has been submitted to
karbor project. And the plan list commend has been
implemented.
With more dataprotection commands being supported,
another patch adding more commands to the docs will be
proposed later.
[1] https://review.openstack.org/#/c/473508/
Depends-On: I4dfac08fd2b04f9ac254d3aa8fdadc3a1691de0a
Change-Id: I2266525650f5c2e241373493dcd09474478c2ba6