)]}'
{"doc/source/specs/file-system-bank.rst":[{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"cab399d5ede50b5b3d09c545d167d8e99d33a3fb","unresolved":false,"context_lines":[{"line_number":70,"context_line":"Data model impact"},{"line_number":71,"context_line":"-----------------"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"New field for a checkpoint called ``extra-info``."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"REST API impact"},{"line_number":76,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1ac06dbe_3d3008e8","line":73,"range":{"start_line":73,"start_character":0,"end_line":73,"end_character":49},"updated":"2016-08-23 08:12:19.000000000","message":"Need be deleted.","commit_id":"364f5c165f4eb0f1da1b09da3e8877030a49e1f5"},{"author":{"_account_id":2023,"name":"Saggi Mizrahi","email":"ficoos+osreview@gmail.com","username":"ficoos"},"change_message_id":"5d93f01e10c402ea6b0fa5f1309f4e8ae87963cf","unresolved":false,"context_lines":[{"line_number":70,"context_line":"Data model impact"},{"line_number":71,"context_line":"-----------------"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"New field for a checkpoint called ``extra-info``."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"REST API impact"},{"line_number":76,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa7ab95a_85869d11","line":73,"range":{"start_line":73,"start_character":0,"end_line":73,"end_character":49},"in_reply_to":"1ac06dbe_3d3008e8","updated":"2016-08-31 13:32:13.000000000","message":"why?","commit_id":"364f5c165f4eb0f1da1b09da3e8877030a49e1f5"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"79f00ae85fa6f1c048022084abd9a599477e9b74","unresolved":false,"context_lines":[{"line_number":70,"context_line":"Data model impact"},{"line_number":71,"context_line":"-----------------"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"New field for a checkpoint called ``extra-info``."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"REST API impact"},{"line_number":76,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa7ab95a_159170f1","line":73,"range":{"start_line":73,"start_character":0,"end_line":73,"end_character":49},"in_reply_to":"fa7ab95a_85869d11","updated":"2016-09-02 02:50:13.000000000","message":"Why does the file system bank impact the data model of checkpoint? IMO, the `extra-info\u0027 field of checkpoint is used for saving the metadata from user(service/tenant). It has nothing to do with the implementation of file system bank.","commit_id":"364f5c165f4eb0f1da1b09da3e8877030a49e1f5"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"cab399d5ede50b5b3d09c545d167d8e99d33a3fb","unresolved":false,"context_lines":[{"line_number":130,"context_line":"Testing"},{"line_number":131,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"Unit tests in Smaug."},{"line_number":134,"context_line":""},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"Documentation Impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1ac06dbe_fd403036","line":133,"range":{"start_line":133,"start_character":14,"end_line":133,"end_character":19},"updated":"2016-08-23 08:12:19.000000000","message":"S/Smaug/Karbor","commit_id":"364f5c165f4eb0f1da1b09da3e8877030a49e1f5"},{"author":{"_account_id":15069,"name":"zhonghuali","email":"lizhonghua.li@huawei.com","username":"sloblee"},"change_message_id":"02c89ee3eb88f2dbfe0e37721597f7b603e6a89f","unresolved":false,"context_lines":[{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Currently we only suppport Swift as a bank implementation. This means that"},{"line_number":17,"context_line":"anyone that uses Karbor must also install Swift. This might be unacceptable or"},{"line_number":18,"context_line":"over complicated for some deployments."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"I suggest adding an FS based implementation. It will use files for"},{"line_number":21,"context_line":"objects storing objects and object metadata."}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa7ab95a_75a1dcf7","line":18,"range":{"start_line":17,"start_character":49,"end_line":18,"end_character":37},"updated":"2016-09-02 02:21:52.000000000","message":"Karbor also need diverse bank-backend implementations","commit_id":"799c2d2ef37c4a9f42ad9f5e04022da952684850"},{"author":{"_account_id":15069,"name":"zhonghuali","email":"lizhonghua.li@huawei.com","username":"sloblee"},"change_message_id":"02c89ee3eb88f2dbfe0e37721597f7b603e6a89f","unresolved":false,"context_lines":[{"line_number":17,"context_line":"anyone that uses Karbor must also install Swift. This might be unacceptable or"},{"line_number":18,"context_line":"over complicated for some deployments."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"I suggest adding an FS based implementation. It will use files for"},{"line_number":21,"context_line":"objects storing objects and object metadata."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa7ab95a_7af46b5a","line":20,"range":{"start_line":20,"start_character":17,"end_line":20,"end_character":19},"updated":"2016-09-02 02:21:52.000000000","message":"a","commit_id":"799c2d2ef37c4a9f42ad9f5e04022da952684850"},{"author":{"_account_id":2023,"name":"Saggi Mizrahi","email":"ficoos+osreview@gmail.com","username":"ficoos"},"change_message_id":"a786a53b1537f72a6b0f2dbfd9022cd8bb285af9","unresolved":false,"context_lines":[{"line_number":17,"context_line":"anyone that uses Karbor must also install Swift. This might be unacceptable or"},{"line_number":18,"context_line":"over complicated for some deployments."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"I suggest adding an FS based implementation. It will use files for"},{"line_number":21,"context_line":"objects storing objects and object metadata."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a89bdaa_1063aedd","line":20,"range":{"start_line":20,"start_character":17,"end_line":20,"end_character":19},"in_reply_to":"fa7ab95a_7af46b5a","updated":"2016-09-05 08:27:04.000000000","message":"For initalisms you use a\\an by how you pronounce and not the actual letter.\n\nhttp://www.oxforddictionaries.com/us/words/initialisms-american","commit_id":"799c2d2ef37c4a9f42ad9f5e04022da952684850"},{"author":{"_account_id":15069,"name":"zhonghuali","email":"lizhonghua.li@huawei.com","username":"sloblee"},"change_message_id":"02c89ee3eb88f2dbfe0e37721597f7b603e6a89f","unresolved":false,"context_lines":[{"line_number":23,"context_line":"Use Cases"},{"line_number":24,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"As explained, deployers might not want or will be unable to install swift in"},{"line_number":27,"context_line":"their clowd."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa7ab95a_9a9ccf0f","line":26,"range":{"start_line":26,"start_character":68,"end_line":26,"end_character":73},"updated":"2016-09-02 02:21:52.000000000","message":"s/swift/Swift","commit_id":"799c2d2ef37c4a9f42ad9f5e04022da952684850"},{"author":{"_account_id":15069,"name":"zhonghuali","email":"lizhonghua.li@huawei.com","username":"sloblee"},"change_message_id":"02c89ee3eb88f2dbfe0e37721597f7b603e6a89f","unresolved":false,"context_lines":[{"line_number":24,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"As explained, deployers might not want or will be unable to install swift in"},{"line_number":27,"context_line":"their clowd."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Proposed change"},{"line_number":30,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa7ab95a_9a576f59","line":27,"range":{"start_line":27,"start_character":6,"end_line":27,"end_character":11},"updated":"2016-09-02 02:21:52.000000000","message":"s/clowd/cloud","commit_id":"799c2d2ef37c4a9f42ad9f5e04022da952684850"},{"author":{"_account_id":15069,"name":"zhonghuali","email":"lizhonghua.li@huawei.com","username":"sloblee"},"change_message_id":"02c89ee3eb88f2dbfe0e37721597f7b603e6a89f","unresolved":false,"context_lines":[{"line_number":33,"context_line":"as a directory seperator."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"For example::"},{"line_number":36,"context_line":"        Object ID: /some/id/for/checkpint"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Since object names might contain chars that are unavailable as regualr files"},{"line_number":39,"context_line":"we will need to escape some chars so that they can be used as file names."}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa7ab95a_7a370bff","line":36,"range":{"start_line":36,"start_character":18,"end_line":36,"end_character":41},"updated":"2016-09-02 02:21:52.000000000","message":"I am not quite aware of this example. is this an example for the file folder name?","commit_id":"799c2d2ef37c4a9f42ad9f5e04022da952684850"},{"author":{"_account_id":15069,"name":"zhonghuali","email":"lizhonghua.li@huawei.com","username":"sloblee"},"change_message_id":"02c89ee3eb88f2dbfe0e37721597f7b603e6a89f","unresolved":false,"context_lines":[{"line_number":35,"context_line":"For example::"},{"line_number":36,"context_line":"        Object ID: /some/id/for/checkpint"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Since object names might contain chars that are unavailable as regualr files"},{"line_number":39,"context_line":"we will need to escape some chars so that they can be used as file names."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"We propose the following encoding escape sequence"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa7ab95a_7a50eb32","line":38,"range":{"start_line":38,"start_character":63,"end_line":38,"end_character":70},"updated":"2016-09-02 02:21:52.000000000","message":"regular","commit_id":"799c2d2ef37c4a9f42ad9f5e04022da952684850"},{"author":{"_account_id":15069,"name":"zhonghuali","email":"lizhonghua.li@huawei.com","username":"sloblee"},"change_message_id":"b7a0821632d8bd1f927a73fcf599371259193a88","unresolved":false,"context_lines":[{"line_number":16,"context_line":"Currently we only suppport Swift as a bank implementation. This means that"},{"line_number":17,"context_line":"anyone that uses Karbor must also install Swift. This might be unacceptable or"},{"line_number":18,"context_line":"over complicated for some deployments. Furthe more, having a many options"},{"line_number":19,"context_line":"for bank backends is allways a good things."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"I suggest adding an FS based implementation. It will use files for"},{"line_number":22,"context_line":"objects storing objects and object metadata."}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a89bdaa_f6a1c1aa","line":19,"range":{"start_line":19,"start_character":21,"end_line":19,"end_character":28},"updated":"2016-09-06 03:40:19.000000000","message":"always","commit_id":"61e7552a0be398254231cfbcfe7aae04e894cf0e"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"2c8ee6e1bc94609de7ea2e79237b0c6a984b92e8","unresolved":false,"context_lines":[{"line_number":19,"context_line":"for bank backends is always a good things."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"I suggest adding an FS based implementation. It will use files for"},{"line_number":22,"context_line":"objects storing objects and object metadata."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Use Cases"},{"line_number":25,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a89bdaa_77640be5","line":22,"range":{"start_line":22,"start_character":8,"end_line":22,"end_character":44},"updated":"2016-09-09 02:23:02.000000000","message":"Does the file bank store both checkpoint and data protected?","commit_id":"7c6c9d2e0fdb0271096a11774bfaa3b09426bed4"},{"author":{"_account_id":19346,"name":"yinwei","email":"yinweiishere@icloud.com","username":"yinwei"},"change_message_id":"1f623a168d5384f204a9b0d0961faee05d7973fb","unresolved":false,"context_lines":[{"line_number":19,"context_line":"for bank backends is always a good things."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"I suggest adding an FS based implementation. It will use files for"},{"line_number":22,"context_line":"objects storing objects and object metadata."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Use Cases"},{"line_number":25,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a89bdaa_d8c90c5b","line":22,"updated":"2016-09-07 02:35:39.000000000","message":"The bank module implicitly has the capability to replicate checkpoint across sites.\nSo for FS based bank, not all FS has the capability to replciate across sites. \nShall we define the attribute of bank backend as \u0027replicate-enabled\u0027 and thus user can choose to specify \u0027replicate checkpoint\u0027 in plan.  So plan making can check or recommend qualified bank backends.","commit_id":"7c6c9d2e0fdb0271096a11774bfaa3b09426bed4"},{"author":{"_account_id":2023,"name":"Saggi Mizrahi","email":"ficoos+osreview@gmail.com","username":"ficoos"},"change_message_id":"76f970d6b06bc9a07bf9ef9fa027922d6a49ad23","unresolved":false,"context_lines":[{"line_number":19,"context_line":"for bank backends is always a good things."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"I suggest adding an FS based implementation. It will use files for"},{"line_number":22,"context_line":"objects storing objects and object metadata."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Use Cases"},{"line_number":25,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a89bdaa_d060cf37","line":22,"range":{"start_line":22,"start_character":8,"end_line":22,"end_character":44},"in_reply_to":"9a89bdaa_77640be5","updated":"2016-09-13 13:15:11.000000000","message":"The whole point of the FS solution is when the user doesn\u0027t want to use something complicated and doesn\u0027t need cross site restore.","commit_id":"7c6c9d2e0fdb0271096a11774bfaa3b09426bed4"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"9b965032fb65f1aea5e78dc3932c3fee881b4da4","unresolved":false,"context_lines":[{"line_number":19,"context_line":"for bank backends is always a good things."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"I suggest adding an FS based implementation. It will use files for"},{"line_number":22,"context_line":"objects storing objects and object metadata."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Use Cases"},{"line_number":25,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"da36d5c6_daa6dfbf","line":22,"range":{"start_line":22,"start_character":8,"end_line":22,"end_character":44},"in_reply_to":"9a89bdaa_d060cf37","updated":"2017-02-27 07:14:04.000000000","message":"It means that the FS bank is only for the single site restore.","commit_id":"7c6c9d2e0fdb0271096a11774bfaa3b09426bed4"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"2c8ee6e1bc94609de7ea2e79237b0c6a984b92e8","unresolved":false,"context_lines":[{"line_number":19,"context_line":"for bank backends is always a good things."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"I suggest adding an FS based implementation. It will use files for"},{"line_number":22,"context_line":"objects storing objects and object metadata."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Use Cases"},{"line_number":25,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a89bdaa_5c880cc7","line":22,"in_reply_to":"9a89bdaa_d8c90c5b","updated":"2016-09-09 02:23:02.000000000","message":"yes, agree with yinwei. checkpoint is the key resource for restoration which can not work if corresponding checkpoint is lost. so we\u0027d better do some reminding.","commit_id":"7c6c9d2e0fdb0271096a11774bfaa3b09426bed4"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"9b965032fb65f1aea5e78dc3932c3fee881b4da4","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        \u003d\u003e"},{"line_number":52,"context_line":"        object%[2A]with%[25]wierd%[2A]id"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"metadata files will be in a JSON format and will reside under the `.bank_md`"},{"line_number":55,"context_line":"directory of the same directory."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"For example::"},{"line_number":58,"context_line":"        /some/object/id \u003c- object"}],"source_content_type":"text/x-rst","patch_set":5,"id":"da36d5c6_9aec67bc","line":55,"range":{"start_line":54,"start_character":0,"end_line":55,"end_character":32},"updated":"2017-02-27 07:14:04.000000000","message":"Hi saggi, why do we need introduce a new directory .bank_md to save the metadata of the object. Can we keep the same structure with swift bank about the the checkpoint object saved in swif? The metadata of the backup-data can be saved to the metadata object under the directory  of the object id. The checkpoint\u0027s metadata can be saved to the object index.json like the swift bank. \n\n\n\nroot@SZX1000263125:/opt/swift_data/checkpoints/3a4d76e7-f8d8-4f2f-9c1d-107d88d7a815# ll\ntotal 16\ndrwxr-xr-x 3 root root 4096 Feb 17 17:03 ./\ndrwxr-xr-x 3 root root 4096 Feb 17 17:03 ../\n-rw-r--r-- 1 root root  707 Feb 17 17:03 index.json\ndrwxr-xr-x 3 root root 4096 Feb 17 17:03 resource-data/\n\n\nroot@SZX1000263125:/opt/swift_data/checkpoints/3a4d76e7-f8d8-4f2f-9c1d-107d88d7a815/resource-data/ead08bf4-59f2-4d27-823a-1ebdd479cb6d# ll\ntotal 16\ndrwxr-xr-x 2 root root 4096 Feb 17 17:03 ./\ndrwxr-xr-x 3 root root 4096 Feb 17 17:03 ../\n-rw-r--r-- 1 root root  326 Feb 17 17:03 metadata\n-rw-r--r-- 1 root root    9 Feb 17 17:03 status","commit_id":"7c6c9d2e0fdb0271096a11774bfaa3b09426bed4"},{"author":{"_account_id":21648,"name":"zhangshuai","email":"446077695@qq.com","username":"zhangshuai"},"change_message_id":"05de893545a6308f4e488e44749f17d7ae03538d","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        \u003d\u003e"},{"line_number":52,"context_line":"        object%[2A]with%[25]wierd%[2A]id"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"metadata files will be in a JSON format and will reside under the `.bank_md`"},{"line_number":55,"context_line":"directory of the same directory."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"For example::"},{"line_number":58,"context_line":"        /some/object/id \u003c- object"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1a1ced50_358105c4","line":55,"range":{"start_line":54,"start_character":0,"end_line":55,"end_character":32},"in_reply_to":"da36d5c6_9aec67bc","updated":"2017-03-22 08:59:01.000000000","message":"Agree with chenying, it keep consistent.","commit_id":"7c6c9d2e0fdb0271096a11774bfaa3b09426bed4"},{"author":{"_account_id":20883,"name":"Yuval Brik","email":"yuval@brik.org.il","username":"yuvalbr"},"change_message_id":"b6b29d109d4cfb572f5200dffa1d36bbd3dbc122","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        \u003d\u003e"},{"line_number":52,"context_line":"        object%[2A]with%[25]wierd%[2A]id"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"metadata files will be in a JSON format and will reside under the `.bank_md`"},{"line_number":55,"context_line":"directory of the same directory."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"For example::"},{"line_number":58,"context_line":"        /some/object/id \u003c- object"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a30ddce_cc94db44","line":55,"range":{"start_line":54,"start_character":0,"end_line":55,"end_character":32},"in_reply_to":"da36d5c6_9aec67bc","updated":"2017-03-09 14:46:27.000000000","message":"saggi?","commit_id":"7c6c9d2e0fdb0271096a11774bfaa3b09426bed4"}]}
