83d89228a984abaf2271160d3c2010e5be56a8f8
2370 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
Jenkins
|
4a909cf33b | Merge "swob refactors needed for sos" | ||
|
Jenkins
|
d69509a779 | Merge "Fixed bug in object replicator" | ||
|
Jenkins
|
eff1862b73 | Merge "consistency and grammatical tweaks" | ||
|
David Goetz
|
c8b28ba4f4 |
swob refactors needed for sos
Change-Id: I839c2af9e524f712e6fbeb8bf74d860af1d243e2 |
||
|
Samuel Merritt
|
6ff644b945 |
Allow for multiple X-(Account|Container)-* headers.
When the number of account/container or container/object replicas are different, Swift had a few misbehaviors. This commit fixes them. * On an object PUT/POST/DELETE, if there were 3 object replicas and only 2 container replicas, then only 2 requests would be made to object servers. Now, 3 requests will be made, but the third won't have any X-Container-* headers in it. * On an object PUT/POST/DELETE, if there were 3 object replicas and 4 container replicas, then only 3/4 container servers would receive immediate updates; the fourth would be ignored. Now one of the object servers will receive multiple (comma-separated) values in the X-Container-* headers and it will attempt to contact both of them. One side effect is that multiple async_pendings may be written for updates to the same object. They'll have differing timestamps, though, so all but the newest will be deleted unread. To trigger this behavior, you have to have more container replicas than object replicas, 2 or more of the container servers must be down, and the headers sent to one object server must reference 2 or more down container servers; it's unlikely enough and the consequences are so minor that it didn't seem worth fixing. The situation with account/containers is analogous, only without the async_pendings. Change-Id: I98bc2de93fb6b2346d6de1d764213d7563653e8d |
||
|
Jenkins
|
7e62056fd5 | Merge "Some optimizations for ring rebalancing." | ||
|
Jenkins
|
c9f9ac1648 | Merge "Add container-sync to container-server.conf doc." | ||
|
Jenkins
|
586076fddf | Merge "Make object-auditor to use one logger" | ||
|
Hodong Hwang
|
d46f90e17a |
Make object-auditor to use one logger
This commit makes that AuditorWorker gets a logger from ObjectAuditor class (instead of creating new one) so the auditor uses minimum unix-sockets. Fixes: bug #1089215 Change-Id: Ia47d862cbe7505db821784b01fcce6f22196e79f |
||
|
Darrell Bishop
|
0bba07111f |
Some optimizations for ring rebalancing.
For a part-power 18 ring with a small number of devices (12), this drops "swift-ring-builder ... rebalance" from ~7.2 seconds to ~3.6s on OS X with Python 2.7 (2.7 GHz i7 processor). Under the profiler, that part-power 18 rebalance now spends only slightly more time rebalancing the ring than it does writing out the results. I haven't done more extensive before/after comparison with larger numbers of devices and larger part-power values... Change-Id: I25735bc71da2f11617cc436d4f8e0c4f3f82bfec |
||
|
Chmouel Boudjnah
|
0df6fe817d |
Add container-sync to container-server.conf doc.
- In howto install multi nodes container-sync was not included in the config example. Change-Id: I2682d47c5cae28ff321ba03d70dae2fea00c276f |
||
|
Jenkins
|
d904fd4c0f | Merge "swift-recon: Added oldest and most recent repl" | ||
|
Jenkins
|
34bda97aa0 | Merge "Reject names with NULL characters" | ||
|
gholt
|
95d5cf851b |
Fixed bug in object replicator
If the object replicator couldn't create a device's object directory (due to permissions or whatever) it wouldn't do any work at all. This fixes that. Change-Id: I6a30439d036b29c9cfdb660428d13668e0dc8632 |
||
|
gholt
|
592d895e31 |
Reject names with NULL characters
Unfortunately, SQLite truncates strings with null characters. Additionally, XML pretty much hates them too. Change-Id: Id9a8eaa27b841db6350d6959c202d3e3d6462b35 |
||
|
gholt
|
a88b412e17 |
swift-recon: Added oldest and most recent repl
I've been doing this with cluster-wide log searches for far too long. This adds support for reporting the oldest replication pass completion as well as the most recent. This is quite useful for finding those odd replicators that have hung up for some reason and need intervention. Change-Id: I7fd7260eca162d6b085f3e82aaa3cf90670f2d53 |
||
|
gholt
|
46c5b098f8 |
Fixed version req for netifaces to 0.5
Change-Id: Ic1c67ced0169658c9aa7f78ed09bf24863cc9fb6 |
||
|
Darrell Bishop
|
e2929ec58a |
Fix HEAD request response when request not given to response.
If a middleware (swift3, I'm looking at you), doesn't pass a Request object into the Response constructor, Response._response_iter cannot know to send zero bytes in the body of the HEAD response. This patch fixes this usage of swob by making Response.__call__ helpfully reify self.request from env if it wasn't already set by the Response object's constructor. This fixes a bug in swift3 + swob-enabled-Swift where HEAD requests to swift3 resulted in a response with a body in violation of the relevant RFC and confusing clients. Thanks to kostecky for finding the bug and describing it accurately. Change-Id: I2bdb098052b161e1cddf1e4e482ab4dfafeb18c0 |
||
|
Cory Wright
|
c69e130df5 |
consistency and grammatical tweaks
Change-Id: I0a1dc9e07f246db3e294f5c62f4ffbd3560b0afd |
||
|
Jenkins
|
b8626f9667 | Merge "Allow actual paths to work for swift-get-nodes" | ||
|
David Goetz
|
ded504600f |
Allow actual paths to work for swift-get-nodes
Change-Id: I29f9ab73c8ca2a3c52247fb92ef951dd5b5246cb |
||
|
Jenkins
|
6e9b1a52a5 | Merge "Check whether poll is available or not and let eventlet chose the best hub when it isn't." | ||
|
Flaper Fesp
|
b155da424a |
Check whether poll is available or not and let eventlet chose the best
hub when it isn't. Change-Id: I5fb05a71e8c62d84cee1da9ea05f67ffbad18b9d |
||
|
John Dickinson
|
dc8d0e0692 |
Functional tests use x-auth-token rather than x-storage-token
This change allows other auth systems to test against the functests but not require them to support x-storage-token (which was deprecated before swift was even open-sourced). All other places in the code where x-storage-token is used is only to populate x-auth-token if x-auth-token doesn't already exist. Change-Id: Ie903d0f7135fc643353b74a61c14becf7dfc4d9d |
||
|
Jenkins
|
6b8ae93f2e | Merge "saio truncate instead of dd (for reals)" | ||
|
Jenkins
|
9c80093e08 | Merge "Fix for subtle bug from 5c8f9c52e3f2944f01cea621326532e058a225f7" | ||
|
gholt
|
5f19ccf28f |
Fix for subtle bug from 5c8f9c52e3
Change-Id: If2bd1d4a850936b2e575a96073c116a8b9522602 |
||
|
Jenkins
|
0d6fb2e0c2 | Merge "Move InputProxy to utils" | ||
|
Michael Barton
|
c37954d935 |
saio truncate instead of dd (for reals)
Changing that complex dd to a functionally equivalent truncate that's easier to read and modify. DocImpact Change-Id: I64404318364608e62a1d80f6a0550271eb4cd03a |
||
|
Jenkins
|
c1964e5f6a | Merge "Revert "suggest fallocate instead of dd in saio"" | ||
|
Jenkins
|
032f44859a | Merge "Fixes console logging with non-swift middleware" | ||
|
Michael Barton
|
5d5b262be8 |
Revert "suggest fallocate instead of dd in saio"
Change-Id: I3742c4580d920e09de434e86b75b134c62f1732e |
||
|
Julien Danjou
|
6df28545ff |
Move InputProxy to utils
This class is being used at least by Ceilometer in its Swift middleware, and since it's a general one anyway, it looks good to move it to common.utils. This is a follow-up to Chmouel suggestion in https://review.openstack.org/#/c/18231 Change-Id: I8d0ed8600c4152b91be9a88a3b396c3967d0add2 Signed-off-by: Julien Danjou <julien@danjou.info> |
||
|
Chuck Thier
|
53ed90beef |
Fixes console logging with non-swift middleware
Fixes logging if logging to the console with non-swift middleware (such as keystone) enabled. This also fixes issues with swift in devstack Change-Id: Ib8b691b62b657a6d4ecdb1648d1fc2f3a0479982 |
||
|
Michael Barton
|
e81ca8daf3 |
suggest fallocate instead of dd in saio
Change-Id: I4d5ba8e58216749c2858dc1c0b8225b3619a7287 |
||
|
Dan Prince
|
97f79b9dda |
Convert LICENSE to use unix style line endings.
Ran dos2unix on LICENSE to convert to unit style line endings. This makes building packages which contain the LICENSE file a bit nicer... and matches other LICENSE files under the openstack umbrella which have unix style line endings as well. Change-Id: Id724d1ba402a590725a2d200f5e0599bce696e5a |
||
|
Jenkins
|
74038dccbb | Merge "Refactor Ring::get_nodes() and Ring::get_part_nodes()" | ||
|
Jenkins
|
9543a71376 | Merge "Use install_requires in setup.py" | ||
|
Wu Wenxiang
|
b85f69ed70 |
Refactor Ring::get_nodes() and Ring::get_part_nodes()
Add a _get_part_nodes() method in Ring class, then call it in Ring::get_nodes() and Ring::get_part_nodes(). In order to reduce duplicate codes. Change-Id: Id92f8dfd08388305638a2ba2ab64e77545c14cba |
||
|
Jenkins
|
c840bd44a7 | Merge "Made 507s report drive, if known." | ||
|
gholt
|
52a2a65ed4 |
Made 507s report drive, if known.
This functionality was lost with the swob change, but is back now. Change-Id: I13b3154080a7c601235711b274e4899efb6adc93 |
||
|
gholt
|
4fcbeff22f |
Added override for swift-init's KILL_WAIT
You can now give swift-init a -k N (or --kill-wait N) option to override the default 15 second wait for a process to die after sending it the die signal. This is useful for boxes that are awfully slow for whatever reason. DocImpact Change-Id: I328ec254f6e0ee1cd423c1d062ba4c5331bd8337 |
||
|
David Goetz
|
2a9bf20065 |
one dot, 5% increase in coverage
Change-Id: I1a2d603be983aa3291d22f7258437ee264e6c559 |
||
|
Jenkins
|
7f6099707c | Merge "Fix needed for keystone middleware logging" | ||
|
Jenkins
|
2ed1d3ba41 | Merge "Fix permissions from last commit" | ||
|
gholt
|
9302c5ffc1 |
Fix permissions from last commit
Change-Id: I3bad8c2995d4daf1e7798fae2c59b409608cbc45 |
||
|
clayg
|
3dbc1a9b9c |
document correct config in dispersion-report help
The --help message of swift-dispersion-report used to say /etc/swift/stats.conf instead of the correct and consistent /etc/swift/dispersion.conf - this change updates that commandline help message. Change-Id: I69ad64d31bb86eb0d36fcf5b17aa8bf42f646ed1 |
||
|
Sascha Peilicke
|
08a110bdbc |
Add a license header to functionalnosetests
Change-Id: I413d8bb9cbdea1f67ab2649ab0cc4a05a7a65883 |
||
|
Chuck Thier
|
a064fa4227 |
Fix needed for keystone middleware logging
This is required for a fix in keystone middleware to log to the proxy logs. Since the keystone middleware doesn't initialize the log with swift.commong.utils.config_logger, it doesn't have the server and transaction id setup. This is required to fix bug #1089664 Change-Id: Icbb44076495a4d56065445c7a4d972ebede5d1e0 |
||
|
Julien Danjou
|
dcff5ff516 |
Use install_requires in setup.py
Using install_requires makes sure that if some code is using Swift internal and wants to require Swift, all its dependencies have been already pulled. This is really useful on test automation for example, otherwise, code might be failing because on of the module listed in pip-requires is not instaled. Also, we change the pip-requires files to use >= rather than ==, so the requirements are easily fulfiled with distribution provided packages. Change-Id: I65814bcd8ce798da21a5c17b4d5916a23f59e962 Signed-off-by: Julien Danjou <julien@danjou.info> |