2722e49a8c844e2d20369e8aed230a972eb07e58
1191 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
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" | ||
|
baiwenteng
|
e726473e26 |
Fix typos
replace a OpenStack bucket with an OpenStack bucket Change-Id: I4ada68720dcf23fb9b94c922ddb3eefd42aa80a7 |
||
|
Zuul
|
c01c43d982 | Merge "Adds read_only middleware" | ||
|
John Dickinson
|
5078bb1254 |
Added S3 compatibility information to docs
Change-Id: I8a179e2e9dea1dac57a14696bc0abcd48753adfc |
||
|
Greg Lange
|
5d601b78f3 |
Adds read_only middleware
This patch adds a read_only middleware to swift. It gives the ability to make an entire cluster or individual accounts read only. When a cluster or an account is in read only mode, requests that would result in writes to the cluser are not allowed. DocImpact Change-Id: I7e0743aecd60b171bbcefcc8b6e1f3fd4cef2478 |
||
|
Thiago da Silva
|
36dbd38e48 |
Add s3api headers to allowed_headers by default
Previously, these headers had to be added by operators to their object-server.conf when enabling swift3 middleware. Since s3api is now imported into swift we should go ahead and add these headers by default too. Change-Id: Ib82e175096716e42aecdab48f01f079e09da6a1d Signed-off-by: Thiago da Silva <thiago@redhat.com> |
||
|
zhangdebo
|
3d3393c17a |
Fix typo
Change-Id: I25bdb2020c10f4b3aede6994e9ffc3f05a054c29 |
||
|
Alistair Coles
|
99023ef855 |
Maintain manage-shard-ranges docs in its module
Move the doc for manage-shard-ranges to the manage_shard_ranges.py module and include it in overview_container_sharding.rst. This makes the doc for manage-shard-ranges more obvious when viewing the code. Change-Id: I27ca9b59897c5256dd5e2c3d4e26ff9e762b4a81 |
||
|
Alistair Coles
|
4c559fccb7 |
Container sharding doc fixes and clarifications
Change-Id: I1e736c8da142adecc2b0b629cfd48afa072d40a0 |
||
|
Alistair Coles
|
ea92e49980 |
Merge container sharding into master
Co-Authored-By: Clay Gerrard <clay.gerrard@gmail.com> Co-Authored-By: John Dickinson <me@not.mn> Co-Authored-By: Kazuhiro MIYAHARA <miyahara.kazuhiro@lab.ntt.co.jp> Co-Authored-By: Matthew Oliver <matt@oliver.net.au> Co-Authored-By: Samuel Merritt <sam@swiftstack.com> Co-Authored-By: Tim Burke <tim.burke@gmail.com> Change-Id: I964666d2c1ce893326c6aa2bbe9e1dd0312e7a9e |
||
|
Alistair Coles
|
5c5b08d047 |
Add container sharding documentation
Co-Authored-By: Matthew Oliver <matt@oliver.net.au> Co-Authored-By: Tim Burke <tim.burke@gmail.com> Co-Authored-By: Clay Gerrard <clay.gerrard@gmail.com> Co-Authored-By: John Dickinson <me@not.mn> Change-Id: I0693e54c1d7f3b77f53c3df5c616a16f74723b97 |
||
|
Matthew Oliver
|
2641814010 |
Add sharder daemon, manage_shard_ranges tool and probe tests
The sharder daemon visits container dbs and when necessary executes the sharding workflow on the db. The workflow is, in overview: - perform an audit of the container for sharding purposes. - move any misplaced objects that do not belong in the container to their correct shard. - move shard ranges from FOUND state to CREATED state by creating shard containers. - move shard ranges from CREATED to CLEAVED state by cleaving objects to shard dbs and replicating those dbs. By default this is done in batches of 2 shard ranges per visit. Additionally, when the auto_shard option is True (NOT yet recommeneded in production), the sharder will identify shard ranges for containers that have exceeded the threshold for sharding, and will also manage the sharding and shrinking of shard containers. The manage_shard_ranges tool provides a means to manually identify shard ranges and merge them to a container in order to trigger sharding. This is currently the recommended way to shard a container. Co-Authored-By: Alistair Coles <alistairncoles@gmail.com> Co-Authored-By: Tim Burke <tim.burke@gmail.com> Co-Authored-By: Clay Gerrard <clay.gerrard@gmail.com> Change-Id: I7f192209d4d5580f5a0aa6838f9f04e436cf6b1f |
||
|
Zuul
|
b2ea032d1c | Merge "Small cleanup on s3api" | ||
|
David Rabel
|
5257ed033c |
Fix indentation in overview_backin_store.rst
Fix indentation of nested list. Old indentation was wrongly interpreted as quotation Change-Id: Ia9625bc3b7984501f4931b3428fa930a156bfe66 |
||
|
Kota Tsuyuzaki
|
2c7768a3cb |
Small cleanup on s3api
This patch is one of follow up to remove unnecessary files, and a comment in the code. The conf files are used to setup functests environment in the past swift3 repository but that should port to setuppers of functests (see related change). Anyway, we don't need shell based older conf.in script on that way. Change-Id: If431979ea6fa373ac1cde4b7e13d57d91fb15be8 Related-Change: I6f30f74678ad35479da237361bee48c46c0ecc49 |
||
|
Zuul
|
3313392462 | Merge "Import swift3 into swift repo as s3api middleware" | ||
|
Kota Tsuyuzaki
|
636b922f3b |
Import swift3 into swift repo as s3api middleware
This attempts to import openstack/swift3 package into swift upstream repository, namespace. This is almost simple porting except following items. 1. Rename swift3 namespace to swift.common.middleware.s3api 1.1 Rename also some conflicted class names (e.g. Request/Response) 2. Port unittests to test/unit/s3api dir to be able to run on the gate. 3. Port functests to test/functional/s3api and setup in-process testing 4. Port docs to doc dir, then address the namespace change. 5. Use get_logger() instead of global logger instance 6. Avoid global conf instance Ex. fix various minor issue on those steps (e.g. packages, dependencies, deprecated things) The details and patch references in the work on feature/s3api are listed at https://trello.com/b/ZloaZ23t/s3api (completed board) Note that, because this is just a porting, no new feature is developed since the last swift3 release, and in the future work, Swift upstream may continue to work on remaining items for further improvements and the best compatibility of Amazon S3. Please read the new docs for your deployment and keep track to know what would be changed in the future releases. Change-Id: Ib803ea89cfee9a53c429606149159dd136c036fd Co-Authored-By: Thiago da Silva <thiago@redhat.com> Co-Authored-By: Tim Burke <tim.burke@gmail.com> |
||
|
Zuul
|
47efb5b969 | Merge "Multiprocess object replicator" | ||
|
Samuel Merritt
|
c28004deb0 |
Multiprocess object replicator
Add a multiprocess mode to the object replicator. Setting the "replicator_workers" setting to a positive value N will result in the replicator using up to N worker processes to perform replication tasks. At most one worker per disk will be spawned, so one can set replicator_workers=99999999 to always get one worker per disk regardless of the number of disks in each node. This is the same behavior that the object reconstructor has. Worker process logs will have a bit of information prepended so operators can tell which messages came from which worker. It looks like this: [worker 1/2 pid=16529] 154/154 (100.00%) partitions replicated in 1.02s (150.87/sec, 0s remaining) The prefix is "[worker M/N pid=P] ", where M is the worker's index, N is the total number of workers, and P is the process ID. Every message from the replicator's logger will have the prefix; this includes messages from down in diskfile, but does not include things printed to stdout or stderr. Drive-by fix: don't dump recon stats when replicating only certain policies. When running the object replicator with replicator_workers > 0 and "--policies=X,Y,Z", the replicator would update recon stats after running. Since it only ran on a subset of objects, it should not update recon, much like it doesn't update recon when run with --devices or --partitions. Change-Id: I6802a9ad9f1f9b9dafb99d8b095af0fdbf174dc5 |
||
|
Tovin Seven
|
9b90498b07 |
Trivial: Update pypi url to new url
Pypi url changed from [1] to [2] [1] https://pypi.python.org/pypi/<package> [2] https://pypi.org/project/<package> Change-Id: Ic639298e83189410395f31cc9ef60076af479efd |
||
|
John Dickinson
|
87dad294cc |
added another golang client to associated projects
Change-Id: I04f5c14586ad4ecac03d18992b8cf351d6eab1e3 |
||
|
Zuul
|
260bd2601b | Merge "Deprecate auth_uri option" | ||
|
wangqi
|
708b24aef1 |
Deprecate auth_uri option
Option auth_uri from group keystone_authtoken is deprecated[1]. Use option www_authenticate_uri from group keystone_authtoken. [1]https://review.openstack.org/#/c/508522/ Change-Id: I43bbc8b8c986e54a9a0829a0631d78d4077306f8 |
||
|
John Dickinson
|
6a428c4266 |
updated associated projects page
* Cleaned up the SDK/library links * Added a few projects * Fixed some existing links * Removed some very old, unmaintained projects Change-Id: I3effd920e978eb7af39ab27b4877a7bfc8c64b8b |
||
|
Zuul
|
e4660a3e31 | Merge "Add manpage for swift-object-relinker" | ||
|
Zuul
|
f8175ea345 | Merge "Add full working example of sharing a container with another user" | ||
|
wangqi
|
a027f2c105 |
Follow the new PTI for document build
For compliance with the Project Testing Interface as described in: https://governance.openstack.org/tc/reference/project-testing-interface.html For more details information, please refer to: http://lists.openstack.org/pipermail/openstack-dev/2017-December/125710.html http://lists.openstack.org/pipermail/openstack-dev/2018-March/128594.html Co-Authored-By: Nguyen Hai <nguyentrihai93@gmail.com> Change-Id: I26dc41c7df57bf79db531c6e67e148e01c17e992 |
||
|
Tim Burke
|
9eeacbf150 |
Fix new doc warnings resulting from Sphinx 1.7.1
Change-Id: Id6678dd7e59a85bc2a7b3ba3d41d28e08956ae3e |
||
|
melissaml
|
5017864133 |
Fix the incorrect reference links
TrivialFix [1] is the installation guide for OpenStack components, obviously, we need [1] in the docs. [1] https://docs.openstack.org/latest/install/ Change-Id: I3c6fe7327f5552cc2b8f0f0e42b41f8e989a0a7e |
||
|
Tim Burke
|
0a993437d1 |
Update install-guide URLs to point to stable/queens
Change-Id: I7b2dd19f18cbfac3bc3ea763cd3333e3fb68f1cd |
||
|
Zuul
|
d800c177cc | Merge "Replace Chinese punctuation with English punctuation" |