1116 Commits

Author SHA1 Message Date
Zuul
6af54cf481 Merge "CI: constrain deps for tests" 2024-02-26 22:13:23 +00:00
Tim Burke
3c529ceb70 CI: constrain deps for tests
Previously, we ran unconstrained so we could piggy-back off our extras,
but it causes issues in stable gates.

Change-Id: I5b04a1e4d6fb46cdcd50b547aa52290b8bf022ab
2024-02-26 10:49:34 -08:00
Zuul
0e8f64f2d3 Merge "lint: Up-rev hacking" 2024-02-26 06:51:21 +00:00
Matthew Oliver
1e0ab242ca lint: Up-rev hacking
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
2024-02-21 17:14:27 +00:00
16224e36e8 reno: Update master for unmaintained/yoga
Update the yoga release notes configuration to build from
unmaintained/yoga.

Change-Id: Ia6a273d087867c271832413e7aa41a27feab23c5
2024-02-08 14:39:47 +00:00
Zuul
b9fb6ca1d0 Merge "make setup dependencies discoverable" 2024-01-25 22:38:27 +00:00
DavHau
85a3e827a5 make setup dependencies discoverable
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
2024-01-25 10:15:48 -08:00
DavHau
45a311fc62 Remove duplicate script entry leading to broken wheel build
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
2024-01-11 21:26:54 +00:00
Zuul
7e65d10199 Merge "tests: Fix call assertion" 2024-01-02 20:17:06 +00:00
Tim Burke
6f01f84ce2 tests: Fix call assertion
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
2023-12-15 12:26:21 -08:00
Zuul
c62357c32f Merge "tests: Skip keystoneauth tests if not available" 2023-10-17 20:50:21 +00:00
44f11384ff Update master for stable/2023.2
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
2023-09-07 14:19:59 +02:00
Tim Burke
54fbfa8bc9 ChangeLog for 4.4.0
Change-Id: I0cec9e7f88323d63dde7f78677b340fb3a53d19f
4.4.0
2023-08-25 09:43:43 -07:00
Tim Burke
eb5d5d464c Clean up CI jobs
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
2023-08-25 09:43:43 -07:00
Tim Burke
ff8731bde1 Remove pypy from bindep.txt
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
2023-08-25 09:43:43 -07:00
Tim Burke
9331880e73 tests: Fix timeout assertion for py36, py37
The kwargs property was introduced in py38.

Change-Id: Id380fee6a2131bf88baa27145c8158277eef10c1
2023-08-25 09:43:43 -07:00
Tim Burke
c52e404262 tests: Skip keystoneauth tests if not available
Change-Id: I80af28b49415c5bea6399683922b6649f04ed011
2023-07-07 14:32:05 -07:00
Tim Burke
90f565009a Declare py311 support
Add a voting job, update trove classifiers.

Change-Id: I757b76e3af5f667a670cdf65687f23ef2b486666
2023-07-07 12:41:48 -07:00
Tim Burke
236c2775c6 Changelog for 4.3.0 (and 4.2.0)
Change-Id: Ia5f65c19bc31053dbdb4482a23ce977aa0c3f565
4.3.0
2023-04-04 14:34:16 -07:00
Zuul
1ffe514621 Merge "Ensure v*password auth_type correctly implies auth version" 2023-03-24 18:02:58 +00:00
Zuul
fe013f7417 Merge "trivial: Refactor os_options processing" 2023-03-24 18:02:57 +00:00
Tim Burke
ee952c1bf2 Ensure v*password auth_type correctly implies auth version
Change-Id: I787b0988b7518850f1e1f93ca269f39f8cdec15c
2023-03-23 20:32:23 -07:00
Tim Burke
825145e9e6 trivial: Refactor os_options processing
Change-Id: I01c096084172ea8ebeda791016a603c59c7924cd
2023-03-23 20:32:23 -07:00
Tim Burke
9c45343845 shell: Allow uploads from stdin to specify --use-dlo
Change-Id: Id6818ab416380242cc215a980a541fc59109c69c
2023-03-23 09:05:45 -07:00
Zuul
31c279ff0e Merge "Use SLO by default for segmented uploads if the cluster supports it" 2023-03-22 16:00:44 +00:00
Zuul
cd82d15506 Merge "docs: Fix code-generated docs" 2023-03-21 20:28:45 +00:00
Tim Burke
f96c3cff5c docs: Fix code-generated docs
Skip multithreading since some upstream docstrings have invalid ReST.

Change-Id: I682238b8307e5a2f9bd7607676749497cd6d4261
2023-03-21 13:07:04 -07:00
Tim Burke
6a8675e897 Use SLO by default for segmented uploads if the cluster supports it
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
2023-03-21 12:46:44 -07:00
Zuul
62641a2f49 Merge "Retry on SSLError" 2023-03-21 19:37:06 +00:00
Tim Burke
9e703b9345 shell: Allow timeouts to have units
Related-Change: Ibbe7e5aa8aa8e54935da76109c2ea13fb83bc7ab
Change-Id: Ifeaaea790d1dadc84b157a7cf2be7590949c70f0
2023-03-20 17:23:38 -07:00
Tim Burke
099dd66265 Retry on SSLError
...provided it isn't something to do with certification validation.

Closes-Bug: #1641363
Closes-Bug: #2011731
Change-Id: Ic3acbf431e444fcd8bc0fe79571fe2db4140cf22
2023-03-20 16:57:15 -07:00
Zuul
779cf7484e Merge "Metadata updates" 2023-03-20 16:27:40 +00:00
Tim Burke
d368644bc6 Metadata updates
Include project_urls so PyPI gets more sidebar links.

Include long_description_content_type to quiet a twine warning.

Change-Id: Id3b90927ba24fd47efdbeeb2107bdae9e86e93ba
2023-03-17 16:47:34 -07:00
Tim Burke
e343298240 Include transaction ID on content-check failures
Change-Id: I6b667db26ffc5dccdcadfc8c73f7accb81f03dac
2023-03-15 12:37:02 -07:00
Zuul
d572ccfae9 Merge "service: Check content-length before etag" 2023-03-15 11:30:08 +00:00
Tim Burke
6adb8bb17f service: Check content-length before etag
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
2023-03-14 11:56:03 -07:00
Tim Burke
16f0034e67 Switch from pkg_resources to importlib
Seen on Arch Linux:

    ModuleNotFoundError: No module named 'pkg_resources'

On new enough Python, we don't need it anyway.

Change-Id: I3d46319a36a1c2477e9f7dae0c7e40a362a17639
2023-03-14 10:41:52 -07:00
Zuul
0f2b567953 Merge "Update master for stable/2023.1" 2023-03-08 01:28:04 +00:00
cf3be5210f Update master for stable/2023.1
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
2023-03-06 12:07:00 -08:00
Tim Burke
ff6b359d06 Retry with fresh socket on 499
Change-Id: I0c22eefb587375997672724c03744c9cda473708
2023-02-15 21:01:07 -08:00
Zuul
7bd0951086 Merge "Back-fill a bunch of ChangeLog releases" 4.2.0 2023-01-25 23:16:58 +00:00
Zuul
d2a4a9d37d Merge "Switch to 2023.1 Python3 unit tests and generic template name" 2023-01-25 23:16:56 +00:00
Zuul
716cda9b56 Merge "Allow tempurl to be used to sign /info requests" 2023-01-25 23:13:43 +00:00
Tim Burke
6954ab1bbb Back-fill a bunch of ChangeLog releases
Change-Id: I3d89c3ff3d2789d64ba8f9c46fd1cd27c4c3a845
2023-01-06 12:05:14 -08:00
Tim Burke
20cee12be6 Add experimental jobs for py36/37
Change-Id: I6452aa6019d66da21dd512a6b4267a896d4893d4
2023-01-05 17:47:25 -08:00
Tim Burke
7a83087a52 Mark Python 3.10 testing as voting
Change-Id: I4743973e34ef1fcba9e5b64e32b2f1f458de75ba
2023-01-05 17:45:20 -08:00
Tim Burke
3264fd6cfd Drop *_proxy from passenv
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
2023-01-05 16:58:36 -08:00
d9d6257e3b Switch to 2023.1 Python3 unit tests and generic template name
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
2022-09-14 09:26:21 +00:00
7f4855dd1b Update master for stable/zed
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
2022-09-10 23:06:44 +09:00
Tim Burke
f4e62191bc Allow tempurl to be used to sign /info requests
Change-Id: I1f9d26541e9c8f5aec7a6790c87df397d178efe6
2022-08-29 13:13:34 -07:00