0e7fca576cee81dd6ca8774760cb880c3fff9c1c
5581 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
OpenStack Proposal Bot
|
8aca4e8eb3 |
Imported Translations from Zanata
For more information about this automatic import see: https://wiki.openstack.org/wiki/Translations/Infrastructure Change-Id: Ic39cc9ffb582909da3a827243b628206de5301a0 |
||
|
Jenkins
|
b20cf75922 | Merge "Fix object server test not using correct policy" | ||
|
Jenkins
|
557192c47e | Merge "Cleanup of Swift Ops Runbook" | ||
|
Alistair Coles
|
0bc5a69d41 |
Wait on greenthreads before unmocking http_connect
The fake_spawn() context manager wraps spawn and waits for greenthreads to complete (such as the async_update threads). The wait needs to be done before http_connect is un-mocked, so the fake_spawn context manager should exit *before* any context manager that mocks the http_connect method. Also add fake_spawn to _test_PUT_then_POST_async_pendings() Related-Bug: #1536376 Related-Bug: #1514111 Closes-Bug: #1555739 Change-Id: I15f36e191cfe3ee6c82b4be56e8618ec0230e328 |
||
|
Donagh McCabe
|
e38b53393f |
Cleanup of Swift Ops Runbook
This patch cleans up some rough edges that were left (due to time constraints) in the original commit. Change-Id: Id4480be8dc1b5c920c19988cb89ca8b60ace91b4 Co-Authored-By: Gerry Drudy gerry.drudy@hpe.com |
||
|
Jenkins
|
902cb8f8d7 | Merge "keep etag of target source instead of possible_source" | ||
|
Jenkins
|
8bd6760c0c | Merge "Move HeaderKeyDict to avoid an inline import" | ||
|
Jenkins
|
7d8621e373 | Merge "By default, disallow inbound X-Timestamp headers" | ||
|
Alistair Coles
|
994fa7b115 |
Fix object server test not using correct policy
Without the correct request header, the test that should be using an EC policy was in fact using a replication policy. Change-Id: Id44d0d615a4fd09aadfb286425939aea6abdf7b0 |
||
|
Jenkins
|
c172c5f024 | Merge "remove hash_cleanup_listdir legacy translation method" | ||
|
Jenkins
|
68bae91a7f | Merge "Imported Translations from Zanata" | ||
|
Tim Burke
|
f581fccf71 |
By default, disallow inbound X-Timestamp headers
With the X-Timestamp validation added in commit
|
||
|
Jenkins
|
6a1904a11f | Merge "Spot check more hashes for increase_part_power" | ||
|
OpenStack Proposal Bot
|
dd2fbcd4c7 |
Imported Translations from Zanata
For more information about this automatic import see: https://wiki.openstack.org/wiki/Translations/Infrastructure Change-Id: I9196deac606a3d073fb1c400cbee778cbbbd1c1e |
||
|
Jenkins
|
8bafd6537e | Merge "Fix misleading comment" | ||
|
Jenkins
|
11962b8c93 | Merge "Object POST update gets distinct async pending file" | ||
|
Samuel Merritt
|
3eeff7c0fc |
Fix misleading comment
Change-Id: I2e0e671a08fb855bf53c57987c08a7eefca7078a |
||
|
Jenkins
|
ddbfc93f51 | Merge "Add internal method to increase ring partition power" | ||
|
Clay Gerrard
|
dc6db66d5e |
Spot check more hashes for increase_part_power
Just a touch of cleanup to the unittest to demonstrate the stability of the guarantee that objects will hash to the same nodes but have different parts. Change-Id: I4a24187755455366a6435816a138f6175ae713a4 |
||
|
Jenkins
|
9167acfd5c | Merge "Removed redundant file for flake8 check" | ||
|
Alistair Coles
|
9db7391e55 |
Object POST update gets distinct async pending file
Each object update to a container server is saved in a pending file if the initial update attempt fails. Pending file names were derived from the update request's x-timestamp, which is equal to the object's data file timestamp. This meant that updates due to an object POST used the same async pending file as updates due to the object's PUT. This is not so bad because the object POST update has a superset of the metadata included in the PUT update. But there is a risk of a race condition causing an update to be lost: the updater may open an update file due to a PUT whuile the object server is writing an update due to a POST to the same file name. The updater could then unlink the file before the more recent update for the POST is sent. This patch changes the POST update pending file name to be derived from the object's metadata timestamp, thus making it distinct from the PUT update pending file name. There is no upgrade impact since existing pending files will continue to be processed. Change-Id: I1b093c837efe8c2a64e92075ebd5e1b93e30efb9 |
||
|
Olga Saprycheva
|
d6b4587a55 |
Removed redundant file for flake8 check
Change-Id: I4322978aa20ee731391f7709bbd79dee140fc703 |
||
|
Jenkins
|
9f396e2d2e | Merge "Fixed pep8 and flake8 errors in doc/source/conf.py and updated flake8 commands in tox.ini to test it." | ||
|
Mahati Chamarthy
|
82c8023b89 |
remove hash_cleanup_listdir legacy translation method
Change-Id: I0b96dfde32b4c666eebda6e88228516dd693ef92 closes-bug:#1550569 |
||
|
OpenStack Proposal Bot
|
643dbce134 |
Imported Translations from Zanata
For more information about this automatic import see: https://wiki.openstack.org/wiki/Translations/Infrastructure Change-Id: I96b8ff1287bf219c5f8d56a3a4868c1063a953f9 |
||
|
Daisuke Morita
|
83713d37f0 |
Missing comments for storage policy parameter
There are missing comments about storege_policy_index so appropriate comments are added. Change-Id: I3de3f0e6864e65918ca1a13cce70f19c23d295f5 |
||
|
Jenkins
|
ebdff38553 | Merge "Adds storage policy option to recon" | ||
|
Samuel Merritt
|
9430f4c9f5 |
Move HeaderKeyDict to avoid an inline import
There was a function in swift.common.utils that was importing swob.HeaderKeyDict at call time. It couldn't import it at compilation time since utils can't import from swob or else it blows up with a circular import error. This commit just moves HeaderKeyDict into swift.common.header_key_dict so that we can remove the inline import. Change-Id: I656fde8cc2e125327c26c589cf1045cb81ffc7e5 |
||
|
Jenkins
|
6cfb8557a8 | Merge "Silence SkipTest noise in in-process test teardown" | ||
|
Jenkins
|
0cdd5e87f5 | Merge "Fix a crash in exception printout" | ||
|
Olga Saprycheva
|
2cff2dec3d |
Fixed pep8 and flake8 errors in doc/source/conf.py and updated flake8 commands in tox.ini to test it.
Change-Id: I2add370e4cfb55d1388e3a8b41f688a7f3f2c621 |
||
|
Jenkins
|
35d62d0257 | Merge "Follow up mem_server diskfile fixes" | ||
|
Clay Gerrard
|
fa0c5f244f |
Additionally break container servers during fast-post probes
The existing probetests were already doing brainsplitting on the object servers in order to introduce composite metdata timestamp reconciliation. But they were not introducing failures at the container server level, and therefore not covering functional testing of those servers replication consistency repair. This change adds a brain splitter for the container servers to additionally exercise the consistency engine at that layer under the existing probetest so that you can observe their correct behavior while exercising the probetests [1]. 1. I used a script like this to watch the object servers and container db's repair themselves -> https://gist.github.com/clayg/a8077d9d29ff68bb0edd Change-Id: Ic5bb03dffef7e30c58338cef969a105577b84620 |
||
|
Jenkins
|
1a69b14e7a | Merge "Remove Erasure Coding beta status from docs" | ||
|
Jenkins
|
9891039b8d | Merge "Remove unused pngmath Sphinx extension" | ||
|
janonymous
|
be54d0c928 |
clear pycache and remove all pyc/pyo before starting unit test
Delete python bytecode before every test run. Because python creates pyc files during tox runs, certain changes in the tree, like deletes of files, or switching branches, can create spurious errors. Closes-Bug: #1368661 Change-Id: Iedcb400fa3b0417f5bb8e943b17758fcfb4070c6 |
||
|
Alistair Coles
|
d456d9e934 |
Don't ssync data when only a durable is missing
If an EC diskfile is missing its .durable file (for example due to a partial PUT failure) then the ssync missing check will fail to open the file and will consider it missing. This can result in possible reconstruction of the fragment archive (for a sync job) and definite transmission of the fragment archive (for sync and revert jobs), which is wasteful. This patch makes the ssync receiver inspect the diskfile state after attempting to open it, and if fragments exist at the timestamp of the sender's diskfile, but a .durable file is missing, then the receiver will commit the diskfile at the sender's timestamp. As a result, there is no longer any need to send a fragment archive. Change-Id: I4766864fcc0a3553976e8fd85bbb2fc782f04abd |
||
|
Jenkins
|
f57b4c94bf | Merge "Update parameters about authtoken middleware in proxy-server.conf.sample" | ||
|
Christian Schwede
|
043fbca6d0 |
Remove Erasure Coding beta status from docs
This removes notes stating support for Erasure coding as beta. Questions regarding the stability of EC are coming up regularly, and are often referring to the docs that state EC as still in beta. Besides this, a note marking statsd support as beta has been removed as well. Change-Id: If4fb6a5c4cb741d42953db3cee8cb17a1d774e15 |
||
|
Jenkins
|
778c426ebf | Merge "Operational procedures guide" | ||
|
Christian Schwede
|
3ff94cb785 |
Add internal method to increase ring partition power
This method increases the partition power of an existing ring by one. It does not move any data nor does it exposes a CLI command yet; it is only intended to be used in a future version to do the actual ring modification itself. An existing object that is currently located on partition X will be placed either on partition 2*X or 2*X+1 after the partition power got increased. The reason for this is the Ring.get_part() method, that does a bitwise shift to the right. To avoid actual data movement to different disks or even nodes, the allocation of partitions to nodes needs to be changed. The allocation is pairwise due to the above mentioned new partition scheme. Therefore devices are allocated like this, with the partition being the index and the value being the device id: OLD: 0, 3, 7, 5, 2, 1, ... NEW: 0, 0, 3, 3, 7, 7, 5, 5, 2, 2, 1, 1, ... If an operator stops the cluster, increases the partition power and renames & hardlinks the existing data it is possible to do a power shift without actually moving data. Please see the partition power spec for further details on this. Change-Id: I063fd8077497ee8c14d9065f07b4ec0fb5cbe180 Partially-Implements: spec increasing_partition_power |
||
|
Jenkins
|
5930d74d81 | Merge "Update container on fast-POST" | ||
|
Pete Zaitcev
|
09c73b86e9 |
Fix a crash in exception printout
Says the number of arguments does not match the number of '%'. Change-Id: I8b5e395a07328fb9d4ac7a19f8ed2ae1637bee3b |
||
|
Tim Burke
|
fad5fabe0a |
During functional tests, 404 response to a DELETE is successful
Previously, we would only consider 204 responses successful, which would cause some spurious gate failures, such as http://logs.openstack.org/66/287666/3/check/gate-swift-dsvm-functional/c6d2673/console.html#_2016年03月03日_13_41_07_846 Change-Id: Ic8c300647924352a297a2781b50064f7657038b4 |
||
|
Alistair Coles
|
e91de49d68 |
Update container on fast-POST
This patch makes a number of changes to enable content-type metadata to be updated when using the fast-POST mode of operation, as proposed in the associated spec [1]. * the object server and diskfile are modified to allow content-type to be updated by a POST and the updated value to be stored in .meta files. * the object server accepts PUTs and DELETEs with older timestamps than existing .meta files. This is to be consistent with replication that will leave a later .meta file in place when replicating a .data file. * the diskfile interface is modified to provide accessor methods for the content-type and its timestamp. * the naming of .meta files is modified to encode two timestamps when the .meta file contains a content-type value that was set prior to the latest metadata update; this enables consistency to be achieved when rsync is used for replication. * ssync is modified to sync meta files when content-type differs between local and remote copies of objects. * the object server issues container updates when handling POST requests, notifying the container server of the current immutable metadata (etag, size, hash, swift_bytes), content-type with their respective timestamps, and the mutable metadata timestamp. * the container server maintains the most recently reported values for immutable metadata, content-type and mutable metadata, each with their respective timestamps, in a single db row. * new probe tests verify that replication achieves eventual consistency of containers and objects after discrete updates to content-type and mutable metadata, and that container-sync sync's objects after fast-post updates. [1] spec change-id: I60688efc3df692d3a39557114dca8c5490f7837e Change-Id: Ia597cd460bb5fd40aa92e886e3e18a7542603d01 |
||
|
asettle
|
3c61ab4678 |
Operational procedures guide
This is the operational procedures guide that HPE used to operate and monitor their public Swift systems. It has been made publicly available. Change-Id: Iefb484893056d28beb69265d99ba30c3c84add2b |
||
|
Jenkins
|
30624a866a | Merge "Fix proxy-server's support for chunked transferring in GET object" | ||
|
Jenkins
|
d90dc2eb13 | Merge "Add container quota functional test" | ||
|
Jenkins
|
5fc3ad7b53 | Merge "Fix time-shifting of objects PUT with container-sync" | ||
|
Jenkins
|
48b5e8a13f | Merge "Fix bug in mem_diskfile write_metadata method" |