)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"7af8cac79b947704e8f032a3c76a36991378e0f9","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Nguyen Van Trung \u003ctrungnv@vn.fujitsu.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-08-03 08:40:09 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Specs to rolling-upgrade for Designate."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"- Listed out detail work items in the specification document."},{"line_number":10,"context_line":"- Listed out detail primary assignee."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":16,"id":"bf3e73b7_e8d609f2","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":9},"updated":"2017-08-07 00:29:35.000000000","message":"No need to describe \u0027spec\u0027 because this repository is \u0027designate-specs\u0027.  I think it\u0027s better to describe a name of feature.","commit_id":"dcd32e2533e623f01fddb35ec7fe1319b28579c3"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"7af8cac79b947704e8f032a3c76a36991378e0f9","unresolved":false,"context_lines":[{"line_number":9,"context_line":"- Listed out detail work items in the specification document."},{"line_number":10,"context_line":"- Listed out detail primary assignee."},{"line_number":11,"context_line":"- Added assert \"assert:supports-accessible-upgrade\" tag for"},{"line_number":12,"context_line":" Designate before \"assert:supports-rolling-upgrade\" tag."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I7492820184110da2f5774cac00b266c63eadbfcb"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":16,"id":"bf3e73b7_28cd315d","line":12,"range":{"start_line":12,"start_character":0,"end_line":12,"end_character":1},"updated":"2017-08-07 00:29:35.000000000","message":"Please align with above indent.","commit_id":"dcd32e2533e623f01fddb35ec7fe1319b28579c3"}],"specs/ocata/rolling-upgrade.rst":[{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"bd655819edf0dbb4b05d5c3014358358a0b09560","unresolved":false,"context_lines":[{"line_number":151,"context_line":""},{"line_number":152,"context_line":"    * Request OpenStack TC for accessible upgrade."},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"* Implement API microversion as following:"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"    * Implement APIVersions class in designate CLI."},{"line_number":157,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"bff0334d_f0d73abe","line":154,"updated":"2017-04-12 17:26:38.000000000","message":"We do not need microversions for rolling upgrade.\n\nWe just need to make sure that the API is backward compatible (which we do already)","commit_id":"4184b2d37ca6ce540efe049094889c7b599fd07e"},{"author":{"_account_id":25254,"name":"Nguyen Van Trung","email":"trungnvfet@outlook.com","username":"trungnv"},"change_message_id":"12bd7c929e47487a18b4cec339ca0ea43831d734","unresolved":false,"context_lines":[{"line_number":151,"context_line":""},{"line_number":152,"context_line":"    * Request OpenStack TC for accessible upgrade."},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"* Implement API microversion as following:"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"    * Implement APIVersions class in designate CLI."},{"line_number":157,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"9ff52f3f_37734383","line":154,"in_reply_to":"bff0334d_f0d73abe","updated":"2017-04-13 10:04:43.000000000","message":"Agreed. I also had removed this item in the newest patch set on \"queens\" directory.","commit_id":"4184b2d37ca6ce540efe049094889c7b599fd07e"},{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"bd655819edf0dbb4b05d5c3014358358a0b09560","unresolved":false,"context_lines":[{"line_number":162,"context_line":""},{"line_number":163,"context_line":"    * Implement first API change requiring a microversion bump."},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"* Apply O.VO in Designate before rolling upgrade:"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    * Add oslo.versionedobjects to requirements docs."},{"line_number":168,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"bff0334d_90c90e27","line":165,"updated":"2017-04-12 17:26:38.000000000","message":"Oslo Versioned Object cannot be used.\n\nWe need to find a new method of versioning objects, that allows for our current validations and adaptors to work.","commit_id":"4184b2d37ca6ce540efe049094889c7b599fd07e"},{"author":{"_account_id":25254,"name":"Nguyen Van Trung","email":"trungnvfet@outlook.com","username":"trungnv"},"change_message_id":"12bd7c929e47487a18b4cec339ca0ea43831d734","unresolved":false,"context_lines":[{"line_number":162,"context_line":""},{"line_number":163,"context_line":"    * Implement first API change requiring a microversion bump."},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"* Apply O.VO in Designate before rolling upgrade:"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    * Add oslo.versionedobjects to requirements docs."},{"line_number":168,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"9ff52f3f_d7c5375d","line":165,"in_reply_to":"bff0334d_90c90e27","updated":"2017-04-13 10:04:43.000000000","message":"I need further investigation for this comment. I will response asap via this patch and or next IRC meeting.","commit_id":"4184b2d37ca6ce540efe049094889c7b599fd07e"}],"specs/queens/rolling-upgrade.rst":[{"author":{"_account_id":19554,"name":"Nam","email":"namnh68@fsoft.com.vn","username":"namnh"},"change_message_id":"d7cabca588f86ff8a6d37d7397cff2b322391a8d","unresolved":false,"context_lines":[{"line_number":73,"context_line":"5. Online Schema Migration: Not yet [9]"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"* Using solution of Nova to OSM for Designate."},{"line_number":76,"context_line":"  That is SQLAlchemy migration. Because this solution will help developer who test"},{"line_number":77,"context_line":"  and maintain codebase easier than trigger solution which Glance and Keystone implemented."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"* Initialize database schema migration"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3f044301_8daaa3cf","line":76,"range":{"start_line":76,"start_character":64,"end_line":76,"end_character":73},"updated":"2017-05-09 06:34:37.000000000","message":"developers","commit_id":"40b54bb070858631ec3db3e1b247e6ddd808dd05"},{"author":{"_account_id":19554,"name":"Nam","email":"namnh68@fsoft.com.vn","username":"namnh"},"change_message_id":"d7cabca588f86ff8a6d37d7397cff2b322391a8d","unresolved":false,"context_lines":[{"line_number":93,"context_line":"Data model impact"},{"line_number":94,"context_line":"-----------------"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"* Impacted because the O.VO codebase will change the way we communicating to database"},{"line_number":97,"context_line":"  as well as the data flow between Designate internal services."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"REST API impact"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3f044301_ad6affaf","line":96,"range":{"start_line":96,"start_character":57,"end_line":96,"end_character":73},"updated":"2017-05-09 06:34:37.000000000","message":"we are communicating","commit_id":"40b54bb070858631ec3db3e1b247e6ddd808dd05"},{"author":{"_account_id":19554,"name":"Nam","email":"namnh68@fsoft.com.vn","username":"namnh"},"change_message_id":"d7cabca588f86ff8a6d37d7397cff2b322391a8d","unresolved":false,"context_lines":[{"line_number":112,"context_line":"Other end user impact"},{"line_number":113,"context_line":"---------------------"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"* End user experiences will have minimal downtime when upgrading designate services."},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"Performance Impact"},{"line_number":118,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3f044301_8d6503e4","line":115,"range":{"start_line":115,"start_character":2,"end_line":115,"end_character":22},"updated":"2017-05-09 06:34:37.000000000","message":"End users experience","commit_id":"40b54bb070858631ec3db3e1b247e6ddd808dd05"},{"author":{"_account_id":19554,"name":"Nam","email":"namnh68@fsoft.com.vn","username":"namnh"},"change_message_id":"d7cabca588f86ff8a6d37d7397cff2b322391a8d","unresolved":false,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"Developers will need to be aware of Designate features that enable rolling upgrades"},{"line_number":130,"context_line":"and make sure they are not removed (Developers will also need to work within the constraints of"},{"line_number":131,"context_line":"the database strategy for rolling upgrades, but that developer impact is covered by another spec)"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"Implementation"},{"line_number":134,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3f044301_eda5a705","line":131,"range":{"start_line":131,"start_character":53,"end_line":131,"end_character":62},"updated":"2017-05-09 06:34:37.000000000","message":"developers","commit_id":"40b54bb070858631ec3db3e1b247e6ddd808dd05"},{"author":{"_account_id":19554,"name":"Nam","email":"namnh68@fsoft.com.vn","username":"namnh"},"change_message_id":"d7cabca588f86ff8a6d37d7397cff2b322391a8d","unresolved":false,"context_lines":[{"line_number":178,"context_line":""},{"line_number":179,"context_line":"    * Create new method to check version."},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"    * Implement RPC pin version."},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"    * Create methods to communicating with DB, such as query, save and create."},{"line_number":184,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"3f044301_4db49b35","line":181,"range":{"start_line":181,"start_character":20,"end_line":181,"end_character":23},"updated":"2017-05-09 06:34:37.000000000","message":"pining","commit_id":"40b54bb070858631ec3db3e1b247e6ddd808dd05"},{"author":{"_account_id":19554,"name":"Nam","email":"namnh68@fsoft.com.vn","username":"namnh"},"change_message_id":"d7cabca588f86ff8a6d37d7397cff2b322391a8d","unresolved":false,"context_lines":[{"line_number":180,"context_line":""},{"line_number":181,"context_line":"    * Implement RPC pin version."},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"    * Create methods to communicating with DB, such as query, save and create."},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"* Performing rolling upgrade for OSM along with O.VO which completed before."},{"line_number":186,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"3f044301_cd81cb4c","line":183,"range":{"start_line":183,"start_character":24,"end_line":183,"end_character":37},"updated":"2017-05-09 06:34:37.000000000","message":"communicate","commit_id":"40b54bb070858631ec3db3e1b247e6ddd808dd05"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"ac8d8b5d874ad9f4cd6bad0218fa8183d6f227b6","unresolved":false,"context_lines":[{"line_number":48,"context_line":"6. Graceful Shutdown"},{"line_number":49,"context_line":"7. Upgrade Gating"},{"line_number":50,"context_line":"8. Project Tagging"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"For Designate, upgrading from release N-1 to release N then to N+1,"},{"line_number":53,"context_line":"we are following supporting status and performing detail items as following:"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"7f231b9d_842040b2","line":51,"updated":"2017-06-14 07:08:11.000000000","message":"The list from PWG is now 10, please update.\nhttps://github.com/openstack/development-proposals/blob/master/development-proposals/proposed/rolling-upgrades.rst","commit_id":"10e74c261aa95f8b8226737be416a312b662ae0b"},{"author":{"_account_id":19554,"name":"Nam","email":"namnh68@fsoft.com.vn","username":"namnh"},"change_message_id":"adaad14bf7298abd141955332faed5f925d3c00d","unresolved":false,"context_lines":[{"line_number":226,"context_line":""},{"line_number":227,"context_line":"[8] http://logs.openstack.org/62/450562/1/check/"},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"[9] http://eavesdrop.openstack.org/irclogs/%23openstack-dns/%23openstack-dns.2017-03-24.log.html"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9f0e0f27_808e5c25","line":229,"range":{"start_line":229,"start_character":4,"end_line":229,"end_character":96},"updated":"2017-06-09 09:04:47.000000000","message":"Thanks for you effort. I think it is better if this link is [1].\n\n[1] http://eavesdrop.openstack.org/irclogs/%23openstack-dns/%23openstack-dns.2017-03-24.log.html#t2017-03-24T14:25:14","commit_id":"10e74c261aa95f8b8226737be416a312b662ae0b"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"e098de1abc48dd08044b6ade9aa82946f78a3ffd","unresolved":false,"context_lines":[{"line_number":151,"context_line":"-----------"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"Primary assignee:"},{"line_number":154,"context_line":"  trungnv"},{"line_number":155,"context_line":"  namnh"},{"line_number":156,"context_line":"  daidv"},{"line_number":157,"context_line":"  hieulq"}],"source_content_type":"text/x-rst","patch_set":12,"id":"7f231b9d_09ce672d","line":154,"updated":"2017-06-15 03:52:17.000000000","message":"nit: new line","commit_id":"66d930ec98ba43a4c35171283fafb57b6835f51c"},{"author":{"_account_id":17491,"name":"Lujin Luo","email":"luo.lujin@jp.fujitsu.com","username":"Lujin"},"change_message_id":"1e75f8cf317de44305cf50bf8ce36b24ab6daeb9","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Rolling Upgrades"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Designate users would be required to upgrade their existing environments while minimal-downtime."},{"line_number":12,"context_line":"This spec outlines the changes required to be able to assert the various upgrade tags."},{"line_number":13,"context_line":"The goal for Pike is to assert ``assert:supports-rolling-upgrade`` tag."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"df3967d1_7e46d8c2","line":11,"range":{"start_line":11,"start_character":79,"end_line":11,"end_character":95},"updated":"2017-08-03 01:57:54.000000000","message":"s/minimal-downtime/minimal downtime","commit_id":"677cf3719cc21686d7674f3cfa7b9e237c4e69c1"},{"author":{"_account_id":17491,"name":"Lujin Luo","email":"luo.lujin@jp.fujitsu.com","username":"Lujin"},"change_message_id":"1e75f8cf317de44305cf50bf8ce36b24ab6daeb9","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Rolling Upgrades"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Designate users would be required to upgrade their existing environments while minimal-downtime."},{"line_number":12,"context_line":"This spec outlines the changes required to be able to assert the various upgrade tags."},{"line_number":13,"context_line":"The goal for Pike is to assert ``assert:supports-rolling-upgrade`` tag."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"df3967d1_de37044d","line":11,"range":{"start_line":11,"start_character":73,"end_line":11,"end_character":78},"updated":"2017-08-03 01:57:54.000000000","message":"s/while/with","commit_id":"677cf3719cc21686d7674f3cfa7b9e237c4e69c1"},{"author":{"_account_id":17491,"name":"Lujin Luo","email":"luo.lujin@jp.fujitsu.com","username":"Lujin"},"change_message_id":"1e75f8cf317de44305cf50bf8ce36b24ab6daeb9","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Rolling Upgrades"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Designate users would be required to upgrade their existing environments while minimal-downtime."},{"line_number":12,"context_line":"This spec outlines the changes required to be able to assert the various upgrade tags."},{"line_number":13,"context_line":"The goal for Pike is to assert ``assert:supports-rolling-upgrade`` tag."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"df3967d1_1e322c60","line":11,"range":{"start_line":11,"start_character":16,"end_line":11,"end_character":44},"updated":"2017-08-03 01:57:54.000000000","message":"would require upgrading","commit_id":"677cf3719cc21686d7674f3cfa7b9e237c4e69c1"},{"author":{"_account_id":17491,"name":"Lujin Luo","email":"luo.lujin@jp.fujitsu.com","username":"Lujin"},"change_message_id":"1e75f8cf317de44305cf50bf8ce36b24ab6daeb9","unresolved":false,"context_lines":[{"line_number":59,"context_line":"10. Project Tagging"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"For Designate, upgrading from release N-1 to release N then to N+1,"},{"line_number":62,"context_line":"we are following supporting status and performing detail items as following:"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"1. Maintenance Mode: Implemented [9]"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"df3967d1_9e261c15","line":62,"range":{"start_line":62,"start_character":50,"end_line":62,"end_character":56},"updated":"2017-08-03 01:57:54.000000000","message":"s/detail/detailed","commit_id":"677cf3719cc21686d7674f3cfa7b9e237c4e69c1"},{"author":{"_account_id":17491,"name":"Lujin Luo","email":"luo.lujin@jp.fujitsu.com","username":"Lujin"},"change_message_id":"1e75f8cf317de44305cf50bf8ce36b24ab6daeb9","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"2. Live Migration: Not yet (does not apply) [9]"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"  * Because Designate data plane and control plane is separated,all data of Designate"},{"line_number":69,"context_line":"    is managed by DNS backend thus it is not need to implement the live-migrate feature."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"3. Upgrade Orchestration - Deploy: Implemented [9]"}],"source_content_type":"text/x-rst","patch_set":13,"id":"df3967d1_3e7bb0f5","line":68,"range":{"start_line":68,"start_character":64,"end_line":68,"end_character":67},"updated":"2017-08-03 01:57:54.000000000","message":"We need a white space after coma.","commit_id":"677cf3719cc21686d7674f3cfa7b9e237c4e69c1"},{"author":{"_account_id":17491,"name":"Lujin Luo","email":"luo.lujin@jp.fujitsu.com","username":"Lujin"},"change_message_id":"1e75f8cf317de44305cf50bf8ce36b24ab6daeb9","unresolved":false,"context_lines":[{"line_number":66,"context_line":"2. Live Migration: Not yet (does not apply) [9]"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"  * Because Designate data plane and control plane is separated,all data of Designate"},{"line_number":69,"context_line":"    is managed by DNS backend thus it is not need to implement the live-migrate feature."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"3. Upgrade Orchestration - Deploy: Implemented [9]"},{"line_number":72,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"df3967d1_de85c4d0","line":69,"range":{"start_line":69,"start_character":45,"end_line":69,"end_character":49},"updated":"2017-08-03 01:57:54.000000000","message":"s/need/necessary","commit_id":"677cf3719cc21686d7674f3cfa7b9e237c4e69c1"},{"author":{"_account_id":17491,"name":"Lujin Luo","email":"luo.lujin@jp.fujitsu.com","username":"Lujin"},"change_message_id":"1e75f8cf317de44305cf50bf8ce36b24ab6daeb9","unresolved":false,"context_lines":[{"line_number":73,"context_line":"4. Multi-version interoperability [9]"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"  * API microversion: Not yet"},{"line_number":76,"context_line":"     - Designate not need microversions for rolling upgrade"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"  * RPC versioning: Implemented"},{"line_number":79,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"df3967d1_be6e802c","line":76,"range":{"start_line":76,"start_character":17,"end_line":76,"end_character":20},"updated":"2017-08-03 01:57:54.000000000","message":"s/not/does not","commit_id":"677cf3719cc21686d7674f3cfa7b9e237c4e69c1"},{"author":{"_account_id":17491,"name":"Lujin Luo","email":"luo.lujin@jp.fujitsu.com","username":"Lujin"},"change_message_id":"1e75f8cf317de44305cf50bf8ce36b24ab6daeb9","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"  * RPC versioning: Implemented"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"  * RPC object version (O.VO): Not yet implement O.VO."},{"line_number":81,"context_line":"     - Migrate from current Designate object method to O.VO."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"5. Online Schema Migration: Not yet [9]"}],"source_content_type":"text/x-rst","patch_set":13,"id":"df3967d1_9e54dc54","line":80,"range":{"start_line":80,"start_character":23,"end_line":80,"end_character":29},"updated":"2017-08-03 01:57:54.000000000","message":"\"object version\" before \"(O.VO)\" is not what O.VO abbreviated for. We should explain O.VO actually stands for \"Oslo.versionedobjects\" and it is used in RPC payloads.","commit_id":"677cf3719cc21686d7674f3cfa7b9e237c4e69c1"},{"author":{"_account_id":17491,"name":"Lujin Luo","email":"luo.lujin@jp.fujitsu.com","username":"Lujin"},"change_message_id":"1e75f8cf317de44305cf50bf8ce36b24ab6daeb9","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"  * RPC versioning: Implemented"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"  * RPC object version (O.VO): Not yet implement O.VO."},{"line_number":81,"context_line":"     - Migrate from current Designate object method to O.VO."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"5. Online Schema Migration: Not yet [9]"}],"source_content_type":"text/x-rst","patch_set":13,"id":"df3967d1_fece482b","line":80,"range":{"start_line":80,"start_character":39,"end_line":80,"end_character":53},"updated":"2017-08-03 01:57:54.000000000","message":"You need to align with other parts whether you want to say \"Not yet\" or \"Not yet implement blahblah\"\n\nAlso, we do not need the period at the end of the sentence.","commit_id":"677cf3719cc21686d7674f3cfa7b9e237c4e69c1"},{"author":{"_account_id":17491,"name":"Lujin Luo","email":"luo.lujin@jp.fujitsu.com","username":"Lujin"},"change_message_id":"1e75f8cf317de44305cf50bf8ce36b24ab6daeb9","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"5. Online Schema Migration: Not yet [9]"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"  * Using solution of Nova to OSM for Designate."},{"line_number":86,"context_line":"    That is SQLAlchemy migration. Because this solution will help developers who test"},{"line_number":87,"context_line":"    and maintain codebase easier than trigger solution which Glance and Keystone implemented."},{"line_number":88,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"df3967d1_fee768ab","line":85,"range":{"start_line":85,"start_character":10,"end_line":85,"end_character":33},"updated":"2017-08-03 01:57:54.000000000","message":"s/solution of Nova to OSM/Nova\u0027s OSM solution. Also if you plan to stick to OSM as an abbreviation, you need to put it after \"5. Online Schema Migration (OSM): Not yet\"","commit_id":"677cf3719cc21686d7674f3cfa7b9e237c4e69c1"},{"author":{"_account_id":17491,"name":"Lujin Luo","email":"luo.lujin@jp.fujitsu.com","username":"Lujin"},"change_message_id":"1e75f8cf317de44305cf50bf8ce36b24ab6daeb9","unresolved":false,"context_lines":[{"line_number":107,"context_line":"Data model impact"},{"line_number":108,"context_line":"-----------------"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"* Impacted because the O.VO codebase will change the way they will communicate to database"},{"line_number":111,"context_line":"  as well as the data flow between Designate internal services."},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"REST API impact"}],"source_content_type":"text/x-rst","patch_set":13,"id":"df3967d1_5e8d54d1","line":110,"range":{"start_line":110,"start_character":62,"end_line":110,"end_character":67},"updated":"2017-08-03 01:57:54.000000000","message":"Please delete this \"will\".","commit_id":"677cf3719cc21686d7674f3cfa7b9e237c4e69c1"},{"author":{"_account_id":17491,"name":"Lujin Luo","email":"luo.lujin@jp.fujitsu.com","username":"Lujin"},"change_message_id":"1e75f8cf317de44305cf50bf8ce36b24ab6daeb9","unresolved":false,"context_lines":[{"line_number":126,"context_line":"Other end user impact"},{"line_number":127,"context_line":"---------------------"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"* End user experience will have minimal downtime when upgrading designate services."},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"Performance Impact"},{"line_number":132,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"df3967d1_1ec58cf1","line":129,"range":{"start_line":129,"start_character":2,"end_line":129,"end_character":83},"updated":"2017-08-03 01:57:54.000000000","message":"s/End user experience will have minimal downtime when upgrading designate services./End users can have minimal downtime when rolling upgrading Designate services.","commit_id":"677cf3719cc21686d7674f3cfa7b9e237c4e69c1"},{"author":{"_account_id":17491,"name":"Lujin Luo","email":"luo.lujin@jp.fujitsu.com","username":"Lujin"},"change_message_id":"1e75f8cf317de44305cf50bf8ce36b24ab6daeb9","unresolved":false,"context_lines":[{"line_number":142,"context_line":""},{"line_number":143,"context_line":"Developers will need to be aware of Designate features that enable rolling upgrades"},{"line_number":144,"context_line":"and make sure they are not removed (Developers will also need to work within the constraints of"},{"line_number":145,"context_line":"the database strategy for rolling upgrades, but that developer impact is covered by another spec)"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"Implementation"},{"line_number":148,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":13,"id":"df3967d1_beb32098","line":145,"range":{"start_line":145,"start_character":96,"end_line":145,"end_character":97},"updated":"2017-08-03 01:57:54.000000000","message":"Missing period.","commit_id":"677cf3719cc21686d7674f3cfa7b9e237c4e69c1"},{"author":{"_account_id":17491,"name":"Lujin Luo","email":"luo.lujin@jp.fujitsu.com","username":"Lujin"},"change_message_id":"1e75f8cf317de44305cf50bf8ce36b24ab6daeb9","unresolved":false,"context_lines":[{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    * Add oslo.versionedobjects to requirements docs."},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"    * Create designate O.VO base objects"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"    * Migrate objects from current Designate implementation"},{"line_number":175,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"df3967d1_3e65f01e","line":172,"range":{"start_line":172,"start_character":13,"end_line":172,"end_character":22},"updated":"2017-08-03 01:57:54.000000000","message":"s/designate/Designate","commit_id":"677cf3719cc21686d7674f3cfa7b9e237c4e69c1"},{"author":{"_account_id":17491,"name":"Lujin Luo","email":"luo.lujin@jp.fujitsu.com","username":"Lujin"},"change_message_id":"1e75f8cf317de44305cf50bf8ce36b24ab6daeb9","unresolved":false,"context_lines":[{"line_number":179,"context_line":""},{"line_number":180,"context_line":"    * Create and attach the object serializer."},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"    * Implement the indirection API(VersionedObjectIndirectionAPI) in the objects/base.py"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    * Writing Unit Test for Designate O.VO module."},{"line_number":185,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"df3967d1_5e7b14bd","line":182,"range":{"start_line":182,"start_character":35,"end_line":182,"end_character":36},"updated":"2017-08-03 01:57:54.000000000","message":"A white space is required before a parenthesis.","commit_id":"677cf3719cc21686d7674f3cfa7b9e237c4e69c1"},{"author":{"_account_id":17491,"name":"Lujin Luo","email":"luo.lujin@jp.fujitsu.com","username":"Lujin"},"change_message_id":"1e75f8cf317de44305cf50bf8ce36b24ab6daeb9","unresolved":false,"context_lines":[{"line_number":181,"context_line":""},{"line_number":182,"context_line":"    * Implement the indirection API(VersionedObjectIndirectionAPI) in the objects/base.py"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    * Writing Unit Test for Designate O.VO module."},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"* Performing rolling upgrade for O.VO."},{"line_number":187,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"df3967d1_1e534c41","line":184,"range":{"start_line":184,"start_character":6,"end_line":184,"end_character":13},"updated":"2017-08-03 01:57:54.000000000","message":"Implement","commit_id":"677cf3719cc21686d7674f3cfa7b9e237c4e69c1"},{"author":{"_account_id":17491,"name":"Lujin Luo","email":"luo.lujin@jp.fujitsu.com","username":"Lujin"},"change_message_id":"1e75f8cf317de44305cf50bf8ce36b24ab6daeb9","unresolved":false,"context_lines":[{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    * Writing Unit Test for Designate O.VO module."},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"* Performing rolling upgrade for O.VO."},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"    * Providing serialized versions."},{"line_number":189,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"df3967d1_de482488","line":186,"range":{"start_line":186,"start_character":37,"end_line":186,"end_character":38},"updated":"2017-08-03 01:57:54.000000000","message":"I guess we need a colon here, rather than a period.","commit_id":"677cf3719cc21686d7674f3cfa7b9e237c4e69c1"},{"author":{"_account_id":17491,"name":"Lujin Luo","email":"luo.lujin@jp.fujitsu.com","username":"Lujin"},"change_message_id":"1e75f8cf317de44305cf50bf8ce36b24ab6daeb9","unresolved":false,"context_lines":[{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    * Writing Unit Test for Designate O.VO module."},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"* Performing rolling upgrade for O.VO."},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"    * Providing serialized versions."},{"line_number":189,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"df3967d1_fe43e86a","line":186,"range":{"start_line":186,"start_character":2,"end_line":186,"end_character":12},"updated":"2017-08-03 01:57:54.000000000","message":"s/Performing/Implement","commit_id":"677cf3719cc21686d7674f3cfa7b9e237c4e69c1"},{"author":{"_account_id":17491,"name":"Lujin Luo","email":"luo.lujin@jp.fujitsu.com","username":"Lujin"},"change_message_id":"1e75f8cf317de44305cf50bf8ce36b24ab6daeb9","unresolved":false,"context_lines":[{"line_number":185,"context_line":""},{"line_number":186,"context_line":"* Performing rolling upgrade for O.VO."},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"    * Providing serialized versions."},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"    * Create new method to check version."},{"line_number":191,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"df3967d1_9e5e1c42","line":188,"range":{"start_line":188,"start_character":6,"end_line":188,"end_character":15},"updated":"2017-08-03 01:57:54.000000000","message":"s/Providing/Provide","commit_id":"677cf3719cc21686d7674f3cfa7b9e237c4e69c1"},{"author":{"_account_id":17491,"name":"Lujin Luo","email":"luo.lujin@jp.fujitsu.com","username":"Lujin"},"change_message_id":"1e75f8cf317de44305cf50bf8ce36b24ab6daeb9","unresolved":false,"context_lines":[{"line_number":193,"context_line":""},{"line_number":194,"context_line":"    * Create methods to communicating with DB, such as query, save and create."},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"* Performing rolling upgrade for OSM along with O.VO which completed before."},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"    * Implementing DB upgrade mechanism for Designate to perform designate-dbsync command via cmd."},{"line_number":199,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"df3967d1_7e57f827","line":196,"range":{"start_line":196,"start_character":2,"end_line":196,"end_character":12},"updated":"2017-08-03 01:57:54.000000000","message":"s/Performing/Implement","commit_id":"677cf3719cc21686d7674f3cfa7b9e237c4e69c1"},{"author":{"_account_id":17491,"name":"Lujin Luo","email":"luo.lujin@jp.fujitsu.com","username":"Lujin"},"change_message_id":"1e75f8cf317de44305cf50bf8ce36b24ab6daeb9","unresolved":false,"context_lines":[{"line_number":193,"context_line":""},{"line_number":194,"context_line":"    * Create methods to communicating with DB, such as query, save and create."},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"* Performing rolling upgrade for OSM along with O.VO which completed before."},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"    * Implementing DB upgrade mechanism for Designate to perform designate-dbsync command via cmd."},{"line_number":199,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"df3967d1_3e33b016","line":196,"range":{"start_line":196,"start_character":59,"end_line":196,"end_character":68},"updated":"2017-08-03 01:57:54.000000000","message":"s/completed/implemented","commit_id":"677cf3719cc21686d7674f3cfa7b9e237c4e69c1"},{"author":{"_account_id":17491,"name":"Lujin Luo","email":"luo.lujin@jp.fujitsu.com","username":"Lujin"},"change_message_id":"1e75f8cf317de44305cf50bf8ce36b24ab6daeb9","unresolved":false,"context_lines":[{"line_number":195,"context_line":""},{"line_number":196,"context_line":"* Performing rolling upgrade for OSM along with O.VO which completed before."},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"    * Implementing DB upgrade mechanism for Designate to perform designate-dbsync command via cmd."},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"    * Using Sqlalchemy migration to upgrade and manage database version."},{"line_number":201,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"df3967d1_be2680cd","line":198,"range":{"start_line":198,"start_character":6,"end_line":198,"end_character":18},"updated":"2017-08-03 01:57:54.000000000","message":"I think we need to rephrase this sentence. \n\n* Implement DB schema/data migration\n    * Add $ designate-dbsync to provide schema migration command","commit_id":"677cf3719cc21686d7674f3cfa7b9e237c4e69c1"},{"author":{"_account_id":17491,"name":"Lujin Luo","email":"luo.lujin@jp.fujitsu.com","username":"Lujin"},"change_message_id":"1e75f8cf317de44305cf50bf8ce36b24ab6daeb9","unresolved":false,"context_lines":[{"line_number":197,"context_line":""},{"line_number":198,"context_line":"    * Implementing DB upgrade mechanism for Designate to perform designate-dbsync command via cmd."},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"    * Using Sqlalchemy migration to upgrade and manage database version."},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"     +---------------+---------------------------------------------------------------------+---------+"},{"line_number":203,"context_line":"     | repository_id | repository_path                                                     | version |"}],"source_content_type":"text/x-rst","patch_set":13,"id":"df3967d1_59a7aea8","line":200,"range":{"start_line":200,"start_character":0,"end_line":200,"end_character":72},"updated":"2017-08-03 01:57:54.000000000","message":"The order of implementation makes me confused. In fact, you should have Sqlalchemy migration functionality first so that you can write schema migration scripts to do version control. Then you implement corresponding CLI, i.e. $ designate-dbsync. Am I missing anything?","commit_id":"677cf3719cc21686d7674f3cfa7b9e237c4e69c1"},{"author":{"_account_id":17491,"name":"Lujin Luo","email":"luo.lujin@jp.fujitsu.com","username":"Lujin"},"change_message_id":"1e75f8cf317de44305cf50bf8ce36b24ab6daeb9","unresolved":false,"context_lines":[{"line_number":205,"context_line":"     | Designate     | /opt/stack/designate/designate/storage/impl_sqlalchemy/migrate_repo |      99 |"},{"line_number":206,"context_line":"     +---------------+---------------------------------------------------------------------+---------+"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"    * Performing data gradually migrate to new schema"},{"line_number":209,"context_line":"      by multi-version interoperability (included O.VO and RPC Pinning)."},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"    * Ensure all data have migrated to new schema via online_data_migrations commandline."}],"source_content_type":"text/x-rst","patch_set":13,"id":"df3967d1_f9af827a","line":208,"range":{"start_line":208,"start_character":6,"end_line":208,"end_character":16},"updated":"2017-08-03 01:57:54.000000000","message":"Stick to the original form of verbs at the beginning of sentences.","commit_id":"677cf3719cc21686d7674f3cfa7b9e237c4e69c1"},{"author":{"_account_id":17491,"name":"Lujin Luo","email":"luo.lujin@jp.fujitsu.com","username":"Lujin"},"change_message_id":"1e75f8cf317de44305cf50bf8ce36b24ab6daeb9","unresolved":false,"context_lines":[{"line_number":208,"context_line":"    * Performing data gradually migrate to new schema"},{"line_number":209,"context_line":"      by multi-version interoperability (included O.VO and RPC Pinning)."},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"    * Ensure all data have migrated to new schema via online_data_migrations commandline."},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"    * Drop old schema by operator or auto commandline in the next couple cycles."},{"line_number":214,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"df3967d1_79c39239","line":211,"range":{"start_line":211,"start_character":22,"end_line":211,"end_character":35},"updated":"2017-08-03 01:57:54.000000000","message":"have been migrated","commit_id":"677cf3719cc21686d7674f3cfa7b9e237c4e69c1"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"e1b10fe7970a51160ed0a03e71e8bad5a7b6133f","unresolved":false,"context_lines":[{"line_number":244,"context_line":"    * Perform data gradually migrate to new schema"},{"line_number":245,"context_line":"      by multi-version interoperability (included O.VO and RPC Pinning)."},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"    * Ensure all data have been migrated to new schema via online_data_migrations commandline."},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"    * Drop old schema by operator or auto commandline in the next couple cycles."},{"line_number":250,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"df3967d1_c34044a8","line":247,"range":{"start_line":247,"start_character":82,"end_line":247,"end_character":93},"updated":"2017-08-03 07:46:57.000000000","message":"command line?","commit_id":"894655970f2b351962a96c2684a352c9e4ecf25e"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"e1b10fe7970a51160ed0a03e71e8bad5a7b6133f","unresolved":false,"context_lines":[{"line_number":246,"context_line":""},{"line_number":247,"context_line":"    * Ensure all data have been migrated to new schema via online_data_migrations commandline."},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"    * Drop old schema by operator or auto commandline in the next couple cycles."},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"* Write documentation for rolling upgrade (developer docs)."},{"line_number":252,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"df3967d1_83f11c98","line":249,"range":{"start_line":249,"start_character":42,"end_line":249,"end_character":53},"updated":"2017-08-03 07:46:57.000000000","message":"command line?","commit_id":"894655970f2b351962a96c2684a352c9e4ecf25e"},{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"69e71c3c7a9819c66afea301a1872850622b7068","unresolved":false,"context_lines":[{"line_number":87,"context_line":"    We should create 3 repos to perform OSM without downtime and keeping up with migrate_repo"},{"line_number":88,"context_line":"    for sync DB and or normal upgrade with downtime (turn off all services before upgrade)."},{"line_number":89,"context_line":"    We will use SQLAlchemy migration for OSM in Designate project."},{"line_number":90,"context_line":"    Three new repos includes: expand_repo, data_migration_repo and contract_repo."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"  * (Solution 2): Using solution of Nova to OSM for Designate."},{"line_number":93,"context_line":"    This is Trigger-less solution. We must implement OVO code-base firstly."}],"source_content_type":"text/x-rst","patch_set":17,"id":"9f436f4f_323c5892","line":90,"updated":"2017-08-09 15:31:22.000000000","message":"We need to expand on what would happen to our current migrations, and how an actual upgrade will work. (preferably with an example)","commit_id":"5ec4c72130c19e8c186a010bbb1083916e27a065"},{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"69e71c3c7a9819c66afea301a1872850622b7068","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"  * (Solution 2): Using solution of Nova to OSM for Designate."},{"line_number":93,"context_line":"    This is Trigger-less solution. We must implement OVO code-base firstly."},{"line_number":94,"context_line":"    We also will use SQLAlchemy migration in this case."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"6. Graceful Shutdown: Implemented [9]"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"9f436f4f_1241540c","line":94,"updated":"2017-08-09 15:31:22.000000000","message":"We need a lot more detail about how this works, and how the migration would function.\n\nWe also need to define what \"Trigger\" and \"Trigger-less\" are.","commit_id":"5ec4c72130c19e8c186a010bbb1083916e27a065"}]}
