Previously, we ran unconstrained so we could piggy-back off our extras,
but it causes issues in stable gates.
Change-Id: I5b04a1e4d6fb46cdcd50b547aa52290b8bf022ab
Without up-reving hacking python 3.12 can't be used for pep8/flake8
checks. Also address a few new pyflakes issues that seem reasonable
to enforce:
E275 missing whitespace after keyword
H214 Use assertIn/NotIn(A, B) rather than
assertTrue/False(A in/not in B)
H211 do not compare types, use assert{Is,IsNot}Instance
Add F811 (redefinition of unused 'function'), as this check makes
client.py fail.
And noqa some longer lines that we're happy to carry.
Change-Id: Ic97698a310ffe7114b668b8c4bc0195f6997bb45
Currently, dependency resolvers like the one of PDM, cannot resolve the
setup dependencies correctly, as those are hidden inside the python
code of setup.py
Supplement setup.py with pyproject.toml. Note that we can't remove
setup.py yet, as it remains part of OpenStack's Project Testing
Interface.
Change-Id: Ifb414df2577bc9ada78eaa26747da4f4bd673dda
The entry_point option already defines the /bin/swift script implicitly.
The definition of `scripts=bin/swift` ontop of that leads to a corrupt wheel build and can lead to a collision error during installation:
FileExistsError: File already exists: [...]/bin/swift
Closes-Bug: #1996959
Change-Id: I17d0c2b02555172eeedaa164aad956691ccb3b0a
Under py312, MagicMock.has_calls raises an AttributeError. This is
actually a good thing, as previously we weren't actually making the
assertions we thought we were making.
Fix the one place that we forgot the leading `assert_`, and switch it
to `any_order=True`; this is required for the test to pass, as there
are additional calls between the two expected calls.
See https://github.com/python/cpython/commit/1d4d677d
Change-Id: Ia2ff2f198b4c1312a3e7dce32f11b87050683d45
Add file to the reno documentation build to show release notes for
stable/2023.2.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2023.2.
Sem-Ver: feature
Change-Id: I4bd3883583c1ae3e10b07815b8587b1c6be480a8
We no longer need our own py311 job; there is now an openstack-tox-py311
included in openstack-python3-jobs (though we want to make it voting).
Additionally, that template has marked py39 and py310 jobs as voting, so
we no longer need to do that ourselves.
Change-Id: Ie964678af069d5255e463ef22b1b53957d28f918
We haven't tested under pypy since 2020, and haven't done so
*successfully* for even longer.
As that was the only remaining set of packages in bindep.txt,
remove it entirely.
Related-Change: Ibc80d23846b364bfcd82043430ef71ad4b6e271b
Change-Id: I0e4abc482e546f36358f6085a6d5635490f4ac5c
We've had SLO for nearly ten years, and it is preferable for most
use-cases. It's time to default to SLO rather than DLO.
Add a new --use-dlo option to give users a way to return to old
behavior; ensure there is still a --use-slo option so we don't break
existing scripts that may use it.
UpgradeImpact:
==============
The default segmented-upload behavior has changed; Static Large Objects
are now used by default rather than Dynamic Large Objects. To revert to
the old behavior:
* CLI users may use the new `--use-dlo` option
* Service API users may explicitly set `use_slo` to False in their
options dicts
Change-Id: Iebcd64ced8eab6efebb9f02a0c4be6bf6338cb3b
...provided it isn't something to do with certification validation.
Closes-Bug: #1641363
Closes-Bug: #2011731
Change-Id: Ic3acbf431e444fcd8bc0fe79571fe2db4140cf22
Include project_urls so PyPI gets more sidebar links.
Include long_description_content_type to quiet a twine warning.
Change-Id: Id3b90927ba24fd47efdbeeb2107bdae9e86e93ba
If the received content-length does not match expectations, of course
the etag won't match!
Co-Authored-By: Alistair Coles <alistairncoles@gmail.com>
Change-Id: I1a0c066c11b94718fffbb11e13b82d0b16e01626
Seen on Arch Linux:
ModuleNotFoundError: No module named 'pkg_resources'
On new enough Python, we don't need it anyway.
Change-Id: I3d46319a36a1c2477e9f7dae0c7e40a362a17639
Add file to the reno documentation build to show release notes for
stable/2023.1.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2023.1.
Sem-Ver: feature
Change-Id: I757174e91ffd514d97a76886ab728652ddba79e9
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
This is an automatically generated patch to ensure unit testing
is in place for all the of the tested runtimes for antelope. Also,
updating the template name to generic one.
See also the PTI in governance [1].
[1]: https://governance.openstack.org/tc/reference/project-testing-interface.html
Change-Id: I4b8d75aab6b5d80756fbd83ffb62e5135365a685
Add file to the reno documentation build to show release notes for
stable/zed.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/zed.
Sem-Ver: feature
Change-Id: Ibe6a46e97a8e08c2ec38ad1a3b80a1f63659a689