)]}'
{"specs/ussuri/approved/rollback-mechanism.rst":[{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"bf936d085e36fb3ff13ad37271663aa10f845ce5","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Watcher Decision Engine has an external strategy plugin interface which gives"},{"line_number":46,"context_line":"anyone the ability to integrate an external strategy in order to make use of"},{"line_number":47,"context_line":"placement algorithms."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"We can introduce in a new strategy for a \u0027rollback\u0027 goal. The \u0027rollback\u0027"},{"line_number":50,"context_line":"strategy executes in the following process. Firstly, get the actionplan which"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_a447c91e","line":47,"range":{"start_line":47,"start_character":0,"end_line":47,"end_character":20},"updated":"2019-11-11 09:29:45.000000000","message":"What does it  mean \u0027placement algorithms\u0027?","commit_id":"4ef59b37b57484a56516ea93c610c24d37808c37"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"499d42e66bcd6da9082a2ed1b4432112b9b9545e","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Watcher Decision Engine has an external strategy plugin interface which gives"},{"line_number":46,"context_line":"anyone the ability to integrate an external strategy in order to make use of"},{"line_number":47,"context_line":"placement algorithms."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"We can introduce in a new strategy for a \u0027rollback\u0027 goal. The \u0027rollback\u0027"},{"line_number":50,"context_line":"strategy executes in the following process. Firstly, get the actionplan which"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_3f7b3ebf","line":47,"range":{"start_line":47,"start_character":0,"end_line":47,"end_character":20},"in_reply_to":"3fa7e38b_a447c91e","updated":"2019-12-12 01:21:09.000000000","message":"optimization strategy","commit_id":"4ef59b37b57484a56516ea93c610c24d37808c37"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"bf936d085e36fb3ff13ad37271663aa10f845ce5","unresolved":false,"context_lines":[{"line_number":46,"context_line":"anyone the ability to integrate an external strategy in order to make use of"},{"line_number":47,"context_line":"placement algorithms."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"We can introduce in a new strategy for a \u0027rollback\u0027 goal. The \u0027rollback\u0027"},{"line_number":50,"context_line":"strategy executes in the following process. Firstly, get the actionplan which"},{"line_number":51,"context_line":"needs rollback. Secondly, retrive all the actions of the actionplan."},{"line_number":52,"context_line":"And then produce the rollback solution."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"The benefits are listed as follows:"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_84bf2da9","line":52,"range":{"start_line":49,"start_character":0,"end_line":52,"end_character":39},"updated":"2019-11-11 09:29:45.000000000","message":"I don\u0027t think we need to add a new goal and a new strategy.\nthe rollback actionplan should be a new actionplan belong to that audit. so I think that maybe we need to add a new audit api to create the rollback actionplan, such as shell cmd \u0027watcher audit revert audit_id\u0027.\nWe can define a new function in class AuditEndpoint to process the rollback request. In this function, creating a solution from actionplans that have been executed, and then invoking planner.schedule to create the reverting actionplan.","commit_id":"4ef59b37b57484a56516ea93c610c24d37808c37"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"9d5ada95120862ec0821e4e2653d9ad2c340f255","unresolved":false,"context_lines":[{"line_number":46,"context_line":"anyone the ability to integrate an external strategy in order to make use of"},{"line_number":47,"context_line":"placement algorithms."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"We can introduce in a new strategy for a \u0027rollback\u0027 goal. The \u0027rollback\u0027"},{"line_number":50,"context_line":"strategy executes in the following process. Firstly, get the actionplan which"},{"line_number":51,"context_line":"needs rollback. Secondly, retrive all the actions of the actionplan."},{"line_number":52,"context_line":"And then produce the rollback solution."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"The benefits are listed as follows:"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_cf2bf992","line":52,"range":{"start_line":49,"start_character":0,"end_line":52,"end_character":39},"in_reply_to":"3fa7e38b_84bf2da9","updated":"2019-11-12 01:22:42.000000000","message":"And  the main function can be put in /watcher/decision_engine/audit","commit_id":"4ef59b37b57484a56516ea93c610c24d37808c37"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"0705affec8ccba2f5ff9a130647434daa594b9d1","unresolved":false,"context_lines":[{"line_number":46,"context_line":"anyone the ability to integrate an external strategy in order to make use of"},{"line_number":47,"context_line":"placement algorithms."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"We can introduce in a new strategy for a \u0027rollback\u0027 goal. The \u0027rollback\u0027"},{"line_number":50,"context_line":"strategy executes in the following process. Firstly, get the actionplan which"},{"line_number":51,"context_line":"needs rollback. Secondly, retrive all the actions of the actionplan."},{"line_number":52,"context_line":"And then produce the rollback solution."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"The benefits are listed as follows:"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_f7aea37e","line":52,"range":{"start_line":49,"start_character":0,"end_line":52,"end_character":39},"in_reply_to":"3fa7e38b_b925e3c1","updated":"2020-02-06 09:49:34.000000000","message":"One continous audit may last a long time, and the CDM has changed dramatically. The rollback mechanism may not work well. \nI suggest to add rollback to actionplan, instead of audit. To make the rollback mechanism to work as far as possible,\nonly recent(for example, recent in one hour) actionplan is allowed to rollback.","commit_id":"4ef59b37b57484a56516ea93c610c24d37808c37"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"499d42e66bcd6da9082a2ed1b4432112b9b9545e","unresolved":false,"context_lines":[{"line_number":46,"context_line":"anyone the ability to integrate an external strategy in order to make use of"},{"line_number":47,"context_line":"placement algorithms."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"We can introduce in a new strategy for a \u0027rollback\u0027 goal. The \u0027rollback\u0027"},{"line_number":50,"context_line":"strategy executes in the following process. Firstly, get the actionplan which"},{"line_number":51,"context_line":"needs rollback. Secondly, retrive all the actions of the actionplan."},{"line_number":52,"context_line":"And then produce the rollback solution."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"The benefits are listed as follows:"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_ff612612","line":52,"range":{"start_line":49,"start_character":0,"end_line":52,"end_character":39},"in_reply_to":"3fa7e38b_cf2bf992","updated":"2019-12-12 01:21:09.000000000","message":"If we bring the rollback mechanism, I think it\u0027s better to add \u0027revert\u0027 action to actionplan API.","commit_id":"4ef59b37b57484a56516ea93c610c24d37808c37"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"b940138753aa924b793e2e2014c8e076b8247009","unresolved":false,"context_lines":[{"line_number":46,"context_line":"anyone the ability to integrate an external strategy in order to make use of"},{"line_number":47,"context_line":"placement algorithms."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"We can introduce in a new strategy for a \u0027rollback\u0027 goal. The \u0027rollback\u0027"},{"line_number":50,"context_line":"strategy executes in the following process. Firstly, get the actionplan which"},{"line_number":51,"context_line":"needs rollback. Secondly, retrive all the actions of the actionplan."},{"line_number":52,"context_line":"And then produce the rollback solution."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"The benefits are listed as follows:"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_b925e3c1","line":52,"range":{"start_line":49,"start_character":0,"end_line":52,"end_character":39},"in_reply_to":"3fa7e38b_ff612612","updated":"2019-12-15 06:03:23.000000000","message":"For CONTINUOUS audit, maybe more than one actionplan had been triggered, when reverting, we need to revert all the changes,so we need the audit uuid to get all the actionplans.","commit_id":"4ef59b37b57484a56516ea93c610c24d37808c37"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"13b75663bd174d4d088a0a5a75009536e4493a82","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Because the compute data model changes by time, the actionplan is possible to"},{"line_number":58,"context_line":"rollback failed. To make the rollback mechanism to work as far as possible,"},{"line_number":59,"context_line":"only recent(defaut, recent in one hour) actionplan is allowed to rollback."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Alternatives"},{"line_number":62,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3fa7e38b_fd86c70e","line":59,"range":{"start_line":59,"start_character":12,"end_line":59,"end_character":18},"updated":"2020-02-19 03:07:59.000000000","message":"default?","commit_id":"9f62f5bea40bee027ce6e63556e6d0fc5a5588c9"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"c5b86c212de55f01c3c44f6c4b9234f8e7955d09","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Because the compute data model changes by time, the actionplan is possible to"},{"line_number":58,"context_line":"rollback failed. To make the rollback mechanism to work as far as possible,"},{"line_number":59,"context_line":"only recent(defaut, recent in one hour) actionplan is allowed to rollback."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Alternatives"},{"line_number":62,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3fa7e38b_c5e771ae","line":59,"range":{"start_line":59,"start_character":12,"end_line":59,"end_character":18},"in_reply_to":"3fa7e38b_fd86c70e","updated":"2020-02-19 09:12:55.000000000","message":"Done","commit_id":"9f62f5bea40bee027ce6e63556e6d0fc5a5588c9"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"13b75663bd174d4d088a0a5a75009536e4493a82","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Rollback Action Plan"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"* /v1/action_plans/{actionplan_ident}/action"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"  * Method type: POST"},{"line_number":79,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"3fa7e38b_3dbd3fb2","line":76,"range":{"start_line":76,"start_character":20,"end_line":76,"end_character":36},"updated":"2020-02-19 03:07:59.000000000","message":"please explain this actionplan_ident, how does operator set the value?","commit_id":"9f62f5bea40bee027ce6e63556e6d0fc5a5588c9"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"c5b86c212de55f01c3c44f6c4b9234f8e7955d09","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Rollback Action Plan"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"* /v1/action_plans/{actionplan_ident}/action"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"  * Method type: POST"},{"line_number":79,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"3fa7e38b_a5b4b582","line":76,"range":{"start_line":76,"start_character":20,"end_line":76,"end_character":36},"in_reply_to":"3fa7e38b_3dbd3fb2","updated":"2020-02-19 09:12:55.000000000","message":"Done","commit_id":"9f62f5bea40bee027ce6e63556e6d0fc5a5588c9"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"796c00fd6df164e8a7537628c569bd19e22a32d1","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"  * Example Action Plan SUCCEEDED or FAILED rollback request:"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"::"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    {"},{"line_number":85,"context_line":"        \"rollback\": null"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3fa7e38b_c5b6a627","line":82,"range":{"start_line":82,"start_character":0,"end_line":82,"end_character":2},"updated":"2020-02-18 10:06:55.000000000","message":"nit: Do some indentation, and add  \".. code-block:: json\".","commit_id":"9f62f5bea40bee027ce6e63556e6d0fc5a5588c9"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"c5b86c212de55f01c3c44f6c4b9234f8e7955d09","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"  * Example Action Plan SUCCEEDED or FAILED rollback request:"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"::"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    {"},{"line_number":85,"context_line":"        \"rollback\": null"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3fa7e38b_058a69bc","line":82,"range":{"start_line":82,"start_character":0,"end_line":82,"end_character":2},"in_reply_to":"3fa7e38b_c5b6a627","updated":"2020-02-19 09:12:55.000000000","message":"I have update this spec. request body is needless.","commit_id":"9f62f5bea40bee027ce6e63556e6d0fc5a5588c9"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"13b75663bd174d4d088a0a5a75009536e4493a82","unresolved":false,"context_lines":[{"line_number":82,"context_line":"::"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    {"},{"line_number":85,"context_line":"        \"rollback\": null"},{"line_number":86,"context_line":"    }"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3fa7e38b_9dc55338","line":85,"range":{"start_line":85,"start_character":9,"end_line":85,"end_character":17},"updated":"2020-02-19 03:07:59.000000000","message":"Is this in request body?\nif yes, i suggest you put \u0027rollback\u0027 in the url path instead of \u0027action\u0027. such as:/v1/action_plans/{actionplan_ident}/rollback","commit_id":"9f62f5bea40bee027ce6e63556e6d0fc5a5588c9"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"c5b86c212de55f01c3c44f6c4b9234f8e7955d09","unresolved":false,"context_lines":[{"line_number":82,"context_line":"::"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    {"},{"line_number":85,"context_line":"        \"rollback\": null"},{"line_number":86,"context_line":"    }"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3fa7e38b_e5baad6e","line":85,"range":{"start_line":85,"start_character":9,"end_line":85,"end_character":17},"in_reply_to":"3fa7e38b_9dc55338","updated":"2020-02-19 09:12:55.000000000","message":"Good proposal.","commit_id":"9f62f5bea40bee027ce6e63556e6d0fc5a5588c9"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"796c00fd6df164e8a7537628c569bd19e22a32d1","unresolved":false,"context_lines":[{"line_number":155,"context_line":"History"},{"line_number":156,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3fa7e38b_85574ecd","line":158,"range":{"start_line":158,"start_character":0,"end_line":158,"end_character":4},"updated":"2020-02-18 10:06:55.000000000","message":"nit: Do we need to add the version tracking?\nsuch as:\n\n.. list-table:: Revisions\n   :header-rows: 1\n\n   * - Release Name\n     - Description\n   * - Ussuri\n     - Introduced","commit_id":"9f62f5bea40bee027ce6e63556e6d0fc5a5588c9"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"c5b86c212de55f01c3c44f6c4b9234f8e7955d09","unresolved":false,"context_lines":[{"line_number":155,"context_line":"History"},{"line_number":156,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3fa7e38b_25f2056b","line":158,"range":{"start_line":158,"start_character":0,"end_line":158,"end_character":4},"in_reply_to":"3fa7e38b_3dd21f00","updated":"2020-02-19 09:12:55.000000000","message":"Done","commit_id":"9f62f5bea40bee027ce6e63556e6d0fc5a5588c9"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"13b75663bd174d4d088a0a5a75009536e4493a82","unresolved":false,"context_lines":[{"line_number":155,"context_line":"History"},{"line_number":156,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3fa7e38b_3dd21f00","line":158,"range":{"start_line":158,"start_character":0,"end_line":158,"end_character":4},"in_reply_to":"3fa7e38b_7031ae58","updated":"2020-02-19 03:07:59.000000000","message":"+1","commit_id":"9f62f5bea40bee027ce6e63556e6d0fc5a5588c9"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"ced4778e39557f78ef5d712c28feac2e8e8c529c","unresolved":false,"context_lines":[{"line_number":155,"context_line":"History"},{"line_number":156,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3fa7e38b_7031ae58","line":158,"range":{"start_line":158,"start_character":0,"end_line":158,"end_character":4},"in_reply_to":"3fa7e38b_85574ecd","updated":"2020-02-18 11:07:13.000000000","message":"Agree. Overall LGTM.","commit_id":"9f62f5bea40bee027ce6e63556e6d0fc5a5588c9"}],"specs/ussuri/approved/rollbck-mechanism.rst":[{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"c358840c244a9dccfef67b34aeb0691124d46123","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Rollbck Mechanism"},{"line_number":9,"context_line":"\u003d\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":"https://blueprints.launchpad.net/watcher/+spec/rollbck-mechanism"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_ec13ffff","line":8,"range":{"start_line":8,"start_character":0,"end_line":8,"end_character":7},"updated":"2019-10-29 07:30:34.000000000","message":"s/Rollbck/Rollback/","commit_id":"ef9c9a803c5c200862be2900058050a428dc735e"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"c7ea4e0f92a8e0c52988cddeaeb68586b9d73786","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Rollbck Mechanism"},{"line_number":9,"context_line":"\u003d\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":"https://blueprints.launchpad.net/watcher/+spec/rollbck-mechanism"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_accbc71b","line":8,"range":{"start_line":8,"start_character":0,"end_line":8,"end_character":7},"in_reply_to":"3fa7e38b_ec13ffff","updated":"2019-10-29 07:54:36.000000000","message":"Done","commit_id":"ef9c9a803c5c200862be2900058050a428dc735e"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"c358840c244a9dccfef67b34aeb0691124d46123","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Rollbck Mechanism"},{"line_number":9,"context_line":"\u003d\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":"https://blueprints.launchpad.net/watcher/+spec/rollbck-mechanism"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_8cd28b33","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":64},"updated":"2019-10-29 07:30:34.000000000","message":"Invalid links: https://blueprints.launchpad.net/watcher/+spec/rollback-mechanism","commit_id":"ef9c9a803c5c200862be2900058050a428dc735e"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"c7ea4e0f92a8e0c52988cddeaeb68586b9d73786","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Rollbck Mechanism"},{"line_number":9,"context_line":"\u003d\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":"https://blueprints.launchpad.net/watcher/+spec/rollbck-mechanism"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_4ccc9333","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":64},"in_reply_to":"3fa7e38b_8cd28b33","updated":"2019-10-29 07:54:36.000000000","message":"Done","commit_id":"ef9c9a803c5c200862be2900058050a428dc735e"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"c358840c244a9dccfef67b34aeb0691124d46123","unresolved":false,"context_lines":[{"line_number":17,"context_line":"After every audit, there would be one actionplan to execute. The actionplan"},{"line_number":18,"context_line":"is a group of actions, such as:"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":" - migrations"},{"line_number":21,"context_line":" - change nova service state"},{"line_number":22,"context_line":" - change node power state"},{"line_number":23,"context_line":" ..."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Sometimes, the users want to rollback the actionplan or part of the actionplan"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_4c949336","line":22,"range":{"start_line":20,"start_character":1,"end_line":22,"end_character":26},"updated":"2019-10-29 07:30:34.000000000","message":"nits: Use * instead of -:\n  * migrations\n  * change nova service state\n  * change node power state\n  * ...","commit_id":"ef9c9a803c5c200862be2900058050a428dc735e"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"c7ea4e0f92a8e0c52988cddeaeb68586b9d73786","unresolved":false,"context_lines":[{"line_number":17,"context_line":"After every audit, there would be one actionplan to execute. The actionplan"},{"line_number":18,"context_line":"is a group of actions, such as:"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":" - migrations"},{"line_number":21,"context_line":" - change nova service state"},{"line_number":22,"context_line":" - change node power state"},{"line_number":23,"context_line":" ..."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Sometimes, the users want to rollback the actionplan or part of the actionplan"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_0cda1be8","line":22,"range":{"start_line":20,"start_character":1,"end_line":22,"end_character":26},"in_reply_to":"3fa7e38b_4c949336","updated":"2019-10-29 07:54:36.000000000","message":"Done","commit_id":"ef9c9a803c5c200862be2900058050a428dc735e"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"c358840c244a9dccfef67b34aeb0691124d46123","unresolved":false,"context_lines":[{"line_number":20,"context_line":" - migrations"},{"line_number":21,"context_line":" - change nova service state"},{"line_number":22,"context_line":" - change node power state"},{"line_number":23,"context_line":" ..."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Sometimes, the users want to rollback the actionplan or part of the actionplan"},{"line_number":26,"context_line":"after one actionplan successfully executed."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_8cbb6be3","line":23,"range":{"start_line":23,"start_character":0,"end_line":23,"end_character":4},"updated":"2019-10-29 07:30:34.000000000","message":"That\u0027s why the docs error, the \u0027...\u0027 unindent.\nYou can change this \u0027- ...\u0027","commit_id":"ef9c9a803c5c200862be2900058050a428dc735e"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"c7ea4e0f92a8e0c52988cddeaeb68586b9d73786","unresolved":false,"context_lines":[{"line_number":20,"context_line":" - migrations"},{"line_number":21,"context_line":" - change nova service state"},{"line_number":22,"context_line":" - change node power state"},{"line_number":23,"context_line":" ..."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Sometimes, the users want to rollback the actionplan or part of the actionplan"},{"line_number":26,"context_line":"after one actionplan successfully executed."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_6ceaaf74","line":23,"range":{"start_line":23,"start_character":0,"end_line":23,"end_character":4},"in_reply_to":"3fa7e38b_8cbb6be3","updated":"2019-10-29 07:54:36.000000000","message":"Done","commit_id":"ef9c9a803c5c200862be2900058050a428dc735e"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"c358840c244a9dccfef67b34aeb0691124d46123","unresolved":false,"context_lines":[{"line_number":26,"context_line":"after one actionplan successfully executed."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Moreover, for host maintenance, it will migrate all instances from the"},{"line_number":29,"context_line":"maintaining host to others. Aften the host maintenance and active again,"},{"line_number":30,"context_line":"there is no mechanismto migrate the instances automatically back to the"},{"line_number":31,"context_line":"maintaining host."},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_2cccb787","line":29,"range":{"start_line":29,"start_character":28,"end_line":29,"end_character":33},"updated":"2019-10-29 07:30:34.000000000","message":"s/Aften/After/","commit_id":"ef9c9a803c5c200862be2900058050a428dc735e"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"c7ea4e0f92a8e0c52988cddeaeb68586b9d73786","unresolved":false,"context_lines":[{"line_number":26,"context_line":"after one actionplan successfully executed."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Moreover, for host maintenance, it will migrate all instances from the"},{"line_number":29,"context_line":"maintaining host to others. Aften the host maintenance and active again,"},{"line_number":30,"context_line":"there is no mechanismto migrate the instances automatically back to the"},{"line_number":31,"context_line":"maintaining host."},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_8cefeb85","line":29,"range":{"start_line":29,"start_character":28,"end_line":29,"end_character":33},"in_reply_to":"3fa7e38b_2cccb787","updated":"2019-10-29 07:54:36.000000000","message":"Done","commit_id":"ef9c9a803c5c200862be2900058050a428dc735e"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"c358840c244a9dccfef67b34aeb0691124d46123","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Moreover, for host maintenance, it will migrate all instances from the"},{"line_number":29,"context_line":"maintaining host to others. Aften the host maintenance and active again,"},{"line_number":30,"context_line":"there is no mechanismto migrate the instances automatically back to the"},{"line_number":31,"context_line":"maintaining host."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_8ca04ba7","line":30,"range":{"start_line":30,"start_character":21,"end_line":30,"end_character":23},"updated":"2019-10-29 07:30:34.000000000","message":"need one space.","commit_id":"ef9c9a803c5c200862be2900058050a428dc735e"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"c7ea4e0f92a8e0c52988cddeaeb68586b9d73786","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Moreover, for host maintenance, it will migrate all instances from the"},{"line_number":29,"context_line":"maintaining host to others. Aften the host maintenance and active again,"},{"line_number":30,"context_line":"there is no mechanismto migrate the instances automatically back to the"},{"line_number":31,"context_line":"maintaining host."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_ecdc5fe2","line":30,"range":{"start_line":30,"start_character":21,"end_line":30,"end_character":23},"in_reply_to":"3fa7e38b_8ca04ba7","updated":"2019-10-29 07:54:36.000000000","message":"Done","commit_id":"ef9c9a803c5c200862be2900058050a428dc735e"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"c358840c244a9dccfef67b34aeb0691124d46123","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"As an openstack operator, I want to migrate the instances back to the source"},{"line_number":40,"context_line":"node after the node having been executed \"host maintenance\" strategy."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Proposed change"},{"line_number":44,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_4ca6d3c2","line":41,"updated":"2019-10-29 07:30:34.000000000","message":"remove a white line.","commit_id":"ef9c9a803c5c200862be2900058050a428dc735e"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"c7ea4e0f92a8e0c52988cddeaeb68586b9d73786","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"As an openstack operator, I want to migrate the instances back to the source"},{"line_number":40,"context_line":"node after the node having been executed \"host maintenance\" strategy."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Proposed change"},{"line_number":44,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_2cd7d7c1","line":41,"in_reply_to":"3fa7e38b_4ca6d3c2","updated":"2019-10-29 07:54:36.000000000","message":"Done","commit_id":"ef9c9a803c5c200862be2900058050a428dc735e"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"c358840c244a9dccfef67b34aeb0691124d46123","unresolved":false,"context_lines":[{"line_number":47,"context_line":"anyone the ability to integrate an external strategy in order to make use of"},{"line_number":48,"context_line":"placement algorithms."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"We can introduce in a new strategy for a \u0027rollback\u0027 goal. The \u0027Rollback\u0027"},{"line_number":51,"context_line":"strategy executes in the following process. Firstly, get the actionplan which"},{"line_number":52,"context_line":"needs rollback. Secondly, retrive all the actions of the actionplan."},{"line_number":53,"context_line":"And then produce the rollback solution."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_ec6f7f5d","line":50,"range":{"start_line":50,"start_character":41,"end_line":50,"end_character":72},"updated":"2019-10-29 07:30:34.000000000","message":"Unified the \u0027rollback\u0027, either \u0027rollback\u0027 or \u0027Rollback\u0027.","commit_id":"ef9c9a803c5c200862be2900058050a428dc735e"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"c7ea4e0f92a8e0c52988cddeaeb68586b9d73786","unresolved":false,"context_lines":[{"line_number":47,"context_line":"anyone the ability to integrate an external strategy in order to make use of"},{"line_number":48,"context_line":"placement algorithms."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"We can introduce in a new strategy for a \u0027rollback\u0027 goal. The \u0027Rollback\u0027"},{"line_number":51,"context_line":"strategy executes in the following process. Firstly, get the actionplan which"},{"line_number":52,"context_line":"needs rollback. Secondly, retrive all the actions of the actionplan."},{"line_number":53,"context_line":"And then produce the rollback solution."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_acf4275c","line":50,"range":{"start_line":50,"start_character":41,"end_line":50,"end_character":72},"in_reply_to":"3fa7e38b_ec6f7f5d","updated":"2019-10-29 07:54:36.000000000","message":"Done","commit_id":"ef9c9a803c5c200862be2900058050a428dc735e"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"c358840c244a9dccfef67b34aeb0691124d46123","unresolved":false,"context_lines":[{"line_number":122,"context_line":""},{"line_number":123,"context_line":"Work Items"},{"line_number":124,"context_line":"----------"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"None"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"Dependencies"},{"line_number":129,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_cca723a8","line":126,"range":{"start_line":125,"start_character":0,"end_line":126,"end_character":4},"updated":"2019-10-29 07:30:34.000000000","message":"This you can description your plan. https://github.com/openstack/watcher-specs/blob/master/specs/ussuri-template.rst#work-items","commit_id":"ef9c9a803c5c200862be2900058050a428dc735e"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"c7ea4e0f92a8e0c52988cddeaeb68586b9d73786","unresolved":false,"context_lines":[{"line_number":122,"context_line":""},{"line_number":123,"context_line":"Work Items"},{"line_number":124,"context_line":"----------"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"None"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"Dependencies"},{"line_number":129,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_0c03fb43","line":126,"range":{"start_line":125,"start_character":0,"end_line":126,"end_character":4},"in_reply_to":"3fa7e38b_cca723a8","updated":"2019-10-29 07:54:36.000000000","message":"Done","commit_id":"ef9c9a803c5c200862be2900058050a428dc735e"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"c358840c244a9dccfef67b34aeb0691124d46123","unresolved":false,"context_lines":[{"line_number":148,"context_line":""},{"line_number":149,"context_line":"History"},{"line_number":150,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_6cb2afe7","line":152,"range":{"start_line":151,"start_character":0,"end_line":152,"end_character":4},"updated":"2019-10-29 07:30:34.000000000","message":"Add this ussuri history to this. \nsuch as:\n\nHistory\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\n.. list-table:: Revisions\n   :header-rows: 1\n\n   * - Release Name\n     - Description\n   * - Ussuri\n     - Introduced\n\n\nhttps://github.com/openstack/watcher-specs/blob/master/specs/ussuri-template.rst#history","commit_id":"ef9c9a803c5c200862be2900058050a428dc735e"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"c7ea4e0f92a8e0c52988cddeaeb68586b9d73786","unresolved":false,"context_lines":[{"line_number":148,"context_line":""},{"line_number":149,"context_line":"History"},{"line_number":150,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_2c003734","line":152,"range":{"start_line":151,"start_character":0,"end_line":152,"end_character":4},"in_reply_to":"3fa7e38b_6cb2afe7","updated":"2019-10-29 07:54:36.000000000","message":"Done","commit_id":"ef9c9a803c5c200862be2900058050a428dc735e"}]}
