a064fa4227c4960052e2089d2b05bc684706f13e
Commit Graph

2270 Commits

This Branch
This Branch
All Branches
Author SHA1 Message Date
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
2012年12月12日 17:31:04 -06:00
Jenkins
1135c9e256 Merge "Allow dot test runners from any dir" 2012年12月11日 22:07:22 +00:00
Jenkins
8b770aa55e Merge "Add config option to turn eventlet debug on/off" 2012年12月10日 20:37:31 +00:00
Jenkins
a6ee9b446d Merge "capture resetswift output in probetests" 2012年12月10日 17:19:04 +00:00
Jenkins
1619cee011 Merge "Add config of server start timeouts for probetests" 2012年12月10日 17:14:49 +00:00
Jenkins
067335a6e7 Merge "Add dispersion report flags to limit reports" 2012年12月10日 16:49:33 +00:00
Chuck Thier
4c6a354483 Add config option to turn eventlet debug on/off
By default, this will be turned off. This will cause eventlet to not
print stack traces to stderr which can be very annoying on production
systems. It is still recommended to turn it on for development or
debuging purposes.
DocImpact
Change-Id: I5e5b902d3d9ed85f784549e53f2ee2fc87cbe2e5
2012年12月10日 10:22:09 -06:00
Florian Hines
e474dfb720 Add dispersion report flags to limit reports
- Add two optional flags that let you limit swift-dispersion-report to only
reporting on containers OR objects.
- Also make dispersion.conf and swift-dispersion-report manpages
 current.
DocImpact
Change-Id: Iad56133cad261241db27d0e2103098e3c2f3c245
2012年12月09日 18:20:08 -06:00
clayg
3a70112d03 Add config of server start timeouts for probetests
Currently the timeout for a wsgi server successfully binding to a port
and for a probetest background service to finish starting are hard coded
to 30 seconds. While a reasonable default for most configurations, a
small virtualized environment may need a little more time in order for
probe tests to complete successfully.
This patch adds a 'bind_timeout' option to the DEFAULT section of the
main wsgi servers' config. Also a new [probe_test] section and
'check_server_timeout' option to test.conf
DocImpact
Change-Id: Ibcaff153c7633bbf32e460fd9dbf04932eddb56f
2012年12月07日 14:47:08 -08:00
clayg
1f83f007e8 Allow dot test runners from any dir
Currently the .*test files in the source tree root seem to assume you're
in that directory when you run them. This change should work exactly
the same except for removing that restriction.
Change-Id: I9b037016490dd6d5b515cb2c3cad2f99ee40bb6d
2012年12月07日 14:08:49 -08:00
clayg
b852f2274b capture resetswift output in probetests
This change makes the dots prettier during probetests
When calling the resetswift script, the probetests will use subprocess
to redirect stderr to stdout and capture stdout into a buffer. We print
the captured buffer from resetswift's combined stdout/stderr and let
nosetests stdout capturing handle printing the output for debug only if a
test fails.
Change-Id: I022512f2ef5a4c43b0e49264bad1bca98c1f0299
2012年12月06日 22:34:28 -08:00
Jenkins
13937ad696 Merge "bp/cross-tenant-acls: allow tenantId:user, tenantName:user, and *:user ALCs" 2012年12月05日 19:48:24 +00:00
Jenkins
7e8959ff0a Merge "drop_privileges should also set HOME" 2012年12月04日 20:08:29 +00:00
Jenkins
db6d62a162 Merge "Allow optional, temporary healthcheck failure." 2012年12月04日 19:43:50 +00:00
Darrell Bishop
b8e3e9e1c2 Allow optional, temporary healthcheck failure.
A deployer may want to remove a Swift node from a load balancer for
maintenance or upgrade. This patch provides an optional mechanism for
this. The healthcheck filter config can specify "disable_path" which is
a filesystem path. If a file is present at that location, the
healthcheck middleware returns a 503 with a body of "DISABLED BY FILE".
So a deployer can configure "disable_path" and then touch that
filesystem path, wait for the proxy to be removed from the load balancer
pool, perform maintenance/upgrade, and then remove the "disable_path"
file.
Also cleaned up the conf file man pages a bit.
Change-Id: I1759c78c74910a54c720f298d4d8e6fa57a4dab4
2012年12月04日 09:14:27 -08:00
Peter Portante
37da61bf30 Ignore pycscope files
Change-Id: I5fe38f28896d086e56ba9e718b02227d87dd4a2d
Signed-off-by: Peter Portante <peter.portante@redhat.com>
2012年12月04日 11:17:38 -05:00
Eugene Kirpichov
772da0a004 drop_privileges should also set HOME
E.g. if HOME is not set, swift-proxy will create the
keystone_signing file not in HOME but in /root.
This is because the swift user doesn't have a shell
in /etc/passwd and so it doesn't set environment variables
when impersonating.
Change-Id: I3013007e0dadf6ddccc176e142b7c78c5d63a351
2012年12月04日 12:13:27 +00:00
Jenkins
8a6922b73e Merge "406 if we can't satisfy Accept" 2012年12月03日 23:20:10 +00:00
Jenkins
4f617f49b6 Merge "Added --top option to swift-recon -d" 2012年12月03日 21:39:26 +00:00
Michael Barton
064ee2b583 406 if we can't satisfy Accept
The container and account servers should respond with 406 if the Accept header
isn't satisfiable. This behavior is defined in RFC 2616 section 14.1.
Change-Id: I8a67ccafe33dc70ef4f7794686a54fbc8581f4dc
2012年12月03日 11:42:37 -08:00
Jenkins
4ac6904793 Merge "Improve container-sync docs." 2012年12月01日 00:55:44 +00:00
Guang Yee
795acd40f1 bp/cross-tenant-acls: allow tenantId:user, tenantName:user, and *:user ALCs
Change-Id: I7cfe77b3f03172814814f2e2bae04a3ae184efb0
2012年11月30日 13:53:00 -08:00
gholt
6743e4d57f Swob bugfixes; for ? in names specifically
It was discovered that uploading items with ? in their names (encoded
with %3F of course) made Swob fail in that it trimmed off everything
after the ? as if it were a query string.
Change-Id: Ie686db9a2177aafad2e77c307ffc3f446646fbb5
2012年11月30日 21:31:21 +00:00
gholt
18f755a287 Added --top option to swift-recon -d
When showing the disk usage dispersion graph it is often useful to
know what those top full drives are so you can do further research.
Now you can run 'swift-recon -d --top 10' to list the top ten devices
by fullness after the usual dispersion graph.
Change-Id: I7ddb2141e55e0613f69750fabe544940192c2d48
2012年11月29日 22:18:18 +00:00
Jenkins
871f552ab6 Merge "Updates to use new keystoneclient middleware." 2012年11月29日 20:34:28 +00:00
Jenkins
a830b6ffc9 Merge "Fix for container sync not syncing last rowid" 2012年11月29日 20:21:45 +00:00
Jenkins
02429858de Merge "Fix bug with swob.Request.path_info_pop" 2012年11月28日 23:11:13 +00:00
Dan Prince
abcd872394 Updates to use new keystoneclient middleware.
Updates the proxy-server.conf-sample and docs to use
the new Keystoneclient middleware class name.
Change-Id: I3727f7b7328a2513347b8ef257c270126df36d7b
2012年11月28日 16:08:05 -05:00
Jenkins
da8578fdde Merge "Upgrade pep8 to 1.3.3." 2012年11月28日 20:46:13 +00:00
gholt
4063123e3c Fix bug with swob.Request.path_info_pop
path_info_pop didn't behave as the webob one did with single segment
paths like /one and with root-only paths /
Now it should.
Change-Id: Ib88344de386ab9e8975e7f48c1afc47731992ee2
2012年11月28日 00:08:26 +00:00
Jenkins
0b00d0dbce Merge "added GoLang binding and CDMI to associated projects" 2012年11月27日 19:23:04 +00:00
John Dickinson
46f26b3034 added GoLang binding and CDMI to associated projects
Change-Id: I720a0e0e886d25eec52556e8ce93bf9c49f6b452
2012年11月27日 09:49:56 -08:00
Jason Johnson
48ebd6732e Replace hard-coded test accounts with user-configured values
Change-Id: I824ba5f231e252b923abc895f757137855a93d3a
2012年11月27日 10:39:12 -06:00
Samuel Merritt
35f4d29ed6 Upgrade pep8 to 1.3.3.
This required a bunch of whitespace-poking of the scripts in bin, but
that's all. Now every file in swift/ and bin/ is pep8-1.3.3-compliant,
so hopefully we can be done with this pep8 stuff for a good long time.
Change-Id: I44fdb41d219c57400a4c396ab7eb0ffa9dcd8db8
2012年11月26日 18:15:21 -08:00
Jenkins
2ad23a25e8 Merge "pep8 db.py" 2012年11月26日 23:59:00 +00:00
Jenkins
67201c3159 Merge "pep8 direct client" 2012年11月26日 23:58:16 +00:00
Samuel Merritt
89a871d42f Improve container-sync docs.
Two improvements: first, document that the container-sync process
connects to the remote cluster's proxy server, so outbound
connectivity is required.
Second, rewrite the behind-the-scenes container-sync example and add
some ASCII-art diagrams.
Fixes bug 1068430.
Bonus fix of docstring in wsgi.py to squelch a sphinx warning.
Change-Id: I85bd56c2bd14431e13f7c57a43852777f14014fb
2012年11月21日 14:59:26 -08:00
Samuel Merritt
fdf55c2817 Add CONTRIBUTING file.
If the CONTRIBUTING[.md] file exists, Github will show a link to it to
anyone who files an issue on Github or opens a pull request on
Github. We don't want people to do that, so this file points people at
the OpenStack wiki page with instructions on how to contribute
properly. This should cut down on the number of pull requests and
Github issues that we then have to spend our valuable time ignoring.
See also <https://github.com/blog/1184-contributing-guidelines>.
Change-Id: Icd23b65c642c5ae748ca1f7f397e2c8d63173492
2012年11月21日 11:23:15 -08:00
Jenkins
2fc9716ec9 Merge "pep8 middleware" 2012年11月21日 00:08:53 +00:00
John Dickinson
1f7be20a91 pep8 middleware
Change-Id: Ieef65f05e66b12347752c0e02648858e3242d8e7
2012年11月20日 14:51:55 -08:00
John Dickinson
c46033a9a7 pep8 db.py
Change-Id: I2ae277b6f435f56549560684697486b56d24d46d
2012年11月20日 14:32:37 -08:00
John Dickinson
3aab2488b2 pep8 direct client
Change-Id: I1ed6afe4336c238044174c93ae1e0078fbcef971
2012年11月20日 14:21:14 -08:00
John Dickinson
f74ef1e396 pep8 utils.py
Change-Id: I0466fd2a462e94e5a1e0f88adf901de9f5ac131d
2012年11月20日 14:16:17 -08:00
Dan Hersam
923b8b95c3 Fix for container sync not syncing last rowid
Bug 1079439
Change-Id: I1985a7176f34931ecb0f24c0289f18df5e934598
2012年11月19日 23:09:17 +00:00
Jenkins
cb55f0c3a8 Merge "Fix lazy-listing of object segments." 2012年11月19日 15:28:20 +00:00
Samuel Merritt
357b12dc2b Remove IP-based container-sync ACLs from auth middlewares.
The determination of the client IP looked at the X-Cluster-Client-Ip
and X-Forwarded-For headers in the incoming HTTP request. This is
trivially spoofable by a malicious client, so there's no security
gained by having the check there.
Worse, having the check there provides a false sense of security to
cluster operators. It sounds like it's based on the client IP, so an
attacker would have to do IP spoofing to defeat it. However, it's
really just a shared secret, and there's already a secret key set
up. Basically, it looks like 2-factor auth (IP+key), but it's really
1-factor (key).
Now, the one case where this might provide some security is where the
Swift cluster is behind an external load balancer that strips off the
X-Cluster-Client-Ip and X-Forwarded-For headers and substitutes its
own. I don't think it's worth the tradeoff, hence this commit.
Fixes bug 1068420 for very small values of "fixes".
DocImpact
Change-Id: I2bef64c2e1e4df8a612a5531a35721202deb6964
2012年11月16日 18:47:06 -08:00
Jenkins
d13869e64b Merge "Refactor DiskFile to hide temp file names and exts" 2012年11月16日 22:58:39 +00:00
Jenkins
ac7829f370 Merge "check response status in WSGIContext._app_call" 2012年11月16日 22:36:59 +00:00
Jenkins
4e2ffff606 Merge "Use a delta timeout for memcache where possible" 2012年11月16日 22:36:01 +00:00
Samuel Merritt
83bbd0aef2 Fix lazy-listing of object segments.
When responding to a GET request for a manifest, it was intended that
the proxy server lazily fetch the pieces of the container
listing. That way, a single client request doesn't immediately turn
into a bunch of requests to backends. The additional requests should
only get made if the client is putting in the work of receiving the
object body.
However, commit 156f27c accidentally changed this so that all the
pieces of the container listing are eagerly fetched up-front. Better
yet, if an object has more than CONTAINER_LISTING_LIMIT (default
10,000) segments, the container listing is then fetched a second time,
albeit lazily, while streaming out the response.
This commit restores the laziness and adds tests for it.
Change-Id: I49840a7059e6f999ce19199ecb10cdb77358526b
2012年11月16日 13:12:58 -08:00