swift/doc/source
Prashanth Pai 46d61a4dcd Refactor server side copy as middleware
Rewrite server side copy and 'object post as copy' feature as middleware to
simplify the PUT method in the object controller code. COPY is no longer
a verb implemented as public method in Proxy application.

The server side copy middleware is inserted to the left of dlo, slo and
versioned_writes middlewares in the proxy server pipeline. As a result,
dlo and slo copy_hooks are no longer required. SLO manifests are now
validated when copied so when copying a manifest to another account the
referenced segments must be readable in that account for the manifest
copy to succeed (previously this validation was not made, meaning the
manifest was copied but could be unusable if the segments were not
readable).

With this change, there should be no change in functionality or existing
behavior. This is asserted with (almost) no changes required to existing
functional tests.

Some notes (for operators):
* Middleware required to be auto-inserted before slo and dlo and
  versioned_writes
* Turning off server side copy is not configurable.
* object_post_as_copy is no longer a configurable option of proxy server
  but of this middleware. However, for smooth upgrade, config option set
  in proxy server app is also read.

DocImpact: Introducing server side copy as middleware

Co-Authored-By: Alistair Coles <alistair.coles@hpe.com>
Co-Authored-By: Thiago da Silva <thiago@redhat.com>

Change-Id: Ic96a92e938589a2f6add35a40741fd062f1c29eb
Signed-off-by: Prashanth Pai <ppai@redhat.com>
Signed-off-by: Thiago da Silva <thiago@redhat.com>
2016-05-11 14:55:51 -04:00
..
api [docs] Update Administrator Guide URL 2016-04-01 23:38:49 +09:00
images Remove execute permissions from doc files and swift.conf-sample 2016-02-18 08:52:03 +00:00
ops_runbook Fixed Sphinx errors 2016-04-09 18:47:58 +02:00
account.rst Alphabetized items under other sections in source documentation 2014-02-21 10:59:29 -07:00
admin_guide.rst Cleanup of Swift Ops Runbook 2016-03-10 17:39:54 +00:00
apache_deployment_guide.rst Fix typo in apache_deployment doc 2014-11-24 15:40:21 +00:00
associated_projects.rst added javaswift to associated projects 2016-04-04 16:27:14 -04:00
conf.py Fixed pep8 and flake8 errors in doc/source/conf.py and updated flake8 commands in tox.ini to test it. 2016-03-07 10:39:37 -06:00
container.rst Add Storage Policy Documentation 2014-06-19 10:18:34 -07:00
cors.rst Fix typos in Swift files 2016-04-07 13:33:20 +07:00
crossdomain.rst Fix misspellings in swift 2014-02-20 16:15:48 +08:00
db.rst Initial commit of Swift code 2010-07-12 17:03:45 -05:00
deployment_guide.rst Fixed Sphinx errors 2016-04-09 18:47:58 +02:00
development_auth.rst Merge "Fix incorrect kwarg in auth middleware example" 2015-12-18 22:04:47 +00:00
development_guidelines.rst Remove reference to py26 in tox testing instructions 2016-03-11 11:50:49 +00:00
development_middleware.rst Add documentation for GateKeeper 2014-01-23 15:04:23 -05:00
development_ondisk_backends.rst Fix six typos on swift documentation 2015-07-24 17:11:49 +09:00
development_saio.rst Additional step for Debugging Issues in SAIO 2016-01-25 10:09:08 -06:00
first_contribution_swift.rst Hyperlink fix to first contribution doc 2015-10-16 19:34:44 +05:30
getting_started.rst Swift documentation for first-time contributors. 2015-07-29 21:40:28 -07:00
howto_installmultinode.rst Use uppercase 'S' in word "OpenStack" 2016-02-04 16:48:13 +05:30
index.rst Operational procedures guide 2016-03-03 11:49:26 +00:00
logs.rst Refactor server side copy as middleware 2016-05-11 14:55:51 -04:00
middleware.rst Refactor server side copy as middleware 2016-05-11 14:55:51 -04:00
misc.rst Add Storage Policy Documentation 2014-06-19 10:18:34 -07:00
object.rst Alphabetized items under other sections in source documentation 2014-02-21 10:59:29 -07:00
overview_architecture.rst Fix six typos on swift documentation 2015-07-24 17:11:49 +09:00
overview_auth.rst Make keystone middleware options consistent in docs 2016-03-16 11:43:20 +00:00
overview_backing_store.rst Use uppercase 'S' in word "OpenStack" 2016-02-04 16:48:13 +05:30
overview_container_sync.rst Per container stat. report 2016-04-14 21:37:59 +03:00
overview_erasure_code.rst Remove Erasure Coding beta status from docs 2016-03-04 14:27:23 +00:00
overview_expiring_objects.rst Fixed a handful of typos 2014-05-26 16:07:41 -05:00
overview_large_objects.rst Added links to API reference and usage guides 2016-02-17 18:39:22 +00:00
overview_object_versioning.rst versioned writes middleware 2015-08-07 14:11:32 -04:00
overview_policies.rst Remove Erasure Coding beta status from docs 2016-03-04 14:27:23 +00:00
overview_reaper.rst account-reaper warns if not making progress 2013-05-22 15:07:17 +01:00
overview_replication.rst Erasure Code Documentation 2015-04-14 00:52:17 -07:00
overview_ring.rst Update ring overview for reuse of device ids 2016-03-17 22:24:12 +00:00
policies_saio.rst Remove execute permissions from doc files and swift.conf-sample 2016-02-18 08:52:03 +00:00
proxy.rst Alphabetized items under other sections in source documentation 2014-02-21 10:59:29 -07:00
ratelimit.rst added swift_source to ratelimit info calls 2015-02-15 17:14:31 -08:00
replication_network.rst Allows to configure the rsync modules where the replicators will send data 2015-09-07 08:00:18 +02:00
ring.rst Initial commit of Swift code 2010-07-12 17:03:45 -05:00
test-cors.html move cors-test-page to literal include 2014-03-17 21:09:22 -07:00