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
We have seen middlewares that return ratelimit responses as 498 or 429,
so tolerate either.
Closes-Bug: #1879572
Change-Id: I027222157f6c2ad7882a0508302c9de097baae4c
UpgradeImpact
=============
The Connection class now enables retry_on_ratelimit by default.
If you need to return to the old behavior, explicitly pass
retry_on_ratelimit=False as a keyword arg.
The SwiftService class will now enables the retry_on_ratelimit option by
default. If you need to return to the old behavior, explicitly set it to
false in your options dict.
Change-Id: I3221fda84f0b8031c50128aa600e2c19deb5b102
Up the default to sha256 since
* the proxy has supported (and defaulted to allowing) it for four years
now, and
* Rackspace has supported it for even longer.
Include a note in the --help about older clusters likely requiring sha1.
Change-Id: Ibac2bb7e2e4c9946c7384f0aab8e43d0d79ba645
Related-Change: Ia9dd1a91cc3c9c946f5f029cdefc9e66bcf01046
Related-Bug: #1733634
Closes-Bug: #1977867
... because explicit language=None causes the below warning since
Sphinx 5.0.0.
Invalid configuration value found: 'language = None'. Update your
configuration to a valid language code. Falling back to 'en' (English).
Change-Id: I842fd6c1eb5c0e14d85f8eec6078d735fbd506b8
Since Python 3.4, the unittest module has provided mock, negating the
need for the external dependancy. Switch to using unittest.mock.
Change-Id: Idec3aaed2fddd1ece3ed86ee0bcc48f7616d56fa
Connection class has timeout parameter but SwiftService and shell don't use it.
That can lead to an endless wait when network is unreachable.
Change-Id: Iafa42fc2f8b56feefa2bc8ea6a1b8845717d3bab
All strings are unicode by default in Python 3. No need to mark them as
such.
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Change-Id: I68fb60ef271abfddebcc9d2137424f5db2a17e92
All classes subclass from object by default in Python 3.
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Change-Id: I5a1ad57bcc092861ce969759b06a07c880ad3d35
This mostly affects tests. Nothing too complicated
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Change-Id: Iabc78f651e1d48db35638280722f8019798eccd6
These aren't needed in modern Python 3 versions.
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Change-Id: I5e81d6fb2e2cb8e4bfae4ed746da002f44e871c4
This also upgrades the Requests dependency to 2.4+ (released in 2014)
to avoid having to do version comparisons altogether.
Refs https://bugs.launchpad.net/python-swiftclient/+bug/1904551
Signed-off-by: Aarni Koskela <akx@iki.fi>
Change-Id: I58399f6c526b0b78462f31739c43076314ba9e76