For tox 3.x and earlier, passenv was a space-separated list; as of tox
4.0.0, it's comma-separated. For a while, our spaces would be silently
included in the now-one-and-only passenv value parsed (which wasn't
great, but mostly just caused confusion) -- as of tox 4.0.6, however, it
became a hard error, and all tests would fail like
pass_env values cannot contain whitespace, use comma to have multiple
values in a single line, invalid values found 'SWIFT_* *_proxy'
Unfortunately, we don't really know what versions of tox all our various
stakeholders might want/need to use (though we currently set a
minversion of 3.18.0), and (to my knowledge) there's no way to specify
multiple values for passenv in a way that would be compatible with both
old and new tox.
Fortunately, as of 3.14.4, tox include HTTP_PROXY, HTTPS_PROXY, and
NO_PROXY in passenv by default. I'm fairly certain those were the only
reason we had *_proxy to begin with, so just drop it.
Change-Id: I8ddfbc6376434c39e231846135a99bd0bdca9497
There's a lot of cleanup possible, but this is a start.
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Change-Id: Ia1176b7fd5434d52070d482a37abfbb98800cdb3
Looks like there are some issues with too-new-Sphinx and the PDF docs
builds.
Also, get devstack installing on bionic again for our py2 func test job.
Change-Id: I633398054694fe6ba1e0de50278f274daf69fefd
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
explicitly provided.
Change-Id: I7bc7d7a49de746cc8fdb58a44619bc5ce66b7003
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
Update docs building:
* Switch to sphinx-build
* Update requirements for Sphinx and openstackdocstheme for
python 3
* Remove unneeded doc and translation sections from setup.cfg
* Remove install_command, it's unneeded, the default is fine.
Change-Id: Ib9fe754b700bceb164ba0f596cbcc6d864ccbadc
In addition to being less confusing for devs, this lets us actually run
tempauth tests in swiftclient dsvm jobs.
The job definition (over in the swift repo) specifies test/sample.conf,
which does not exist in this repo. As a result, those tests would skip
with
SKIPPING FUNCTIONAL TESTS DUE TO NO CONFIG
Change-Id: I558dbf9a657d442e6e19468e543bbec855129eeb
...since modern sphinx won't install on py27.
While we're at it, clean up some warnings and treat warnings as errors.
Also, fix up how we parse test configs so we can run func tests.
Related-Change: Id3c2ed87230c5918c18e2c01d086df8157f036b1
Change-Id: I3718f69610545b0dbcb0a2ab45b400da3a45682c
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
Change-Id: I36a6997fdb806b4d0a9d064107cc1451c766c987
This is a mechanically generated patch to add a unit test job running
under Python 3.6 as part of the python3-first goal.
See the python3-first goal document for details:
https://governance.openstack.org/tc/goals/stein/python3-first.html
Change-Id: Iae4acab507e45a379c8af129912e13621a2a553b
According to Openstack summit session [1],
stestr is maintained project to which all Openstack projects should migrate.
Let's switch to stestr as other projects have already moved to it.
[1] https://etherpad.openstack.org/p/YVR-python-pti
Change-Id: Ic098f8560599554e0b6bb16ae326d4d30a8a5504
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.
Change-Id: I86d24104033b490a35178fc504d88c1e4a566628
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
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.
Update the dependencies needed to make the unit tests pass while
constrained to the lower bounds.
See http://lists.openstack.org/pipermail/openstack-dev/2018-March/128352.html
for more details.
Co-Authored-By: Nguyen Hai <nguyentrihai93@gmail.com>
Change-Id: I2a8f465c8b08370517cbec857933b08fca94ca38
Depends-On: https://review.openstack.org/555034
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
I noticed a disturbing lack of quote-wrapping in change
I7cb4b44952713752435e1faf0f63bf0d37e7dda6 but as I poked at it, I
realized that trouble runs rampant.
This seems to clean it all up, though I haven't tested *every*
environment we define.
Change-Id: I1454eb113e5bd9125d39f2e57e2ed96f6ddc42fc
The updates to the sphinx docs jobs in support of the updates to
the PTI wound up exposing an unintended interface. There are two flavors
of the tox_install.sh file out there, and we basically need to collapse
them into one flavor.
Update the tox_install.sh script to match the
constraints-as-first-argument form.
Change-Id: I7cb4b44952713752435e1faf0f63bf0d37e7dda6
After this, we need to
* add release notes jobs for python-swiftclient in openstack-infra/project-config
* add release notes links for python-swiftclient in openstack/releases
For the corresponding change in the swift repo, see
I4e5f1ce1fcfbb2943036c821a24a0b4a3a2d9fc8
Change-Id: Iea6ed2ee26873edb3ef10146cdc906cf1a236255
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
constrained version.
This change adds constraints support by also adding a helper script to
edit the constraints to remove python-swiftclient.
Change-Id: I3947a6165eaa9f5cb62a7df4f5a2c16065da2f1d
See change I74fb5122e80a223aaa70afaeec7a7c585aa33577 for the
previous discussion. But basically, if you run tox -e py27
then tox -e py34, the latter fails with "db type could not
be determined", because of stuck .testrepository/times.dbm.
This patch fixes it by clearing the *.dbm*. Should be safe
as long as periods aren't used commonly in stable file names.
Change-Id: I617eca308261f291c510c8cbd432779f1c00b182
We need to do this because some of the py34 testing that
python-swiftclient uses depends on this variable. The reason we don't
see the issue in the gate, is because current bare-trusty images have
this set on the jenkins shell user.
When we move to just using DIBs, the variable won't be setup by
default and python3 tests will fail.
For more information:
https://review.openstack.org/282898
Change-Id: Id9017f31b0543bccac9c07b83237b909e2bd2b0c
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
"Python 3.3 support is being dropped since OpenStack Liberty."
written in following URL.
https://wiki.openstack.org/wiki/Python3
And already the infra team and the oslo team are dropping py33
support from their projects.
Since we rely on oslo for a lot of our work, and depend on infra
for our CI, we should drop py33 support too.
Change-Id: Ia8f2b26e446175b0d892a11952ef3dc11dcdc73c
Closes-Bug: #1526170
Because python creates pyc|pyo files and __pycache__
directories during tox runs, certain changes in the tree,
like deletes of files, or switching branches, can create
spurious errors.
Change-Id: Ibaac514521bab11bbf552e0310d1203230c0d984
Closes-Bug: #1368661