)]}'
{"doc/source/specs/operation-log-api.rst":[{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"9e6c0ce63e2920025e04f3d4718fd5b7e6f3e286","unresolved":false,"context_lines":[{"line_number":22,"context_line":"retention_duration will be introduced to karbor. So the checkpoints also can be"},{"line_number":23,"context_line":"deleted automatically."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"But if the end user want to query deleted protection log in history,  he can not get"},{"line_number":26,"context_line":"these deleted protection log via checkpoint restful API."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a1ced50_7e1ecc0c","line":25,"range":{"start_line":25,"start_character":68,"end_line":25,"end_character":69},"updated":"2017-03-23 07:49:36.000000000","message":"one redundant blank","commit_id":"ca53abdbcb1885df4d145af56b9620a12b38bd99"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"3c3b93b8b7d357774a9eed105fbc6213c60aa650","unresolved":false,"context_lines":[{"line_number":22,"context_line":"retention_duration will be introduced to karbor. So the checkpoints also can be"},{"line_number":23,"context_line":"deleted automatically."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"But if the end user want to query deleted protection log in history,  he can not get"},{"line_number":26,"context_line":"these deleted protection log via checkpoint restful API."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a1ced50_e30cd23d","line":25,"range":{"start_line":25,"start_character":68,"end_line":25,"end_character":69},"in_reply_to":"1a1ced50_7e1ecc0c","updated":"2017-03-23 15:33:49.000000000","message":"Done","commit_id":"ca53abdbcb1885df4d145af56b9620a12b38bd99"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"9e6c0ce63e2920025e04f3d4718fd5b7e6f3e286","unresolved":false,"context_lines":[{"line_number":26,"context_line":"these deleted protection log via checkpoint restful API."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Use Cases"},{"line_number":31,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":32,"context_line":"User want to query all the operation logs about checkpoint via a RESTfull API, including"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a1ced50_5eeaf0db","line":29,"updated":"2017-03-23 07:49:36.000000000","message":"one redundant line","commit_id":"ca53abdbcb1885df4d145af56b9620a12b38bd99"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"9e6c0ce63e2920025e04f3d4718fd5b7e6f3e286","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Use Cases"},{"line_number":31,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":32,"context_line":"User want to query all the operation logs about checkpoint via a RESTfull API, including"},{"line_number":33,"context_line":"the logs with status of **deleted**, **failed**."},{"line_number":34,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a1ced50_1e59588e","line":31,"range":{"start_line":31,"start_character":0,"end_line":31,"end_character":9},"updated":"2017-03-23 07:49:36.000000000","message":"Miss one empty line.","commit_id":"ca53abdbcb1885df4d145af56b9620a12b38bd99"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"9e6c0ce63e2920025e04f3d4718fd5b7e6f3e286","unresolved":false,"context_lines":[{"line_number":30,"context_line":"Use Cases"},{"line_number":31,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":32,"context_line":"User want to query all the operation logs about checkpoint via a RESTfull API, including"},{"line_number":33,"context_line":"the logs with status of **deleted**, **failed**."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a1ced50_8166cdea","line":33,"range":{"start_line":33,"start_character":0,"end_line":33,"end_character":48},"updated":"2017-03-23 07:49:36.000000000","message":"IMO, the log has no status, and just recordd the status of some works. So, I think the meaning of this statement is not clear.","commit_id":"ca53abdbcb1885df4d145af56b9620a12b38bd99"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"3c3b93b8b7d357774a9eed105fbc6213c60aa650","unresolved":false,"context_lines":[{"line_number":30,"context_line":"Use Cases"},{"line_number":31,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":32,"context_line":"User want to query all the operation logs about checkpoint via a RESTfull API, including"},{"line_number":33,"context_line":"the logs with status of **deleted**, **failed**."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a1ced50_e3b3f2e7","line":33,"range":{"start_line":33,"start_character":0,"end_line":33,"end_character":48},"in_reply_to":"1a1ced50_8166cdea","updated":"2017-03-23 15:33:49.000000000","message":"The log also will record the status.","commit_id":"ca53abdbcb1885df4d145af56b9620a12b38bd99"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"9e6c0ce63e2920025e04f3d4718fd5b7e6f3e286","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"As we know, the Checkpoint is responsible for the model of backup data which records"},{"line_number":40,"context_line":"all the metadata of backup data in the whole lifecycle, it is not responsible for the"},{"line_number":41,"context_line":"model of protection log.  So Karbor need expose one RESTfull api to support that the"},{"line_number":42,"context_line":"end-user can query all the protection log about the plan including successful , failed"},{"line_number":43,"context_line":"and deleted log records."},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a1ced50_9edaa815","line":41,"range":{"start_line":41,"start_character":24,"end_line":41,"end_character":25},"updated":"2017-03-23 07:49:36.000000000","message":"one redundant blank","commit_id":"ca53abdbcb1885df4d145af56b9620a12b38bd99"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"3c3b93b8b7d357774a9eed105fbc6213c60aa650","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"As we know, the Checkpoint is responsible for the model of backup data which records"},{"line_number":40,"context_line":"all the metadata of backup data in the whole lifecycle, it is not responsible for the"},{"line_number":41,"context_line":"model of protection log.  So Karbor need expose one RESTfull api to support that the"},{"line_number":42,"context_line":"end-user can query all the protection log about the plan including successful , failed"},{"line_number":43,"context_line":"and deleted log records."},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a1ced50_86240cb3","line":41,"range":{"start_line":41,"start_character":24,"end_line":41,"end_character":25},"in_reply_to":"1a1ced50_9edaa815","updated":"2017-03-23 15:33:49.000000000","message":"Done","commit_id":"ca53abdbcb1885df4d145af56b9620a12b38bd99"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"9e6c0ce63e2920025e04f3d4718fd5b7e6f3e286","unresolved":false,"context_lines":[{"line_number":39,"context_line":"As we know, the Checkpoint is responsible for the model of backup data which records"},{"line_number":40,"context_line":"all the metadata of backup data in the whole lifecycle, it is not responsible for the"},{"line_number":41,"context_line":"model of protection log.  So Karbor need expose one RESTfull api to support that the"},{"line_number":42,"context_line":"end-user can query all the protection log about the plan including successful , failed"},{"line_number":43,"context_line":"and deleted log records."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"About this patch: Add operation log endpoints to API document[1]. We have a plan to"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a1ced50_1e0b187e","line":42,"range":{"start_line":42,"start_character":77,"end_line":42,"end_character":78},"updated":"2017-03-23 07:49:36.000000000","message":"one redundant blank","commit_id":"ca53abdbcb1885df4d145af56b9620a12b38bd99"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"3c3b93b8b7d357774a9eed105fbc6213c60aa650","unresolved":false,"context_lines":[{"line_number":39,"context_line":"As we know, the Checkpoint is responsible for the model of backup data which records"},{"line_number":40,"context_line":"all the metadata of backup data in the whole lifecycle, it is not responsible for the"},{"line_number":41,"context_line":"model of protection log.  So Karbor need expose one RESTfull api to support that the"},{"line_number":42,"context_line":"end-user can query all the protection log about the plan including successful , failed"},{"line_number":43,"context_line":"and deleted log records."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"About this patch: Add operation log endpoints to API document[1]. We have a plan to"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a1ced50_461cd46a","line":42,"range":{"start_line":42,"start_character":77,"end_line":42,"end_character":78},"in_reply_to":"1a1ced50_1e0b187e","updated":"2017-03-23 15:33:49.000000000","message":"Done","commit_id":"ca53abdbcb1885df4d145af56b9620a12b38bd99"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"9e6c0ce63e2920025e04f3d4718fd5b7e6f3e286","unresolved":false,"context_lines":[{"line_number":39,"context_line":"As we know, the Checkpoint is responsible for the model of backup data which records"},{"line_number":40,"context_line":"all the metadata of backup data in the whole lifecycle, it is not responsible for the"},{"line_number":41,"context_line":"model of protection log.  So Karbor need expose one RESTfull api to support that the"},{"line_number":42,"context_line":"end-user can query all the protection log about the plan including successful , failed"},{"line_number":43,"context_line":"and deleted log records."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"About this patch: Add operation log endpoints to API document[1]. We have a plan to"},{"line_number":46,"context_line":"add operation log API to Karbor. But in this patch, we only consider the situation"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a1ced50_410bf523","line":43,"range":{"start_line":42,"start_character":67,"end_line":43,"end_character":24},"updated":"2017-03-23 07:49:36.000000000","message":"If I understand correctly, these 3 different statuses describe the different results how the Plan was executed respectively, and the Operation Log will record the result. If so, you should describe it more clearly.","commit_id":"ca53abdbcb1885df4d145af56b9620a12b38bd99"},{"author":{"_account_id":20883,"name":"Yuval Brik","email":"yuval@brik.org.il","username":"yuvalbr"},"change_message_id":"37329d574d38acd42f805810d7f9ff0ae27d8e33","unresolved":false,"context_lines":[{"line_number":29,"context_line":"Use Cases"},{"line_number":30,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"User want to query all the operation logs about checkpoint via a RESTfull API, including"},{"line_number":33,"context_line":"the logs that the checkpoints have been deleted."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ffe62b97_3772e7e4","line":32,"range":{"start_line":32,"start_character":65,"end_line":32,"end_character":73},"updated":"2017-03-26 08:23:55.000000000","message":"RESTful","commit_id":"a57a4934be7670d6065534a1754fe469904e0ba6"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"2570674c5913ebdbecf0c2085547a6e2192560cf","unresolved":false,"context_lines":[{"line_number":29,"context_line":"Use Cases"},{"line_number":30,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"User want to query all the operation logs about checkpoint via a RESTfull API, including"},{"line_number":33,"context_line":"the logs that the checkpoints have been deleted."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ffe62b97_f18364a8","line":32,"range":{"start_line":32,"start_character":65,"end_line":32,"end_character":73},"in_reply_to":"ffe62b97_3772e7e4","updated":"2017-03-27 03:23:23.000000000","message":"Done","commit_id":"a57a4934be7670d6065534a1754fe469904e0ba6"},{"author":{"_account_id":20883,"name":"Yuval Brik","email":"yuval@brik.org.il","username":"yuvalbr"},"change_message_id":"37329d574d38acd42f805810d7f9ff0ae27d8e33","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"As we know, the Checkpoint is responsible for the model of backup data which records"},{"line_number":40,"context_line":"all the metadata of backup data in the whole lifecycle, it is not responsible for the"},{"line_number":41,"context_line":"model of protection log. So Karbor need expose one RESTfull api to support that the"},{"line_number":42,"context_line":"end-user can query all the protection log about the plan including available, error"},{"line_number":43,"context_line":"and deleted log records."},{"line_number":44,"context_line":"About this patch: Add operation log endpoints to API document[1]. We have a plan to"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ffe62b97_17812390","line":41,"range":{"start_line":41,"start_character":51,"end_line":41,"end_character":63},"updated":"2017-03-26 08:23:55.000000000","message":"RESTful API","commit_id":"a57a4934be7670d6065534a1754fe469904e0ba6"},{"author":{"_account_id":20883,"name":"Yuval Brik","email":"yuval@brik.org.il","username":"yuvalbr"},"change_message_id":"37329d574d38acd42f805810d7f9ff0ae27d8e33","unresolved":false,"context_lines":[{"line_number":41,"context_line":"model of protection log. So Karbor need expose one RESTfull api to support that the"},{"line_number":42,"context_line":"end-user can query all the protection log about the plan including available, error"},{"line_number":43,"context_line":"and deleted log records."},{"line_number":44,"context_line":"About this patch: Add operation log endpoints to API document[1]. We have a plan to"},{"line_number":45,"context_line":"add operation log API to Karbor. But in this patch, we only consider the situation"},{"line_number":46,"context_line":"that the checkpoints are created automatically via scheduled_operation API. We also"},{"line_number":47,"context_line":"need consider the situation that the checkpoints are created manually directly via"},{"line_number":48,"context_line":"checkpoint API. We need redesign the operation log API to meet above requirement."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"1. The status of operation log::"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ffe62b97_1708032a","line":48,"range":{"start_line":44,"start_character":66,"end_line":48,"end_character":81},"updated":"2017-03-26 08:23:55.000000000","message":"This patch is the only patch, and adds Operation Log API created by the Operation Engine.\nCheckpoints created by the Protection Service directly will not be logged in the Operation Engine.","commit_id":"a57a4934be7670d6065534a1754fe469904e0ba6"},{"author":{"_account_id":21648,"name":"zhangshuai","email":"446077695@qq.com","username":"zhangshuai"},"change_message_id":"dc67693795f5c9a8b7e491e804eff9736939c168","unresolved":false,"context_lines":[{"line_number":41,"context_line":"model of protection log. So Karbor need expose one RESTfull api to support that the"},{"line_number":42,"context_line":"end-user can query all the protection log about the plan including available, error"},{"line_number":43,"context_line":"and deleted log records."},{"line_number":44,"context_line":"About this patch: Add operation log endpoints to API document[1]. We have a plan to"},{"line_number":45,"context_line":"add operation log API to Karbor. But in this patch, we only consider the situation"},{"line_number":46,"context_line":"that the checkpoints are created automatically via scheduled_operation API. We also"},{"line_number":47,"context_line":"need consider the situation that the checkpoints are created manually directly via"},{"line_number":48,"context_line":"checkpoint API. We need redesign the operation log API to meet above requirement."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"1. The status of operation log::"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ffe62b97_bc35b3dc","line":48,"range":{"start_line":44,"start_character":66,"end_line":48,"end_character":81},"in_reply_to":"ffe62b97_1708032a","updated":"2017-03-27 02:49:14.000000000","message":"why only Operation Engine create log? Is it no necessary to record logs about checkpoints created by manual?","commit_id":"a57a4934be7670d6065534a1754fe469904e0ba6"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"2570674c5913ebdbecf0c2085547a6e2192560cf","unresolved":false,"context_lines":[{"line_number":41,"context_line":"model of protection log. So Karbor need expose one RESTfull api to support that the"},{"line_number":42,"context_line":"end-user can query all the protection log about the plan including available, error"},{"line_number":43,"context_line":"and deleted log records."},{"line_number":44,"context_line":"About this patch: Add operation log endpoints to API document[1]. We have a plan to"},{"line_number":45,"context_line":"add operation log API to Karbor. But in this patch, we only consider the situation"},{"line_number":46,"context_line":"that the checkpoints are created automatically via scheduled_operation API. We also"},{"line_number":47,"context_line":"need consider the situation that the checkpoints are created manually directly via"},{"line_number":48,"context_line":"checkpoint API. We need redesign the operation log API to meet above requirement."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"1. The status of operation log::"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ffe62b97_7ce96b18","line":48,"range":{"start_line":44,"start_character":66,"end_line":48,"end_character":81},"in_reply_to":"ffe62b97_1708032a","updated":"2017-03-27 03:23:23.000000000","message":"yuval, I think we have different understanding about this new API operation log. This RESTful API operation log doesn\u0027t mean that the log about checkpoint produced by operation engine, it means that every \u0027protect\u0027 operation produce a checkpoint as a backup data copy, at the save time, a log about this checkpoint backup data copy (a log about this protect operation) should also be recorded. I have clearly described the use case and situation that the use want to query the log about checkpoint (produced by protect aciton) when karbor used in public and private Cloud. The end user don\u0027t need a single api only query the log from operation engine. The user can identify the log about checkpoint whether produced by operation engine from the field of scheduled_operation_id.","commit_id":"a57a4934be7670d6065534a1754fe469904e0ba6"},{"author":{"_account_id":20883,"name":"Yuval Brik","email":"yuval@brik.org.il","username":"yuvalbr"},"change_message_id":"37329d574d38acd42f805810d7f9ff0ae27d8e33","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"1. The status of operation log::"},{"line_number":52,"context_line":"OPERATION_LOGS_PROTECTING \u003d \u0027protecting\u0027"},{"line_number":53,"context_line":"OPERATION_LOGS_AVAILABLE \u003d \u0027available\u0027"},{"line_number":54,"context_line":"OPERATION_LOGS_STATUS_ERROR \u003d \u0027error\u0027"},{"line_number":55,"context_line":"OPERATION_LOGS_DELETING \u003d \u0027deleting\u0027"},{"line_number":56,"context_line":"OPERATION_LOGS_DELETED \u003d \u0027deleted\u0027"},{"line_number":57,"context_line":"OPERATION_LOGS_ERROR_DELETING \u003d \u0027error-deleting\u0027"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"2. Create"},{"line_number":60,"context_line":"The checkpoint can be created manually directly via checkpoint API. In this situation,"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ffe62b97_375b0755","line":57,"range":{"start_line":52,"start_character":0,"end_line":57,"end_character":48},"updated":"2017-03-26 08:23:55.000000000","message":"Operation Log describes an abstract operation, which might be \u0027protect\u0027 but not just that.\nThere for, the status should describe the states of the Operation:\n\u0027In process\u0027\n\u0027Success\u0027\n\u0027Fail\u0027\n\nIf you want to monitor the status of the checkpoint, query the checkpoint, not the Operation Log","commit_id":"a57a4934be7670d6065534a1754fe469904e0ba6"},{"author":{"_account_id":21648,"name":"zhangshuai","email":"446077695@qq.com","username":"zhangshuai"},"change_message_id":"2ccbc9ec21a5d8d86c5e60ca356cadefb9ece5a0","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"1. The status of operation log::"},{"line_number":52,"context_line":"OPERATION_LOGS_PROTECTING \u003d \u0027protecting\u0027"},{"line_number":53,"context_line":"OPERATION_LOGS_AVAILABLE \u003d \u0027available\u0027"},{"line_number":54,"context_line":"OPERATION_LOGS_STATUS_ERROR \u003d \u0027error\u0027"},{"line_number":55,"context_line":"OPERATION_LOGS_DELETING \u003d \u0027deleting\u0027"},{"line_number":56,"context_line":"OPERATION_LOGS_DELETED \u003d \u0027deleted\u0027"},{"line_number":57,"context_line":"OPERATION_LOGS_ERROR_DELETING \u003d \u0027error-deleting\u0027"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"2. Create"},{"line_number":60,"context_line":"The checkpoint can be created manually directly via checkpoint API. In this situation,"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ffe62b97_fc97bb8f","line":57,"range":{"start_line":52,"start_character":0,"end_line":57,"end_character":48},"in_reply_to":"ffe62b97_375b0755","updated":"2017-03-27 03:00:50.000000000","message":"If separate Operation Log to Operation Engine side, The update of status of Operation Log such as \u0027Success\u0027 or \u0027Fail\u0027 need to periodically query，That would add to the burden of protection.","commit_id":"a57a4934be7670d6065534a1754fe469904e0ba6"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"2570674c5913ebdbecf0c2085547a6e2192560cf","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"1. The status of operation log::"},{"line_number":52,"context_line":"OPERATION_LOGS_PROTECTING \u003d \u0027protecting\u0027"},{"line_number":53,"context_line":"OPERATION_LOGS_AVAILABLE \u003d \u0027available\u0027"},{"line_number":54,"context_line":"OPERATION_LOGS_STATUS_ERROR \u003d \u0027error\u0027"},{"line_number":55,"context_line":"OPERATION_LOGS_DELETING \u003d \u0027deleting\u0027"},{"line_number":56,"context_line":"OPERATION_LOGS_DELETED \u003d \u0027deleted\u0027"},{"line_number":57,"context_line":"OPERATION_LOGS_ERROR_DELETING \u003d \u0027error-deleting\u0027"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"2. Create"},{"line_number":60,"context_line":"The checkpoint can be created manually directly via checkpoint API. In this situation,"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ffe62b97_7cd3ab39","line":57,"range":{"start_line":52,"start_character":0,"end_line":57,"end_character":48},"in_reply_to":"ffe62b97_375b0755","updated":"2017-03-27 03:23:23.000000000","message":"the Checkpoint is responsible for the model of backup data which records\nall the metadata of backup data in the whole lifecycle, it is not responsible for the\nmodel of checkpoint log.","commit_id":"a57a4934be7670d6065534a1754fe469904e0ba6"},{"author":{"_account_id":20883,"name":"Yuval Brik","email":"yuval@brik.org.il","username":"yuvalbr"},"change_message_id":"37329d574d38acd42f805810d7f9ff0ae27d8e33","unresolved":false,"context_lines":[{"line_number":57,"context_line":"OPERATION_LOGS_ERROR_DELETING \u003d \u0027error-deleting\u0027"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"2. Create"},{"line_number":60,"context_line":"The checkpoint can be created manually directly via checkpoint API. In this situation,"},{"line_number":61,"context_line":"The scheduled_operation_id filed of operation_log versioned object is None."},{"line_number":62,"context_line":"When the checkpoint is created automatically via scheduled_operation API. The value of"},{"line_number":63,"context_line":"scheduled_operation_id can be get from the \u0027extra-info\u0027 of checkpoint POST API. This value"},{"line_number":64,"context_line":"can be set to the filed of operation_log versioned object."},{"line_number":65,"context_line":"The operation_log object will be created after the checkpoint object being created in"},{"line_number":66,"context_line":"RPC method \u0027protect\u0027 of protect service manager."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"2. Update the status of operation_log."},{"line_number":69,"context_line":"If the checkpoint has not created successfully in the protect flow. The status of operation_log"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ffe62b97_d7317b0d","line":66,"range":{"start_line":60,"start_character":0,"end_line":66,"end_character":48},"updated":"2017-03-26 08:23:55.000000000","message":"1. Checkpoints created manually by the Checkpoint API will not show in the Operation Log. Why? Because the Operation Log is in the Operation Engine only, and the Checkpoints API resides in the Protection service, which is in a lower level than the Operation Engine.\n2. The Operation Log should be create before the request to the Protection Service is sent. Also, Operation Engine communicates with the Protection Service through the Karbor client - REST, not RPC.","commit_id":"a57a4934be7670d6065534a1754fe469904e0ba6"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"43319272f53d97777dd527dcb09486c2b556c00f","unresolved":false,"context_lines":[{"line_number":57,"context_line":"OPERATION_LOGS_ERROR_DELETING \u003d \u0027error-deleting\u0027"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"2. Create"},{"line_number":60,"context_line":"The checkpoint can be created manually directly via checkpoint API. In this situation,"},{"line_number":61,"context_line":"The scheduled_operation_id filed of operation_log versioned object is None."},{"line_number":62,"context_line":"When the checkpoint is created automatically via scheduled_operation API. The value of"},{"line_number":63,"context_line":"scheduled_operation_id can be get from the \u0027extra-info\u0027 of checkpoint POST API. This value"},{"line_number":64,"context_line":"can be set to the filed of operation_log versioned object."},{"line_number":65,"context_line":"The operation_log object will be created after the checkpoint object being created in"},{"line_number":66,"context_line":"RPC method \u0027protect\u0027 of protect service manager."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"2. Update the status of operation_log."},{"line_number":69,"context_line":"If the checkpoint has not created successfully in the protect flow. The status of operation_log"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ffe62b97_13d46c1f","line":66,"range":{"start_line":60,"start_character":0,"end_line":66,"end_character":48},"in_reply_to":"ffe62b97_d2029b0b","updated":"2017-03-27 16:15:57.000000000","message":"hi yuval. I have clearly described the use case and the situation from public and private cloud which use karbor as the DPAAS. We need think about it. This spec does not focus on the Logs in the Operation, it focus on the logs about checkpoint in protection service. Does it mean that I need change the spec name to checkpoint-log-api? About the log in  Operation Engine, I don\u0027t see any requirement about that these log should be exposed to users as a restful API. The logs about operations has already recorded by scheduled_operation_logs module.","commit_id":"a57a4934be7670d6065534a1754fe469904e0ba6"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"2570674c5913ebdbecf0c2085547a6e2192560cf","unresolved":false,"context_lines":[{"line_number":57,"context_line":"OPERATION_LOGS_ERROR_DELETING \u003d \u0027error-deleting\u0027"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"2. Create"},{"line_number":60,"context_line":"The checkpoint can be created manually directly via checkpoint API. In this situation,"},{"line_number":61,"context_line":"The scheduled_operation_id filed of operation_log versioned object is None."},{"line_number":62,"context_line":"When the checkpoint is created automatically via scheduled_operation API. The value of"},{"line_number":63,"context_line":"scheduled_operation_id can be get from the \u0027extra-info\u0027 of checkpoint POST API. This value"},{"line_number":64,"context_line":"can be set to the filed of operation_log versioned object."},{"line_number":65,"context_line":"The operation_log object will be created after the checkpoint object being created in"},{"line_number":66,"context_line":"RPC method \u0027protect\u0027 of protect service manager."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"2. Update the status of operation_log."},{"line_number":69,"context_line":"If the checkpoint has not created successfully in the protect flow. The status of operation_log"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ffe62b97_dc1cf714","line":66,"range":{"start_line":60,"start_character":0,"end_line":66,"end_character":48},"in_reply_to":"ffe62b97_d7317b0d","updated":"2017-03-27 03:23:23.000000000","message":"May be the name about his spec has made a misunderstanding. What I want to do is that I want to add a api about log of checkpoint, is not focus the situation in this patch[1](the log only produced in operation log.) \nThe log about checkpoint not only record the log about checkpoint manually directly via checkpoint API, it also record the checkpoint log created automatically via scheduled_operation API. This api module data is created in protect service, not in operation engine.\nThe original use case about this checkpoint log is in scene of public and private cloud where karbor is used as a data protect service. \nIMO, I don\u0027t think the log about operationengine service should expose to user individually. The log about checkpoint also can cover these logs.","commit_id":"a57a4934be7670d6065534a1754fe469904e0ba6"},{"author":{"_account_id":20883,"name":"Yuval Brik","email":"yuval@brik.org.il","username":"yuvalbr"},"change_message_id":"7b2a8c63e050651e4829ebc4aaeaca5f82264ab3","unresolved":false,"context_lines":[{"line_number":57,"context_line":"OPERATION_LOGS_ERROR_DELETING \u003d \u0027error-deleting\u0027"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"2. Create"},{"line_number":60,"context_line":"The checkpoint can be created manually directly via checkpoint API. In this situation,"},{"line_number":61,"context_line":"The scheduled_operation_id filed of operation_log versioned object is None."},{"line_number":62,"context_line":"When the checkpoint is created automatically via scheduled_operation API. The value of"},{"line_number":63,"context_line":"scheduled_operation_id can be get from the \u0027extra-info\u0027 of checkpoint POST API. This value"},{"line_number":64,"context_line":"can be set to the filed of operation_log versioned object."},{"line_number":65,"context_line":"The operation_log object will be created after the checkpoint object being created in"},{"line_number":66,"context_line":"RPC method \u0027protect\u0027 of protect service manager."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"2. Update the status of operation_log."},{"line_number":69,"context_line":"If the checkpoint has not created successfully in the protect flow. The status of operation_log"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ffe62b97_d2029b0b","line":66,"range":{"start_line":60,"start_character":0,"end_line":66,"end_character":48},"in_reply_to":"ffe62b97_dc1cf714","updated":"2017-03-27 07:30:27.000000000","message":"Well, that is not Karbor\u0027s architecture. Protection service provides low-level protect/restore/delete operations and pluggable interface.\nLogs are in the Operation Engine domain. Operation Logs are created by the Operation Engine, for each operation, not necessarily each checkpoint.","commit_id":"a57a4934be7670d6065534a1754fe469904e0ba6"},{"author":{"_account_id":20883,"name":"Yuval Brik","email":"yuval@brik.org.il","username":"yuvalbr"},"change_message_id":"37329d574d38acd42f805810d7f9ff0ae27d8e33","unresolved":false,"context_lines":[{"line_number":65,"context_line":"The operation_log object will be created after the checkpoint object being created in"},{"line_number":66,"context_line":"RPC method \u0027protect\u0027 of protect service manager."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"2. Update the status of operation_log."},{"line_number":69,"context_line":"If the checkpoint has not created successfully in the protect flow. The status of operation_log"},{"line_number":70,"context_line":"object will be set to \u0027error\u0027 in the \u0027revert\u0027 method of InitiateProtectTask."},{"line_number":71,"context_line":"The status of operation_log object will be set to \u0027available\u0027 in the CompleteProtectTask,"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ffe62b97_3720a7b0","line":68,"range":{"start_line":68,"start_character":0,"end_line":68,"end_character":1},"updated":"2017-03-26 08:23:55.000000000","message":"3","commit_id":"a57a4934be7670d6065534a1754fe469904e0ba6"},{"author":{"_account_id":20883,"name":"Yuval Brik","email":"yuval@brik.org.il","username":"yuvalbr"},"change_message_id":"37329d574d38acd42f805810d7f9ff0ae27d8e33","unresolved":false,"context_lines":[{"line_number":65,"context_line":"The operation_log object will be created after the checkpoint object being created in"},{"line_number":66,"context_line":"RPC method \u0027protect\u0027 of protect service manager."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"2. Update the status of operation_log."},{"line_number":69,"context_line":"If the checkpoint has not created successfully in the protect flow. The status of operation_log"},{"line_number":70,"context_line":"object will be set to \u0027error\u0027 in the \u0027revert\u0027 method of InitiateProtectTask."},{"line_number":71,"context_line":"The status of operation_log object will be set to \u0027available\u0027 in the CompleteProtectTask,"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ffe62b97_172fe3a1","line":68,"range":{"start_line":68,"start_character":37,"end_line":68,"end_character":38},"updated":"2017-03-26 08:23:55.000000000","message":"remove that full stop","commit_id":"a57a4934be7670d6065534a1754fe469904e0ba6"},{"author":{"_account_id":20883,"name":"Yuval Brik","email":"yuval@brik.org.il","username":"yuvalbr"},"change_message_id":"37329d574d38acd42f805810d7f9ff0ae27d8e33","unresolved":false,"context_lines":[{"line_number":66,"context_line":"RPC method \u0027protect\u0027 of protect service manager."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"2. Update the status of operation_log."},{"line_number":69,"context_line":"If the checkpoint has not created successfully in the protect flow. The status of operation_log"},{"line_number":70,"context_line":"object will be set to \u0027error\u0027 in the \u0027revert\u0027 method of InitiateProtectTask."},{"line_number":71,"context_line":"The status of operation_log object will be set to \u0027available\u0027 in the CompleteProtectTask,"},{"line_number":72,"context_line":"the end_time of object also will be updated."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"When the user want to deleted a checkpoint, the status of operation_log object will be set to"},{"line_number":75,"context_line":"\u0027deleted\u0027 after the checkpoint being deleted."}],"source_content_type":"text/x-rst","patch_set":4,"id":"ffe62b97_3709c730","line":72,"range":{"start_line":69,"start_character":0,"end_line":72,"end_character":44},"updated":"2017-03-26 08:23:55.000000000","message":"The status of the Operation Log will be updated in the Operation Engine, not the Protection Service. \u0027InitiateProtectTask\u0027 and \u0027CompleteProtectTask\u0027 are in the Protection Service, out of scope completely.","commit_id":"a57a4934be7670d6065534a1754fe469904e0ba6"},{"author":{"_account_id":20883,"name":"Yuval Brik","email":"yuval@brik.org.il","username":"yuvalbr"},"change_message_id":"37329d574d38acd42f805810d7f9ff0ae27d8e33","unresolved":false,"context_lines":[{"line_number":71,"context_line":"The status of operation_log object will be set to \u0027available\u0027 in the CompleteProtectTask,"},{"line_number":72,"context_line":"the end_time of object also will be updated."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"When the user want to deleted a checkpoint, the status of operation_log object will be set to"},{"line_number":75,"context_line":"\u0027deleted\u0027 after the checkpoint being deleted."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"Alternatives"},{"line_number":78,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ffe62b97_ba025e08","line":75,"range":{"start_line":74,"start_character":0,"end_line":75,"end_character":45},"updated":"2017-03-26 08:23:55.000000000","message":"Nope. When the user initiates a \u0027delete\u0027 operation from the Operation Engine, a \u0027delete\u0027 operation will start, and when it will succeed, its status will be \u0027success\u0027","commit_id":"a57a4934be7670d6065534a1754fe469904e0ba6"},{"author":{"_account_id":21224,"name":"jiaopengju","email":"jiaopengju_yewu@cmss.chinamobile.com","username":"jiaopengju"},"change_message_id":"395bd1975e552672fc0cb1ad5b3cc75df52f2649","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"#usecase 1"},{"line_number":17,"context_line":"The resources in a plan can be protected automatically or manually by the end user"},{"line_number":18,"context_line":"via the checkpoint POST API. And then the checkpoints (about the metadata and backup"},{"line_number":19,"context_line":"datas) are created."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"The checkpoints also can be deleted manually by end user via checkpoint DELETE API."},{"line_number":22,"context_line":"In the bp **Checkpoint scheduled clean**, the parameters max_backups and"}],"source_content_type":"text/x-rst","patch_set":10,"id":"df3967d1_4a6dee96","line":19,"range":{"start_line":18,"start_character":78,"end_line":19,"end_character":5},"updated":"2017-07-31 14:37:27.000000000","message":"backup data","commit_id":"d85ee24be172a0cfb7446d3449582018b7a28eae"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"e9c38ace2cba9f175eab7421e750ee5831580743","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"#usecase 1"},{"line_number":17,"context_line":"The resources in a plan can be protected automatically or manually by the end user"},{"line_number":18,"context_line":"via the checkpoint POST API. And then the checkpoints (about the metadata and backup"},{"line_number":19,"context_line":"datas) are created."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"The checkpoints also can be deleted manually by end user via checkpoint DELETE API."},{"line_number":22,"context_line":"In the bp **Checkpoint scheduled clean**, the parameters max_backups and"}],"source_content_type":"text/x-rst","patch_set":10,"id":"df3967d1_2ebe2c65","line":19,"range":{"start_line":18,"start_character":78,"end_line":19,"end_character":5},"in_reply_to":"df3967d1_4a6dee96","updated":"2017-08-01 02:32:21.000000000","message":"Done","commit_id":"d85ee24be172a0cfb7446d3449582018b7a28eae"},{"author":{"_account_id":21224,"name":"jiaopengju","email":"jiaopengju_yewu@cmss.chinamobile.com","username":"jiaopengju"},"change_message_id":"395bd1975e552672fc0cb1ad5b3cc75df52f2649","unresolved":false,"context_lines":[{"line_number":27,"context_line":"these deleted protection log via checkpoint restful API."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"#usecase 2"},{"line_number":30,"context_line":"Now user also want to query the logs about the operations like restore delete, etc via"},{"line_number":31,"context_line":"one RESTfull API.."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":10,"id":"df3967d1_0a2ec642","line":30,"range":{"start_line":30,"start_character":63,"end_line":30,"end_character":77},"updated":"2017-07-31 14:37:27.000000000","message":"add \u0027,\u0027 between restore and delete","commit_id":"d85ee24be172a0cfb7446d3449582018b7a28eae"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"e9c38ace2cba9f175eab7421e750ee5831580743","unresolved":false,"context_lines":[{"line_number":27,"context_line":"these deleted protection log via checkpoint restful API."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"#usecase 2"},{"line_number":30,"context_line":"Now user also want to query the logs about the operations like restore delete, etc via"},{"line_number":31,"context_line":"one RESTfull API.."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":10,"id":"df3967d1_4e8f30cc","line":30,"range":{"start_line":30,"start_character":63,"end_line":30,"end_character":77},"in_reply_to":"df3967d1_0a2ec642","updated":"2017-08-01 02:32:21.000000000","message":"Done","commit_id":"d85ee24be172a0cfb7446d3449582018b7a28eae"},{"author":{"_account_id":21224,"name":"jiaopengju","email":"jiaopengju_yewu@cmss.chinamobile.com","username":"jiaopengju"},"change_message_id":"395bd1975e552672fc0cb1ad5b3cc75df52f2649","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"As we know, the Checkpoint is responsible for the model of backup data which records"},{"line_number":46,"context_line":"all the metadata of backup data in the whole lifecycle, it is not responsible for the"},{"line_number":47,"context_line":"model of protection log. So Karbor need expose one RESTfull api to support that the"},{"line_number":48,"context_line":"end-user can query all the protection log about the plan including available, error"},{"line_number":49,"context_line":"and deleted log records."},{"line_number":50,"context_line":"About this patch: Add operation log endpoints to API document[1]. We have a plan to"}],"source_content_type":"text/x-rst","patch_set":10,"id":"df3967d1_8ae63616","line":47,"range":{"start_line":47,"start_character":51,"end_line":47,"end_character":59},"updated":"2017-07-31 14:37:27.000000000","message":"RESTful","commit_id":"d85ee24be172a0cfb7446d3449582018b7a28eae"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"e9c38ace2cba9f175eab7421e750ee5831580743","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"As we know, the Checkpoint is responsible for the model of backup data which records"},{"line_number":46,"context_line":"all the metadata of backup data in the whole lifecycle, it is not responsible for the"},{"line_number":47,"context_line":"model of protection log. So Karbor need expose one RESTfull api to support that the"},{"line_number":48,"context_line":"end-user can query all the protection log about the plan including available, error"},{"line_number":49,"context_line":"and deleted log records."},{"line_number":50,"context_line":"About this patch: Add operation log endpoints to API document[1]. We have a plan to"}],"source_content_type":"text/x-rst","patch_set":10,"id":"df3967d1_6e92f4f8","line":47,"range":{"start_line":47,"start_character":51,"end_line":47,"end_character":59},"in_reply_to":"df3967d1_8ae63616","updated":"2017-08-01 02:32:21.000000000","message":"Done","commit_id":"d85ee24be172a0cfb7446d3449582018b7a28eae"},{"author":{"_account_id":21224,"name":"jiaopengju","email":"jiaopengju_yewu@cmss.chinamobile.com","username":"jiaopengju"},"change_message_id":"395bd1975e552672fc0cb1ad5b3cc75df52f2649","unresolved":false,"context_lines":[{"line_number":60,"context_line":"information by the vendor\u0027s plugin. For example: the job/task id and job/task description"},{"line_number":61,"context_line":"about this protect operation action from the plugin backend, the backup software can be saved"},{"line_number":62,"context_line":"to this field. So the tenant and admin can query this detail information about this"},{"line_number":63,"context_line":"operationfrom the backup software via the operation log API."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"1. The status of operation log::"}],"source_content_type":"text/x-rst","patch_set":10,"id":"df3967d1_8a7d161e","line":63,"range":{"start_line":63,"start_character":0,"end_line":63,"end_character":13},"updated":"2017-07-31 14:37:27.000000000","message":"operation from","commit_id":"d85ee24be172a0cfb7446d3449582018b7a28eae"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"e9c38ace2cba9f175eab7421e750ee5831580743","unresolved":false,"context_lines":[{"line_number":60,"context_line":"information by the vendor\u0027s plugin. For example: the job/task id and job/task description"},{"line_number":61,"context_line":"about this protect operation action from the plugin backend, the backup software can be saved"},{"line_number":62,"context_line":"to this field. So the tenant and admin can query this detail information about this"},{"line_number":63,"context_line":"operationfrom the backup software via the operation log API."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"1. The status of operation log::"}],"source_content_type":"text/x-rst","patch_set":10,"id":"df3967d1_ae88dcc5","line":63,"range":{"start_line":63,"start_character":0,"end_line":63,"end_character":13},"in_reply_to":"df3967d1_8a7d161e","updated":"2017-08-01 02:32:21.000000000","message":"Done","commit_id":"d85ee24be172a0cfb7446d3449582018b7a28eae"},{"author":{"_account_id":21224,"name":"jiaopengju","email":"jiaopengju_yewu@cmss.chinamobile.com","username":"jiaopengju"},"change_message_id":"395bd1975e552672fc0cb1ad5b3cc75df52f2649","unresolved":false,"context_lines":[{"line_number":230,"context_line":"Work Items"},{"line_number":231,"context_line":"----------"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"* Add a new RESTfull API about operation log"},{"line_number":234,"context_line":"* Add database data module of operation log"},{"line_number":235,"context_line":"* Add operation log to karbor client"},{"line_number":236,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"df3967d1_6a69d223","line":233,"range":{"start_line":233,"start_character":12,"end_line":233,"end_character":20},"updated":"2017-07-31 14:37:27.000000000","message":"RESTful","commit_id":"d85ee24be172a0cfb7446d3449582018b7a28eae"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"e9c38ace2cba9f175eab7421e750ee5831580743","unresolved":false,"context_lines":[{"line_number":230,"context_line":"Work Items"},{"line_number":231,"context_line":"----------"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"* Add a new RESTfull API about operation log"},{"line_number":234,"context_line":"* Add database data module of operation log"},{"line_number":235,"context_line":"* Add operation log to karbor client"},{"line_number":236,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"df3967d1_ee9ee405","line":233,"range":{"start_line":233,"start_character":12,"end_line":233,"end_character":20},"in_reply_to":"df3967d1_6a69d223","updated":"2017-08-01 02:32:21.000000000","message":"Done","commit_id":"d85ee24be172a0cfb7446d3449582018b7a28eae"},{"author":{"_account_id":22056,"name":"yushangbin","email":"shangbin.yu@easystack.cn","username":"yushangbin"},"change_message_id":"9de1db33be2a37221449072c1acd3d65df05aa47","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"#usecase 2"},{"line_number":30,"context_line":"Now user also want to query the logs about the operations like restore, delete, etc via"},{"line_number":31,"context_line":"one RESTfull API.."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Use Cases"},{"line_number":34,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":13,"id":"df3967d1_a997b690","line":31,"range":{"start_line":31,"start_character":4,"end_line":31,"end_character":12},"updated":"2017-08-01 02:59:46.000000000","message":"RESTful","commit_id":"2bc6def1589106beed923494259210a8729f74c5"}]}
