9b521fe800ed3984169d37e9772674867745fede
Commit Graph

3153 Commits

This Branch
This Branch
All Branches
Author SHA1 Message Date
John Dickinson
9b521fe800 CHANGELOG and AUTHORS updates for 1.10.0 release
Change-Id: Iaf8d289c5ddb6ac778243a5e1fc27600bade6feb
2013年10月08日 23:58:13 -07:00
Jenkins
022ad52213 Merge "allow container create even if over account quota" 2013年10月09日 05:33:26 +00:00
Jenkins
62982779af Merge "Fix utf-8 handling in object versions." 2013年10月09日 01:41:05 +00:00
Jenkins
49d24e7e48 Merge "Revert "Refactor common/utils methods to common/ondisk"" 2013年10月09日 01:40:55 +00:00
Jenkins
f7d0f27368 Merge "Don't apply timeout to Pool.get operation (leaks)" 2013年10月09日 01:31:22 +00:00
Clay Gerrard
221aa9edd3 allow container create even if over account quota
Change-Id: I07278bc3314c26426ff0557fe2f5c69c02d6550c
2013年10月08日 15:51:50 -07:00
Jenkins
55d0eb6c47 Merge "Two small account-quota fixes" 2013年10月08日 21:36:50 +00:00
Aaron Rosen
841b8082ce Correct URL in readme
doc.openstack.org -> docs.openstack.org
Change-Id: Iacadb8f70cb94adc002c562a1068ff38be19a9fc
2013年10月07日 22:27:34 -07:00
Jenkins
3206132339 Merge "Stop reading from object server when client disconnects." 2013年10月07日 22:30:13 +00:00
Peter Portante
6607beab0d Don't apply timeout to Pool.get operation (leaks)
The connection timeout to a memcache server is performed by using the
"with Timeout()" construct over the sock.connect() call in the
.create() method. In addition, the same construct was being applied to
the Pool.get() call in ._get_conns().
If the maximum number of connections was already created, and the
Pool.get() called took longer than the connect timeout, then the error
handling path would add a place holder to the connection
pool. Eventlet's Pool class allows for additional items to be added to
the pool, over and above the max_size setting. This additional place
holder will eventually be pulled and a new connection created to take
its place.
The fix is to remove the timeout construct in the _get_conns() method.
In addition, we also apply the unit test patch mentioned in the review
comments for Patch Set 6 of https://review.openstack.org/45134,
located at http://paste.openstack.org/show/47288/.
Fixes bug 1235027
Change-Id: I786cabefe3e8ddf7d92feb7ebc7cfb613d60a1da
Signed-off-by: Peter Portante <peter.portante@redhat.com>
2013年10月07日 17:49:52 -04:00
Peter Portante
9411a24ba7 Revert "Refactor common/utils methods to common/ondisk"
This reverts commit 7760f41c3c
Change-Id: I95e57a2563784a8cd5e995cc826afeac0eadbe62
Signed-off-by: Peter Portante <peter.portante@redhat.com>
2013年10月07日 17:18:09 -04:00
Jenkins
111ebb9a4b Merge "Fix bad hash_path reference" 2013年10月07日 21:08:13 +00:00
Jenkins
0b594bc3af Merge "Change OpenStack LLC to Foundation" 2013年10月07日 16:09:37 +00:00
Jenkins
22372eadfe Merge "Fix default replication options for ring-builder add" 2013年10月07日 16:09:34 +00:00
Jenkins
65fc1492f6 Merge "assertEquals is deprecated, use assertEqual" 2013年10月07日 15:57:19 +00:00
Peter Portante
61e135e211 Fix bad hash_path reference
Mea culpa: these two scripts were missed in commit:
 https://review.openstack.org/46956
Fixes bug 1235441
Change-Id: I4303bc808448a79bddbb991526b0cca26150b392
Signed-off-by: Peter Portante <peter.portante@redhat.com>
2013年10月07日 11:18:28 -04:00
Jenkins
30d8ff3ccc Merge "Fedora 19: need to use /etc/rc.d/rc.local" 2013年10月07日 06:44:19 +00:00
Jenkins
95b5d6f443 Merge "Remove sphinx build warnings" 2013年10月07日 06:43:54 +00:00
Peter Portante
3d8f0f1805 Fedora 19: need to use /etc/rc.d/rc.local
Change-Id: I80e9a4c40ff99ec09a8eeef935447c6393ea78ec
Signed-off-by: Peter Portante <peter.portante@redhat.com>
2013年10月03日 11:36:31 -04:00
Peter Portante
db4547d01d Remove sphinx build warnings
Change-Id: Ic34bbd9cc65d96ea9b8434be7b54e5bcfae28b63
Signed-off-by: Peter Portante <peter.portante@redhat.com>
2013年10月03日 11:21:26 -04:00
Samuel Merritt
def37fb56a Stop reading from object server when client disconnects.
If a client were in the middle of an object GET request and then
disconnected, the proxy would wait a while (default 60s) and then time
out the connection. As part of the teardown for this, the proxy would
attempt to close the connection to the object server, then drain any
associated buffers. However, this didn't work particularly well,
resulting in the proxy reading the entire remainder of the object for
no gain.
Now, the proxy closes the connection hard, by calling .close() on the
underlying socket._socket object. This is different from calling
.close() on a socket._socketobject object, which is what you get back
from socket.socket() and similar methods. Calling .close() on a
socket._socketobject simply decrements a reference counter on the
socket._socket, which has been observed in the past to result in
socket leaks when something holds onto a reference. However, calling
.close() on a socket._socket actually closes the socket regardless of
who else has a reference to it.
I had to delete a test assertion that said the object server never got
SIGPIPE after a GET w/X-Newest. Well, you get a SIGPIPE when you write
to a closed socket, and now the proxy is actually closing the sockets
early, so now you *do* get a SIGPIPE.
closes-bug: 1174660
Note that this will cause a regression on bug 1037337; unfortunately,
the cure is worse than the disease, so out it goes.
Change-Id: I9c7a2e7fdb8b4232e53ea96f86b50e8d34c27221
2013年10月02日 15:57:24 -07:00
Jenkins
34340ddf49 Merge "Add "note" box callouts to SAIO for user changes." 2013年10月02日 22:33:53 +00:00
Jenkins
c7d521bc6e Merge "Simplify object path when reporting SLO put errors" 2013年10月02日 22:33:38 +00:00
Jenkins
fb0c438f6c Merge "Allow slightly older dnspython (>= 1.9.4)." 2013年10月02日 21:47:26 +00:00
Jenkins
9dc0886bc6 Merge "Pool memcache connections" 2013年10月02日 21:46:23 +00:00
Dirk Mueller
6b67952442 assertEquals is deprecated, use assertEqual
The very same functionality for fewer keystrokes.
Change-Id: I8c9513412f398132db5636fdfb7bf8301e8443cf
2013年10月02日 21:27:40 +02:00
Clay Gerrard
02e247c1b3 Add "note" box callouts to SAIO for user changes.
The SAIO is purpously cut into two parts, so that you don't have to switch
back and forth between root and your unprivledged user. Add some "note" box
callouts to highlight this changeover.
Change-Id: I8b1a8f0539eac60d4121bdd4dab01df75ecca207
2013年10月02日 11:39:35 -07:00
Samuel Merritt
062a67b07d Allow slightly older dnspython (>= 1.9.4).
This has a couple benefits.
First, it means Ubuntu Precise users can just install python-dnspython
from packages instead of having to pull one in from source. This
should also fix an install error with new SAIO boxes where running
"python setup.py develop" fails unless a satisfactory dnspython is
already installed.
Second, it matches the dnspython dependency in the global
requirements. This means that the gates are already running with this
dnspython dependency, and it means our requirements.txt is one step
closer to being a subset of the global requirements.txt, which is
important to some people.
Change-Id: I5d58f488e1e4c4139c9fb20d89f386cab1537e98
2013年10月02日 09:57:34 -07:00
Jenkins
9b9e50cec0 Merge "Set path_info in sub_slo manifest GET requests" 2013年10月02日 06:46:00 +00:00
Chuck Thier
ae8470131e Pool memcache connections
This creates a pool to each memcache server so that connections will not
grow without bound. This also adds a proxy config
"max_memcache_connections" which can control how many connections are
available in the pool.
A side effect of the change is that we had to change the memcache calls
that used noreply, and instead wait for the result of the request.
Leaving with noreply could cause a race condition (specifically in
account auto create), due to one request calling `memcache.del(key)` and
then `memcache.get(key)` with a different pooled connection. If the
delete didn't complete fast enough, the get would return the old value
before it was deleted, and thus believe that the account was not
autocreated.
ClaysMindExploded
DocImpact
Change-Id: I350720b7bba29e1453894d3d4105ac1ea232595b
2013年10月02日 02:08:04 +00:00
Jenkins
fe69cab3fd Merge "Fedora 19 updates" 2013年10月01日 17:41:18 +00:00
Jenkins
c7a9cb9182 Merge "Move location of HTTPException in swift_testing" 2013年10月01日 08:13:07 +00:00
Jenkins
d7bab86619 Merge "Use created container in unit test" 2013年10月01日 05:48:56 +00:00
Peter Portante
e8a07c4ca7 Fedora 19 updates
Change-Id: I95138852e45aa7632218a7107e0e7ba1f6ef373c
Signed-off-by: Peter Portante <peter.portante@redhat.com>
2013年09月30日 10:23:04 -04:00
Brian D. Burns
f9c4eb806f Simplify object path when reporting SLO put errors
When reporting errors for SLO PUT requests, use the object path from the
manifest without the '/vrs/account' prefix. This is a continuation of
the same changes made for SLO/bulk delete requests in 6768d5b.
Change-Id: I40c90cccc1b7b5303d9f2b084dccb3be4f4448d8
2013年09月29日 15:22:05 -04:00
Jenkins
5eea524d3e Merge "bulk delete bug with trailing whitespace" 2013年09月29日 03:15:10 +00:00
Jenkins
9befc70b21 Merge "Install libffi-dev in SAIO docs." 2013年09月28日 21:54:39 +00:00
anc
8ab06eb8cc Set path_info in sub_slo manifest GET requests
The new_req Request object created for fetching
nested sub_slo manifests does not have its
path_info set to the sub_slo path before being
passed to GETorHEAD_base.
The sub manifest GET works fine because
GETorHEAD_base uses its path argument
(not req.path) to set up its connection,
BUT if an exception is thrown,
GETorHEAD_base uses req.path to construct
the log message - so the exception log would
have the wrong path.
Fixes bug 1231872
Change-Id: I0f0f969958f814d8a7053440d9de4e50796169e4
2013年09月27日 10:10:55 +01:00
Kun Huang
4c4a8abaa5 improve bulk document
This a very small change which just tell users request url of bulk
delete request. In original docstrings, it just states the request
parameters, request body and request method but not request url.
Change-Id: I0bbc302a0e072910bb58e4814614d7f761433b10
2013年09月27日 15:27:59 +08:00
David Goetz
df39602c41 bulk delete bug with trailing whitespace
Change-Id: Ia48224a1a187a8ed6b0c9a3c72cac06f084a6fc8
2013年09月26日 11:17:18 -07:00
Jenkins
c1f9f668ee Merge "Update SAIO doc to have double proxy-logging in pipeline." 2013年09月26日 00:27:43 +00:00
Samuel Merritt
d8e0492ea8 Fix internal swift.source tracking.
In 1.8.0 (Grizzly), your proxy logs would indicate which middleware
was responsible for an internal request, e.g. TU for tempurl or BD for
bulk delete. At some point, those all turned into GET_INFO, which does
not give you any idea which specific middleware was responsible, only
that it came from a get_account_info/get_container_info call.
This commit puts it back to how it was in 1.8.0. Also, the
new-since-1.8.0 function get_object_info() got swift_source plumbing
added to it, so source tracking for the quota middlewares'
get_object_info() calls will happen now too.
Note that due to the new-since-1.8.0 in-environment caching of
account/container info, you may not see as many lines in the proxy log
as you would with 1.8.0. This is because there are actually fewer
internal requests being made.
Change-Id: I2b2ff7823c612dc7ed7f268da979c4500bbbe911
2013年09月25日 10:21:56 -07:00
Jenkins
d65cbecb01 Merge "update SLO delete error handling" 2013年09月25日 01:04:20 +00:00
Samuel Merritt
d9d7b2135a Install libffi-dev in SAIO docs.
If you don't, then newer versions of xattr won't install, and since
our xattr requirement is simply ">= 0.4" in requirements.txt, this
affects anyone setting up a new SAIO.
This happened with xattr 0.7, which was released on 2013年07月19日.
Change-Id: Iaf335fa25a2908953d1fd218158ebedf5d01cc27
2013年09月24日 16:54:58 -07:00
Samuel Merritt
ce5e810fed Update SAIO doc to have double proxy-logging in pipeline.
Change-Id: I0a034ca1420761cbf4e35dcea1d9cd18a92f90bd
2013年09月24日 16:54:58 -07:00
Jenkins
bb3f9657f2 Merge "Log x-copy-from when it could be useful" 2013年09月24日 20:36:25 +00:00
Brian Curtin
180cd18da6 Move location of HTTPException in swift_testing
While doing some work around swiftclient Python 3 support, httplib
imports were changed to use six.moves in order to access httplib in Py2
and http.client in Py3. Tests related to those changes are failing
because these functional tests are depending on HTTPException being
a name in swiftclient.client. These tests should acces that name from
its canonical location in httplib (or, eventually, a Py3 friendly
location like six.moves).
Change-Id: I6335d465574045daedab47e5fe23c415d171a83a
2013年09月24日 15:15:00 -05:00
anc
fa308d60bd Fix utf-8 handling in object versions.
Fixes object versioning when object name and/or version
container name contain multibyte utf-8 characters.
When object names containing non-ASCII characters
are PUT multiple times into a container with an
x-versions-location set, subsequent DELETE of the
object results in a 500 response status.
When the versions container name contains
non-ASCII characters the first delete of an object
succeeds but fails to restore previous version of
object, so second delete incorrectly returns 404.
Fixes bug 1229142
Change-Id: I425440f76b8328f8e119d390bfa4c7022181e89e
2013年09月24日 17:18:58 +01:00
Peter Portante
4e8b2ffc2e Use created container in unit test
Change-Id: I2573be1ac14f65b8008611edf940363b31c8d86e
Signed-off-by: Peter Portante <peter.portante@redhat.com>
2013年09月24日 02:29:54 -04:00
Samuel Merritt
d5fcc9aaf3 Two small account-quota fixes
First: even if a user has exceeded their account quota, they should be
able to make object POST requests. Updating an object's metadata isn't
going to make them any more over quota, so should be allowed.
Second: don't bother with the reseller_admin check for container or
object requests. If I send the header X-Account-Meta-Quota-Bytes: 100
on e.g. an object PUT request, the proxy will (rightly) ignore it. Now
account-quotas does too.
Change-Id: I970a76349659acdd8229a324bd33bfe7fe7261a4
2013年09月23日 10:05:34 -07:00