b22d3c1115609a62b3fce5177be213ed3fa587c5
Commit Graph

1129 Commits

Author SHA1 Message Date
xhancar
b22d3c1115 fix of type error
There was incorrect path starting /home/swift, but /home/<your-user-name> is correct for common users.
Change-Id: Ia81b2119c87dd88417428e55c82dac1ab7c028b3
Closes-Bug: 1741378
2018年01月06日 20:48:10 +00:00
Alistair Coles
582460ecf9 Document that x-delete-after takes precedence over x-delete-at
Change-Id: Ib2483444d3999e13ba83ca2edd3a8ef8e5c48548
2018年01月05日 19:50:50 +00:00
Zuul
507a4fab10 Merge "Represent dispersion worse than one replicanth" 2018年01月03日 07:10:41 +00:00
Clay Gerrard
7013e70ca6 Represent dispersion worse than one replicanth
With a sufficiently undispersed ring it's possible to move an entire
replicas worth of parts and yet the value of dispersion may not get any
better (even though in reality dispersion has dramatically improved).
The problem is dispersion will currently only represent up to one whole
replica worth of parts being undispersed.
However with EC rings it's possible for more than one whole replicas
worth of partitions to be undispersed, in these cases the builder will
require multiple rebalance operations to fully disperse replicas - but
the dispersion value should improve with every rebalance.
N.B. with this change it's possible for rings with a bad dispersion
value to measure as having a significantly smaller dispersion value
after a rebalance (even though they may not have had their dispersion
change) because the total amount of bad dispersion we can measure has
been increased but we're normalizing within a similar range.
Closes-Bug: #1697543
Change-Id: Ifefff0260deac0c3e8b369a1e158686c89936686
2017年12月28日 11:16:17 -08:00
Zuul
0e197467e1 Merge "Fix manpage docs' daemon names" 2017年12月22日 18:15:13 +00:00
Kazuhiro MIYAHARA
17e6950aa0 Fix manpage docs' daemon names
In current manpage docs, some of daemon names for concurrency
explanation is wrong.
This patch fixes the daemon names.
Change-Id: I2a505c9590ee3a3a7e37e8d949a10db36206faec
2017年12月22日 02:18:09 +00:00
Alistair Coles
8df263184b Symlink doc clean up
Cleanup for docs and docstrings.
Related-Change: I838ed71bacb3e33916db8dd42c7880d5bb9f8e18
Change-Id: Ie8de0565dfaca5bd8a5693a75e6ee14ded5b7161
2017年12月14日 20:12:55 +00:00
Robert Francis
99b89aea10 Symlink implementation.
Add a symbolic link ("symlink") object support to Swift. This
object will reference another object. GET and HEAD
requests for a symlink object will operate on the referenced object.
DELETE and PUT requests for a symlink object will operate on the
symlink object, not the referenced object, and will delete or
overwrite it, respectively.
POST requests are *not* forwarded to the referenced object and should
be sent directly. POST requests sent to a symlink object will
result in a 307 Error.
Historical information on symlink design can be found here:
https://github.com/openstack/swift-specs/blob/master/specs/in_progress/symlinks.rst.
https://etherpad.openstack.org/p/swift_symlinks
Co-Authored-By: Thiago da Silva <thiago@redhat.com>
Co-Authored-By: Janie Richling <jrichli@us.ibm.com>
Co-Authored-By: Kazuhiro MIYAHARA <miyahara.kazuhiro@lab.ntt.co.jp>
Co-Authored-By: Kota Tsuyuzaki <tsuyuzaki.kota@lab.ntt.co.jp>
Change-Id: I838ed71bacb3e33916db8dd42c7880d5bb9f8e18
Signed-off-by: Thiago da Silva <thiago@redhat.com>
2017年12月13日 21:26:12 +00:00
Zuul
8230a3e847 Merge "Add --swift-versions option to swift-recon man page" 2017年12月07日 10:48:38 +00:00
Alistair Coles
fc12d63c76 Remove repeated text from deployment guide
Fix what appears to be a cut and paste error.
Change-Id: Iccf97ebbf75c8f97095a4493ea6a8beb074df099
2017年12月06日 10:29:52 -08:00
Alistair Coles
bc2e03d1a6 Add --swift-versions option to swift-recon man page
Related-Change: I3c2e569f0c44168333251bb58bab4b5582e15a45
Change-Id: I9776c0919164e48ac445eacf7d897a23ef8e4572
2017年12月06日 09:11:56 -08:00
Robin Naundorf
4f3abec614 Fix small formatting issue
TrivialFix
Change-Id: Iacd341a1f3dbf43c6fc2ebcf546aed54f866face
2017年11月20日 10:59:05 +01:00
Robin Naundorf
de81861108 Fix formatting of SAIO docs
* Fix formatting error in SAIO docs so that list is displaying
 correct
Change-Id: If88869290252a2c86f60fdf89d78ef4a418ae23d
2017年11月17日 13:30:08 +01:00
Zuul
13e932066c Merge "Add checksum to object extended attributes" 2017年11月06日 19:06:09 +00:00
Samuel Merritt
728b4ba140 Add checksum to object extended attributes
Currently, our integrity checking for objects is pretty weak when it
comes to object metadata. If the extended attributes on a .data or
.meta file get corrupted in such a way that we can still unpickle it,
we don't have anything that detects that.
This could be especially bad with encrypted etags; if the encrypted
etag (X-Object-Sysmeta-Crypto-Etag or whatever it is) gets some bits
flipped, then we'll cheerfully decrypt the cipherjunk into plainjunk,
then send it to the client. Net effect is that the client sees a GET
response with an ETag that doesn't match the MD5 of the object *and*
Swift has no way of detecting and quarantining this object.
Note that, with an unencrypted object, if the ETag metadatum gets
mangled, then the object will be quarantined by the object server or
auditor, whichever notices first.
As part of this commit, I also ripped out some mocking of
getxattr/setxattr in tests. It appears to be there to allow unit tests
to run on systems where /tmp doesn't support xattrs. However, since
the mock is keyed off of inode number and inode numbers get re-used,
there's lots of leakage between different test runs. On a real FS,
unlinking a file and then creating a new one of the same name will
also reset the xattrs; this isn't the case with the mock.
The mock was pretty old; Ubuntu 12.04 and up all support xattrs in
/tmp, and recent Red Hat / CentOS releases do too. The xattr mock was
added in 2011; maybe it was to support Ubuntu Lucid Lynx?
Bonus: now you can pause a test with the debugger, inspect its files
in /tmp, and actually see the xattrs along with the data.
Since this patch now uses a real filesystem for testing filesystem
operations, tests are skipped if the underlying filesystem does not
support setting xattrs (eg tmpfs or more than 4k of xattrs on ext4).
References to "/tmp" have been replaced with calls to
tempfile.gettempdir(). This will allow setting the TMPDIR envvar in
test setup and getting an XFS filesystem instead of ext4 or tmpfs.
THIS PATCH SIGNIFICANTLY CHANGES TESTING ENVIRONMENTS
With this patch, every test environment will require TMPDIR to be
using a filesystem that supports at least 4k of extended attributes.
Neither ext4 nor tempfs support this. XFS is recommended.
So why all the SkipTests? Why not simply raise an error? We still need
the tests to run on the base image for OpenStack's CI system. Since
we were previously mocking out xattr, there wasn't a problem, but we
also weren't actually testing anything. This patch adds functionality
to validate xattr data, so we need to drop the mock.
`test.unit.skip_if_no_xattrs()` is also imported into `test.functional`
so that functional tests can import it from the functional test
namespace.
The related OpenStack CI infrastructure changes are made in
https://review.openstack.org/#/c/394600/.
Co-Authored-By: John Dickinson <me@not.mn>
Change-Id: I98a37c0d451f4960b7a12f648e4405c6c6716808
2017年11月03日 13:30:05 -04:00
Zuul
2596b3ca9d Merge "Let clients request heartbeats during SLO PUTs" 2017年11月03日 16:05:18 +00:00
Tim Burke
77a8a4455d Let clients request heartbeats during SLO PUTs
An SLO PUT requires that we HEAD every referenced object; as a result, it
can be a very time-intensive operation. This makes it difficult as a
client to differentiate between a proxy-server that's still doing work and
one that's crashed but left the socket open.
Now, clients can opt-in to receiving heartbeats during long-running PUTs
by including the query parameter
 heartbeat=on
With heartbeating turned on, the proxy will start its response immediately
with 202 Accepted then send a single whitespace character periodically
until the request completes. At that point, a final summary chunk will be
sent which includes a "Response Status" key indicating success or failure
and (if successful) an "Etag" key indicating the Etag of the resulting SLO.
This mechanism is very similar to the way bulk extractions and deletions
work, and even the way SLO behaves for ?multipart-manifest=delete requests.
Note that this is opt-in: this prevents us from sending the 202 response
to existing clients that may mis-interpret it as an immediate indication
of success.
Co-Authored-By: Alistair Coles <alistairncoles@gmail.com>
Related-Bug: 1718811
Change-Id: I65cee5f629c87364e188aa05a06d563c3849c8f3
2017年11月03日 09:42:48 +00:00
David Rabel
92705bb36b Fix indent in overview_policies.rst
Change-Id: I7f070956d8b996db798837392adfca4483067aea
2017年11月02日 12:39:19 +01:00
Matthew Oliver
449d83fb0c Doc uses alias instead of aliases
The overview_policies doc makes reference to an `alias` option when in
fact the option is `aliases`.
The sample storage policy snippet is correct, it's just incorrect when
listing the possible options.
This change changes the listed option to `aliases`.
Change-Id: Iddf0f19f4d50819ff6abd46e6a1156dc8e4a451d
2017年10月31日 15:55:13 +11:00
Zuul
25db6f317d Merge "Replace replication_one_per_device by custom count" 2017年10月30日 19:46:34 +00:00
HCLTech-SSW
178d7f37cb Added the man page for container-reconciler.conf
Change-Id: Ic7fc6ddca2ab564b31156fa84b362bc9963825f1
Closes-Bug: #1607025 
2017年10月27日 08:43:43 +00:00
Romain LE DISEZ
e199192cae Replace replication_one_per_device by custom count
This commit replaces boolean replication_one_per_device by an integer
replication_concurrency_per_device. The new configuration parameter is
passed to utils.lock_path() which now accept as an argument a limit for
the number of locks that can be acquired for a specific path.
Instead of trying to lock path/.lock, utils.lock_path() now tries to lock
files path/.lock-X, where X is in the range (0, N), N being the limit for
the number of locks allowed for the path. The default value of limit is
set to 1.
Change-Id: I3c3193344c7a57a8a4fc7932d1b10e702efd3572
2017年10月24日 16:17:41 +01:00
Zuul
1e68eaa4f5 Merge "Document keystone role element in container ACL" 2017年10月19日 20:08:27 +00:00
Samuel Merritt
356b110229 Remove swift-temp-url man page.
Commit 250da37a removed bin/swift-temp-url, but left the man page.
Change-Id: Ic518f23678e3c3134f02a46a51a2bcb90d92bdc2
2017年10月18日 15:09:12 -07:00
Jenkins
b70436f91c Merge "Add example to container-sync-realms.conf.5 man page" 2017年10月10日 20:14:17 +00:00
Jenkins
047d8d12fd Merge "Added the man page for container-sync-realms.conf" 2017年10月09日 22:09:19 +00:00
Jenkins
2714024335 Merge "Replace SOSO auth prefix in examples with more-standard AUTH" 2017年10月09日 12:09:54 +00:00
Alistair Coles
8b7f15223c Add example to container-sync-realms.conf.5 man page
Related-Change: I0760ce149e6d74f2b3f1badebac3e36da1ab7e77
Change-Id: I129de42f91d7924c7bcb9952f17fe8a1a10ae219
2017年10月09日 10:07:20 +01:00
HCLTech-SSW
816331155c Added the man page for container-sync-realms.conf
Updated the comments of reviewers.
Change-Id: I0760ce149e6d74f2b3f1badebac3e36da1ab7e77
Closes-Bug: #1607026 
2017年10月09日 09:57:35 +01:00
Jenkins
9a09641a7c Merge "Add cautionary note re delay_reaping in account-server.conf-sample" 2017年09月28日 01:19:33 +00:00
Tim Burke
79905ae794 Replace SOSO auth prefix in examples with more-standard AUTH
Change-Id: I98643d6acf248840a8360f31e446bc8ecb834898
2017年09月27日 23:49:59 +00:00
Alistair Coles
93fc9d2de8 Add cautionary note re delay_reaping in account-server.conf-sample
Change-Id: I2c3eea783321338316eecf467d30ba0b3217256c
Related-Bug: #1514528 
2017年09月27日 22:52:47 +01:00
Alistair Coles
5c76b9e691 Add concurrent_gets to proxy.conf man page
Change-Id: Iab1beff4899d096936c0e5915f3ec32364b3e517
Closes-Bug: #1559347 
2017年09月27日 14:11:14 +01:00
Thiago da Silva
69a90dcd75 Remove reference to EC being in beta
Closes-Bug: #1719095
Change-Id: I8051895987bf72c8095e72b5a521042a13993174
Signed-off-by: Thiago da Silva <thiago@redhat.com>
2017年09月25日 13:27:50 -04:00
Jenkins
23de16b0bf Merge "Move listing formatting out to proxy middleware" 2017年09月20日 01:15:28 +00:00
Jenkins
3fda32470b Merge "Remove all post_as_copy related code and configes" 2017年09月19日 19:19:00 +00:00
Kota Tsuyuzaki
1e79f828ad Remove all post_as_copy related code and configes
It was deprecated and we discussed on this topic in Denver PTG
for Queen cycle. Main motivation for this work is that deprecated
post_as_copy option and its gate blocks future symlink work.
Change-Id: I411893db1565864ed5beb6ae75c38b982a574476
2017年09月16日 05:50:41 +00:00
Jenkins
d2e32b39e8 Merge "doc migration: update the doc link address[2/3]" 2017年09月15日 11:09:28 +00:00
Tim Burke
4806434cb0 Move listing formatting out to proxy middleware
Make some json -> (text, xml) stuff in a common module, reference that in
account/container servers so we don't break existing clients (including
out-of-date proxies), but have the proxy controllers always force a json
listing.
This simplifies operations on listings (such as the ones already happening in
decrypter, or the ones planned for symlink and sharding) by only needing to
consider a single response type.
There is a downside of larger backend requests for text/plain listings, but
it seems like a net win?
Change-Id: Id3ce37aa0402e2d8dd5784ce329d7cb4fbaf700d
2017年09月15日 06:38:26 +00:00
junboli
df00122e74 doc migration: update the doc link address[2/3]
Update the doc link brought by the doc migration.
Although we had some effort to fix these, it still left lots of bad
doc link, I separate these changes into 3 patches aim to fix all of
these, this is the 2st patch for doc/manpages.
Change-Id: Id426c5dd45a812ef801042834c93701bb6e63a05
2017年09月15日 06:31:00 +00:00
Jenkins
5d5f665cd6 Merge "Correct the unused doc link address" 2017年09月14日 22:32:20 +00:00
junboli
6305993317 Correct the unused doc link address
Update the doc link brought by the doc migration.
Although we had some effort to fix these, it still left lots of bad
doc link, I separate these changes into 3 patches aim to fix all of
these, this is the 3rd patch for doc/source/install.
Change-Id: I1b0c12cd5f893f1a84d12782ddc39f6d06beb2aa
2017年09月13日 08:54:42 +00:00
Kota Tsuyuzaki
4ddd4c8a63 Update ubuntu version to be correct target
- saio describes both 14.04 and 16.04 procedure
- currently we're testing on 16.04 (xenial) envrionment on the gate
Remaining task (probably another work):
- review the installation guide which adjusts to the ubuntu 14.04 LTS
Change-Id: Id690a1deabeb24bfc1af3ba3a3019794fe4b8eb9
2017年09月12日 02:21:41 +09:00
Jenkins
834b733d29 Merge "Remove vestigate HUDSON_PUBLISH_DOCS reference" 2017年09月06日 20:11:26 +00:00
Jenkins
7e5a39a5bd Merge "Add explanation about Content-Length header limit with DLO to docs" 2017年09月06日 18:32:15 +00:00
Kazuhiro MIYAHARA
a2f557e921 Add explanation about Content-Length header limit with DLO to docs
If a number of DLO segments is larger than container listing limit,
Content-Length header will not be included in GET or HEAD response.
However, this fact is not explained in document of large objects.
This patch add explanation about this fact to the document.
Change-Id: Ia45fad05797f38fa8b6b0ed917b4f9d7fb337149
Closes-Bug: 1680219
2017年09月06日 07:18:45 +00:00
Jenkins
6d1a3c4e29 Merge "doc migration: update the doc link address[1/3]" 2017年09月06日 02:58:15 +00:00
junboli
6998d804ff doc migration: update the doc link address[1/3]
Update the doc link brought by the swift doc migration.
Although we had some effort to fix these before, it still left lots
of bad doc link, I separate these changes into 3 patches aim to fix
all of these, this is the 1st patch for doc/manpages.
Change-Id: Ib49696706e61bbd36ae56b15b1d94aa4ce84531c
2017年09月05日 19:13:47 +00:00
Kazuhiro MIYAHARA
ddec5f5373 Update Container-Sync Docs for internal_client.conf
At patch [1], container sync daemon is updated to use internal client.
However, the "Configuring Container Sync" section [2] of swift docs doesn't
updated for this change.
This patch adds an explanation about the change.
[1]: https://review.openstack.org/#/c/452773/
[2]: http://docs.openstack.org/developer/swift/overview_container_sync.html#configuring-container-sync
Change-Id: Ia1aabeab250cbe27414d7877138ad38708f5ce3f
Closes-Bug: 1446721
2017年09月05日 07:26:11 +00:00
Monty Taylor
03c54d505f Remove vestigate HUDSON_PUBLISH_DOCS reference
This isn't actually used (and in swift is commented out already)
and is a leftover from a thing we did about seven years ago.
Change-Id: I9889bcfd29054f14679ae7430b077ad3afb25b98
2017年09月02日 13:09:17 -05:00