basepython as python3 is not needed anymore since py27 support was
dropped since many OpenStack cycles ago.
py38 and py310 jobs are failing because the requirements are not
installed. This patch adds explicit install of the requirements.
Moving on py3 as the default runtime for tox to avoid to update this at each new cycle.
Wallaby support officially the following runtimes :
- Python 3.8
During Victoria Python 3.7 was used as the default runtime  however this version isn't longer officially supported.
UPPER_CONSTRAINTS_FILE is old name and deprecated
This allows to use upper-constraints file as more
readable way instead of UPPER_CONSTRAINTS_FILE=<lower-constraints file>.
Tox trying to install latest versions for building docs which may
not be supported by stable and lower branches, so should be
restricted by respective version's upper-constraints.txt
Python 3.8 is now our highest level supported python runtime.
This updates the default tox target environments to swap out
py37 for py38 to make sure local development testing is
covering this version.
This does not impact zuul jobs in any way, nor prevent local
tests against py37. It just changes the default if none is
Signed-off-by: Sean McGinnis <email@example.com>
The repo is Python 3 now, so update hacking to version 3.0 which
supports Python 3.
Fix problems found.
Update local hacking checks for new flake8.
Remove hacking and friends from lower-constraints, it's not needed
* Switch to newer openstackdocstheme version and remove values that are
set now by openstackdocstheme.
* Remove py2 requirments for docs, we only build with python3.
* Update deps for docs building, we don't need the default.
* Remove modindex, this is not build, see
Sphinx 1.8 introduced  the '--keep-going' argument which, as its name
suggests, keeps the build running when it encounters non-fatal errors.
This is exceptionally useful in avoiding a continuous edit-build loop
when undertaking large doc reworks where multiple errors may be
- Use 'ignore_basepython_conflict' so we can simply define 'basepython'
on the base testenv
- Add an '.stestr.conf' file, allowing us to stop specifying the
'--test-path' argument manually
- Call 'sphinx-build' directly instead of using the 'build_sphinx'
distutils extension, which pbr is deprecating. This requires a fix to
the docs but allows us to remove some noise from 'setup.cfg'
- Fix some indentation and remove some unnecessary configuration
Signed-off-by: Stephen Finucane <firstname.lastname@example.org>
The 'install_command' section was being overridden in 'tox.ini', meaning
we were never using the constraints 'lower-constraints.txt'. Fix this
and update the few requirements necessary.
- oslo.db so we get Ifb2c59c2cfbd615b04570b31fcfe868f4ffea3c6 which is
necessary for Python 3.7 support
- python-glanceclient so we get the HTTP error messages expected in unit
tests since I1608f82eeaa6ff4c5ac55f57989bb1cfe17dbdc7. This also
necessitates updating keystoneauth1.
- The minimum of Sphinx is bumped to 1.7.0 to avoid the need to
blacklist multiple 1.6.x versions
In addition, these minimums are reflected in test-requirements.txt and
requirements.txt. This is expected by the 'requirements-check' job in
Signed-off-by: Stephen Finucane <email@example.com>
The api documentation is now published on docs.openstack.org instead
of developer.openstack.org. Update all links that are changed to the
Note that redirects will be set up as well but let's point now to the
For details, see:
We want to default to running all tox environments under python 3, so
set the basepython value in each environment.
We do not want to specify a minor version number, because we do not
want to have to update the file every time we upgrade python.
We do not want to set the override once in testenv, because that
breaks the more specific versions used in default environments like
py35 and py36.
Signed-off-by: Doug Hellmann <firstname.lastname@example.org>
When running tox tests, a warning pops up saying:
WARNING:test command found but not installed in testenv
Maybe you forgot to specify a dependency? See also the
whitelist_externals envconfig setting.
Adding rm to the whitelist_externals causes this warning
to no longer appear.
The i18n team has decided not to translate the logs because it seems
like it not very useful; operators prefer to have them in English so
that they can search for those strings on the internet.
Since we have removed log translations completely, we should add hacking
rule to prevent future mistakes.
Some of the available checks are disabled by default, like:
[H106] Don’t put vim configuration in source files
[H203] Use assertIs(Not)None to check for None
Adding constraints support to libraries is slightly more complex than
services as the libraries themselves are listed in upper-constraints.txt
which leads to errors that you can't install a specific version and a
This change adds constraints support by also adding a helper script to
edit the constraints to remove ec2-api.
merged from Ifb5cb05b9cc2b8758d5a8e34f7792470a73d7c40
PEP-0274 introduced dict comprehensions to replace dict constructor
with a sequence of length-2 sequences, these are benefits copied
The dictionary constructor approach has two distinct disadvantages
from the proposed syntax though. First, it isn't as legible as a
dict comprehension. Second, it forces the programmer to create an
in-core list object first, which could be expensive.
Nova dropped python 2.6 support, we can leverage this now.
There is deep dive about PEP-0274 and basic tests about
Note: This commit doesn't handle dict constructor with kwagrs.
This commit also adds a hacking rule.
This code introduces standalone service which proxies its calls to
existing nova EC2-API.
All the code here except for the ec2api/api/proxy.py,
ec2api/api/ec2client.py and some util functions is taken from current
nova and unused functionality is cut of it.
The proxy.py and ec2client.py files implement the new code which
proxies incoming request (on port 8788) to original EC2 API in nova
on port 8773.
The result is transparently translated back to user.