If the client asked for "Range: bytes=--123", Swift would respond with
a 206 and a Content-Length of -123. Now that Range header is ignored
just like all kinds of other invalid Range headers.
Adds eventlet monkey patching of select module if thread is pathed
Oslo.messaging pika driver requires patching of select module if thread
is patched.
Pika driver uses select call and if it is not patched onsuming messages
blocks whole eventlet loop
In addition to the container sync stat. report, keeping per container
statistics allows administrator with more control over bytes
transfered over a specific time per user account: The per container stats
are crucial for billing purposes and provides the operator a 'progress
bar' equivalent on the container's replication status.
Don't include conditional headers in SLO HEAD requests
Previously, attempting to PUT a SLO manifest with `If-None-Match: *`
would include the header when validating the segments, causing the
upload to fail.
Now when SLO validates segments, no conditional headers will be
included in the HEAD request.
commit b13a85367ef7f5fd64e285174859025d34b4e451
Author: Thiago da Silva <email address hidden>
Date: Mon Dec 21 16:25:45 2015 -0200
decouple versioned writes from COPY
This change removes the use of the COPY request in the versioned
writes middleware. It changes the COPY verb for GETs and PUTs
requests. The main reasoning for this change is to remove any
dependency that versioning had on copy, which will allow for the COPY
functionality to be moved to middleware and to be to the left of the
versioned writes middleware in the proxy pipeline. In this way,
no COPY request will ever arrive at the versioned writes middleware.
A side benefit of this change is that it removes a HEAD request from
the PUT path. Instead of checking if a current version exists, a
GET request is sent, in case of success, a PUT is sent to the
versions container.
A unit test was removed that tested non-default storage policies.
This test is no longer necessary, since it was used to test
specific policy handling code in the COPY method in the proxy
object controller.
Closes-Bug: #1365862
Change-Id: Idf34fa8d04ff292df7134b6d4aa94ff40887b3a4
Co-Authored-By: Alistair Coles <email address hidden>
Co-Authored-By: Janie Richling <email address hidden>
Co-Authored-By: Kota Tsuyuzaki <email address hidden>
Signed-off-by: Thiago da Silva <email address hidden>
Make DirectClientException report correct ip and port
When direct_client.direct_get_suffix_hashes raises a
DirectClientException the exception message and variables
should report the replication_ip and replication_port, as
opposed to the ip and port values reported for all other
case when the exception is raised.
Add option to override ip and port reported in
DirectClientException.
direct_client.direct_get_suffix_hashes doesn't use replication ip and
port for REPLICATE request. Since we have an option of doing
replication in separate network, we can add replication_ip and port
while creating rings if not it will get filled in with the regular
node's ip.
In situations where rsync may inadvertently be unable to cleanup it's
temporary files we shouldn't spread them around the cluster.
By asking our rsync subexec to --exclude patterns that match it's own
convention for temporary naming we'll only ever transfer real replicated
artifacts and never temporary artifacts which should always be ignored
until they are fully transfered.
Cleanup of stale rsync droppings should be performed by the auditor and
will be addressed in a separate change related to lp bug #1554005.
commit 75ab3cb78862647644af7eaf5e0fb590e73ae341
Author: Alistair Coles <email address hidden>
Date: Wed Oct 14 15:49:35 2015 +0100
Stop staticweb revealing container existence to unauth'd requests
When a container has `X-Container-Meta-Web-Listings: false` then
staticweb will return a 404 in response to a GET or HEAD on the
container, regardless of whether the request is auth'd. That provides
a way to probe for container existence. It should return a 401 if the
request is not auth'd.
This patch adds a call to swift.authorize before returning the 404.
Reviewed: https:/ /review. openstack. org/308874 /git.openstack. org/cgit/ openstack/ swift/commit/ ?id=bc138e74cc6 0d9471048636563 6a5153422e00a3
Committed: https:/
Submitter: Jenkins
Branch: feature/crypto
commit 7d7eaab5afa4c36 f0ac8467784138f c423f6ac4f
Author: OpenStack Proposal Bot <email address hidden>
Date: Mon Apr 18 06:31:34 2016 +0000
Imported Translations from Zanata
For more information about this automatic import see: /wiki.openstack .org/wiki/ Translations/ Infrastructure
https:/
Change-Id: I88be5c9dbb1fcc 3a15592d42af716 0478308b1f4
commit ca304cd08e9f8d3 7e4027f2f71dd77 ebba3a30f9
Author: Samuel Merritt <email address hidden>
Date: Fri Apr 15 17:22:44 2016 -0700
Ignore negative suffix-byte-range requests.
If the client asked for "Range: bytes=--123", Swift would respond with
a 206 and a Content-Length of -123. Now that Range header is ignored
just like all kinds of other invalid Range headers.
Change-Id: I30d4522d223076 ce342d20c52f57f f0eb2aea1f4
Closes-Bug: 1571106
commit 746d928a875281a 7154dcd438f46a5 8bbf656db9
Author: Dmitriy Ukhlov <email address hidden>
Date: Fri Apr 8 16:00:16 2016 +0300
Adds eventlet monkey patching of select module if thread is pathed
Oslo.messaging pika driver requires patching of select module if thread
is patched.
Pika driver uses select call and if it is not patched onsuming messages
blocks whole eventlet loop
Closes-Bug: #1570242 ebddb7475eb8472 5f65bca01bf
Change-Id: I9756737309f401
commit c96d5c671db9c96 f65067d93c0a307 cf4b7d91b4
Author: oshritf <email address hidden>
Date: Thu Feb 18 14:50:08 2016 +0200
Per container stat. report
In addition to the container sync stat. report, keeping per container
statistics allows administrator with more control over bytes
transfered over a specific time per user account: The per container stats
are crucial for billing purposes and provides the operator a 'progress
bar' equivalent on the container's replication status.
Change-Id: Ia8abcdaf53e466 e8d60a957c76e32 c2b2c5dc3fa
commit be84b03a07892f4 972dd59309ad261 fc72bd7ede
Author: dharmendra <email address hidden>
Date: Thu Apr 14 16:41:09 2016 +0530
Removing unused clause
Removing unused clause from common/ middleware/ dlo.py
Change-Id: I7de9aaefd203c4 f1be00ee74b89b5 184fd419469
commit fb3692c9bb662d9 cadc4238920f866 76857a7f1f
Author: Tim Burke <email address hidden>
Date: Wed Apr 13 11:07:44 2016 -0700
Don't include conditional headers in SLO HEAD requests
Previously, attempting to PUT a SLO manifest with `If-None-Match: *`
would include the header when validating the segments, causing the
upload to fail.
Now when SLO validates segments, no conditional headers will be
included in the HEAD request.
Change-Id: I03ad454092d3ca a73d29e6d30d803 3b45bc96136
Closes-Bug: #1569253
commit 0e7fca576cee81d d6ca8774760cb88 0c3fff9c1c
Author: Tin Lam <email address hidden>
Date: Fri Apr 8 18:17:44 2016 -0500
Convert README.md to README.rst
Change-Id: I223890bd4ffe46 9becc2127f93622 43cdb52bc08
Closes-Bug: #1567026
commit b13a85367ef7f5f d64e28517485902 5d34b4e451
Author: Thiago da Silva <email address hidden>
Date: Mon Dec 21 16:25:45 2015 -0200
decouple versioned writes from COPY
This change removes the use of the COPY request in the versioned
writes middleware. It changes the COPY verb for GETs and PUTs
requests. The main reasoning for this change is to remove any
dependency that versioning had on copy, which will allow for the COPY
functionality to be moved to middleware and to be to the left of the
versioned writes middleware in the proxy pipeline. In this way,
no COPY request will ever arrive at the versioned writes middleware.
A side benefit of this change is that it removes a HEAD request from
the PUT path. Instead of checking if a current version exists, a
GET request is sent, in case of success, a PUT is sent to the
versions container.
A unit test was removed that tested non-default storage policies.
This test is no longer necessary, since it was used to test
specific policy handling code in the COPY method in the proxy
object controller.
Closes-Bug: #1365862
Change-Id: Idf34fa8d04ff29 2df7134b6d4aa94 ff40887b3a4
Co-Authored-By: Alistair Coles <email address hidden>
Co-Authored-By: Janie Richling <email address hidden>
Co-Authored-By: Kota Tsuyuzaki <email address hidden>
Signed-off-by: Thiago da Silva <email address hidden>
commit a829bd59770681f 9d6c1ef02a6e1d5 e441587a23
Author: Tin Lam <email address hidden>
Date: Fri Apr 8 18:40:30 2016 -0500
Convert CONTRIBUTING.md to CONTRIBUTING.rst
Change-Id: I64c42c42db35a9 f55a1df9d4ab6e9 7a2506b8c45
Closes-Bug: #1567027
commit 5d56f40f04fa921 1a2e392d667fe39 5f38d2cca5
Author: Alistair Coles <email address hidden>
Date: Wed Apr 6 11:48:48 2016 +0100
Make DirectClientExc eption report correct ip and port
When direct_ client. direct_ get_suffix_ hashes raises a tException the exception message and variables
DirectClien
should report the replication_ip and replication_port, as
opposed to the ip and port values reported for all other
case when the exception is raised.
Add option to override ip and port reported in tException.
DirectClien
Also adds unit tests to verify both cases.
Related-Bug: 1566395 f4e9f6164858085 367266386d2
Change-Id: If3d952847c7199
commit 950b601a9c9e876 61e35c6ed7a97ae 9611560bc5
Author: Sivasathurappan Radhakrishnan <email address hidden>
Date: Tue Apr 5 22:45:17 2016 +0000
Modified REPLICATE request to use replication_ip
direct_ client. direct_ get_suffix_ hashes doesn't use replication ip and
port for REPLICATE request. Since we have an option of doing
replication in separate network, we can add replication_ip and port
while creating rings if not it will get filled in with the regular
node's ip.
Change-Id: I34067df27042fc 3146b795191ab80 43ee1aed3ce Bug:1566395
Closes-
commit f87a5487b5224f7 7261d82a1087d31 820c29e8f8
Author: Clay Gerrard <email address hidden>
Date: Mon Mar 14 16:52:50 2016 -0700
Make rsync ignore it's own temporary files
In situations where rsync may inadvertently be unable to cleanup it's
temporary files we shouldn't spread them around the cluster.
By asking our rsync subexec to --exclude patterns that match it's own
convention for temporary naming we'll only ever transfer real replicated
artifacts and never temporary artifacts which should always be ignored
until they are fully transfered.
Cleanup of stale rsync droppings should be performed by the auditor and
will be addressed in a separate change related to lp bug #1554005.
Closes-Bug: #1553995
Change-Id: Ibe598b339af024 d05e4d89c34d696 e972d8189ff
commit fe70898daced5f5 fd698dd27098451 439fdd8d08
Author: Tim Burke <email address hidden>
Date: Sun Feb 28 01:18:07 2016 +0000
Require account/container metadata be UTF-8
Otherwise, we get a UnicodeDecodeError when we call json.dumps()
Change-Id: Ie200d029e1fd7f 0ff0956c8ced982 07e11ef9080
commit 0628f1268c804aa 555ff3873d11831 266c1b1cb1
Author: Bill Huber <email address hidden>
Date: Fri Oct 23 15:50:21 2015 -0500
Add unit tests for swift.account. reaper
This patch adds more unit tests to diminish missing pieces
of the coverage in the account_reaper unit test.
Change-Id: Ib9e875ddd1334a 4a67037dcfbd42d 3b008ccd4e7
commit 75ab3cb78862647 644af7eaf5e0fb5 90e73ae341
Author: Alistair Coles <email address hidden>
Date: Wed Oct 14 15:49:35 2015 +0100
Stop staticweb revealing container existence to unauth'd requests
When a container has `X-Container- Meta-Web- Listings: false` then
staticweb will return a 404 in response to a GET or HEAD on the
container, regardless of whether the request is auth'd. That provides
a way to probe for container existence. It should return a 401 if the
request is not auth'd.
This patch adds a call to swift.authorize before returning the 404.
Closes-Bug: 1506116 d67bf4494db7084 a860a10db59
Change-Id: I382323b49dc8f6