4f9595f1130f6c45f8e3e08db55dddc31844be93
Commit Graph

8273 Commits

This Branch
This Branch
All Branches
Author SHA1 Message Date
Matthew Oliver
4f9595f113 py3: port symlink middleware
This patch ports the symlink middleware to py3.
The middleware itself seems to be mostly fine and most changes
are in the symlink unit tests.
Change-Id: I973c2e1bb8969cf6bffece8ce68881c393efbaef
2019年05月30日 11:44:42 -07:00
Zuul
2be7dcd850 Merge "Modify the version path URL of the configuration file" 2019年05月29日 23:32:24 +00:00
Zuul
854a72facf Merge "S3Api: handle non-ASCII markers in v1 listings." 2019年05月29日 23:32:20 +00:00
Zuul
769c0fb7fb Merge "Rework private-request-method interface" 2019年05月24日 20:06:00 +00:00
Zuul
657b022689 Merge "py3: port diskfile" 2019年05月24日 02:38:09 +00:00
Zuul
5a42544bed Merge "Clean up test_write_read_metadata" 2019年05月24日 02:38:05 +00:00
Zuul
36648cd2e2 Merge "Add more tests for async expirer" 2019年05月23日 09:25:50 +00:00
Zuul
a4159b7501 Merge "Add operator tool to async-delete some or all objects in a container" 2019年05月23日 09:25:48 +00:00
Zuul
f83072fd20 Merge "Specify pickle protocol in REPLICATE()" 2019年05月23日 09:25:46 +00:00
zengjia
2c4f284055 Modify the version path URL of the configuration file
In the main branch, I think it is necessary to modify
the configuration file path in the document as the
main branch path, and to change the path to a stable
version when the version is released.
Change-Id: Ib1bc4c59ed4c7624782b8b1cdea20847c14c90bf
2019年05月23日 10:53:31 +08:00
Tim Burke
ff04ef05cd Rework private-request-method interface
Instead of taking a X-Backend-Allow-Method that *must match* the
REQUEST_METHOD, take a truish X-Backend-Allow-Private-Methods and
expand the set of allowed methods. This allows us to also expose
the full list of available private methods when returning a 405.
Drive-By: make async-delete tests a little more robust:
 * check that end_marker and prefix are preserved on subsequent
 listings
 * check that objects with a leading slash are correctly handled
Change-Id: I5542623f16e0b5a0d728a6706343809e50743f73
2019年05月22日 16:36:50 -07:00
Clay Gerrard
04c8015b88 Add more tests for async expirer
Related-Change-Id: Ia13ee5da3d1b5c536eccaadc7a6fdcd997374443
Change-Id: Ic70eb61b32b196d356c9a3b40a22807456c7b0f2
2019年05月22日 16:24:05 -05:00
Zuul
1adde2fba5 Merge "Controller install Debian missing proxy-server.conf configuration" 2019年05月22日 21:09:36 +00:00
Tim Burke
40bd9f16a3 py3: port diskfile
Change-Id: Ie73f9df460f9014014168d6e60767e66b24d30b0
2019年05月22日 13:25:54 -07:00
Tim Burke
8868e2cd50 Clean up test_write_read_metadata
I'm pretty sure I botched the intent of the test when I touched it in
https://github.com/openstack/swift/commit/36c4297
As a side-effect, clean up a warning on py2:
 UnicodeWarning: Unicode equal comparison failed to convert
 both arguments to Unicode - interpreting them as being unequal
Change-Id: I4da8264f85e688bc5109016c197378ca6dfe06a5
2019年05月22日 13:25:28 -07:00
Tim Burke
83d0161991 Add operator tool to async-delete some or all objects in a container
Adds a tool, swift-container-deleter, that takes an account/container
and optional prefix, marker, and/or end-marker; spins up an internal
client; makes listing requests against the container; and pushes the
found objects into the object-expirer queue with a special
application/async-deleted content-type.
In order to do this enqueuing efficiently, a new internal-to-the-cluster
container method is introduced: UPDATE. It takes a JSON list of object
entries and runs them through merge_items.
The object-expirer is updated to look for work items with this
content-type and skip the X-If-Deleted-At check that it would normally
do.
Note that the target-container's listing will continue to show the
objects until data is actually deleted, bypassing some of the concerns
raised in the related change about clearing out a container entirely and
then deleting it.
Change-Id: Ia13ee5da3d1b5c536eccaadc7a6fdcd997374443
Related-Change: I50e403dee75585fc1ff2bb385d6b2d2f13653cf8
2019年05月22日 13:22:50 -07:00
Alexandre Lécuyer
4927b1f29c Specify pickle protocol in REPLICATE()
The default pickle protocol in python3 is version 3. This is not
readable by a python2 interpreter.
Force the use of version 2 in the object server REPLICATE() function,
for compatibility with python 2.
Change-Id: I19d23570ff3a084d288de1308e059cfd8134d6ad
2019年05月22日 13:12:32 -07:00
zengjia
61a4567a8d Controller install Debian missing proxy-server.conf configuration
Missing proxy-server.conf configuration document for installing
control nodes in Debian
Change-Id: I174ba8841ed638732bcf933602c25aad8e62f0ca
2019年05月22日 14:55:16 +08:00
Zuul
b4c8cf192a Merge "Fix quarantine when object path is not a directory" 2019年05月22日 05:59:43 +00:00
Zuul
720979e3f1 Merge "py3: port expirer" 2019年05月22日 05:59:41 +00:00
Zuul
5be0e9ff09 Merge "Start transition to boto3 in s3api tests." 2019年05月22日 05:25:13 +00:00
Zuul
aac771875b Merge "Make test_read_write_acl_listings more robust" 2019年05月21日 23:08:21 +00:00
Alexandre Lécuyer
6008b0a83f Fix quarantine when object path is not a directory
In the diskfile module, there are a couple of cases where we would
quarantine the suffix dir if a single object within is not a directory.
Change the code so that we quarantine only the object.
Change-Id: I35eb16f568c00d973eb089aedd0e5a5619c25a2f
2019年05月21日 15:10:56 -07:00
Timur Alperovich
d4e7940457 Start transition to boto3 in s3api tests.
Adds the scaffolding required for tests to use boto3 and converts the
test_bucket.py tests to the new interface. Follow on patches will
convert the other tests to use the boto3 library.
Notable changes: we no longer try to reach for the equivalent of
`boto.make_request()` and instead rely on the boto3/botocore event
system to mutate requests as necessary (or to disable pre-flight
validators).
Partial-Bug: 1557260
Change-Id: I3d77ef4a6b878c49ebfa0c8b8647d7199d87601e
2019年05月21日 22:10:20 +00:00
Zuul
aa4bc848c1 Merge "Add py37 func test job" 2019年05月20日 20:34:52 +00:00
Zuul
f17b9d2e24 Merge "Be explicit that a code path is just for py2" 2019年05月18日 17:49:23 +00:00
Zuul
72a0115514 Merge "Get functional/tests.py running under py3" 2019年05月18日 07:33:03 +00:00
Pete Zaitcev
bd8c3067b4 py3: slo
This adds wsgi_to_str(self.path_info) everywhere we forgot it,
not only in the slo module itself.
Dropping the body=''.join(body) after call_slo() is obvious:
the latter only returns strings of bytes, not lists of such.
Change-Id: I6b4d87e4cda4945bc128dbc9c1edd39e736a59d2
2019年05月17日 17:57:23 -05:00
Zuul
f1a0eccab9 Merge "py3: bulk -- alternate approach" 2019年05月17日 22:49:10 +00:00
Zuul
f1e2a21efe Merge "Wait longer for log lines in unit test" 2019年05月17日 18:30:23 +00:00
Tim Burke
ad034023f3 Be explicit that a code path is just for py2
Change-Id: I7d0345a712f71e76034910fa7bb2bbaf42b4d2ff
2019年05月17日 10:30:21 -07:00
Zuul
b38dd29a97 Merge "Make build/upload/promote image jobs non-voting" 2019年05月17日 17:27:31 +00:00
Zuul
3b76c717aa Merge "Set Content-Type with s3api metadata updates." 2019年05月17日 02:55:09 +00:00
Tim Burke
add5a411ac Make build/upload/promote image jobs non-voting
Change-Id: If284513ead5ff0d7f9e997ebf2a8820c9acf79e3
2019年05月15日 15:39:25 -07:00
Tim Burke
bec2cccd43 py3: port expirer
Change-Id: Ib5aeda94fe9b165f54ad7412d68d71b62e427a40
2019年05月14日 17:10:54 -07:00
Timur Alperovich
8b64381371 Set Content-Type with s3api metadata updates.
S3 supports two metadata operations on object copy: COPY and REPLACE.
When using REPLACE, the Content-Type should be set to the one supplied
by the caller. When using COPY, the existing object's Content-Type value
is used.
Change-Id: Ic7c6278dedef308c9219eb45751abfa5655f144f
Closes-Bug: #1828907 
2019年05月14日 09:48:47 -07:00
Tim Burke
5cd2a2ac2f py3: bulk -- alternate approach
Related-Change: I3603247e0c36299de2107aa8e494a3f87647696f
Change-Id: Iaf14c1ab3e236e6774492ed711fccef066a16fca
2019年05月13日 20:08:50 -05:00
Tim Burke
51e415b749 py3: port proxy/test_mem_server.py
This finishes the proxy unit tests.
Change-Id: I2452e4e4dabef071bfbf376d03ec63211f7c2906
2019年05月08日 17:47:40 -07:00
Tim Burke
8b3d0a6c64 py3: finish porting proxy/test_server.py
Change-Id: I8287db75b4f19581203360c646e72f64fe45f170
2019年05月08日 17:47:40 -07:00
Tim Burke
4f4456561f Add py37 func test job
Make a new func-py3 tox env that will use whatever version of py3 is
available, and set up a new check/gate job that runs it under py37.
Change-Id: I1ef233276697be994494ed858e88ce97634f814e
2019年05月08日 17:44:03 -07:00
Tim Burke
506279235d Get functional/tests.py running under py3
Note that you need a pretty recent eventlet to pick up
https://github.com/eventlet/eventlet/commit/f0bc79e
Change-Id: I6b006b972e7431c406039f4e0f6890a8f74a4432
2019年05月08日 17:44:03 -07:00
Tim Burke
259224f009 py3: port unit/proxy/test_server.py
All except the versioned_writes tests, which are hairy.
Change-Id: Ieb54869f93a70c8887d33bd2ad46cf04a190d896
2019年05月08日 15:59:06 -07:00
Timur Alperovich
dade632b0f S3Api: handle non-ASCII markers in v1 listings.
Added a test for S3 v1 listings that use URL encoding and have non-ASCII
characters. In the process discovered that the XML schema for
ListBucketResult had a small problem: Delimiter and EncodingType needed
to be reordered.
Change-Id: Ib3124ea079a73a577b86de97657603a64b16f965
2019年05月08日 12:17:38 -07:00
Thiago da Silva
032cf3b3b4 Update docker secret.
Removed trailing newline
Change-Id: I8b100b8213d6efde67b0452ce988bc47c830a2e2
2019年05月08日 11:20:53 -04:00
Zuul
4343c253e4 Merge "Add Dockerfile to build a SAIO container image" 2019年05月08日 04:24:27 +00:00
Zuul
e85dda286e Merge "Require logger passed to broker in unit tests for account-reaper" 2019年05月07日 21:55:49 +00:00
Thiago da Silva
37e257913c Add Dockerfile to build a SAIO container image
Added Dockerfile and configuration files under the
new `docker` directory to build a Swift All in One container
image.
The primary goal of this container image is to provide
application developers with a Swift/S3 endpoint that can be
tested against during the development cycle.
Added Zuul jobs to build docker container
Change-Id: Ib10975a1862a4fa8c4eeaba139837cf1f22b272a
2019年05月07日 15:44:00 -04:00
Zuul
4473fd9ba1 Merge "py3: port unit/proxy/test_sysmeta.py" 2019年05月07日 19:17:31 +00:00
Zuul
f9898ec8f3 Merge "[Trivial fix]Remove unnecessary slash" 2019年05月07日 11:27:51 +00:00
Takashi Kajinami
211cf3983c Require logger passed to broker in unit tests for account-reaper
This patch removes default value for logger passed to
faked BrokerClass in some unit tests for account reaper,
to make sure that a logger instance is properly passed
when generation BrokerClass instance.
This patch also removes unnecessory parameter, which is
added to confirm logger passed to broker, but is not
useful in fact.
NOTE: This patch is a follow-up of my previous commit[1]
[1] https://review.opendev.org/#/c/295875/
Change-Id: Ica10e3ac42375c2dc141478e647408df90028ae9
2019年05月07日 00:16:08 +00:00