83528de7432cca17b3a03367422f9342c4a336b5
10741 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
OpenStack Proposal Bot
|
815fb9c6e7 |
Imported Translations from Zanata
For more information about this automatic import see: https://docs.openstack.org/i18n/latest/reviewing-translation-import.html Change-Id: I0e73e5548efbf93e433507b63fb41e34148b81a2 |
||
|
Takashi Natsume
|
29b0e478a7 |
Replace deprecated datetime.utcfromtimestamp()
The datetime.utcfromtimestamp() is deprecated in Python 3.12. Replace datetime.utcfromtimestamp() with datetime.fromtimestamp(). Change-Id: I01d6b94de394413aa13a045ab2c36504e65a6f5a Signed-off-by: Takashi Natsume <takanattie@gmail.com> |
||
|
Zuul
|
4807999749 | Merge "func tests: fix etag-quoter insertion in pipeline" | ||
|
Zuul
|
b0138f3a7b | Merge "trivial: remove print from functional tests" | ||
|
Alistair Coles
|
6e4ecfc5dc |
proxy: fix is_useful_response for py2
py2 http responses don't have a 'headers' attribute, so don't try to use it. Unfortunately the unit test infrastructure's FakeConn class does have a 'headers' attribute (whose value doesn't match the result of calling its 'getheaders()' method!), so this bug was not caught by tests in the Related-Change. Related-Change: I96f28ab0b2b5f9374c399e8905ee240e7b093f8b Change-Id: I2cd820280b8c69cafc5730183903c9d379d8dde5 |
||
|
Alistair Coles
|
86081b7822 |
func tests: fix etag-quoter insertion in pipeline
Previously the in-process functional test setup attempted to insert etag-quoter in the proxy pipeline by replacing the substring 'cache listing_formats' with 'cache etag-quoter listing_formats'. However, the pipeline had already been modified to have 'cache domain-remap listing_formats', so the etag-quoter replacement failed silently. This patch modifies the etag-quoter replacement to match just 'cache'. Some helper functions are also introduced to make the pipeline modification more uniform and to consistently verify the intended modifications have been achieved, or otherwise raise an exception. Change-Id: I640837a4da985bcbe48f9ae5eeb56385b11034eb |
||
|
Alistair Coles
|
81547cb67d |
trivial: remove print from functional tests
A print statement, presumably for debugging, crept in with the Related-Change. Change-Id: I0cccb960b51446a3aa58be95c8c9d06cc6b6eada Related-Change: I69974cc8a39731c980b54137b799a36b2e63a44a |
||
|
Zuul
|
94dc4cad09 | Merge "Quiten boto logging in func tests" | ||
|
Alistair Coles
|
60c0ab2ea0 |
Quiten boto logging in func tests
Some s3api functional tests were setting boto logging level to DEBUG, which results in a very large amount of logging output from the test runner, including large request bodies. This makes it extremely hard to inspect test output. This patch makes the quiet_boto_logging context manager revert the logger level to its original value rather than indiscriminately leaving it set to DEBUG. Change-Id: I1dd9603adf9a19e89da5a461d3c6810a3432ae46 |
||
|
ashnair
|
e3e43ae2a6 |
manage py36 constraints for swift
Maintaining testing requirements for our py36 gate jobs since we have been remiss in updating them regularly. This will help us test swift which operators might be running. Change-Id: I58fa780460f7ac84a02d508fd95770bada991326 |
||
|
Tim Burke
|
95b7e16c7f |
CI: Include --domain in more openstack commands
Related-Bug: #2080600 Change-Id: Id5b0bf6efcb2c16e10334d2edb268194fa1ec008 |
||
| e0a9ea496e |
Update master for stable/2024.2
Add file to the reno documentation build to show release notes for stable/2024.2. Use pbr instruction to increment the minor version number automatically so that master versions are higher than the versions on stable/2024.2. Sem-Ver: feature Change-Id: I9a384cc42eecc5ffd6f24fa58653a672190017df |
|||
|
Tim Burke
|
14fb7df578 |
CI: Bump up ARM timeouts
We used to have a fairly bimodal distribution of successful ARM test times: roughly 2/3 of the time, tests would take 800-1800s (~15-30min), and 1/3 of the time they would take more like 2000-5400s (~30-90min). Starting around August, the bimodal distribution is gone, with only the longer expected test times remaining. Timeouts have increased, leaving the ARM jobs frequently failing spuriously. Increase the timeouts to get better signal from the tests. Change-Id: I56165dc6d877bd9e56d7160dd28c6c60f339d730 |
||
|
Tim Burke
|
0e41e17900 |
AUTHORS/CHANGELOG for 2.34.0
Change-Id: I374abcdd93664322cb440cd083f1ea4edf04d7302.34.0 |
||
|
Alistair Coles
|
ffdf962598 |
object-expirer: fix unused _make_internal_client arg
The RelatedChange introduced a _make_internal_client() method with an unused argument 'is_legacy_conf'. This patch completes the original intention i.e. for the selection of internal client config path to also be moved to the new method and use the 'is_legacy_conf' arg. Change-Id: I5075cb446a15edc7f47e83f6aa038c626bd1dd82 RelatedChange: Ia6e1e6a8b58a8476fa16a3c7d45e620c6d7f88e4 |
||
|
Zuul
|
6f7687b23c | Merge "trivial: Use already-parsed a/c/o" | ||
|
Zuul
|
8efb333872 | Merge "diskfile: Treat EUCLEAN like ENODATA" | ||
|
Zuul
|
98eb28d510 | Merge "utils: paths with empty components are invalid" | ||
|
Zuul
|
5726778ab6 | Merge "functest: add checks for quota count API" | ||
|
Tim Burke
|
f7db1ec3cf |
CI: use private IPs for multinode tests
If the nodepool provider uses NAT'd floating IPs, the public IP won't actually be available locally for binding. This has caused a bunch of failures on raxflex lately. Change-Id: I5669a814377242e9939a09a42bb36642358b85b3 |
||
|
Zuul
|
146bfeb643 | Merge "proxy-logging: Clean up some timing assertions" | ||
|
Chris Smart
|
112423f59c |
functest: add checks for quota count API
The account quota middleware was missing tests for the new quota count API and it was also only testing the legacy API for quota bytes. This adds the new APIs quota bytes and quota count to the functional tests. Change-Id: I6ebb19c90dfb1cfbe0535ed3860f2319e5153c05 |
||
|
Tim Burke
|
d405465b32 |
trivial: Use already-parsed a/c/o
We don't need to go counting slashes or catching IndexErrors; we've already done all the path-parsing we need to do. This also makes it clear that stat_type can never be None. Change-Id: I25f91b1943b91c7429219c3b5a4280abe9bef5b3 |
||
|
Tim Burke
|
015cbaac86 |
utils: paths with empty components are invalid
Note that you can still have a "//" in the path with rest_with_last, though. Change-Id: I171afcd67b162634189b752ff92a4f43484bc12a |
||
|
Tim Burke
|
7be25604db |
proxy-logging: Clean up some timing assertions
Related-Change: I526bbcc59c9eb5923c3784d5d06bc38998cb48db Change-Id: I820339934f895557ebcde4bb32168b0cfc494948 |
||
|
Daanish Khan
|
4eefae2482 |
account_quota: migrate quota_bytes and quota_count to the sysmeta namespace
Account quota metadata such as quota_bytes and quota_count are stored in the `meta` namespace which users have access to. However, this should be only available to reseller admins. This patch adds support for writing the quota metadata to `sysmeta` namespace, so that it is not accessible by users. The account policy quota is already using `sysmeta` and has the namespace `X-Account-Quota-*`, so we are following this pattern. If present, `X-Account-Quota-Bytes` is always preferred. However, in order to maintain backwards compatibility, `X-Account-Meta-Quota-Bytes` will still be honoured if it exists and `X-Account-Quota-Bytes` is not present. This also adds some new "legacy" tests to validate backwards compatibility. Co-authored-by: Azmain Adib <adib1905@gmail.com> Co-authored-by: Daanish Khan <daanish1337@gmail.com> Co-authored-by: Mohammed Al-Jawaheri <mjawaheri02@gmail.com> Co-authored-by: Nada El-Mestkawy <nadamaged05@gmail.com> Co-authored-by: Tra Bui <trabui.0517@gmail.com> Co-authored-by: Chris Smart <distroguy@gmail.com> Change-Id: Icf7b26023ab5b84136ceaa103fa2797534320f1a |
||
|
Tim Burke
|
cd0fe25da1 |
account_quotas: Fix X-Remove-Account-Quota-Bytes-Policy-<name>
Previously, this would reduce the account's quota to zero, which seems like the opposite of what the operator intended. Now, remove the quota, similar to sending an empty quota header. Change-Id: Ic28752d835e0b970f2baa4e68cbfcde4f500b3d4 |
||
|
Tim Burke
|
cd288b183d |
tests: Functionally test account quotas
Change-Id: Ied0ff6bea7e054fad3fe9579c85d9ae5c9c0b255 |
||
|
Zuul
|
99e1c019b5 | Merge "common: Stop translating a bunch of printed messages and exceptions" | ||
|
Zuul
|
349d225085 | Merge "common: Stop translating log messages" | ||
|
Zuul
|
48e087b1cc | Merge "object-expirer: refactor creating InternalClient" | ||
|
Zuul
|
27103f04ec | Merge "Remove legacy bin/ scripts" | ||
|
Zuul
|
e9557f3d4b | Merge "Fix proxy logging api version" | ||
|
Zuul
|
dd19613cc2 | Merge "s3api: Clean up some errors" | ||
|
Zuul
|
aa04c3eb9c | Merge "Ignore 404s from handoffs when choosing response code" | ||
|
Tim Burke
|
7bf2797799 |
s3api: Clean up some errors
- SHA256 mismatches should trip XAmzContentSHA256Mismatch errors, not BadDigest. This should include ClientComputedContentSHA256 and S3ComputedContentSHA256 elements. - BadDigest responses should include ExpectedDigest elements. - Fix a typo in InvalidDigest error message. - Requests with a v4 authorization header require a sha256 header, rejecting with InvalidRequest on failure (and pretty darn early!). - Requests with a v4 authorization header perform a looks-like-a-valid-sha256 check, rejecting with InvalidArgument on failure. - Invalid SHA256 should take precedence over invalid MD5. - v2-signed requests can still raise XAmzContentSHA256Mismatch errors (though they *don't* do the looks-like-a-valid-sha256 check). - If provided, SHA256 should be used in calculating canonical request for v4 pre-signed URLs. Change-Id: I06c2a16126886bab8807d704294b9809844be086 |
||
|
Chinemerem
|
f277b2e9b1 |
Add Chinemerem to AUTHORS
Change-Id: I45113d38c9f3d523fb6f3a02adc0f3856da6aaaf |
||
|
Zuul
|
ec8166be33 | Merge "tests: Attempt to use configured tmp in xprofile tests" | ||
|
Tim Burke
|
5e07963548 |
diskfile: Treat EUCLEAN like ENODATA
Found a new way filesystems can break in prod: object-auditor: ERROR Trying to audit .../7a7c4af06d2616f23eda274e2ad9c948: Traceback (most recent call last): File ".../swift/obj/diskfile.py", line 2630, in open files = os.listdir(self._datadir) OSError: [Errno 117] Structure needs cleaning: .../7a7c4af06d2616f23eda274e2ad9c948 During handling of the above exception, another exception occurred: Traceback (most recent call last): File ".../swift/obj/auditor.py", line 238, in failsafe_object_audit self.object_audit(location) File ".../swift/obj/auditor.py", line 261, in object_audit with df.open(modernize=True): File ".../swift/obj/diskfile.py", line 2657, in open "Error listing directory %s: %s" % (self._datadir, err)) swift.common.exceptions.DiskFileError: Error listing directory .../7a7c4af06d2616f23eda274e2ad9c948: [Errno 117] Structure needs cleaning: '.../7a7c4af06d2616f23eda274e2ad9c948' Change-Id: If6731a6b6b16fbc4eebb61254ed10b53e1767a0f |
||
|
Matthew Oliver
|
becb3ffc1a |
tests: Attempt to use configured tmp in xprofile tests
My home server has more strict controls on /tmp as it run selinux etc. When running unittests and the default log_filename_prefix deep under /tmp gets permission denied. It would be better to override this setting in the tests with a good known tmp location Change-Id: I6c95ca3a0045a8f268802c6abb633bdfb0e56b73 |
||
|
Zuul
|
6a0153f545 | Merge "docs: Simplify reload-process-tree SVGs" | ||
|
Tim Burke
|
6ac294b626 |
common: Stop translating a bunch of printed messages and exceptions
Change-Id: I666758fd153cf36a4a2314b5bd50f6cbdb8d7f07 |
||
|
Tim Burke
|
4d888fb13a |
common: Stop translating log messages
Change-Id: I128a64c6126014774bf6218502e6bfdea63b783f Partial-Bug: #1674543 |
||
|
Tim Burke
|
2e11ac32da |
docs: Simplify reload-process-tree SVGs
Those were so unwieldy as to be uneditable before. Change-Id: Ic9f4a0ea6b8e18e1624c516890ab69884a299773 |
||
|
Zuul
|
769baae36e | Merge "account info: Add --sync/-s option" | ||
|
Zuul
|
7cbbee49c9 | Merge "sharder: rename state to db_state when it's the DB state" | ||
|
Yan Xiao
|
26de169ad3 |
Fix proxy logging api version
Change-Id: If5793d1b18cf8f35b8f98206f029f6cc6ca0cf1e |
||
|
Alistair Coles
|
d0f6a0ce56 |
Ignore 404s from handoffs when choosing response code
Previously, when handling an object POST, if the proxy got a 202 and two connection timeouts from the 3 primary backend object servers, it then went to two handoffs which return 404. The proxy would consider this to be a quorum of 404s and return the client a 404 response. This is alarming for the client. With this patch, the proxy will only treat a 404 response from a handoff as authoritative if it has an x-backend-timestamp header (i.e. there's a tombstone on the handoff). POST responses never have an x-backend-timestamp header so in the scenario described above the proxy will return a 503. The Related-Change previously made a similar fix such that 404s from handoffs are already non-authoritative for object GETs and HEADs unless they have an x-backend-timestamp header. Related-Change: Ia832e9bab13167948f01bc50aa8a61974ce189fb Cloeses-Bug: #2077743 Change-Id: I96f28ab0b2b5f9374c399e8905ee240e7b093f8b |
||
|
Alistair Coles
|
92eebe24c6 |
Improve test coverage for proxy object DELETE and POST
Add unit tests for the proxy object controller to cover object DELETE and POST scenarios. Change-Id: I625a4cf03ee9d4a270d60fa2dc9795b36bb36bf1 |
||
|
Alistair Coles
|
87bf4bf5da |
sharder: rename state to db_state when it's the DB state
Sharding involves both container DB state transitions and ShardRange state transitions. To avoid confusion, always use db_state as the var name when referring to the container DB state value. Change-Id: Iaaf494fd4e02017005cb3811b673f967bd6b5e1d |