)]}'
{"doc/source/api/large_objects.rst":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"b91505271e51321c42cb42c53906e5b0380fc900","unresolved":false,"context_lines":[{"line_number":279,"context_line":"Segment object size and number"},{"line_number":280,"context_line":"------------------------------"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"With static large objects, the segment objects must be at least 1 MB in size"},{"line_number":283,"context_line":"(by default). The final segment object can be any size. At most,"},{"line_number":284,"context_line":"1000 segments are supported (by default)."},{"line_number":285,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a5ae5dd_9a544bca","line":282,"updated":"2016-02-08 09:31:01.000000000","message":"This is no longer True since this merged: https://review.openstack.org/#/c/252096/","commit_id":"4bbafd639812ef2c6d63afc83d723327d7662566"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"ff48197a6a5f49dee215d01fd6e72bee29fdb78f","unresolved":false,"context_lines":[{"line_number":279,"context_line":"Segment object size and number"},{"line_number":280,"context_line":"------------------------------"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"With static large objects, the segment objects must be at least 1 MB in size"},{"line_number":283,"context_line":"(by default). The final segment object can be any size. At most,"},{"line_number":284,"context_line":"1000 segments are supported (by default)."},{"line_number":285,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a5ae5dd_4de368d9","line":282,"in_reply_to":"5a5ae5dd_9a544bca","updated":"2016-02-08 15:29:02.000000000","message":"Done. Also fixed overview_large_objects.rst","commit_id":"4bbafd639812ef2c6d63afc83d723327d7662566"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"b91505271e51321c42cb42c53906e5b0380fc900","unresolved":false,"context_lines":[{"line_number":309,"context_line":"Copying the manifest object"},{"line_number":310,"context_line":"---------------------------"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"With static large objects, you include the *``?multipart-manifest\u003dget``*"},{"line_number":313,"context_line":"query string in the **COPY**  request. The new object contains the same"},{"line_number":314,"context_line":"manifest as the original. The segment objects are not copied. Instead,"},{"line_number":315,"context_line":"both the original and new manifest objects share the same set of segment"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a5ae5dd_1aaa9b85","line":312,"updated":"2016-02-08 09:31:01.000000000","message":"The combination of *`` quoting leaves the `` rendered - the `` quotes should probably be removed.","commit_id":"4bbafd639812ef2c6d63afc83d723327d7662566"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"ff48197a6a5f49dee215d01fd6e72bee29fdb78f","unresolved":false,"context_lines":[{"line_number":309,"context_line":"Copying the manifest object"},{"line_number":310,"context_line":"---------------------------"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"With static large objects, you include the *``?multipart-manifest\u003dget``*"},{"line_number":313,"context_line":"query string in the **COPY**  request. The new object contains the same"},{"line_number":314,"context_line":"manifest as the original. The segment objects are not copied. Instead,"},{"line_number":315,"context_line":"both the original and new manifest objects share the same set of segment"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a5ae5dd_add45ceb","line":312,"in_reply_to":"5a5ae5dd_1aaa9b85","updated":"2016-02-08 15:29:02.000000000","message":"Done.\nAlso made \"query string\" vs \"query parameter\" consistent","commit_id":"4bbafd639812ef2c6d63afc83d723327d7662566"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"b91505271e51321c42cb42c53906e5b0380fc900","unresolved":false,"context_lines":[{"line_number":315,"context_line":"both the original and new manifest objects share the same set of segment"},{"line_number":316,"context_line":"objects."},{"line_number":317,"context_line":""},{"line_number":318,"context_line":"When copying dynamic large objects, the **COPY** operation does not create"},{"line_number":319,"context_line":"a manifest object but a normal object with content same as what you would"},{"line_number":320,"context_line":"get on a **GET** request to the original manifest object."},{"line_number":321,"context_line":"To duplicate a dynamic large manifest object, use the **GET** operation to read"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a5ae5dd_fac8df56","line":318,"updated":"2016-02-08 09:31:01.000000000","message":"The ``?multipart-manifest\u003dget`` query string with a COPY ahs the same effect with DLO as it does for SLO i.e. the manifest is copied. There is a test for that behaviour here:\n\ntest.functional.tests.TestDlo#test_copy_manifest\n\nSo the semantics are the same for both DLO and SLO.","commit_id":"4bbafd639812ef2c6d63afc83d723327d7662566"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"ff48197a6a5f49dee215d01fd6e72bee29fdb78f","unresolved":false,"context_lines":[{"line_number":315,"context_line":"both the original and new manifest objects share the same set of segment"},{"line_number":316,"context_line":"objects."},{"line_number":317,"context_line":""},{"line_number":318,"context_line":"When copying dynamic large objects, the **COPY** operation does not create"},{"line_number":319,"context_line":"a manifest object but a normal object with content same as what you would"},{"line_number":320,"context_line":"get on a **GET** request to the original manifest object."},{"line_number":321,"context_line":"To duplicate a dynamic large manifest object, use the **GET** operation to read"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a5ae5dd_4d312859","line":318,"in_reply_to":"5a5ae5dd_fac8df56","updated":"2016-02-08 15:29:02.000000000","message":"Done","commit_id":"4bbafd639812ef2c6d63afc83d723327d7662566"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"911bfe4f49af3c4d4fca7aa9fadf316c33156a3f","unresolved":false,"context_lines":[{"line_number":124,"context_line":"Normally when you perform a **GET** operation on the manifest object,"},{"line_number":125,"context_line":"the response body contains the concatenated content of the segment"},{"line_number":126,"context_line":"objects. To download the manifest list, use the"},{"line_number":127,"context_line":"``multipart-manifest\u003dget`` query parameter. The resulting list is not"},{"line_number":128,"context_line":"formatted the same as the manifest you originally used in the **PUT**"},{"line_number":129,"context_line":"operation."},{"line_number":130,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a5ae5dd_0b8766d8","line":127,"updated":"2016-02-09 10:28:41.000000000","message":"parameter -\u003e string","commit_id":"98603fd1680022ccd96c41277296a60d7bd1132e"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"27b0de72d9aef6aba196b411221f23d8314506cb","unresolved":false,"context_lines":[{"line_number":124,"context_line":"Normally when you perform a **GET** operation on the manifest object,"},{"line_number":125,"context_line":"the response body contains the concatenated content of the segment"},{"line_number":126,"context_line":"objects. To download the manifest list, use the"},{"line_number":127,"context_line":"``multipart-manifest\u003dget`` query parameter. The resulting list is not"},{"line_number":128,"context_line":"formatted the same as the manifest you originally used in the **PUT**"},{"line_number":129,"context_line":"operation."},{"line_number":130,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a5ae5dd_a95419ca","line":127,"in_reply_to":"5a5ae5dd_0b8766d8","updated":"2016-02-09 11:13:30.000000000","message":"Done","commit_id":"98603fd1680022ccd96c41277296a60d7bd1132e"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"911bfe4f49af3c4d4fca7aa9fadf316c33156a3f","unresolved":false,"context_lines":[{"line_number":130,"context_line":""},{"line_number":131,"context_line":"If you use the **DELETE** operation on a manifest object, the manifest"},{"line_number":132,"context_line":"object is deleted. The segment objects are not affected. However, if you"},{"line_number":133,"context_line":"add the ``multipart-manifest\u003ddelete`` query parameter, the segment"},{"line_number":134,"context_line":"objects are deleted and if all are successfully deleted, the manifest"},{"line_number":135,"context_line":"object is also deleted."},{"line_number":136,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a5ae5dd_cbacee37","line":133,"updated":"2016-02-09 10:28:41.000000000","message":"parameter -\u003e string","commit_id":"98603fd1680022ccd96c41277296a60d7bd1132e"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"27b0de72d9aef6aba196b411221f23d8314506cb","unresolved":false,"context_lines":[{"line_number":130,"context_line":""},{"line_number":131,"context_line":"If you use the **DELETE** operation on a manifest object, the manifest"},{"line_number":132,"context_line":"object is deleted. The segment objects are not affected. However, if you"},{"line_number":133,"context_line":"add the ``multipart-manifest\u003ddelete`` query parameter, the segment"},{"line_number":134,"context_line":"objects are deleted and if all are successfully deleted, the manifest"},{"line_number":135,"context_line":"object is also deleted."},{"line_number":136,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a5ae5dd_c95155da","line":133,"in_reply_to":"5a5ae5dd_cbacee37","updated":"2016-02-09 11:13:30.000000000","message":"Done","commit_id":"98603fd1680022ccd96c41277296a60d7bd1132e"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"911bfe4f49af3c4d4fca7aa9fadf316c33156a3f","unresolved":false,"context_lines":[{"line_number":135,"context_line":"object is also deleted."},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"To change the manifest, use a **PUT** operation with the"},{"line_number":138,"context_line":"``?multipart-manifest\u003dput`` query string. This request creates a"},{"line_number":139,"context_line":"manifest object. You can also update the object metadata in the usual"},{"line_number":140,"context_line":"way."},{"line_number":141,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a5ae5dd_0bba066f","line":138,"updated":"2016-02-09 10:28:41.000000000","message":"? here but not elsewhere?","commit_id":"98603fd1680022ccd96c41277296a60d7bd1132e"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"27b0de72d9aef6aba196b411221f23d8314506cb","unresolved":false,"context_lines":[{"line_number":135,"context_line":"object is also deleted."},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"To change the manifest, use a **PUT** operation with the"},{"line_number":138,"context_line":"``?multipart-manifest\u003dput`` query string. This request creates a"},{"line_number":139,"context_line":"manifest object. You can also update the object metadata in the usual"},{"line_number":140,"context_line":"way."},{"line_number":141,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a5ae5dd_695dc1eb","line":138,"in_reply_to":"5a5ae5dd_0bba066f","updated":"2016-02-09 11:13:30.000000000","message":"Done","commit_id":"98603fd1680022ccd96c41277296a60d7bd1132e"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"911bfe4f49af3c4d4fca7aa9fadf316c33156a3f","unresolved":false,"context_lines":[{"line_number":279,"context_line":"Segment object size and number"},{"line_number":280,"context_line":"------------------------------"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"With static large objects, the segment objects must be at least 1 byte in size."},{"line_number":283,"context_line":"However, if the segment objects are less than 1MB (by default),"},{"line_number":284,"context_line":"the SLO download is (by default) rate limited. At most,"},{"line_number":285,"context_line":"1000 segments are supported (by default) and the manifest has a limit"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a5ae5dd_cb738ee6","line":282,"updated":"2016-02-09 10:28:41.000000000","message":"maybe \"segment objects can be any size\" as per dlo below.\n\nbe hard to get less than 1 byte :)","commit_id":"98603fd1680022ccd96c41277296a60d7bd1132e"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"27b0de72d9aef6aba196b411221f23d8314506cb","unresolved":false,"context_lines":[{"line_number":279,"context_line":"Segment object size and number"},{"line_number":280,"context_line":"------------------------------"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"With static large objects, the segment objects must be at least 1 byte in size."},{"line_number":283,"context_line":"However, if the segment objects are less than 1MB (by default),"},{"line_number":284,"context_line":"the SLO download is (by default) rate limited. At most,"},{"line_number":285,"context_line":"1000 segments are supported (by default) and the manifest has a limit"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a5ae5dd_2694d9e6","line":282,"in_reply_to":"5a5ae5dd_cb738ee6","updated":"2016-02-09 11:13:30.000000000","message":"Er, zero is less than 1 byte. A DLO could have a zero-length object (which content-wise is same as not existing, but etag-wise matters)","commit_id":"98603fd1680022ccd96c41277296a60d7bd1132e"}],"doc/source/index.rst":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"b91505271e51321c42cb42c53906e5b0380fc900","unresolved":false,"context_lines":[{"line_number":111,"context_line":"OpenStack End User Guide"},{"line_number":112,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"The OpenStack End User Guide has additional information on using Swift."},{"line_number":115,"context_line":"The `Manage objects and containers \u003chttp://docs.openstack.org/user-guide/managing-openstack-object-storage-with-swift-cli.html\u003e`_"},{"line_number":116,"context_line":"section includes the following topics"},{"line_number":117,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a5ae5dd_3a46777b","line":114,"updated":"2016-02-08 09:31:01.000000000","message":"Can you make \"OpenStack End User Guide\" a hyperlink too?","commit_id":"4bbafd639812ef2c6d63afc83d723327d7662566"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"ff48197a6a5f49dee215d01fd6e72bee29fdb78f","unresolved":false,"context_lines":[{"line_number":111,"context_line":"OpenStack End User Guide"},{"line_number":112,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"The OpenStack End User Guide has additional information on using Swift."},{"line_number":115,"context_line":"The `Manage objects and containers \u003chttp://docs.openstack.org/user-guide/managing-openstack-object-storage-with-swift-cli.html\u003e`_"},{"line_number":116,"context_line":"section includes the following topics"},{"line_number":117,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a5ae5dd_cda19895","line":114,"in_reply_to":"5a5ae5dd_3a46777b","updated":"2016-02-08 15:29:02.000000000","message":"Done","commit_id":"4bbafd639812ef2c6d63afc83d723327d7662566"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"b91505271e51321c42cb42c53906e5b0380fc900","unresolved":false,"context_lines":[{"line_number":114,"context_line":"The OpenStack End User Guide has additional information on using Swift."},{"line_number":115,"context_line":"The `Manage objects and containers \u003chttp://docs.openstack.org/user-guide/managing-openstack-object-storage-with-swift-cli.html\u003e`_"},{"line_number":116,"context_line":"section includes the following topics"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"* Manage access with ACLs"},{"line_number":119,"context_line":"* Object versioning"},{"line_number":120,"context_line":"* Pagination of account and container listing"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a5ae5dd_25089827","line":117,"updated":"2016-02-08 09:31:01.000000000","message":"I think its useful to have the link to these docs, but  wonder if the list of topics covered is at risk of becoming stale - is it necessary here or sufficient to just link to the doc page where the reader will immediately see a list of topics covered.","commit_id":"4bbafd639812ef2c6d63afc83d723327d7662566"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"ff48197a6a5f49dee215d01fd6e72bee29fdb78f","unresolved":false,"context_lines":[{"line_number":114,"context_line":"The OpenStack End User Guide has additional information on using Swift."},{"line_number":115,"context_line":"The `Manage objects and containers \u003chttp://docs.openstack.org/user-guide/managing-openstack-object-storage-with-swift-cli.html\u003e`_"},{"line_number":116,"context_line":"section includes the following topics"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"* Manage access with ACLs"},{"line_number":119,"context_line":"* Object versioning"},{"line_number":120,"context_line":"* Pagination of account and container listing"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a5ae5dd_8da720a6","line":117,"in_reply_to":"5a5ae5dd_25089827","updated":"2016-02-08 15:29:02.000000000","message":"Done","commit_id":"4bbafd639812ef2c6d63afc83d723327d7662566"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"911bfe4f49af3c4d4fca7aa9fadf316c33156a3f","unresolved":false,"context_lines":[{"line_number":111,"context_line":"OpenStack End User Guide"},{"line_number":112,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"The `OpenStack End User Guide \u003chttp://docs.openstack.org/user-guide\u003e`"},{"line_number":115,"context_line":"has additional information on using Swift."},{"line_number":116,"context_line":"See the `Manage objects and containers \u003chttp://docs.openstack.org/user-guide/managing-openstack-object-storage-with-swift-cli.html\u003e`_"},{"line_number":117,"context_line":"section."}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a5ae5dd_10ba376f","line":114,"updated":"2016-02-09 10:28:41.000000000","message":"that doesn\u0027t render as a hyperlink - missing an underscore maybe?","commit_id":"98603fd1680022ccd96c41277296a60d7bd1132e"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"27b0de72d9aef6aba196b411221f23d8314506cb","unresolved":false,"context_lines":[{"line_number":111,"context_line":"OpenStack End User Guide"},{"line_number":112,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"The `OpenStack End User Guide \u003chttp://docs.openstack.org/user-guide\u003e`"},{"line_number":115,"context_line":"has additional information on using Swift."},{"line_number":116,"context_line":"See the `Manage objects and containers \u003chttp://docs.openstack.org/user-guide/managing-openstack-object-storage-with-swift-cli.html\u003e`_"},{"line_number":117,"context_line":"section."}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a5ae5dd_091d2d0f","line":114,"in_reply_to":"5a5ae5dd_10ba376f","updated":"2016-02-09 11:13:30.000000000","message":"Done","commit_id":"98603fd1680022ccd96c41277296a60d7bd1132e"}]}
