make_requests requires a list of headers but _make_request needs
just headers dictionary (not a list).
Change-Id: Iaf7ba32de3702bf2189f41e42041b561c9d1b57b
The link to the ubuntu installation guide was incorrect and 404'ing.
This change updates page to point (anchor) to the install guide
section of docs.openstack.org, so it will always point to the latest
versions of the install documentation.
It also updates the deep links to the current install guides for the
past few releases.
As links continue to get outdated or we forget to add new ones, the
anchor link at the top of the page will probably still work.
Change-Id: I38299c03370936eb41992a953aa9d10b01a8396b
Closes-Bug: #1147331
Make the sample test config project for tester5 be test5
to match the configured account in proxy-server.conf-sample.
That way the sample test config will work if uncommented.
Change-Id: I57144fe153775de51c950cfc101fcdf34dfac5e8
Probetests discovered two issues with the current state of the
object-replicator as a result of the attempts to clean up changes
related to efficient cross-region replication.
Known failures are:
* rsync replication when configured with no sync_method in the config
fails to clean up a handoff partition
* ssync replication when there is only one region fails to cleanup a
handoff partition
In both cases the path resulting in the failure moved through the
implicit else clause (dangling elif) of the partition cleanup code path.
In the ssync case the failure came form a miss on the first if branch
when delete_objs would be None if there is no remote regions. In the
rsync case the failure came from a miss on the second elif condition
when looking for an entry in the conf dict and not setting a default.
This change adds unittests for both failures that should fail in a
reasonable way against master without requiring a probetest run against
other configs, as well as rephrasing the logic in the partition cleanup
handling to try and make the logic flow more explicit.
Change-Id: Ic59d998a3e36a3eb3e509d9fdf7096e812281357
I don't think we need to backoff after a 401 - we have a perfectly valid
response telling us exactly what we should do so we can do that right away and
move on.
Assuming you run functional tests at least once a day, according to
http://xkcd.com/1205/ and my benchmarks you can spend roughly a full day
reviewing this change and still come out ahead.
Change-Id: I27c42c4ee3254eb32aad4d3dac08b16b3a43d611
Our functional tests are skipping Account ACL tests when using tempauth
because it does not register itself with in swift.common.utils._swift_info
Add the register_swift_info call back to the filter_factory function in the
tempauth from which it was removed, and add a test to validate creating the
filter will add the middleware to global info dict.
Change-Id: I3761da3241601c93245796beb5d29bf3f36d69f6
This patch validates the server end points on the ring. And also generates
a report on issues found.
Change-Id: I913799a35d5c9178164021cfb7fcb448141b058b
Crypto middleware needs to arrange for alternative
values of etag and content-type to be sent to container
servers with updates, since these will be encrypted with
a different key than the etag and content-type stored on
the object server.
Erasure coding apparently needs a similar capability.
This patch modifies the object server to overwrite the etag
and content-type values in the container update headers with
values that may optionally be specified by middleware in
X-Backend-Container-Update-Override-* headers.
Using the X-Backend- prefix ensures that these headers
cannot be sent or seen by clients.
A new probe test verifies the propagation of override
values from an internal client through the proxy, to
object server, to container server and then returned
in a container listing.
Change-Id: I7d846ed54ff173d08c66c6d5b0ecf7dff27f5a87
PEP 333 says that the WSGI framework will call .close() on the
iterator returned by a WSGI application once it's done, provided such
a method exists. So, if our code wraps an iterator, then we have to
call .close() on it once we're done with it. proxy_logging wasn't.
Since WSGIContext gets it right, I looked at making proxy_logging use
WSGIContext. However, WSGIContext is all about forcing the first chunk
out of the iterator so that it can capture the final HTTP status and
headers; it doesn't help if you want to look at every chunk.
proxy_logging wants every chunk so it can count the bytes sent.
This didn't hurt anything in Swift, but pconstantine was complaining
in IRC that our failure to call .close() was goofing up some other
middleware he had.
Change-Id: Ic6ea0795ccef6cda2b5c6737697ef7d58eac9ab4
The target development platform has changed to Ubuntu 14.04 [1].
This patch makes the suggested SAIO platform the same.
Also, remove pointer to wiki page for other platform install
instructions that either redirects back to this SAIO doc or
to another wike page and then a dead link.
[1] I0a96bcf692bb240f3ab5aab7fefd294a07735a83
DocImpact
Change-Id: I9f96104b5437c1f1f28f924c048ef83cf03338f4
If the used tool to send header doesn't support empty headers (older versions
of curl), x-remove can be used to remove metadata.
sync-key and sync-to metadata, used by container-sync, can now be removed using
x-remove headers.
Change-Id: I0edb4d5425a99d20a973aa4fceaf9af6c2ddecc0
Current code might delete local handoff objects incorrectly
when remote node requires whole of the objects at poking
because empty cand_objs won't be applied to the delete candidate
objects list.
This patch ensures the delete candidate objects list always
will be updated (i.e. it will be empty list when the poke job
find whole local objects are required by remote), and then,
handle deleting objects correctly according to the delete
candidate.
This patch includes a test written by Clay Gerrard at [1].
Co-Authored-By: Clay Gerrard <clay.gerrard@gmail.com>
1: https://review.openstack.org/#/c/155542/
Change-Id: Ie8f75ed65c7bfefbb18ddccd9fe0e41b72dca0a4
* move get_to_final_state into ProbeTest
* get rid of kill_servers
* add replicators manager and updaters manager to ProbeTest
(this is all going someplace, i promise)
Change-Id: I8393a2ebc0d04051cae48cc3c49580f70818dbf2