fd9ceecc506f88cd940edd7bb369574c044c5038
1422 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
Michele Valsecchi
|
74664af7ed |
Fix a typo
Replace 'o' with 'to'. Change-Id: I0a9b1547016b2662002c050e8388591d7d91ef97 |
||
|
Tim Burke
|
d185b607bb |
docs: clean up SAIO formatting
Drive-by: use six.moves in s3api; fix "unexpected indent" warning when building docs on py3 Change-Id: I2a354e2624c763a68fcea7a6404e9c2fde30d631 |
||
|
Alexandra Settle
|
693f931a59 |
Fixing target for cross-ref 'get_data_dir'
At the moment, the `get_data_dir` ref in [0] is not pointing to anything. This patch amends that and links it to the correct policy string. Without updating this change, local tox builds for swift documentation fail with the following error: Warning, treated as error: /home/asettle/openstack/swift/doc /source/overview_policies.rst:555:more than one target found for cross-reference u'get_data_dir': swift.obj.reconstructor.get_data_dir, swift.obj.diskfile.get_data_dir, swift.obj.replicator.get_data_dir [0] https://docs.openstack.org/swift/rocky/overview_policies.html#object-server Change-Id: I7c699e4fc46706a4971fce5a85ed335f471d3a2b |
||
|
John Dickinson
|
02841ee0c6 |
fix documentation of default
Change-Id: I7c716dea5e0a5b8849b84b1bb25d5294591dcd51 |
||
|
Sam Morrison
|
b0aea93603 |
s3 secret caching
To increase performance of the s3 API retrieve and cache s3 secret from keystone to allow for local validation. Disabled by default, to use set 'secret_cache_duration' to a number greater than 0. You will also need to configure keystone auth credentials in the s3token configuration group too. These credentials will need to be able to view all projects credentials in keystone. Change-Id: Id0c01da6aa6ca804c8f49a307b5171b87ec92228 |
||
|
Matthew Oliver
|
34aef9d091 |
Add chaging secret key for external KMS section
This patch updates the overview_encryption page to add a `Changing the encryption root secret of external KMS's` section to point out the slight difference in naming. I.E: key_id_<secret_id> vs. encryption_root_secret_<secret_id> This patch refers to both multikey support in the KMIP and KMS key masters, so really should land after both of them. Related-Change-Id: Ie52508e47d15ec5c4e96902d3c9f5f282d275683 Related-Change-Id: I4f485dcb31e5bea511c4e539c54681091fc5bb1c Change-Id: Ie4cd8ae038501c8abc43d09cf0b207ca375a4366 |
||
|
Tim Burke
|
887ba87c5a |
Add "historical document" note to ring background docs
Change-Id: Ib00193b62c1f35b06a93f261bd6cb0d2f9167b86 |
||
|
John Dickinson
|
11e81cfc8f |
added note about double url quoting
Change-Id: I196fc4212b5405c410c9bfb850cd0d4737094c47 |
||
|
Clay Gerrard
|
06cf5d298f |
Add databases_per_second to db daemons
Most daemons have a "go as fast as you can then sleep for 30 seconds" strategy towards resource utilization; the object-updater and object-auditor however have some "X_per_second" options that allow operators much better control over how they spend their I/O budget. This change extends that pattern into the account-replicator, container-replicator, and container-sharder which have been known to peg CPUs when they're not IO limited. Partial-Bug: #1784753 Change-Id: Ib7f2497794fa2f384a1a6ab500b657c624426384 |
||
|
Zuul
|
ab2abfe3ae | Merge "Change PUT bucket conflict error" | ||
|
zhulingjie
|
83a7ce8ce0 |
Python 3 compatibility: fix xrange/range issues
xrange is not defined in python3. Rename xrange() to range(). Change-Id: Ifb1c9cfd863ce6dfe3cced3eca7ea8e539d8a5e9 |
||
|
karen chan
|
78c9fd9f93 |
Change PUT bucket conflict error
When a bucket already exists, PUT returned a BucketAlreadyExists error. AWS S3 returns BucketAlreadyOwnedByYou error instead, so this changes the error returned by swift3. When sending a PUT request to a bucket, if the bucket already exists and is not owned by the user, return 409 conflict error, BucketAlreadyExists. Change-Id: I32a0a9add57ca0e4d667b5eb538dc6ea53359944 Closes-Bug: #1498231 |
||
|
Zuul
|
9bf1360f88 | Merge "Replacing six.iter/dict.iter usages" | ||
|
Zuul
|
0918ff2136 | Merge "update 1space url in associated projects" | ||
|
Zuul
|
5cc4a72c76 | Merge "Configure diskfile per storage policy" | ||
|
Thiago da Silva
|
36a3fee805 |
update 1space url in associated projects
Change-Id: Idcb1e9cacba5b959387a2bfd7a4ef5e9d502996a |
||
|
Alistair Coles
|
904e7c97f1 |
Add more doc and test for cors_expose_headers option
In follow-up to the related change, mention the new cors_expose_headers option (and other proxy-server.conf options) in the CORS doc. Add a test for the cors options being loaded into the proxy server. Improve CORS comments in docs. Change-Id: I647d8f9e9cbd98de05443638628414b1e87d1a76 Related-Change: I5ca90a052f27c98a514a96ee2299bfa1b6d46334 |
||
|
Zuul
|
956172623c | Merge "fixed a manpage and added the manpage syntax checker to pep8 jobs" | ||
|
John Dickinson
|
0c97888bcb |
fixed a manpage and added the manpage syntax checker to pep8 jobs
also a drive-by fix to the bindep job--it doesn't need to install Change-Id: Ic9b68bc60bfbf21b45a1b7f9d7ff9998e01ddd26 |
||
|
zhangdebo
|
a7dd5f655d |
Replace Chinese quotes with English quotes
Change-Id: Ic7025ba79eadb39f75dd03135fae3326138b3ded |
||
|
Zuul
|
5d46c0d8b3 | Merge "Adding keep_idle config value to socket" | ||
|
FatemaKhalid
|
cfeb32c66b |
Adding keep_idle config value to socket
User can cofigure KEEPIDLE time for sockets in TCP connection. The default value is the old value which is 600. Change-Id: Ib7fb166deb8a87ae4e97ba0671048b1ec079a2ef Closes-Bug:1759606 |
||
|
Zuul
|
3698e85dcb | Merge "Add another user for s3api func tests" | ||
|
Zuul
|
d847eebd5b | Merge "Add ceph-s3 test non-voting job" | ||
|
Tim Burke
|
5a8cfd6e06 |
Add another user for s3api func tests
Previously we'd use two users, one admin and one unprivileged. Ceph's s3-tests, however, assume that both users should have access to create buckets. Further, there are different errors that may be returned depending on whether you are the *bucket* owner or not when using s3_acl. So now we've got: test:tester1 (admin) test:tester2 (also admin) test:tester3 (unprivileged) Change-Id: I0b67c53de3bcadc2c656d86131fca5f2c3114f14 |
||
|
Kota Tsuyuzaki
|
80001aa096 |
Add ceph-s3 test non-voting job
This patch added new non-voting gate job to check the s3api compatibility via swiftstack/s3compat tool that shows the ratio of compatible S3 APIs in the gate result for each patch. This is very useful to check the possibility if the new incoming patch breaks S3 API compatibility unexpectedly. Originally swift3 has this kind of the gate job but we missed the staff while migrating from swift3 into swift upstream repo so this is the porting of that. Note that currently the job is against to only tempauth because we don't have custom gate jobs using keystone environment other than dsvm. Change-Id: I6f30f74678ad35479da237361bee48c46c0ecc49 |
||
|
John Dickinson
|
ebcc95a96b |
added some bootstrapping info to the top of the SAIO doc
Change-Id: Ib82f2494f2cc65a3f15925efe0dfeb52eb7aa22b |
||
|
John Dickinson
|
77734bccd2 |
Disable the docs badge saying the docs aren't accurate
Change-Id: I1337712cc790baca151db2575f650da243bf09ef |
||
|
Romain LE DISEZ
|
673fda7620 |
Configure diskfile per storage policy
With this commit, each storage policy can define the diskfile to use to access objects. Selection of the diskfile is done in swift.conf. Example: [storage-policy:0] name = gold policy_type = replication default = yes diskfile = egg:swift#replication.fs The diskfile configuration item accepts the same format than middlewares declaration: [[scheme:]egg_name#]entry_point The egg_name is optional and default to "swift". The scheme is optional and default to the only valid value "egg". The upstream entry points are "replication.fs" and "erasure_coding.fs". Co-Authored-By: Alexandre Lécuyer <alexandre.lecuyer@corp.ovh.com> Co-Authored-By: Alistair Coles <alistairncoles@gmail.com> Change-Id: I070c21bc1eaf1c71ac0652cec9e813cadcc14851 |
||
|
Tim Burke
|
e547448e96 |
Fix warning while building docs
Seen locally: Warning, treated as error: .../swift/doc/source/overview_policies.rst:555:more than one target found for cross-reference u'get_data_dir': swift.obj.reconstructor.get_data_dir, swift.obj.replicator.get_data_dir, swift.obj.diskfile.get_data_dir Not sure why it hasn't been seen in the gate... The whole sentence is suspect, though; the Diskfile class doesn't define a get_data_dir method, though it uses the module-level get_data_dir... Change-Id: I6855c82315e1c71596ecce25b66b54133c239377 |
||
|
Alistair Coles
|
2722e49a8c |
Add support for multiple root encryption secrets
For some use cases operators would like to periodically introduce a new encryption root secret that would be used when new object data is written. However, existing encrypted data does not need to be re-encrypted with keys derived from the new root secret. Older root secret(s) would still be used as necessary to decrypt older object data. This patch modifies the KeyMaster class to support multiple root secrets indexed via unique secret_id's, and to store the id of the root secret used for an encryption operation in the crypto meta. The decrypter is modified to fetch appropriate keys based on the secret id in retrieved crypto meta. The changes are backwards compatible with previous crypto middleware configurations and existing encrypted object data. Change-Id: I40307acf39b6c1cc9921f711a8da55d03924d232 |
||
|
Zuul
|
d1675d0f54 | Merge "Update saio sample config files" | ||
|
Thiago da Silva
|
0887f0985b |
Update saio sample config files
Added healthcheck middleware to account, container, object servers Added the s3api, keymaster, encryption config to the proxy config file to make it easy to enable it. Change-Id: I96f120c5bc416e9aba388cbfa6c30b648d6ade2f |
||
|
John Dickinson
|
86d78f6667 |
imported some docs from the old user-guide
These files are imported (and very lightly edited) from the old ocata user-guide. It has a few other swift-related docs that seemed more duplacative of what we already have, but these seem to fill existing gaps in our docs. Change-Id: Ib00bf6992327f15f271120dc5dbc86a4a235baec |
||
|
Zuul
|
00373dad61 | Merge "Add keymaster to fetch root secret from KMIP service" | ||
|
Zuul
|
89854250c3 | Merge "Add fallocate_reserve to account and container servers." | ||
|
Samuel Merritt
|
8e651a2d3d |
Add fallocate_reserve to account and container servers.
The object server can be configured to leave a certain amount of disk space free; default is 1%. This is useful in avoiding 100%-full filesystems, as those can get Swift in a state where the filesystem is too full to write tombstones, so you can't delete objects to free up space. When a cluster has accounts/containers and objects on the same disks, then you can wind up with a 100%-full disk since account and container servers don't respect fallocate_reserve. This commit makes account and container servers respect fallocate_reserve so that disks shared between account/container and object rings won't get 100% full. When a disk's free space falls below the configured reserve, account and container PUT, POST, and REPLICATE requests will fail with a 507 status code. These are the operations that can significantly increase the disk space used by a given database. I called the parameter "fallocate_reserve" for consistency with the object server. No actual fallocate() call happens under Swift's control in the account or container servers (sqlite3 might make such a call, but it's out of our hands). Change-Id: I083442eef14bf83c0ea717b1decb3e6b56dbf1d0 |
||
|
Nguyen Hai
|
4409da697f |
Update doc building instructions in Development Guidelines
Change-Id: Ifd2f468ad745d19ef474ae7503a8bd79d429fc1b |
||
|
Alistair Coles
|
1951dc7e9a |
Add keymaster to fetch root secret from KMIP service
Add a new middleware that can be used to fetch an encryption root secret from a KMIP service. The middleware uses a PyKMIP client to interact with a KMIP endpoint. The middleware is configured with a unique identifier for the key to be fetched and options required for the PyKMIP client. Co-Authored-By: Tim Burke <tim.burke@gmail.com> Change-Id: Ib0943fb934b347060fc66c091673a33bcfac0a6d |
||
|
Alistair Coles
|
600521cf57 |
Describe separate keymaster config file in docs
The use of a separate keymaster config file was previously only described in the context of the kms_keymaster middleware. This patch adds a section to the simple keymaster middleware docs. Change-Id: Ifa3ad9d6e892b81c52df1f6666a9881042ac60bd |
||
|
lvxianguo
|
f0e46857b7 |
fix misspelling of 'server'
Change-Id: I61f916d5734708a821c8d51961fc2d222967f6e8 |
||
|
Alistair Coles
|
554c07aa5f |
Fix the example webhook middleware
Change-Id: I242dc8bc655a1d1243c2d4bd51fc62e4dcadc67b |
||
|
Zuul
|
a3cc7ccc69 | Merge "Experimental swift-ring-composer CLI to build composite rings" | ||
|
Zuul
|
ea33638d0c | Merge "object-updater: add concurrent updates" | ||
|
Alistair Coles
|
6b626f2f98 |
Experimental swift-ring-composer CLI to build composite rings
Provides a simple, experimental, CLI tool to generate a composite ring from a list of component builder files. For example: swift-ring-composer <composite-file> compose \ <builder-file> <builder-file> --output <ring-file> Commands available: - compose: compose a list of builder file to a composite ring - show: show the metadata for a composite ring Co-Authored-By: Kota Tsuyuzaki <tsuyuzaki.kota@lab.ntt.co.jp> Co-Authored-By: Matthew Oliver <matt@oliver.net.au> Change-Id: I25a79e71c13af352e19e4358f60545265b51584f |
||
|
wangdequn
|
026f706563 |
rectify 'a integer number' to 'an integer number'
Change-Id: I307baf793cd39786b3a8a921f5b02c945e1dbf46 |
||
|
Samuel Merritt
|
d5c532a94e |
object-updater: add concurrent updates
The object updater now supports two configuration settings: "concurrency" and "updater_workers". The latter controls how many worker processes are spawned, while the former controls how many concurrent container updates are performed by each worker process. This should speed the processing of async_pendings. There is a change to the semantics of the configuration options. Previously, "concurrency" controlled the number of worker processes spawned, and "updater_workers" did not exist. I switched the meanings for consistency with other configuration options. In the object reconstructor, object replicator, object server, object expirer, container replicator, container server, account replicator, account server, and account reaper, "concurrency" refers to the number of concurrent tasks performed within one process (for reference, the container updater and object auditor use "concurrency" to mean number of processes). On upgrade, a node configured with concurrency=N will still handle async updates N-at-a-time, but will do so using only one process instead of N. UpgradeImpact: If you have a config file like this: [object-updater] concurrency = <N> and you want to take advantage of faster updates, then do this: [object-updater] concurrency = 8 # the default; you can omit this line updater_workers = <N> If you want updates to be processed exactly as before, do this: [object-updater] concurrency = 1 updater_workers = <N> Change-Id: I17e18088e61f664e1b9942d66423666d0cae1689 |
||
|
Zuul
|
a42215b14f | Merge "Fix typo in sharding docs" | ||
|
gaofei
|
f2295a688c |
Fix typo in sharding docs
This patch removes an additional 'and' added to a sentence. Change-Id: I6ab47637ef2d2f97f35188a84e741274c2b504e8 |
||
|
Zuul
|
5a4e193970 | Merge "Added S3 compatibility information to docs" |