)]}'
{"specs/pike/approved/cancel-action-plan.rst":[{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"66eec73228f8e0d2d995b0961c9ca05fa2fce743","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\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Add support to cancel execution of Action plan"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\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/cancel-action-plan"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_1177e0d3","line":8,"range":{"start_line":8,"start_character":42,"end_line":8,"end_character":46},"updated":"2017-02-14 07:54:33.000000000","message":"Plan","commit_id":"5f884a178890db91d1e0f0b9dbe31c6a7224d52a"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"66eec73228f8e0d2d995b0961c9ca05fa2fce743","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"A Cloud Administrator may want to cancel the action plan execution due to any"},{"line_number":17,"context_line":"reason. An Action Plan can be in execution from long time and a cloud admin"},{"line_number":18,"context_line":"may want to execute the actions manually or want to fullfill the optimization"},{"line_number":19,"context_line":"requirements by some other methods."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"As of now Adminstrator can update the action plan state to **CANCELLED** but"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_b1429466","line":18,"range":{"start_line":18,"start_character":52,"end_line":18,"end_character":60},"updated":"2017-02-14 07:54:33.000000000","message":"s/fullfill/fulfill","commit_id":"5f884a178890db91d1e0f0b9dbe31c6a7224d52a"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"e71c08d7925e60a71f042a975a471d48006696b8","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"A Cloud Administrator may want to cancel the action plan execution due to any"},{"line_number":17,"context_line":"reason. An Action Plan can be in execution from long time and a cloud admin"},{"line_number":18,"context_line":"may want to execute the actions manually or want to fullfill the optimization"},{"line_number":19,"context_line":"requirements by some other methods."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"As of now Adminstrator can update the action plan state to **CANCELLED** but"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_af894877","line":18,"range":{"start_line":18,"start_character":52,"end_line":18,"end_character":60},"in_reply_to":"fa31d9ce_b1429466","updated":"2017-02-14 09:31:36.000000000","message":"Done.","commit_id":"5f884a178890db91d1e0f0b9dbe31c6a7224d52a"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"66eec73228f8e0d2d995b0961c9ca05fa2fce743","unresolved":false,"context_lines":[{"line_number":34,"context_line":"accidentally launched."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"As a Watcher Administrator, I want to CANCEL the action plan because my"},{"line_number":37,"context_line":"optimization requirements gets fullfilled."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Project Priority"},{"line_number":40,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_112520c0","line":37,"range":{"start_line":37,"start_character":31,"end_line":37,"end_character":41},"updated":"2017-02-14 07:54:33.000000000","message":"s/fullfilled/fulfilled","commit_id":"5f884a178890db91d1e0f0b9dbe31c6a7224d52a"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"e71c08d7925e60a71f042a975a471d48006696b8","unresolved":false,"context_lines":[{"line_number":34,"context_line":"accidentally launched."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"As a Watcher Administrator, I want to CANCEL the action plan because my"},{"line_number":37,"context_line":"optimization requirements gets fullfilled."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Project Priority"},{"line_number":40,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_ef7180a9","line":37,"range":{"start_line":37,"start_character":31,"end_line":37,"end_character":41},"in_reply_to":"fa31d9ce_112520c0","updated":"2017-02-14 09:31:36.000000000","message":"Done.","commit_id":"5f884a178890db91d1e0f0b9dbe31c6a7224d52a"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"66eec73228f8e0d2d995b0961c9ca05fa2fce743","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"  * CANCELLING, when watcher applier cancel an ONGOING action."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"  * REVERTING, when watcher applier cancel a SUCCEDED action."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"  * CANCELLED, when watcher applier cancel a PENDING action. when watcher"},{"line_number":62,"context_line":"    applier successfully completed stop of ONGOING action."}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_911f506b","line":59,"range":{"start_line":59,"start_character":45,"end_line":59,"end_character":53},"updated":"2017-02-14 07:54:33.000000000","message":"s/SUCCEDED/SUCCEEDED","commit_id":"5f884a178890db91d1e0f0b9dbe31c6a7224d52a"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"e71c08d7925e60a71f042a975a471d48006696b8","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"  * CANCELLING, when watcher applier cancel an ONGOING action."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"  * REVERTING, when watcher applier cancel a SUCCEDED action."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"  * CANCELLED, when watcher applier cancel a PENDING action. when watcher"},{"line_number":62,"context_line":"    applier successfully completed stop of ONGOING action."}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_4f61acd2","line":59,"range":{"start_line":59,"start_character":45,"end_line":59,"end_character":53},"in_reply_to":"fa31d9ce_911f506b","updated":"2017-02-14 09:31:36.000000000","message":"Done.","commit_id":"5f884a178890db91d1e0f0b9dbe31c6a7224d52a"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"66eec73228f8e0d2d995b0961c9ca05fa2fce743","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"None"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"REST API impact"},{"line_number":86,"context_line":"---------------"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_5c76cfa4","line":85,"range":{"start_line":85,"start_character":0,"end_line":85,"end_character":15},"updated":"2017-02-14 07:54:33.000000000","message":"Do you need to add a new REST API for the \u0027watcher actionplan cancel\u0027 ?","commit_id":"5f884a178890db91d1e0f0b9dbe31c6a7224d52a"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"e71c08d7925e60a71f042a975a471d48006696b8","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"None"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"REST API impact"},{"line_number":86,"context_line":"---------------"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_afa228fb","line":85,"range":{"start_line":85,"start_character":0,"end_line":85,"end_character":15},"in_reply_to":"fa31d9ce_5c76cfa4","updated":"2017-02-14 09:31:36.000000000","message":"no, new REST API needed for actionplan cancel.","commit_id":"5f884a178890db91d1e0f0b9dbe31c6a7224d52a"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"66eec73228f8e0d2d995b0961c9ca05fa2fce743","unresolved":false,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":"None"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"Notifications impact"},{"line_number":96,"context_line":"--------------------"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_1c8ff775","line":95,"range":{"start_line":95,"start_character":0,"end_line":95,"end_character":20},"updated":"2017-02-14 07:54:33.000000000","message":"Do you need to send a notification message when the action plan and actions  are canceled?","commit_id":"5f884a178890db91d1e0f0b9dbe31c6a7224d52a"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"e71c08d7925e60a71f042a975a471d48006696b8","unresolved":false,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":"None"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"Notifications impact"},{"line_number":96,"context_line":"--------------------"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_0fb2544c","line":95,"range":{"start_line":95,"start_character":0,"end_line":95,"end_character":20},"in_reply_to":"fa31d9ce_1c8ff775","updated":"2017-02-14 09:31:36.000000000","message":"I have added notification impact","commit_id":"5f884a178890db91d1e0f0b9dbe31c6a7224d52a"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"66eec73228f8e0d2d995b0961c9ca05fa2fce743","unresolved":false,"context_lines":[{"line_number":124,"context_line":"* Implementation for action plan cancel will be done by using taskflow. When a"},{"line_number":125,"context_line":"  running engine receives an exception, it stops execution and calls revert for"},{"line_number":126,"context_line":"  all the tasks(actions) added in the flow. Based on action state"},{"line_number":127,"context_line":"  (PENDING, ONGOING, SUCCEDED) revert method will call relevant API\u0027s to abort/"},{"line_number":128,"context_line":"  revert the action."},{"line_number":129,"context_line":"* Before starting any new action watcher applier will check for the state of"},{"line_number":130,"context_line":"  action plan, if its state is updated to CANCELLING it will trigger an"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_7cd7134b","line":127,"range":{"start_line":127,"start_character":21,"end_line":127,"end_character":29},"updated":"2017-02-14 07:54:33.000000000","message":"s/SUCCEDED/SUCCEEDED","commit_id":"5f884a178890db91d1e0f0b9dbe31c6a7224d52a"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"e71c08d7925e60a71f042a975a471d48006696b8","unresolved":false,"context_lines":[{"line_number":124,"context_line":"* Implementation for action plan cancel will be done by using taskflow. When a"},{"line_number":125,"context_line":"  running engine receives an exception, it stops execution and calls revert for"},{"line_number":126,"context_line":"  all the tasks(actions) added in the flow. Based on action state"},{"line_number":127,"context_line":"  (PENDING, ONGOING, SUCCEDED) revert method will call relevant API\u0027s to abort/"},{"line_number":128,"context_line":"  revert the action."},{"line_number":129,"context_line":"* Before starting any new action watcher applier will check for the state of"},{"line_number":130,"context_line":"  action plan, if its state is updated to CANCELLING it will trigger an"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_2faf18e3","line":127,"range":{"start_line":127,"start_character":21,"end_line":127,"end_character":29},"in_reply_to":"fa31d9ce_7cd7134b","updated":"2017-02-14 09:31:36.000000000","message":"Done.","commit_id":"5f884a178890db91d1e0f0b9dbe31c6a7224d52a"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"66eec73228f8e0d2d995b0961c9ca05fa2fce743","unresolved":false,"context_lines":[{"line_number":154,"context_line":"Testing"},{"line_number":155,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"The unit and tempset tests will have to be updated."},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"Documentation Impact"},{"line_number":160,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_3cbafb0a","line":157,"range":{"start_line":157,"start_character":13,"end_line":157,"end_character":20},"updated":"2017-02-14 07:54:33.000000000","message":"s/tempset/tempest","commit_id":"5f884a178890db91d1e0f0b9dbe31c6a7224d52a"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"e71c08d7925e60a71f042a975a471d48006696b8","unresolved":false,"context_lines":[{"line_number":154,"context_line":"Testing"},{"line_number":155,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"The unit and tempset tests will have to be updated."},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"Documentation Impact"},{"line_number":160,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_6fb5902f","line":157,"range":{"start_line":157,"start_character":13,"end_line":157,"end_character":20},"in_reply_to":"fa31d9ce_3cbafb0a","updated":"2017-02-14 09:31:36.000000000","message":"Done.","commit_id":"5f884a178890db91d1e0f0b9dbe31c6a7224d52a"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"21d83baa0de90694a1d21993798de08c35dac7bd","unresolved":false,"context_lines":[{"line_number":95,"context_line":"Notifications impact"},{"line_number":96,"context_line":"--------------------"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"Following notifications needs to be added for action plan."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"- ``actionplan.cancel.start``"},{"line_number":101,"context_line":"- ``actionplan.cancel.end``"},{"line_number":102,"context_line":"- ``actionplan.cancel.error``"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"Following notifications needs to be added for action."},{"line_number":105,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa31d9ce_8f7ba4f4","line":102,"range":{"start_line":98,"start_character":0,"end_line":102,"end_character":29},"updated":"2017-02-14 15:38:29.000000000","message":"IMHO, this is not really necessary because:\n\n- ``actionplan.cancel.start`` is triggered by the user and will also trigger an ``actionplan.update`` notification with a state_update from ONGOING to CANCELLING.\n- ``actionplan.cancel.end`` is a dupe of the existing ``actionplan.update`` notification with a state_update from CANCELLING to CANCELLED. It can also match the ``actionplan.execution.end`` notification\n- ``actionplan.cancel.error`` can match the ``actionplan.execution.error`` notification","commit_id":"ebe7944603b663272d0c9426d1e19e1380f10652"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"e18cdefb86ec3c406013f343efbd32d6a141dc2b","unresolved":false,"context_lines":[{"line_number":95,"context_line":"Notifications impact"},{"line_number":96,"context_line":"--------------------"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"Following notifications needs to be added for action plan."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"- ``actionplan.cancel.start``"},{"line_number":101,"context_line":"- ``actionplan.cancel.end``"},{"line_number":102,"context_line":"- ``actionplan.cancel.error``"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"Following notifications needs to be added for action."},{"line_number":105,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa31d9ce_8a5ecb77","line":102,"range":{"start_line":98,"start_character":0,"end_line":102,"end_character":29},"in_reply_to":"fa31d9ce_1cdc2572","updated":"2017-02-16 08:31:45.000000000","message":"Done. Added a seperate BP for notifications","commit_id":"ebe7944603b663272d0c9426d1e19e1380f10652"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"e8f62076cebc84554671b5a655790caff61ef077","unresolved":false,"context_lines":[{"line_number":95,"context_line":"Notifications impact"},{"line_number":96,"context_line":"--------------------"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"Following notifications needs to be added for action plan."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"- ``actionplan.cancel.start``"},{"line_number":101,"context_line":"- ``actionplan.cancel.end``"},{"line_number":102,"context_line":"- ``actionplan.cancel.error``"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"Following notifications needs to be added for action."},{"line_number":105,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa31d9ce_1cdc2572","line":102,"range":{"start_line":98,"start_character":0,"end_line":102,"end_character":29},"in_reply_to":"fa31d9ce_8f7ba4f4","updated":"2017-02-15 05:34:41.000000000","message":"imho,actionplan.cancel.start,actionplan.cancel.end can be mapped to actionplan.update, but actionplan.cancel.error and actionplan.execution.error can not be mapped to one.","commit_id":"ebe7944603b663272d0c9426d1e19e1380f10652"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"21d83baa0de90694a1d21993798de08c35dac7bd","unresolved":false,"context_lines":[{"line_number":101,"context_line":"- ``actionplan.cancel.end``"},{"line_number":102,"context_line":"- ``actionplan.cancel.error``"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"Following notifications needs to be added for action."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"- ``action.cancel.start``"},{"line_number":107,"context_line":"- ``action.cancel.end``"},{"line_number":108,"context_line":"- ``action.cancel.error``"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Other end user impact"},{"line_number":111,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa31d9ce_12d19b23","line":108,"range":{"start_line":104,"start_character":0,"end_line":108,"end_character":25},"updated":"2017-02-14 15:38:29.000000000","message":"Instead of trying to provide generic notifications, I reckon it would be easier to plug Watcher to the taskflow notification system (http://docs.openstack.org/developer/taskflow/notifications.html) so we get all the information we want. What do you think?","commit_id":"ebe7944603b663272d0c9426d1e19e1380f10652"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"e8f62076cebc84554671b5a655790caff61ef077","unresolved":false,"context_lines":[{"line_number":101,"context_line":"- ``actionplan.cancel.end``"},{"line_number":102,"context_line":"- ``actionplan.cancel.error``"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"Following notifications needs to be added for action."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"- ``action.cancel.start``"},{"line_number":107,"context_line":"- ``action.cancel.end``"},{"line_number":108,"context_line":"- ``action.cancel.error``"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Other end user impact"},{"line_number":111,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa31d9ce_dc436d11","line":108,"range":{"start_line":104,"start_character":0,"end_line":108,"end_character":25},"in_reply_to":"fa31d9ce_12d19b23","updated":"2017-02-15 05:34:41.000000000","message":"yes we can do that, imho can we leave the notification part as of now?? and will work on it after implementation.","commit_id":"ebe7944603b663272d0c9426d1e19e1380f10652"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"e18cdefb86ec3c406013f343efbd32d6a141dc2b","unresolved":false,"context_lines":[{"line_number":101,"context_line":"- ``actionplan.cancel.end``"},{"line_number":102,"context_line":"- ``actionplan.cancel.error``"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"Following notifications needs to be added for action."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"- ``action.cancel.start``"},{"line_number":107,"context_line":"- ``action.cancel.end``"},{"line_number":108,"context_line":"- ``action.cancel.error``"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Other end user impact"},{"line_number":111,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa31d9ce_4a1f73b7","line":108,"range":{"start_line":104,"start_character":0,"end_line":108,"end_character":25},"in_reply_to":"fa31d9ce_3ffc783d","updated":"2017-02-16 08:31:45.000000000","message":"yes, i have created another BP for notifications and added a dependency to this.","commit_id":"ebe7944603b663272d0c9426d1e19e1380f10652"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"ee90173b4c207eb6259772e6489a4bfd3bf62019","unresolved":false,"context_lines":[{"line_number":101,"context_line":"- ``actionplan.cancel.end``"},{"line_number":102,"context_line":"- ``actionplan.cancel.error``"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"Following notifications needs to be added for action."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"- ``action.cancel.start``"},{"line_number":107,"context_line":"- ``action.cancel.end``"},{"line_number":108,"context_line":"- ``action.cancel.error``"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Other end user impact"},{"line_number":111,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa31d9ce_3ffc783d","line":108,"range":{"start_line":104,"start_character":0,"end_line":108,"end_character":25},"in_reply_to":"fa31d9ce_dc436d11","updated":"2017-02-15 08:23:01.000000000","message":"Yeah it\u0027s okay for me too, maybe just create another BP about this to keep record of this.","commit_id":"ebe7944603b663272d0c9426d1e19e1380f10652"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"7f2cbae3acdd02bc833b2fc38cacc30a89560a05","unresolved":false,"context_lines":[{"line_number":36,"context_line":"As a Watcher Administrator, I want to CANCEL the action plan because my"},{"line_number":37,"context_line":"optimization requirements gets fulfilled."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Project Priority"},{"line_number":40,"context_line":"-----------------"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":7,"id":"da36d5c6_e6084e94","line":39,"range":{"start_line":39,"start_character":0,"end_line":39,"end_character":16},"updated":"2017-02-20 01:37:06.000000000","message":"This section was removed.\nsee: https://github.com/openstack/watcher-specs/blob/master/specs/pike-template.rst","commit_id":"aa5b502aa707ab6680fb8cede941fe86648f417f"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"90a78742ae1ea4caf2dab40c90fbd605ffdfcc46","unresolved":false,"context_lines":[{"line_number":36,"context_line":"As a Watcher Administrator, I want to CANCEL the action plan because my"},{"line_number":37,"context_line":"optimization requirements gets fulfilled."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Project Priority"},{"line_number":40,"context_line":"-----------------"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":7,"id":"da36d5c6_0bbf02fc","line":39,"range":{"start_line":39,"start_character":0,"end_line":39,"end_character":16},"in_reply_to":"da36d5c6_55e99d19","updated":"2017-02-21 06:37:44.000000000","message":"Done.","commit_id":"aa5b502aa707ab6680fb8cede941fe86648f417f"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"b48911860419868e0cb33dd8a040768b5ae4f8e0","unresolved":false,"context_lines":[{"line_number":36,"context_line":"As a Watcher Administrator, I want to CANCEL the action plan because my"},{"line_number":37,"context_line":"optimization requirements gets fulfilled."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Project Priority"},{"line_number":40,"context_line":"-----------------"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":7,"id":"da36d5c6_55e99d19","line":39,"range":{"start_line":39,"start_character":0,"end_line":39,"end_character":16},"in_reply_to":"da36d5c6_e6084e94","updated":"2017-02-21 05:10:59.000000000","message":"will do it.","commit_id":"aa5b502aa707ab6680fb8cede941fe86648f417f"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"7f2cbae3acdd02bc833b2fc38cacc30a89560a05","unresolved":false,"context_lines":[{"line_number":47,"context_line":"* Add  new state  **CANCELLING** for the **Action Plan**."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"  * CANCELLING, when watcher api receives request from cloud admin to cancel"},{"line_number":50,"context_line":"    the action plan."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"  * CANCELLED, when watcher applier successfully cancelled the action plan."},{"line_number":53,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"da36d5c6_46f83a7d","line":50,"range":{"start_line":50,"start_character":4,"end_line":50,"end_character":19},"updated":"2017-02-20 01:37:06.000000000","message":"Could you add state of action plan?\nI think CANCELLING is only valid for ONGOING action plan.","commit_id":"aa5b502aa707ab6680fb8cede941fe86648f417f"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"b48911860419868e0cb33dd8a040768b5ae4f8e0","unresolved":false,"context_lines":[{"line_number":47,"context_line":"* Add  new state  **CANCELLING** for the **Action Plan**."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"  * CANCELLING, when watcher api receives request from cloud admin to cancel"},{"line_number":50,"context_line":"    the action plan."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"  * CANCELLED, when watcher applier successfully cancelled the action plan."},{"line_number":53,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"da36d5c6_b5465921","line":50,"range":{"start_line":50,"start_character":4,"end_line":50,"end_character":19},"in_reply_to":"da36d5c6_46f83a7d","updated":"2017-02-21 05:10:59.000000000","message":"you want say to add state machine diagram??","commit_id":"aa5b502aa707ab6680fb8cede941fe86648f417f"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"90a78742ae1ea4caf2dab40c90fbd605ffdfcc46","unresolved":false,"context_lines":[{"line_number":47,"context_line":"* Add  new state  **CANCELLING** for the **Action Plan**."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"  * CANCELLING, when watcher api receives request from cloud admin to cancel"},{"line_number":50,"context_line":"    the action plan."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"  * CANCELLED, when watcher applier successfully cancelled the action plan."},{"line_number":53,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"da36d5c6_ab5d16eb","line":50,"range":{"start_line":50,"start_character":4,"end_line":50,"end_character":19},"in_reply_to":"da36d5c6_b5465921","updated":"2017-02-21 06:37:44.000000000","message":"Done.","commit_id":"aa5b502aa707ab6680fb8cede941fe86648f417f"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"7f2cbae3acdd02bc833b2fc38cacc30a89560a05","unresolved":false,"context_lines":[{"line_number":49,"context_line":"  * CANCELLING, when watcher api receives request from cloud admin to cancel"},{"line_number":50,"context_line":"    the action plan."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"  * CANCELLED, when watcher applier successfully cancelled the action plan."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"* Add new states **CANCELLING**, **REVERTING**, **CANCELLED**, **REVERTED** to"},{"line_number":55,"context_line":"  **Action**."}],"source_content_type":"text/x-rst","patch_set":7,"id":"da36d5c6_c62a6ae7","line":52,"range":{"start_line":52,"start_character":4,"end_line":52,"end_character":75},"updated":"2017-02-20 01:37:06.000000000","message":"Since CANCELLED is already exists, this sentence should be moved to CANCELLING explanation.","commit_id":"aa5b502aa707ab6680fb8cede941fe86648f417f"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"b48911860419868e0cb33dd8a040768b5ae4f8e0","unresolved":false,"context_lines":[{"line_number":49,"context_line":"  * CANCELLING, when watcher api receives request from cloud admin to cancel"},{"line_number":50,"context_line":"    the action plan."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"  * CANCELLED, when watcher applier successfully cancelled the action plan."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"* Add new states **CANCELLING**, **REVERTING**, **CANCELLED**, **REVERTED** to"},{"line_number":55,"context_line":"  **Action**."}],"source_content_type":"text/x-rst","patch_set":7,"id":"da36d5c6_d54bcd29","line":52,"range":{"start_line":52,"start_character":4,"end_line":52,"end_character":75},"in_reply_to":"da36d5c6_c62a6ae7","updated":"2017-02-21 05:10:59.000000000","message":"yes, it does not signify to add a new state, just explanation. ok i will move it with cancelling.","commit_id":"aa5b502aa707ab6680fb8cede941fe86648f417f"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"90a78742ae1ea4caf2dab40c90fbd605ffdfcc46","unresolved":false,"context_lines":[{"line_number":49,"context_line":"  * CANCELLING, when watcher api receives request from cloud admin to cancel"},{"line_number":50,"context_line":"    the action plan."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"  * CANCELLED, when watcher applier successfully cancelled the action plan."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"* Add new states **CANCELLING**, **REVERTING**, **CANCELLED**, **REVERTED** to"},{"line_number":55,"context_line":"  **Action**."}],"source_content_type":"text/x-rst","patch_set":7,"id":"da36d5c6_2bbcc604","line":52,"range":{"start_line":52,"start_character":4,"end_line":52,"end_character":75},"in_reply_to":"da36d5c6_d54bcd29","updated":"2017-02-21 06:37:44.000000000","message":"Done.","commit_id":"aa5b502aa707ab6680fb8cede941fe86648f417f"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"7f2cbae3acdd02bc833b2fc38cacc30a89560a05","unresolved":false,"context_lines":[{"line_number":59,"context_line":"  * REVERTING, when watcher applier cancel a SUCCEEDED action."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"  * CANCELLED, when watcher applier cancel a PENDING action. when watcher"},{"line_number":62,"context_line":"    applier successfully completed stop of ONGOING action."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"  * REVERTED, when watcher applier successfully complete revert on action."},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"da36d5c6_060c8293","line":62,"range":{"start_line":62,"start_character":25,"end_line":62,"end_character":57},"updated":"2017-02-20 01:37:06.000000000","message":"If this sentence explains ONGOING -\u003e CANCELLING -\u003e CANCELLED transition, \u0027completed cancel the action\u0027 is good because of the same as REVERTED.","commit_id":"aa5b502aa707ab6680fb8cede941fe86648f417f"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"b48911860419868e0cb33dd8a040768b5ae4f8e0","unresolved":false,"context_lines":[{"line_number":59,"context_line":"  * REVERTING, when watcher applier cancel a SUCCEEDED action."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"  * CANCELLED, when watcher applier cancel a PENDING action. when watcher"},{"line_number":62,"context_line":"    applier successfully completed stop of ONGOING action."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"  * REVERTED, when watcher applier successfully complete revert on action."},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"da36d5c6_355349e3","line":62,"range":{"start_line":62,"start_character":25,"end_line":62,"end_character":57},"in_reply_to":"da36d5c6_060c8293","updated":"2017-02-21 05:10:59.000000000","message":"ok, will do it","commit_id":"aa5b502aa707ab6680fb8cede941fe86648f417f"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"90a78742ae1ea4caf2dab40c90fbd605ffdfcc46","unresolved":false,"context_lines":[{"line_number":59,"context_line":"  * REVERTING, when watcher applier cancel a SUCCEEDED action."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"  * CANCELLED, when watcher applier cancel a PENDING action. when watcher"},{"line_number":62,"context_line":"    applier successfully completed stop of ONGOING action."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"  * REVERTED, when watcher applier successfully complete revert on action."},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"da36d5c6_ab46f620","line":62,"range":{"start_line":62,"start_character":25,"end_line":62,"end_character":57},"in_reply_to":"da36d5c6_355349e3","updated":"2017-02-21 06:37:44.000000000","message":"Done.","commit_id":"aa5b502aa707ab6680fb8cede941fe86648f417f"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"7f2cbae3acdd02bc833b2fc38cacc30a89560a05","unresolved":false,"context_lines":[{"line_number":61,"context_line":"  * CANCELLED, when watcher applier cancel a PENDING action. when watcher"},{"line_number":62,"context_line":"    applier successfully completed stop of ONGOING action."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"  * REVERTED, when watcher applier successfully complete revert on action."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"* Add a new command **watcher actionplan cancel** in watcher-client to cancel"},{"line_number":67,"context_line":"  the action plan."}],"source_content_type":"text/x-rst","patch_set":7,"id":"da36d5c6_46267a17","line":64,"range":{"start_line":64,"start_character":48,"end_line":64,"end_character":56},"updated":"2017-02-20 01:37:06.000000000","message":"\u0027completed\u0027 is better.","commit_id":"aa5b502aa707ab6680fb8cede941fe86648f417f"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"b48911860419868e0cb33dd8a040768b5ae4f8e0","unresolved":false,"context_lines":[{"line_number":61,"context_line":"  * CANCELLED, when watcher applier cancel a PENDING action. when watcher"},{"line_number":62,"context_line":"    applier successfully completed stop of ONGOING action."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"  * REVERTED, when watcher applier successfully complete revert on action."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"* Add a new command **watcher actionplan cancel** in watcher-client to cancel"},{"line_number":67,"context_line":"  the action plan."}],"source_content_type":"text/x-rst","patch_set":7,"id":"da36d5c6_950f95e0","line":64,"range":{"start_line":64,"start_character":48,"end_line":64,"end_character":56},"in_reply_to":"da36d5c6_46267a17","updated":"2017-02-21 05:10:59.000000000","message":"ok will do it.","commit_id":"aa5b502aa707ab6680fb8cede941fe86648f417f"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"90a78742ae1ea4caf2dab40c90fbd605ffdfcc46","unresolved":false,"context_lines":[{"line_number":61,"context_line":"  * CANCELLED, when watcher applier cancel a PENDING action. when watcher"},{"line_number":62,"context_line":"    applier successfully completed stop of ONGOING action."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"  * REVERTED, when watcher applier successfully complete revert on action."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"* Add a new command **watcher actionplan cancel** in watcher-client to cancel"},{"line_number":67,"context_line":"  the action plan."}],"source_content_type":"text/x-rst","patch_set":7,"id":"da36d5c6_cb4b2a2a","line":64,"range":{"start_line":64,"start_character":48,"end_line":64,"end_character":56},"in_reply_to":"da36d5c6_950f95e0","updated":"2017-02-21 06:37:44.000000000","message":"Done.","commit_id":"aa5b502aa707ab6680fb8cede941fe86648f417f"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"7f2cbae3acdd02bc833b2fc38cacc30a89560a05","unresolved":false,"context_lines":[{"line_number":125,"context_line":"  running engine receives an exception, it stops execution and calls revert for"},{"line_number":126,"context_line":"  all the tasks(actions) added in the flow. Based on action state"},{"line_number":127,"context_line":"  (PENDING, ONGOING, SUCCEEDED) revert method will call relevant API\u0027s to"},{"line_number":128,"context_line":"  abort/revert the action."},{"line_number":129,"context_line":"* Before starting any new action watcher applier will check for the state of"},{"line_number":130,"context_line":"  action plan, if its state is updated to CANCELLING it will trigger an"},{"line_number":131,"context_line":"  exception \"ActionPlanStop\" to the taskflow engine and taskflow engine will"}],"source_content_type":"text/x-rst","patch_set":7,"id":"da36d5c6_c6626a16","line":128,"range":{"start_line":128,"start_character":2,"end_line":128,"end_character":14},"updated":"2017-02-20 01:37:06.000000000","message":"Could you please make clearer \u0027relevant\u0027 mean?\nIf different method will be called based on action state, make clearer please.","commit_id":"aa5b502aa707ab6680fb8cede941fe86648f417f"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"90a78742ae1ea4caf2dab40c90fbd605ffdfcc46","unresolved":false,"context_lines":[{"line_number":125,"context_line":"  running engine receives an exception, it stops execution and calls revert for"},{"line_number":126,"context_line":"  all the tasks(actions) added in the flow. Based on action state"},{"line_number":127,"context_line":"  (PENDING, ONGOING, SUCCEEDED) revert method will call relevant API\u0027s to"},{"line_number":128,"context_line":"  abort/revert the action."},{"line_number":129,"context_line":"* Before starting any new action watcher applier will check for the state of"},{"line_number":130,"context_line":"  action plan, if its state is updated to CANCELLING it will trigger an"},{"line_number":131,"context_line":"  exception \"ActionPlanStop\" to the taskflow engine and taskflow engine will"}],"source_content_type":"text/x-rst","patch_set":7,"id":"da36d5c6_2b53e6e2","line":128,"range":{"start_line":128,"start_character":2,"end_line":128,"end_character":14},"in_reply_to":"da36d5c6_55051dc0","updated":"2017-02-21 06:37:44.000000000","message":"Done, added more details.","commit_id":"aa5b502aa707ab6680fb8cede941fe86648f417f"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"b48911860419868e0cb33dd8a040768b5ae4f8e0","unresolved":false,"context_lines":[{"line_number":125,"context_line":"  running engine receives an exception, it stops execution and calls revert for"},{"line_number":126,"context_line":"  all the tasks(actions) added in the flow. Based on action state"},{"line_number":127,"context_line":"  (PENDING, ONGOING, SUCCEEDED) revert method will call relevant API\u0027s to"},{"line_number":128,"context_line":"  abort/revert the action."},{"line_number":129,"context_line":"* Before starting any new action watcher applier will check for the state of"},{"line_number":130,"context_line":"  action plan, if its state is updated to CANCELLING it will trigger an"},{"line_number":131,"context_line":"  exception \"ActionPlanStop\" to the taskflow engine and taskflow engine will"}],"source_content_type":"text/x-rst","patch_set":7,"id":"da36d5c6_55051dc0","line":128,"range":{"start_line":128,"start_character":2,"end_line":128,"end_character":14},"in_reply_to":"da36d5c6_c6626a16","updated":"2017-02-21 05:10:59.000000000","message":"The task flow engine will call revert method of the task (action), then in the revert method we will have logic to call different methods based on action state. we need to define those methods.","commit_id":"aa5b502aa707ab6680fb8cede941fe86648f417f"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"7f2cbae3acdd02bc833b2fc38cacc30a89560a05","unresolved":false,"context_lines":[{"line_number":121,"context_line":""},{"line_number":122,"context_line":"Implementation"},{"line_number":123,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":124,"context_line":"* Implementation for action plan cancel will be done by using taskflow. When a"},{"line_number":125,"context_line":"  running engine receives an exception, it stops execution and calls revert for"},{"line_number":126,"context_line":"  all the tasks(actions) added in the flow. Based on action state"},{"line_number":127,"context_line":"  (PENDING, ONGOING, SUCCEEDED) revert method will call relevant API\u0027s to"},{"line_number":128,"context_line":"  abort/revert the action."},{"line_number":129,"context_line":"* Before starting any new action watcher applier will check for the state of"},{"line_number":130,"context_line":"  action plan, if its state is updated to CANCELLING it will trigger an"},{"line_number":131,"context_line":"  exception \"ActionPlanStop\" to the taskflow engine and taskflow engine will"},{"line_number":132,"context_line":"  start reverting the tasks (actions) in reverse manner, keeping the"},{"line_number":133,"context_line":"  dependencies intact."},{"line_number":134,"context_line":""},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"Assignee(s)"}],"source_content_type":"text/x-rst","patch_set":7,"id":"da36d5c6_666a9e1c","line":133,"range":{"start_line":124,"start_character":0,"end_line":133,"end_character":22},"updated":"2017-02-20 01:37:06.000000000","message":"Nothing should be written between Implementation and Assignee(s). Those items should be written in Work items section.","commit_id":"aa5b502aa707ab6680fb8cede941fe86648f417f"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"90a78742ae1ea4caf2dab40c90fbd605ffdfcc46","unresolved":false,"context_lines":[{"line_number":121,"context_line":""},{"line_number":122,"context_line":"Implementation"},{"line_number":123,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":124,"context_line":"* Implementation for action plan cancel will be done by using taskflow. When a"},{"line_number":125,"context_line":"  running engine receives an exception, it stops execution and calls revert for"},{"line_number":126,"context_line":"  all the tasks(actions) added in the flow. Based on action state"},{"line_number":127,"context_line":"  (PENDING, ONGOING, SUCCEEDED) revert method will call relevant API\u0027s to"},{"line_number":128,"context_line":"  abort/revert the action."},{"line_number":129,"context_line":"* Before starting any new action watcher applier will check for the state of"},{"line_number":130,"context_line":"  action plan, if its state is updated to CANCELLING it will trigger an"},{"line_number":131,"context_line":"  exception \"ActionPlanStop\" to the taskflow engine and taskflow engine will"},{"line_number":132,"context_line":"  start reverting the tasks (actions) in reverse manner, keeping the"},{"line_number":133,"context_line":"  dependencies intact."},{"line_number":134,"context_line":""},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"Assignee(s)"}],"source_content_type":"text/x-rst","patch_set":7,"id":"da36d5c6_6b631eb2","line":133,"range":{"start_line":124,"start_character":0,"end_line":133,"end_character":22},"in_reply_to":"da36d5c6_356a6981","updated":"2017-02-21 06:37:44.000000000","message":"Sorry got it later, Done.","commit_id":"aa5b502aa707ab6680fb8cede941fe86648f417f"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"b48911860419868e0cb33dd8a040768b5ae4f8e0","unresolved":false,"context_lines":[{"line_number":121,"context_line":""},{"line_number":122,"context_line":"Implementation"},{"line_number":123,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":124,"context_line":"* Implementation for action plan cancel will be done by using taskflow. When a"},{"line_number":125,"context_line":"  running engine receives an exception, it stops execution and calls revert for"},{"line_number":126,"context_line":"  all the tasks(actions) added in the flow. Based on action state"},{"line_number":127,"context_line":"  (PENDING, ONGOING, SUCCEEDED) revert method will call relevant API\u0027s to"},{"line_number":128,"context_line":"  abort/revert the action."},{"line_number":129,"context_line":"* Before starting any new action watcher applier will check for the state of"},{"line_number":130,"context_line":"  action plan, if its state is updated to CANCELLING it will trigger an"},{"line_number":131,"context_line":"  exception \"ActionPlanStop\" to the taskflow engine and taskflow engine will"},{"line_number":132,"context_line":"  start reverting the tasks (actions) in reverse manner, keeping the"},{"line_number":133,"context_line":"  dependencies intact."},{"line_number":134,"context_line":""},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"Assignee(s)"}],"source_content_type":"text/x-rst","patch_set":7,"id":"da36d5c6_356a6981","line":133,"range":{"start_line":124,"start_character":0,"end_line":133,"end_character":22},"in_reply_to":"da36d5c6_666a9e1c","updated":"2017-02-21 05:10:59.000000000","message":"This should me moved to work items?? Implementation should remain empty??","commit_id":"aa5b502aa707ab6680fb8cede941fe86648f417f"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"7f2cbae3acdd02bc833b2fc38cacc30a89560a05","unresolved":false,"context_lines":[{"line_number":159,"context_line":"Documentation Impact"},{"line_number":160,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"Need to update the **Action Plan State Machine**  in the architecture"},{"line_number":163,"context_line":"documentation."},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"Need to add the **Action State Machine** in the architecture documentation."}],"source_content_type":"text/x-rst","patch_set":7,"id":"da36d5c6_a67496fd","line":162,"range":{"start_line":162,"start_character":48,"end_line":162,"end_character":50},"updated":"2017-02-20 01:37:06.000000000","message":"double space","commit_id":"aa5b502aa707ab6680fb8cede941fe86648f417f"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"90a78742ae1ea4caf2dab40c90fbd605ffdfcc46","unresolved":false,"context_lines":[{"line_number":159,"context_line":"Documentation Impact"},{"line_number":160,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"Need to update the **Action Plan State Machine**  in the architecture"},{"line_number":163,"context_line":"documentation."},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"Need to add the **Action State Machine** in the architecture documentation."}],"source_content_type":"text/x-rst","patch_set":7,"id":"da36d5c6_8b5852fc","line":162,"range":{"start_line":162,"start_character":48,"end_line":162,"end_character":50},"in_reply_to":"da36d5c6_a67496fd","updated":"2017-02-21 06:37:44.000000000","message":"Done.","commit_id":"aa5b502aa707ab6680fb8cede941fe86648f417f"},{"author":{"_account_id":6437,"name":"Susanne Balle","email":"sleipnir012@gmail.com","username":"susanne-balle"},"change_message_id":"376c596ac1ffcf9ff753976d9792d45c7a659bb4","unresolved":false,"context_lines":[{"line_number":13,"context_line":"Problem description"},{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"A Cloud Administrator may want to cancel the action plan execution due to any"},{"line_number":17,"context_line":"reason. An Action Plan can be in execution from long time and a cloud admin"},{"line_number":18,"context_line":"may want to execute the actions manually or want to fulfill the optimization"},{"line_number":19,"context_line":"requirements by some other methods."}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba2be162_afc54b5c","line":16,"range":{"start_line":16,"start_character":67,"end_line":16,"end_character":77},"updated":"2017-02-28 22:46:28.000000000","message":"nit: for any reason","commit_id":"0c46b5f4e333967095755afe01e4af70af03f6b6"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"78ae5dc2afaa043a7c3e4e426c736ba8344891c4","unresolved":false,"context_lines":[{"line_number":13,"context_line":"Problem description"},{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"A Cloud Administrator may want to cancel the action plan execution due to any"},{"line_number":17,"context_line":"reason. An Action Plan can be in execution from long time and a cloud admin"},{"line_number":18,"context_line":"may want to execute the actions manually or want to fulfill the optimization"},{"line_number":19,"context_line":"requirements by some other methods."}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba2be162_677c5073","line":16,"range":{"start_line":16,"start_character":67,"end_line":16,"end_character":77},"in_reply_to":"ba2be162_afc54b5c","updated":"2017-03-01 04:56:26.000000000","message":"ok","commit_id":"0c46b5f4e333967095755afe01e4af70af03f6b6"},{"author":{"_account_id":6437,"name":"Susanne Balle","email":"sleipnir012@gmail.com","username":"susanne-balle"},"change_message_id":"376c596ac1ffcf9ff753976d9792d45c7a659bb4","unresolved":false,"context_lines":[{"line_number":19,"context_line":"requirements by some other methods."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"As of now Adminstrator can update the action plan state to **CANCELLED** but"},{"line_number":22,"context_line":"there is no action taken by watcher to cancel the action plan. It only updates"},{"line_number":23,"context_line":"the action plan state to **CANCELLED**."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"It should be possible to **CANCEL** execution of the action plan by watcher."}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba2be162_0f99f76e","line":22,"range":{"start_line":22,"start_character":28,"end_line":22,"end_character":29},"updated":"2017-02-28 22:46:28.000000000","message":"nit/to be consistent: w should be W","commit_id":"0c46b5f4e333967095755afe01e4af70af03f6b6"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"78ae5dc2afaa043a7c3e4e426c736ba8344891c4","unresolved":false,"context_lines":[{"line_number":19,"context_line":"requirements by some other methods."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"As of now Adminstrator can update the action plan state to **CANCELLED** but"},{"line_number":22,"context_line":"there is no action taken by watcher to cancel the action plan. It only updates"},{"line_number":23,"context_line":"the action plan state to **CANCELLED**."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"It should be possible to **CANCEL** execution of the action plan by watcher."}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba2be162_47ee6c23","line":22,"range":{"start_line":22,"start_character":28,"end_line":22,"end_character":29},"in_reply_to":"ba2be162_0f99f76e","updated":"2017-03-01 04:56:26.000000000","message":"ok","commit_id":"0c46b5f4e333967095755afe01e4af70af03f6b6"},{"author":{"_account_id":6437,"name":"Susanne Balle","email":"sleipnir012@gmail.com","username":"susanne-balle"},"change_message_id":"376c596ac1ffcf9ff753976d9792d45c7a659bb4","unresolved":false,"context_lines":[{"line_number":22,"context_line":"there is no action taken by watcher to cancel the action plan. It only updates"},{"line_number":23,"context_line":"the action plan state to **CANCELLED**."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"It should be possible to **CANCEL** execution of the action plan by watcher."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Use Cases"},{"line_number":28,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba2be162_afee2bea","line":25,"range":{"start_line":25,"start_character":0,"end_line":25,"end_character":76},"updated":"2017-02-28 22:46:28.000000000","message":"If you cancel the execution of the action plan in the middle what state does that leave you in? I am assumign you are not suggesting a rollback.","commit_id":"0c46b5f4e333967095755afe01e4af70af03f6b6"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"78ae5dc2afaa043a7c3e4e426c736ba8344891c4","unresolved":false,"context_lines":[{"line_number":22,"context_line":"there is no action taken by watcher to cancel the action plan. It only updates"},{"line_number":23,"context_line":"the action plan state to **CANCELLED**."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"It should be possible to **CANCEL** execution of the action plan by watcher."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Use Cases"},{"line_number":28,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba2be162_c7da5c78","line":25,"range":{"start_line":25,"start_character":0,"end_line":25,"end_character":76},"in_reply_to":"ba2be162_afee2bea","updated":"2017-03-01 04:56:26.000000000","message":"yes, rollback is suggested, i have discussed it with other team members also, if rollback is not done then cluster may be in an undetermined state.","commit_id":"0c46b5f4e333967095755afe01e4af70af03f6b6"},{"author":{"_account_id":6437,"name":"Susanne Balle","email":"sleipnir012@gmail.com","username":"susanne-balle"},"change_message_id":"9629c3626bcf89a7d676cd6d09166fcd012cccc8","unresolved":false,"context_lines":[{"line_number":22,"context_line":"there is no action taken by watcher to cancel the action plan. It only updates"},{"line_number":23,"context_line":"the action plan state to **CANCELLED**."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"It should be possible to **CANCEL** execution of the action plan by watcher."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Use Cases"},{"line_number":28,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba2be162_df81314c","line":25,"range":{"start_line":25,"start_character":0,"end_line":25,"end_character":76},"in_reply_to":"ba2be162_c7da5c78","updated":"2017-03-01 12:58:08.000000000","message":"I do not believe oyu can roll back since the cluster might have changed such as nova could have added new VMs to the previous nodes","commit_id":"0c46b5f4e333967095755afe01e4af70af03f6b6"},{"author":{"_account_id":6437,"name":"Susanne Balle","email":"sleipnir012@gmail.com","username":"susanne-balle"},"change_message_id":"376c596ac1ffcf9ff753976d9792d45c7a659bb4","unresolved":false,"context_lines":[{"line_number":27,"context_line":"Use Cases"},{"line_number":28,"context_line":"----------"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"As a Watcher Administrator, I want watcher to CANCEL the action plan that is in"},{"line_number":31,"context_line":"ONGOING state from a long time."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"As a Watcher Administrator, I want to CANCEL any action plan that is"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba2be162_afaaab6e","line":30,"range":{"start_line":30,"start_character":35,"end_line":30,"end_character":36},"updated":"2017-02-28 22:46:28.000000000","message":"nit/to be consistent: w should be W","commit_id":"0c46b5f4e333967095755afe01e4af70af03f6b6"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"78ae5dc2afaa043a7c3e4e426c736ba8344891c4","unresolved":false,"context_lines":[{"line_number":27,"context_line":"Use Cases"},{"line_number":28,"context_line":"----------"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"As a Watcher Administrator, I want watcher to CANCEL the action plan that is in"},{"line_number":31,"context_line":"ONGOING state from a long time."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"As a Watcher Administrator, I want to CANCEL any action plan that is"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba2be162_e7e7603e","line":30,"range":{"start_line":30,"start_character":35,"end_line":30,"end_character":36},"in_reply_to":"ba2be162_afaaab6e","updated":"2017-03-01 04:56:26.000000000","message":"ok","commit_id":"0c46b5f4e333967095755afe01e4af70af03f6b6"},{"author":{"_account_id":6437,"name":"Susanne Balle","email":"sleipnir012@gmail.com","username":"susanne-balle"},"change_message_id":"376c596ac1ffcf9ff753976d9792d45c7a659bb4","unresolved":false,"context_lines":[{"line_number":34,"context_line":"accidentally launched."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"As a Watcher Administrator, I want to CANCEL the action plan because my"},{"line_number":37,"context_line":"optimization requirements gets fulfilled."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Proposed change"},{"line_number":40,"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":9,"id":"ba2be162_afc1cb30","line":37,"range":{"start_line":37,"start_character":0,"end_line":37,"end_character":40},"updated":"2017-02-28 22:46:28.000000000","message":"this is not clear. Are you saying: I want to CANCEL the action plan because my optimization requirements have been met.?","commit_id":"0c46b5f4e333967095755afe01e4af70af03f6b6"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"78ae5dc2afaa043a7c3e4e426c736ba8344891c4","unresolved":false,"context_lines":[{"line_number":34,"context_line":"accidentally launched."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"As a Watcher Administrator, I want to CANCEL the action plan because my"},{"line_number":37,"context_line":"optimization requirements gets fulfilled."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Proposed change"},{"line_number":40,"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":9,"id":"ba2be162_07e55436","line":37,"range":{"start_line":37,"start_character":0,"end_line":37,"end_character":40},"in_reply_to":"ba2be162_afc1cb30","updated":"2017-03-01 04:56:26.000000000","message":"yes.","commit_id":"0c46b5f4e333967095755afe01e4af70af03f6b6"},{"author":{"_account_id":6437,"name":"Susanne Balle","email":"sleipnir012@gmail.com","username":"susanne-balle"},"change_message_id":"376c596ac1ffcf9ff753976d9792d45c7a659bb4","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"* Add  new state  **CANCELLING** for the **Action Plan**."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"  * CANCELLING, when watcher api receives request from cloud admin to cancel"},{"line_number":45,"context_line":"    the **ONGOING** action plan. When watcher-applier successfully executed"},{"line_number":46,"context_line":"    the cancel request it will update the action plan state to **CANCELLED**."},{"line_number":47,"context_line":"    When watcher applier failed to complete the action plan cancel request, it"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba2be162_6fcef35b","line":44,"range":{"start_line":44,"start_character":21,"end_line":44,"end_character":22},"updated":"2017-02-28 22:46:28.000000000","message":"nit: w --\u003e W","commit_id":"0c46b5f4e333967095755afe01e4af70af03f6b6"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"78ae5dc2afaa043a7c3e4e426c736ba8344891c4","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"* Add  new state  **CANCELLING** for the **Action Plan**."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"  * CANCELLING, when watcher api receives request from cloud admin to cancel"},{"line_number":45,"context_line":"    the **ONGOING** action plan. When watcher-applier successfully executed"},{"line_number":46,"context_line":"    the cancel request it will update the action plan state to **CANCELLED**."},{"line_number":47,"context_line":"    When watcher applier failed to complete the action plan cancel request, it"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba2be162_67ca90a3","line":44,"range":{"start_line":44,"start_character":21,"end_line":44,"end_character":22},"in_reply_to":"ba2be162_6fcef35b","updated":"2017-03-01 04:56:26.000000000","message":"ok","commit_id":"0c46b5f4e333967095755afe01e4af70af03f6b6"},{"author":{"_account_id":6437,"name":"Susanne Balle","email":"sleipnir012@gmail.com","username":"susanne-balle"},"change_message_id":"376c596ac1ffcf9ff753976d9792d45c7a659bb4","unresolved":false,"context_lines":[{"line_number":50,"context_line":"* Add new states **CANCELLING**, **REVERTING**, **CANCELLED**, **REVERTED** to"},{"line_number":51,"context_line":"  **Action**."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"  * CANCELLING, when watcher applier cancel an ONGOING action."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"  * REVERTING, when watcher applier cancel a SUCCEEDED action."},{"line_number":56,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba2be162_8ff24799","line":53,"range":{"start_line":53,"start_character":21,"end_line":53,"end_character":22},"updated":"2017-02-28 22:46:28.000000000","message":"nit: w --\u003e W","commit_id":"0c46b5f4e333967095755afe01e4af70af03f6b6"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"78ae5dc2afaa043a7c3e4e426c736ba8344891c4","unresolved":false,"context_lines":[{"line_number":50,"context_line":"* Add new states **CANCELLING**, **REVERTING**, **CANCELLED**, **REVERTED** to"},{"line_number":51,"context_line":"  **Action**."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"  * CANCELLING, when watcher applier cancel an ONGOING action."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"  * REVERTING, when watcher applier cancel a SUCCEEDED action."},{"line_number":56,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba2be162_87cf84af","line":53,"range":{"start_line":53,"start_character":21,"end_line":53,"end_character":22},"in_reply_to":"ba2be162_8ff24799","updated":"2017-03-01 04:56:26.000000000","message":"ok","commit_id":"0c46b5f4e333967095755afe01e4af70af03f6b6"},{"author":{"_account_id":6437,"name":"Susanne Balle","email":"sleipnir012@gmail.com","username":"susanne-balle"},"change_message_id":"376c596ac1ffcf9ff753976d9792d45c7a659bb4","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"  * CANCELLING, when watcher applier cancel an ONGOING action."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"  * REVERTING, when watcher applier cancel a SUCCEEDED action."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"  * CANCELLED, when watcher applier cancel a PENDING action. when watcher"},{"line_number":58,"context_line":"    applier successfully completed cancel of ONGOING action."}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba2be162_cf78bffb","line":55,"range":{"start_line":55,"start_character":4,"end_line":55,"end_character":62},"updated":"2017-02-28 22:46:28.000000000","message":"Reverting is a bad word. It sounds like you are talking about rollback to precious state.I am assuming you just mean to cancel future actions and not to roll back optimizations that have been carried out already.","commit_id":"0c46b5f4e333967095755afe01e4af70af03f6b6"},{"author":{"_account_id":6437,"name":"Susanne Balle","email":"sleipnir012@gmail.com","username":"susanne-balle"},"change_message_id":"376c596ac1ffcf9ff753976d9792d45c7a659bb4","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"  * CANCELLING, when watcher applier cancel an ONGOING action."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"  * REVERTING, when watcher applier cancel a SUCCEEDED action."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"  * CANCELLED, when watcher applier cancel a PENDING action. when watcher"},{"line_number":58,"context_line":"    applier successfully completed cancel of ONGOING action."}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba2be162_cf2a7fe7","line":55,"range":{"start_line":55,"start_character":20,"end_line":55,"end_character":21},"updated":"2017-02-28 22:46:28.000000000","message":"nit: w --\u003e W","commit_id":"0c46b5f4e333967095755afe01e4af70af03f6b6"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"78ae5dc2afaa043a7c3e4e426c736ba8344891c4","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"  * CANCELLING, when watcher applier cancel an ONGOING action."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"  * REVERTING, when watcher applier cancel a SUCCEEDED action."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"  * CANCELLED, when watcher applier cancel a PENDING action. when watcher"},{"line_number":58,"context_line":"    applier successfully completed cancel of ONGOING action."}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba2be162_e755a0c6","line":55,"range":{"start_line":55,"start_character":4,"end_line":55,"end_character":62},"in_reply_to":"ba2be162_cf78bffb","updated":"2017-03-01 04:56:26.000000000","message":"yes, it is reverting to old state because partial execution of action plan may lead to have ambigous cluster state.","commit_id":"0c46b5f4e333967095755afe01e4af70af03f6b6"},{"author":{"_account_id":6437,"name":"Susanne Balle","email":"sleipnir012@gmail.com","username":"susanne-balle"},"change_message_id":"9629c3626bcf89a7d676cd6d09166fcd012cccc8","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"  * CANCELLING, when watcher applier cancel an ONGOING action."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"  * REVERTING, when watcher applier cancel a SUCCEEDED action."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"  * CANCELLED, when watcher applier cancel a PENDING action. when watcher"},{"line_number":58,"context_line":"    applier successfully completed cancel of ONGOING action."}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba2be162_5f60e1ce","line":55,"range":{"start_line":55,"start_character":4,"end_line":55,"end_character":62},"in_reply_to":"ba2be162_e755a0c6","updated":"2017-03-01 12:58:08.000000000","message":"I do not believe you can revert back since the cluster could have changed. You can leave the cluster inthe current state and redo a new audit to optimize  the cluster from that state. Also once we add network and storage treverting will be close to impossible and very complex and time consuming.","commit_id":"0c46b5f4e333967095755afe01e4af70af03f6b6"},{"author":{"_account_id":6437,"name":"Susanne Balle","email":"sleipnir012@gmail.com","username":"susanne-balle"},"change_message_id":"376c596ac1ffcf9ff753976d9792d45c7a659bb4","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"  * REVERTING, when watcher applier cancel a SUCCEEDED action."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"  * CANCELLED, when watcher applier cancel a PENDING action. when watcher"},{"line_number":58,"context_line":"    applier successfully completed cancel of ONGOING action."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"  * REVERTED, when watcher applier successfully completed revert on action."}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba2be162_6f3c3330","line":57,"range":{"start_line":57,"start_character":61,"end_line":57,"end_character":62},"updated":"2017-02-28 22:46:28.000000000","message":"W","commit_id":"0c46b5f4e333967095755afe01e4af70af03f6b6"},{"author":{"_account_id":6437,"name":"Susanne Balle","email":"sleipnir012@gmail.com","username":"susanne-balle"},"change_message_id":"376c596ac1ffcf9ff753976d9792d45c7a659bb4","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"  * REVERTING, when watcher applier cancel a SUCCEEDED action."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"  * CANCELLED, when watcher applier cancel a PENDING action. when watcher"},{"line_number":58,"context_line":"    applier successfully completed cancel of ONGOING action."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"  * REVERTED, when watcher applier successfully completed revert on action."}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba2be162_af462bbd","line":57,"range":{"start_line":57,"start_character":66,"end_line":57,"end_character":67},"updated":"2017-02-28 22:46:28.000000000","message":"nit: w --\u003e W","commit_id":"0c46b5f4e333967095755afe01e4af70af03f6b6"},{"author":{"_account_id":6437,"name":"Susanne Balle","email":"sleipnir012@gmail.com","username":"susanne-balle"},"change_message_id":"376c596ac1ffcf9ff753976d9792d45c7a659bb4","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"  * REVERTING, when watcher applier cancel a SUCCEEDED action."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"  * CANCELLED, when watcher applier cancel a PENDING action. when watcher"},{"line_number":58,"context_line":"    applier successfully completed cancel of ONGOING action."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"  * REVERTED, when watcher applier successfully completed revert on action."}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba2be162_ef2f43f4","line":57,"range":{"start_line":57,"start_character":20,"end_line":57,"end_character":21},"updated":"2017-02-28 22:46:28.000000000","message":"nit: w --\u003e W","commit_id":"0c46b5f4e333967095755afe01e4af70af03f6b6"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"78ae5dc2afaa043a7c3e4e426c736ba8344891c4","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"  * REVERTING, when watcher applier cancel a SUCCEEDED action."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"  * CANCELLED, when watcher applier cancel a PENDING action. when watcher"},{"line_number":58,"context_line":"    applier successfully completed cancel of ONGOING action."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"  * REVERTED, when watcher applier successfully completed revert on action."}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba2be162_4763ccb1","line":57,"range":{"start_line":57,"start_character":61,"end_line":57,"end_character":62},"in_reply_to":"ba2be162_6f3c3330","updated":"2017-03-01 04:56:26.000000000","message":"ok","commit_id":"0c46b5f4e333967095755afe01e4af70af03f6b6"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"78ae5dc2afaa043a7c3e4e426c736ba8344891c4","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"  * REVERTING, when watcher applier cancel a SUCCEEDED action."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"  * CANCELLED, when watcher applier cancel a PENDING action. when watcher"},{"line_number":58,"context_line":"    applier successfully completed cancel of ONGOING action."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"  * REVERTED, when watcher applier successfully completed revert on action."}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba2be162_6758d0fb","line":57,"range":{"start_line":57,"start_character":66,"end_line":57,"end_character":67},"in_reply_to":"ba2be162_af462bbd","updated":"2017-03-01 04:56:26.000000000","message":"ok","commit_id":"0c46b5f4e333967095755afe01e4af70af03f6b6"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"78ae5dc2afaa043a7c3e4e426c736ba8344891c4","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"  * REVERTING, when watcher applier cancel a SUCCEEDED action."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"  * CANCELLED, when watcher applier cancel a PENDING action. when watcher"},{"line_number":58,"context_line":"    applier successfully completed cancel of ONGOING action."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"  * REVERTED, when watcher applier successfully completed revert on action."}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba2be162_875dc4eb","line":57,"range":{"start_line":57,"start_character":20,"end_line":57,"end_character":21},"in_reply_to":"ba2be162_ef2f43f4","updated":"2017-03-01 04:56:26.000000000","message":"ok","commit_id":"0c46b5f4e333967095755afe01e4af70af03f6b6"},{"author":{"_account_id":6437,"name":"Susanne Balle","email":"sleipnir012@gmail.com","username":"susanne-balle"},"change_message_id":"376c596ac1ffcf9ff753976d9792d45c7a659bb4","unresolved":false,"context_lines":[{"line_number":57,"context_line":"  * CANCELLED, when watcher applier cancel a PENDING action. when watcher"},{"line_number":58,"context_line":"    applier successfully completed cancel of ONGOING action."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"  * REVERTED, when watcher applier successfully completed revert on action."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"* Add a new command **watcher actionplan cancel** in watcher-client to cancel"},{"line_number":63,"context_line":"  the action plan."}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba2be162_4f54cf53","line":60,"range":{"start_line":60,"start_character":58,"end_line":60,"end_character":64},"updated":"2017-02-28 22:46:28.000000000","message":"Reverting is a bad word. It sounds like you are talking about rollback to precious state.I am assuming you just mean to cancel future actions and not to roll back optimizations that have been carried out already.","commit_id":"0c46b5f4e333967095755afe01e4af70af03f6b6"},{"author":{"_account_id":6437,"name":"Susanne Balle","email":"sleipnir012@gmail.com","username":"susanne-balle"},"change_message_id":"376c596ac1ffcf9ff753976d9792d45c7a659bb4","unresolved":false,"context_lines":[{"line_number":57,"context_line":"  * CANCELLED, when watcher applier cancel a PENDING action. when watcher"},{"line_number":58,"context_line":"    applier successfully completed cancel of ONGOING action."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"  * REVERTED, when watcher applier successfully completed revert on action."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"* Add a new command **watcher actionplan cancel** in watcher-client to cancel"},{"line_number":63,"context_line":"  the action plan."}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba2be162_0f0c9793","line":60,"range":{"start_line":60,"start_character":19,"end_line":60,"end_character":20},"updated":"2017-02-28 22:46:28.000000000","message":"nit: w --\u003e W","commit_id":"0c46b5f4e333967095755afe01e4af70af03f6b6"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"78ae5dc2afaa043a7c3e4e426c736ba8344891c4","unresolved":false,"context_lines":[{"line_number":57,"context_line":"  * CANCELLED, when watcher applier cancel a PENDING action. when watcher"},{"line_number":58,"context_line":"    applier successfully completed cancel of ONGOING action."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"  * REVERTED, when watcher applier successfully completed revert on action."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"* Add a new command **watcher actionplan cancel** in watcher-client to cancel"},{"line_number":63,"context_line":"  the action plan."}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba2be162_e76cc09e","line":60,"range":{"start_line":60,"start_character":58,"end_line":60,"end_character":64},"in_reply_to":"ba2be162_4f54cf53","updated":"2017-03-01 04:56:26.000000000","message":"ok","commit_id":"0c46b5f4e333967095755afe01e4af70af03f6b6"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"73e292337f3eaafdde22ec5a1e797f63e065a64a","unresolved":false,"context_lines":[{"line_number":138,"context_line":"       if action state is SUCCEEDED:"},{"line_number":139,"context_line":"        # call revert_action"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"* Before starting any new action watcher applier will check for the state of"},{"line_number":142,"context_line":"  action plan, if its state is updated to CANCELLING it will trigger an"},{"line_number":143,"context_line":"  exception \"ActionPlanStop\" to the taskflow engine and taskflow engine will"},{"line_number":144,"context_line":"  start reverting the tasks (actions) in reverse manner, keeping the"},{"line_number":145,"context_line":"  dependencies intact."}],"source_content_type":"text/x-rst","patch_set":9,"id":"da36d5c6_687b3f7c","line":142,"range":{"start_line":141,"start_character":2,"end_line":142,"end_character":14},"updated":"2017-02-28 07:13:15.000000000","message":"How do the applier check for the sate of action plan?\nThere will be a notification when the action plan update its state. \nIs it based on the notification?","commit_id":"0c46b5f4e333967095755afe01e4af70af03f6b6"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"071bf90afefd953377678a73cdc779dab6dda462","unresolved":false,"context_lines":[{"line_number":138,"context_line":"       if action state is SUCCEEDED:"},{"line_number":139,"context_line":"        # call revert_action"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"* Before starting any new action watcher applier will check for the state of"},{"line_number":142,"context_line":"  action plan, if its state is updated to CANCELLING it will trigger an"},{"line_number":143,"context_line":"  exception \"ActionPlanStop\" to the taskflow engine and taskflow engine will"},{"line_number":144,"context_line":"  start reverting the tasks (actions) in reverse manner, keeping the"},{"line_number":145,"context_line":"  dependencies intact."}],"source_content_type":"text/x-rst","patch_set":9,"id":"da36d5c6_68dc1f47","line":142,"range":{"start_line":141,"start_character":2,"end_line":142,"end_character":14},"in_reply_to":"da36d5c6_687b3f7c","updated":"2017-02-28 07:20:12.000000000","message":"applier  will check status of action plan in pre_execute of action.","commit_id":"0c46b5f4e333967095755afe01e4af70af03f6b6"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"73e292337f3eaafdde22ec5a1e797f63e065a64a","unresolved":false,"context_lines":[{"line_number":140,"context_line":""},{"line_number":141,"context_line":"* Before starting any new action watcher applier will check for the state of"},{"line_number":142,"context_line":"  action plan, if its state is updated to CANCELLING it will trigger an"},{"line_number":143,"context_line":"  exception \"ActionPlanStop\" to the taskflow engine and taskflow engine will"},{"line_number":144,"context_line":"  start reverting the tasks (actions) in reverse manner, keeping the"},{"line_number":145,"context_line":"  dependencies intact."},{"line_number":146,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"da36d5c6_c8926b9f","line":143,"range":{"start_line":143,"start_character":13,"end_line":143,"end_character":27},"updated":"2017-02-28 07:13:15.000000000","message":"ActionPlanCancel?","commit_id":"0c46b5f4e333967095755afe01e4af70af03f6b6"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"071bf90afefd953377678a73cdc779dab6dda462","unresolved":false,"context_lines":[{"line_number":140,"context_line":""},{"line_number":141,"context_line":"* Before starting any new action watcher applier will check for the state of"},{"line_number":142,"context_line":"  action plan, if its state is updated to CANCELLING it will trigger an"},{"line_number":143,"context_line":"  exception \"ActionPlanStop\" to the taskflow engine and taskflow engine will"},{"line_number":144,"context_line":"  start reverting the tasks (actions) in reverse manner, keeping the"},{"line_number":145,"context_line":"  dependencies intact."},{"line_number":146,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"da36d5c6_c86eeb95","line":143,"range":{"start_line":143,"start_character":13,"end_line":143,"end_character":27},"in_reply_to":"da36d5c6_c8926b9f","updated":"2017-02-28 07:20:12.000000000","message":"yes, good catch i will correct it.","commit_id":"0c46b5f4e333967095755afe01e4af70af03f6b6"},{"author":{"_account_id":6437,"name":"Susanne Balle","email":"sleipnir012@gmail.com","username":"susanne-balle"},"change_message_id":"1e317400414203041f4fe5ff987e3e7dbc316176","unresolved":false,"context_lines":[{"line_number":141,"context_line":"* Before starting any new action watcher applier will check for the state of"},{"line_number":142,"context_line":"  action plan, if its state is updated to CANCELLING it will trigger an"},{"line_number":143,"context_line":"  exception \"ActionPlanStop\" to the taskflow engine and taskflow engine will"},{"line_number":144,"context_line":"  start reverting the tasks (actions) in reverse manner, keeping the"},{"line_number":145,"context_line":"  dependencies intact."},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba2be162_df14d1f6","line":144,"range":{"start_line":144,"start_character":2,"end_line":144,"end_character":37},"updated":"2017-03-01 13:02:11.000000000","message":"More detail is needed on state, etc. Like I mentioned several time above I am not sure we can assume that the state of the cluster has not changed so this need to be better described with corner cases, etc.","commit_id":"0c46b5f4e333967095755afe01e4af70af03f6b6"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"d536cb53da40c478e9be9dff5ea75138937daaeb","unresolved":false,"context_lines":[{"line_number":143,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"For action plan cancel operation we need to call Abort API for **ONGOING**"},{"line_number":146,"context_line":"actions. The abort API for cold migration is not available now."},{"line_number":147,"context_line":"https://blueprints.launchpad.net/nova/+spec/abort-cold-migration"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"Testing"}],"source_content_type":"text/x-rst","patch_set":10,"id":"ba2be162_63eabddc","line":146,"range":{"start_line":146,"start_character":9,"end_line":146,"end_character":63},"updated":"2017-03-06 07:01:26.000000000","message":"Yes, we know the fact. But at the same time, we know abort API for live migration has been implemented. It is good at referring to abort live migration API, because typical strategy uses live migration rather than cold one.","commit_id":"717f9fef1e27b6d011329f91a6ca9b3982e375d3"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"6786a1779e741cd548fed90835b879b4a2fbab4a","unresolved":false,"context_lines":[{"line_number":143,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"For action plan cancel operation we need to call Abort API for **ONGOING**"},{"line_number":146,"context_line":"actions. The abort API for cold migration is not available now."},{"line_number":147,"context_line":"https://blueprints.launchpad.net/nova/+spec/abort-cold-migration"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"Testing"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a30ddce_388410d3","line":146,"range":{"start_line":146,"start_character":9,"end_line":146,"end_character":63},"in_reply_to":"9a30ddce_98f261d1","updated":"2017-03-08 04:57:59.000000000","message":"ok, i will add","commit_id":"717f9fef1e27b6d011329f91a6ca9b3982e375d3"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"7af5c336aa4730c786104a3058ae8a9b477144a6","unresolved":false,"context_lines":[{"line_number":143,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"For action plan cancel operation we need to call Abort API for **ONGOING**"},{"line_number":146,"context_line":"actions. The abort API for cold migration is not available now."},{"line_number":147,"context_line":"https://blueprints.launchpad.net/nova/+spec/abort-cold-migration"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"Testing"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a30ddce_98f261d1","line":146,"range":{"start_line":146,"start_character":9,"end_line":146,"end_character":63},"in_reply_to":"9a30ddce_e25f590c","updated":"2017-03-08 01:39:57.000000000","message":"No, I do not.\nWe depend on live migration abort API. Because we can not abort live migration without the API.\nCould you please add abort live migration abort API?","commit_id":"717f9fef1e27b6d011329f91a6ca9b3982e375d3"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"24f6f9e888d045d337c39866035327f8928a13f9","unresolved":false,"context_lines":[{"line_number":143,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"For action plan cancel operation we need to call Abort API for **ONGOING**"},{"line_number":146,"context_line":"actions. The abort API for cold migration is not available now."},{"line_number":147,"context_line":"https://blueprints.launchpad.net/nova/+spec/abort-cold-migration"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"Testing"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a30ddce_e25f590c","line":146,"range":{"start_line":146,"start_character":9,"end_line":146,"end_character":63},"in_reply_to":"ba2be162_63eabddc","updated":"2017-03-07 10:46:51.000000000","message":"live-migration abort API has been implmeneted so we are not dependent on it, for cold migration we are dependent that\u0027s why i added it, you want me to remove it??","commit_id":"717f9fef1e27b6d011329f91a6ca9b3982e375d3"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"a5bea3d1c25d0f9d981d213dd27016f17b8d66e9","unresolved":false,"context_lines":[{"line_number":13,"context_line":"Problem description"},{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"A Cloud Administrator may want to cancel the action plan execution for any"},{"line_number":17,"context_line":"reason. An Action Plan can be in execution from long time and a cloud admin"},{"line_number":18,"context_line":"may want to execute the actions manually or want to fulfill the optimization"},{"line_number":19,"context_line":"requirements by some other methods."}],"source_content_type":"text/x-rst","patch_set":11,"id":"3a1ff146_cbc0c6e3","line":16,"range":{"start_line":16,"start_character":45,"end_line":16,"end_character":56},"updated":"2017-03-14 16:49:10.000000000","message":"add ref to https://docs.openstack.org/developer/watcher/glossary.html#action-plan","commit_id":"2eacb2dfa2ea4a1241948dcfb7071c234475c021"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"a5bea3d1c25d0f9d981d213dd27016f17b8d66e9","unresolved":false,"context_lines":[{"line_number":13,"context_line":"Problem description"},{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"A Cloud Administrator may want to cancel the action plan execution for any"},{"line_number":17,"context_line":"reason. An Action Plan can be in execution from long time and a cloud admin"},{"line_number":18,"context_line":"may want to execute the actions manually or want to fulfill the optimization"},{"line_number":19,"context_line":"requirements by some other methods."}],"source_content_type":"text/x-rst","patch_set":11,"id":"3a1ff146_cb99a621","line":16,"range":{"start_line":16,"start_character":8,"end_line":16,"end_character":21},"updated":"2017-03-14 16:49:10.000000000","message":"could you please add a reference to https://docs.openstack.org/developer/watcher/glossary.html#administrator-definition ?","commit_id":"2eacb2dfa2ea4a1241948dcfb7071c234475c021"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"3d383693e80a621b7a141ba1ba87ab17178b6d7e","unresolved":false,"context_lines":[{"line_number":13,"context_line":"Problem description"},{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"A Cloud Administrator may want to cancel the action plan execution for any"},{"line_number":17,"context_line":"reason. An Action Plan can be in execution from long time and a cloud admin"},{"line_number":18,"context_line":"may want to execute the actions manually or want to fulfill the optimization"},{"line_number":19,"context_line":"requirements by some other methods."}],"source_content_type":"text/x-rst","patch_set":11,"id":"3a1ff146_4b04bd14","line":16,"range":{"start_line":16,"start_character":8,"end_line":16,"end_character":21},"in_reply_to":"3a1ff146_cb99a621","updated":"2017-03-15 06:35:36.000000000","message":"Done","commit_id":"2eacb2dfa2ea4a1241948dcfb7071c234475c021"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"3d383693e80a621b7a141ba1ba87ab17178b6d7e","unresolved":false,"context_lines":[{"line_number":13,"context_line":"Problem description"},{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"A Cloud Administrator may want to cancel the action plan execution for any"},{"line_number":17,"context_line":"reason. An Action Plan can be in execution from long time and a cloud admin"},{"line_number":18,"context_line":"may want to execute the actions manually or want to fulfill the optimization"},{"line_number":19,"context_line":"requirements by some other methods."}],"source_content_type":"text/x-rst","patch_set":11,"id":"3a1ff146_6b09792c","line":16,"range":{"start_line":16,"start_character":45,"end_line":16,"end_character":56},"in_reply_to":"3a1ff146_cbc0c6e3","updated":"2017-03-15 06:35:36.000000000","message":"Done","commit_id":"2eacb2dfa2ea4a1241948dcfb7071c234475c021"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"a5bea3d1c25d0f9d981d213dd27016f17b8d66e9","unresolved":false,"context_lines":[{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"A Cloud Administrator may want to cancel the action plan execution for any"},{"line_number":17,"context_line":"reason. An Action Plan can be in execution from long time and a cloud admin"},{"line_number":18,"context_line":"may want to execute the actions manually or want to fulfill the optimization"},{"line_number":19,"context_line":"requirements by some other methods."},{"line_number":20,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"3a1ff146_2bb07a8b","line":17,"range":{"start_line":17,"start_character":70,"end_line":17,"end_character":75},"updated":"2017-03-14 16:49:10.000000000","message":"s/admin/administrator","commit_id":"2eacb2dfa2ea4a1241948dcfb7071c234475c021"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"3d383693e80a621b7a141ba1ba87ab17178b6d7e","unresolved":false,"context_lines":[{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"A Cloud Administrator may want to cancel the action plan execution for any"},{"line_number":17,"context_line":"reason. An Action Plan can be in execution from long time and a cloud admin"},{"line_number":18,"context_line":"may want to execute the actions manually or want to fulfill the optimization"},{"line_number":19,"context_line":"requirements by some other methods."},{"line_number":20,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"3a1ff146_cb10ad51","line":17,"range":{"start_line":17,"start_character":70,"end_line":17,"end_character":75},"in_reply_to":"3a1ff146_2bb07a8b","updated":"2017-03-15 06:35:36.000000000","message":"Done","commit_id":"2eacb2dfa2ea4a1241948dcfb7071c234475c021"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"a5bea3d1c25d0f9d981d213dd27016f17b8d66e9","unresolved":false,"context_lines":[{"line_number":18,"context_line":"may want to execute the actions manually or want to fulfill the optimization"},{"line_number":19,"context_line":"requirements by some other methods."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"As of now Adminstrator can update the action plan state to **CANCELLED** but"},{"line_number":22,"context_line":"there is no action taken by Watcher to cancel the action plan. It only updates"},{"line_number":23,"context_line":"the action plan state to **CANCELLED**."},{"line_number":24,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"3a1ff146_0bed7e8b","line":21,"range":{"start_line":21,"start_character":10,"end_line":21,"end_character":22},"updated":"2017-03-14 16:49:10.000000000","message":"s/Adminstrator/Administrator","commit_id":"2eacb2dfa2ea4a1241948dcfb7071c234475c021"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"3d383693e80a621b7a141ba1ba87ab17178b6d7e","unresolved":false,"context_lines":[{"line_number":18,"context_line":"may want to execute the actions manually or want to fulfill the optimization"},{"line_number":19,"context_line":"requirements by some other methods."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"As of now Adminstrator can update the action plan state to **CANCELLED** but"},{"line_number":22,"context_line":"there is no action taken by Watcher to cancel the action plan. It only updates"},{"line_number":23,"context_line":"the action plan state to **CANCELLED**."},{"line_number":24,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"3a1ff146_0b1ba573","line":21,"range":{"start_line":21,"start_character":10,"end_line":21,"end_character":22},"in_reply_to":"3a1ff146_0bed7e8b","updated":"2017-03-15 06:35:36.000000000","message":"Done","commit_id":"2eacb2dfa2ea4a1241948dcfb7071c234475c021"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"a5bea3d1c25d0f9d981d213dd27016f17b8d66e9","unresolved":false,"context_lines":[{"line_number":28,"context_line":"----------"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"As a Watcher Administrator, I want Watcher to CANCEL the action plan that is in"},{"line_number":31,"context_line":"ONGOING state from a long time."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"As a Watcher Administrator, I want to CANCEL any action plan that is"},{"line_number":34,"context_line":"accidentally launched."}],"source_content_type":"text/x-rst","patch_set":11,"id":"3a1ff146_8ba7ae4e","line":31,"range":{"start_line":31,"start_character":14,"end_line":31,"end_character":18},"updated":"2017-03-14 16:49:10.000000000","message":"s/from/for","commit_id":"2eacb2dfa2ea4a1241948dcfb7071c234475c021"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"3d383693e80a621b7a141ba1ba87ab17178b6d7e","unresolved":false,"context_lines":[{"line_number":28,"context_line":"----------"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"As a Watcher Administrator, I want Watcher to CANCEL the action plan that is in"},{"line_number":31,"context_line":"ONGOING state from a long time."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"As a Watcher Administrator, I want to CANCEL any action plan that is"},{"line_number":34,"context_line":"accidentally launched."}],"source_content_type":"text/x-rst","patch_set":11,"id":"3a1ff146_2b26a1ba","line":31,"range":{"start_line":31,"start_character":14,"end_line":31,"end_character":18},"in_reply_to":"3a1ff146_8ba7ae4e","updated":"2017-03-15 06:35:36.000000000","message":"Done","commit_id":"2eacb2dfa2ea4a1241948dcfb7071c234475c021"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"a5bea3d1c25d0f9d981d213dd27016f17b8d66e9","unresolved":false,"context_lines":[{"line_number":102,"context_line":"Other deployer impact"},{"line_number":103,"context_line":"---------------------"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"None"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"Developer impact"},{"line_number":108,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3a1ff146_ce51b410","line":105,"range":{"start_line":105,"start_character":0,"end_line":105,"end_character":4},"updated":"2017-03-14 16:49:10.000000000","message":"you should mention here that Watcher cannot guarantee that the cluster is still up and running as you stopped the ongoing optimization","commit_id":"2eacb2dfa2ea4a1241948dcfb7071c234475c021"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"3d383693e80a621b7a141ba1ba87ab17178b6d7e","unresolved":false,"context_lines":[{"line_number":102,"context_line":"Other deployer impact"},{"line_number":103,"context_line":"---------------------"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"None"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"Developer impact"},{"line_number":108,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3a1ff146_4b2bdd82","line":105,"range":{"start_line":105,"start_character":0,"end_line":105,"end_character":4},"in_reply_to":"3a1ff146_ce51b410","updated":"2017-03-15 06:35:36.000000000","message":"Done","commit_id":"2eacb2dfa2ea4a1241948dcfb7071c234475c021"}],"specs/pike/approved/stop-action-plan.rst":[{"author":{"_account_id":21361,"name":"Chris Spencer","email":"christopher.m.spencer@intel.com","username":"chrisspencer"},"change_message_id":"0267f8ac5f149ab7603a4a4ac970cd985b830b1c","unresolved":false,"context_lines":[{"line_number":13,"context_line":"Problem description"},{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"A Cloud Administartor may wants to stop the action plan execution due to any"},{"line_number":17,"context_line":"reason. Since an Action plan might take long time to execute and meanwhile the"},{"line_number":18,"context_line":"optimization requirement gets fullfilled due to other measures taken an"},{"line_number":19,"context_line":"adminstrator may wants to stop the action plan."}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_70cfa1b0","line":16,"range":{"start_line":16,"start_character":8,"end_line":16,"end_character":21},"updated":"2017-02-10 16:31:35.000000000","message":"s/Administartor/Administrator","commit_id":"32d0cb130d503149d28f9b2e8b04a83213156952"},{"author":{"_account_id":21361,"name":"Chris Spencer","email":"christopher.m.spencer@intel.com","username":"chrisspencer"},"change_message_id":"0267f8ac5f149ab7603a4a4ac970cd985b830b1c","unresolved":false,"context_lines":[{"line_number":13,"context_line":"Problem description"},{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"A Cloud Administartor may wants to stop the action plan execution due to any"},{"line_number":17,"context_line":"reason. Since an Action plan might take long time to execute and meanwhile the"},{"line_number":18,"context_line":"optimization requirement gets fullfilled due to other measures taken an"},{"line_number":19,"context_line":"adminstrator may wants to stop the action plan."}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_f0bb910c","line":16,"range":{"start_line":16,"start_character":26,"end_line":16,"end_character":31},"updated":"2017-02-10 16:31:35.000000000","message":"s/wants/want","commit_id":"32d0cb130d503149d28f9b2e8b04a83213156952"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"a9d897fa39a9b2cf1f393a5d9da70f5d10023c6e","unresolved":false,"context_lines":[{"line_number":13,"context_line":"Problem description"},{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"A Cloud Administartor may wants to stop the action plan execution due to any"},{"line_number":17,"context_line":"reason. Since an Action plan might take long time to execute and meanwhile the"},{"line_number":18,"context_line":"optimization requirement gets fullfilled due to other measures taken an"},{"line_number":19,"context_line":"adminstrator may wants to stop the action plan."}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_ea8b6e1c","line":16,"range":{"start_line":16,"start_character":8,"end_line":16,"end_character":21},"in_reply_to":"fa31d9ce_70cfa1b0","updated":"2017-02-13 06:22:31.000000000","message":"Done","commit_id":"32d0cb130d503149d28f9b2e8b04a83213156952"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"a9d897fa39a9b2cf1f393a5d9da70f5d10023c6e","unresolved":false,"context_lines":[{"line_number":13,"context_line":"Problem description"},{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"A Cloud Administartor may wants to stop the action plan execution due to any"},{"line_number":17,"context_line":"reason. Since an Action plan might take long time to execute and meanwhile the"},{"line_number":18,"context_line":"optimization requirement gets fullfilled due to other measures taken an"},{"line_number":19,"context_line":"adminstrator may wants to stop the action plan."}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_2a866613","line":16,"range":{"start_line":16,"start_character":26,"end_line":16,"end_character":31},"in_reply_to":"fa31d9ce_f0bb910c","updated":"2017-02-13 06:22:31.000000000","message":"Done","commit_id":"32d0cb130d503149d28f9b2e8b04a83213156952"},{"author":{"_account_id":21361,"name":"Chris Spencer","email":"christopher.m.spencer@intel.com","username":"chrisspencer"},"change_message_id":"0267f8ac5f149ab7603a4a4ac970cd985b830b1c","unresolved":false,"context_lines":[{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"A Cloud Administartor may wants to stop the action plan execution due to any"},{"line_number":17,"context_line":"reason. Since an Action plan might take long time to execute and meanwhile the"},{"line_number":18,"context_line":"optimization requirement gets fullfilled due to other measures taken an"},{"line_number":19,"context_line":"adminstrator may wants to stop the action plan."},{"line_number":20,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_904b352b","line":17,"updated":"2017-02-10 16:31:35.000000000","message":"take *a* long","commit_id":"32d0cb130d503149d28f9b2e8b04a83213156952"},{"author":{"_account_id":21361,"name":"Chris Spencer","email":"christopher.m.spencer@intel.com","username":"chrisspencer"},"change_message_id":"0267f8ac5f149ab7603a4a4ac970cd985b830b1c","unresolved":false,"context_lines":[{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"A Cloud Administartor may wants to stop the action plan execution due to any"},{"line_number":17,"context_line":"reason. Since an Action plan might take long time to execute and meanwhile the"},{"line_number":18,"context_line":"optimization requirement gets fullfilled due to other measures taken an"},{"line_number":19,"context_line":"adminstrator may wants to stop the action plan."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"As of now Adminstrator can update the action plan state to  \"CANCELLED\" but"},{"line_number":22,"context_line":"there is no action taken by watcher to cancel the action plan. It only updates"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_108f4524","line":19,"range":{"start_line":17,"start_character":8,"end_line":19,"end_character":47},"updated":"2017-02-10 16:31:35.000000000","message":"Sentence is a little hard to follow. Perhaps something like this?  \"An administrator may want to stop an action plan that incurs excessive execution duration or becomes redundant due to other optimizations that occur.\"","commit_id":"32d0cb130d503149d28f9b2e8b04a83213156952"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"a9d897fa39a9b2cf1f393a5d9da70f5d10023c6e","unresolved":false,"context_lines":[{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"A Cloud Administartor may wants to stop the action plan execution due to any"},{"line_number":17,"context_line":"reason. Since an Action plan might take long time to execute and meanwhile the"},{"line_number":18,"context_line":"optimization requirement gets fullfilled due to other measures taken an"},{"line_number":19,"context_line":"adminstrator may wants to stop the action plan."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"As of now Adminstrator can update the action plan state to  \"CANCELLED\" but"},{"line_number":22,"context_line":"there is no action taken by watcher to cancel the action plan. It only updates"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_6a785e2c","line":19,"range":{"start_line":17,"start_character":8,"end_line":19,"end_character":47},"in_reply_to":"fa31d9ce_108f4524","updated":"2017-02-13 06:22:31.000000000","message":"rephrased","commit_id":"32d0cb130d503149d28f9b2e8b04a83213156952"},{"author":{"_account_id":21361,"name":"Chris Spencer","email":"christopher.m.spencer@intel.com","username":"chrisspencer"},"change_message_id":"0267f8ac5f149ab7603a4a4ac970cd985b830b1c","unresolved":false,"context_lines":[{"line_number":22,"context_line":"there is no action taken by watcher to cancel the action plan. It only updates"},{"line_number":23,"context_line":"the action plan state to \"CANCELLED\"."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"It should be possible to \"STOP\" the action plan by watcher."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Use Cases"},{"line_number":28,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_d0adad89","line":25,"updated":"2017-02-10 16:31:35.000000000","message":"\"STOP\" execution of the action plan","commit_id":"32d0cb130d503149d28f9b2e8b04a83213156952"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"a9d897fa39a9b2cf1f393a5d9da70f5d10023c6e","unresolved":false,"context_lines":[{"line_number":22,"context_line":"there is no action taken by watcher to cancel the action plan. It only updates"},{"line_number":23,"context_line":"the action plan state to \"CANCELLED\"."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"It should be possible to \"STOP\" the action plan by watcher."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Use Cases"},{"line_number":28,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_aa725647","line":25,"in_reply_to":"fa31d9ce_d0adad89","updated":"2017-02-13 06:22:31.000000000","message":"done.","commit_id":"32d0cb130d503149d28f9b2e8b04a83213156952"},{"author":{"_account_id":21361,"name":"Chris Spencer","email":"christopher.m.spencer@intel.com","username":"chrisspencer"},"change_message_id":"0267f8ac5f149ab7603a4a4ac970cd985b830b1c","unresolved":false,"context_lines":[{"line_number":27,"context_line":"Use Cases"},{"line_number":28,"context_line":"----------"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"As a Watcher Administrator, I want watcher to stop the action plan that is in"},{"line_number":31,"context_line":"\"ONGOING\" state from a long time."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"As a Watcher Administrator, I want to stop any action plan that is"},{"line_number":34,"context_line":"accidentally launched."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"As a Watcher Administrator, I want to stop the action plan because my"},{"line_number":37,"context_line":"optimization requirements gets fullfilled."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Project Priority"},{"line_number":40,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_b0ce7958","line":37,"range":{"start_line":30,"start_character":0,"end_line":37,"end_character":42},"updated":"2017-02-10 16:31:35.000000000","message":"It seems that all of these use cases can be reduced to one (unless your intent is to restrict cancellation to only these scenarios):  As a Watcher Administrator, I want to be able to cease execution of an action plan for any reason.","commit_id":"32d0cb130d503149d28f9b2e8b04a83213156952"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"a9d897fa39a9b2cf1f393a5d9da70f5d10023c6e","unresolved":false,"context_lines":[{"line_number":27,"context_line":"Use Cases"},{"line_number":28,"context_line":"----------"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"As a Watcher Administrator, I want watcher to stop the action plan that is in"},{"line_number":31,"context_line":"\"ONGOING\" state from a long time."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"As a Watcher Administrator, I want to stop any action plan that is"},{"line_number":34,"context_line":"accidentally launched."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"As a Watcher Administrator, I want to stop the action plan because my"},{"line_number":37,"context_line":"optimization requirements gets fullfilled."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Project Priority"},{"line_number":40,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_2ab4a6cf","line":37,"range":{"start_line":30,"start_character":0,"end_line":37,"end_character":42},"in_reply_to":"fa31d9ce_b0ce7958","updated":"2017-02-13 06:22:31.000000000","message":"@chris imho, it is useful to explain any possible scenerios in which an adminstrator may wants to stop the action plan","commit_id":"32d0cb130d503149d28f9b2e8b04a83213156952"},{"author":{"_account_id":21361,"name":"Chris Spencer","email":"christopher.m.spencer@intel.com","username":"chrisspencer"},"change_message_id":"0267f8ac5f149ab7603a4a4ac970cd985b830b1c","unresolved":false,"context_lines":[{"line_number":103,"context_line":"Other end user impact"},{"line_number":104,"context_line":"---------------------"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"None"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"Performance Impact"},{"line_number":109,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_70ede18a","line":106,"range":{"start_line":106,"start_character":0,"end_line":106,"end_character":4},"updated":"2017-02-10 16:31:35.000000000","message":"New command in CLI?","commit_id":"32d0cb130d503149d28f9b2e8b04a83213156952"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"a9d897fa39a9b2cf1f393a5d9da70f5d10023c6e","unresolved":false,"context_lines":[{"line_number":103,"context_line":"Other end user impact"},{"line_number":104,"context_line":"---------------------"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"None"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"Performance Impact"},{"line_number":109,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_4af9da7f","line":106,"range":{"start_line":106,"start_character":0,"end_line":106,"end_character":4},"in_reply_to":"fa31d9ce_70ede18a","updated":"2017-02-13 06:22:31.000000000","message":"Done.","commit_id":"32d0cb130d503149d28f9b2e8b04a83213156952"},{"author":{"_account_id":21361,"name":"Chris Spencer","email":"christopher.m.spencer@intel.com","username":"chrisspencer"},"change_message_id":"0267f8ac5f149ab7603a4a4ac970cd985b830b1c","unresolved":false,"context_lines":[{"line_number":108,"context_line":"Performance Impact"},{"line_number":109,"context_line":"------------------"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"None"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"Other deployer impact"},{"line_number":114,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_309a8915","line":111,"range":{"start_line":111,"start_character":0,"end_line":111,"end_character":4},"updated":"2017-02-10 16:31:35.000000000","message":"Could we get performance issues if an action plan is stopped in the middle of doing something?  Do we need to provide cleanup if we are in a funky state?  will that cleanup cause a performance hit?","commit_id":"32d0cb130d503149d28f9b2e8b04a83213156952"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"a9d897fa39a9b2cf1f393a5d9da70f5d10023c6e","unresolved":false,"context_lines":[{"line_number":108,"context_line":"Performance Impact"},{"line_number":109,"context_line":"------------------"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"None"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"Other deployer impact"},{"line_number":114,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_eae0cece","line":111,"range":{"start_line":111,"start_character":0,"end_line":111,"end_character":4},"in_reply_to":"fa31d9ce_309a8915","updated":"2017-02-13 06:22:31.000000000","message":"As of now cleanup is dependent on the underlying openstack component.","commit_id":"32d0cb130d503149d28f9b2e8b04a83213156952"},{"author":{"_account_id":21361,"name":"Chris Spencer","email":"christopher.m.spencer@intel.com","username":"chrisspencer"},"change_message_id":"0267f8ac5f149ab7603a4a4ac970cd985b830b1c","unresolved":false,"context_lines":[{"line_number":123,"context_line":""},{"line_number":124,"context_line":"Implementation"},{"line_number":125,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":126,"context_line":"* Implementation for action plan stop will be done by using taskflow, when an"},{"line_number":127,"context_line":"  running engine recieves an exception,it stops execution and call revert for"},{"line_number":128,"context_line":"  all the tasks(actions) added in the flow. Based on action state"},{"line_number":129,"context_line":"  (PENDING, ONGOING, SUCCEDED) revert method will call relavent API\u0027s to abort"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_4609032c","line":126,"range":{"start_line":126,"start_character":68,"end_line":126,"end_character":69},"updated":"2017-02-10 16:31:35.000000000","message":"s/,/.","commit_id":"32d0cb130d503149d28f9b2e8b04a83213156952"},{"author":{"_account_id":21361,"name":"Chris Spencer","email":"christopher.m.spencer@intel.com","username":"chrisspencer"},"change_message_id":"0267f8ac5f149ab7603a4a4ac970cd985b830b1c","unresolved":false,"context_lines":[{"line_number":123,"context_line":""},{"line_number":124,"context_line":"Implementation"},{"line_number":125,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":126,"context_line":"* Implementation for action plan stop will be done by using taskflow, when an"},{"line_number":127,"context_line":"  running engine recieves an exception,it stops execution and call revert for"},{"line_number":128,"context_line":"  all the tasks(actions) added in the flow. Based on action state"},{"line_number":129,"context_line":"  (PENDING, ONGOING, SUCCEDED) revert method will call relavent API\u0027s to abort"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_a309d133","line":126,"range":{"start_line":126,"start_character":75,"end_line":126,"end_character":77},"updated":"2017-02-10 16:31:35.000000000","message":"s/an/a","commit_id":"32d0cb130d503149d28f9b2e8b04a83213156952"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"a9d897fa39a9b2cf1f393a5d9da70f5d10023c6e","unresolved":false,"context_lines":[{"line_number":123,"context_line":""},{"line_number":124,"context_line":"Implementation"},{"line_number":125,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":126,"context_line":"* Implementation for action plan stop will be done by using taskflow, when an"},{"line_number":127,"context_line":"  running engine recieves an exception,it stops execution and call revert for"},{"line_number":128,"context_line":"  all the tasks(actions) added in the flow. Based on action state"},{"line_number":129,"context_line":"  (PENDING, ONGOING, SUCCEDED) revert method will call relavent API\u0027s to abort"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_0ae8c2b3","line":126,"range":{"start_line":126,"start_character":75,"end_line":126,"end_character":77},"in_reply_to":"fa31d9ce_a309d133","updated":"2017-02-13 06:22:31.000000000","message":"done","commit_id":"32d0cb130d503149d28f9b2e8b04a83213156952"},{"author":{"_account_id":21361,"name":"Chris Spencer","email":"christopher.m.spencer@intel.com","username":"chrisspencer"},"change_message_id":"0267f8ac5f149ab7603a4a4ac970cd985b830b1c","unresolved":false,"context_lines":[{"line_number":124,"context_line":"Implementation"},{"line_number":125,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":126,"context_line":"* Implementation for action plan stop will be done by using taskflow, when an"},{"line_number":127,"context_line":"  running engine recieves an exception,it stops execution and call revert for"},{"line_number":128,"context_line":"  all the tasks(actions) added in the flow. Based on action state"},{"line_number":129,"context_line":"  (PENDING, ONGOING, SUCCEDED) revert method will call relavent API\u0027s to abort"},{"line_number":130,"context_line":"  revert the action."}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_c677b300","line":127,"range":{"start_line":127,"start_character":62,"end_line":127,"end_character":66},"updated":"2017-02-10 16:31:35.000000000","message":"s/call/calls","commit_id":"32d0cb130d503149d28f9b2e8b04a83213156952"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"a9d897fa39a9b2cf1f393a5d9da70f5d10023c6e","unresolved":false,"context_lines":[{"line_number":124,"context_line":"Implementation"},{"line_number":125,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":126,"context_line":"* Implementation for action plan stop will be done by using taskflow, when an"},{"line_number":127,"context_line":"  running engine recieves an exception,it stops execution and call revert for"},{"line_number":128,"context_line":"  all the tasks(actions) added in the flow. Based on action state"},{"line_number":129,"context_line":"  (PENDING, ONGOING, SUCCEDED) revert method will call relavent API\u0027s to abort"},{"line_number":130,"context_line":"  revert the action."}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_2aebc6b1","line":127,"range":{"start_line":127,"start_character":62,"end_line":127,"end_character":66},"in_reply_to":"fa31d9ce_c677b300","updated":"2017-02-13 06:22:31.000000000","message":"done","commit_id":"32d0cb130d503149d28f9b2e8b04a83213156952"},{"author":{"_account_id":21361,"name":"Chris Spencer","email":"christopher.m.spencer@intel.com","username":"chrisspencer"},"change_message_id":"0267f8ac5f149ab7603a4a4ac970cd985b830b1c","unresolved":false,"context_lines":[{"line_number":126,"context_line":"* Implementation for action plan stop will be done by using taskflow, when an"},{"line_number":127,"context_line":"  running engine recieves an exception,it stops execution and call revert for"},{"line_number":128,"context_line":"  all the tasks(actions) added in the flow. Based on action state"},{"line_number":129,"context_line":"  (PENDING, ONGOING, SUCCEDED) revert method will call relavent API\u0027s to abort"},{"line_number":130,"context_line":"  revert the action."},{"line_number":131,"context_line":"* Before starting any new action watcher applier will check for the state of"},{"line_number":132,"context_line":"  action plan, if its state is updated to STOPPING it will trigger an"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_c69333f9","line":129,"range":{"start_line":129,"start_character":55,"end_line":129,"end_character":63},"updated":"2017-02-10 16:31:35.000000000","message":"s/relavent/relevant","commit_id":"32d0cb130d503149d28f9b2e8b04a83213156952"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"a9d897fa39a9b2cf1f393a5d9da70f5d10023c6e","unresolved":false,"context_lines":[{"line_number":126,"context_line":"* Implementation for action plan stop will be done by using taskflow, when an"},{"line_number":127,"context_line":"  running engine recieves an exception,it stops execution and call revert for"},{"line_number":128,"context_line":"  all the tasks(actions) added in the flow. Based on action state"},{"line_number":129,"context_line":"  (PENDING, ONGOING, SUCCEDED) revert method will call relavent API\u0027s to abort"},{"line_number":130,"context_line":"  revert the action."},{"line_number":131,"context_line":"* Before starting any new action watcher applier will check for the state of"},{"line_number":132,"context_line":"  action plan, if its state is updated to STOPPING it will trigger an"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_4ad2ba01","line":129,"range":{"start_line":129,"start_character":55,"end_line":129,"end_character":63},"in_reply_to":"fa31d9ce_c69333f9","updated":"2017-02-13 06:22:31.000000000","message":"done.","commit_id":"32d0cb130d503149d28f9b2e8b04a83213156952"},{"author":{"_account_id":21361,"name":"Chris Spencer","email":"christopher.m.spencer@intel.com","username":"chrisspencer"},"change_message_id":"0267f8ac5f149ab7603a4a4ac970cd985b830b1c","unresolved":false,"context_lines":[{"line_number":150,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"For action plan stop operation we need to call Abort API for **ONGOING**"},{"line_number":153,"context_line":"actions the abort API for cold migration is not available now."},{"line_number":154,"context_line":"https://blueprints.launchpad.net/nova/+spec/abort-cold-migration"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"Testing"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_860cdb43","line":153,"updated":"2017-02-10 16:31:35.000000000","message":"actions. The abort","commit_id":"32d0cb130d503149d28f9b2e8b04a83213156952"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"a9d897fa39a9b2cf1f393a5d9da70f5d10023c6e","unresolved":false,"context_lines":[{"line_number":150,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"For action plan stop operation we need to call Abort API for **ONGOING**"},{"line_number":153,"context_line":"actions the abort API for cold migration is not available now."},{"line_number":154,"context_line":"https://blueprints.launchpad.net/nova/+spec/abort-cold-migration"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"Testing"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_0affe267","line":153,"in_reply_to":"fa31d9ce_860cdb43","updated":"2017-02-13 06:22:31.000000000","message":"done.","commit_id":"32d0cb130d503149d28f9b2e8b04a83213156952"},{"author":{"_account_id":21361,"name":"Chris Spencer","email":"christopher.m.spencer@intel.com","username":"chrisspencer"},"change_message_id":"0267f8ac5f149ab7603a4a4ac970cd985b830b1c","unresolved":false,"context_lines":[{"line_number":156,"context_line":"Testing"},{"line_number":157,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"The unit tests will have to be updated."},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"Documentation Impact"},{"line_number":162,"context_line":"\u003d\u003d\u003d\u003d\u003d\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":"fa31d9ce_21ff9902","line":159,"updated":"2017-02-10 16:31:35.000000000","message":"tempest testing?","commit_id":"32d0cb130d503149d28f9b2e8b04a83213156952"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"a9d897fa39a9b2cf1f393a5d9da70f5d10023c6e","unresolved":false,"context_lines":[{"line_number":156,"context_line":"Testing"},{"line_number":157,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"The unit tests will have to be updated."},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"Documentation Impact"},{"line_number":162,"context_line":"\u003d\u003d\u003d\u003d\u003d\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":"fa31d9ce_ea07ee7e","line":159,"in_reply_to":"fa31d9ce_21ff9902","updated":"2017-02-13 06:22:31.000000000","message":"done.","commit_id":"32d0cb130d503149d28f9b2e8b04a83213156952"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"bfbe7d448933ff8b4494c3e790d601bae4232ff6","unresolved":false,"context_lines":[{"line_number":44,"context_line":"Proposed change"},{"line_number":45,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"* Add  new states **PENDING_STOP**, **STOPPING**, **STOPPED** for the"},{"line_number":48,"context_line":"  **Action Plan**."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"  * PENDING_STOP, when watcher api recieves request from cloud admin to stop"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_56ac2335","line":47,"range":{"start_line":47,"start_character":20,"end_line":47,"end_character":59},"updated":"2017-02-13 08:45:41.000000000","message":"Why not reusing the CANCEL terminology as we already have? Because the way I understand it, the CANCELLED state will become obsolete if we do it like this. So why not calling them:\n\n- PENDING_CANCELLATION (-\u003e not sure we actually need this one)\n- CANCELLING\n- CANCELLED","commit_id":"f260140d61b7aff8949a3ac3a2adc09f24ab628e"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"fc8ef0070be2f8acd551fc7197cd03be823e2464","unresolved":false,"context_lines":[{"line_number":44,"context_line":"Proposed change"},{"line_number":45,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"* Add  new states **PENDING_STOP**, **STOPPING**, **STOPPED** for the"},{"line_number":48,"context_line":"  **Action Plan**."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"  * PENDING_STOP, when watcher api recieves request from cloud admin to stop"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_8ea2cdfb","line":47,"range":{"start_line":47,"start_character":20,"end_line":47,"end_character":59},"in_reply_to":"fa31d9ce_56ac2335","updated":"2017-02-14 06:38:23.000000000","message":"Done.","commit_id":"f260140d61b7aff8949a3ac3a2adc09f24ab628e"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"a0f05514a796d5464923332e6897b436c9575b09","unresolved":false,"context_lines":[{"line_number":44,"context_line":"Proposed change"},{"line_number":45,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"* Add  new states **PENDING_STOP**, **STOPPING**, **STOPPED** for the"},{"line_number":48,"context_line":"  **Action Plan**."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"  * PENDING_STOP, when watcher api recieves request from cloud admin to stop"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_513b4d38","line":47,"range":{"start_line":47,"start_character":20,"end_line":47,"end_character":59},"in_reply_to":"fa31d9ce_56ac2335","updated":"2017-02-13 09:02:49.000000000","message":"yes it can be done, i thought in the same way also, imho i found stop to be better terminology, anyways to go inline with existing watcher action plan states, i will use CANCELLED.","commit_id":"f260140d61b7aff8949a3ac3a2adc09f24ab628e"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"bfbe7d448933ff8b4494c3e790d601bae4232ff6","unresolved":false,"context_lines":[{"line_number":47,"context_line":"* Add  new states **PENDING_STOP**, **STOPPING**, **STOPPED** for the"},{"line_number":48,"context_line":"  **Action Plan**."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"  * PENDING_STOP, when watcher api recieves request from cloud admin to stop"},{"line_number":51,"context_line":"    the action plan."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"  * STOPPING, when watcher applier recieves request to stop action plan."}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_36dc0fe4","line":50,"range":{"start_line":50,"start_character":4,"end_line":50,"end_character":16},"updated":"2017-02-13 08:45:41.000000000","message":"I don\u0027t see the reason why you want to create both a PENDING_STOP and a STOPPING state.\nIMHO, the STOPPING state is enough to do what you need and it reduces the complexity of the state machine.","commit_id":"f260140d61b7aff8949a3ac3a2adc09f24ab628e"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"bfbe7d448933ff8b4494c3e790d601bae4232ff6","unresolved":false,"context_lines":[{"line_number":47,"context_line":"* Add  new states **PENDING_STOP**, **STOPPING**, **STOPPED** for the"},{"line_number":48,"context_line":"  **Action Plan**."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"  * PENDING_STOP, when watcher api recieves request from cloud admin to stop"},{"line_number":51,"context_line":"    the action plan."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"  * STOPPING, when watcher applier recieves request to stop action plan."}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_f6e8b77e","line":50,"range":{"start_line":50,"start_character":35,"end_line":50,"end_character":43},"updated":"2017-02-13 08:45:41.000000000","message":"nit: s/recieves/receives","commit_id":"f260140d61b7aff8949a3ac3a2adc09f24ab628e"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"ebc3de6e25b52bf27f27d36399af34f9fc5c2e5f","unresolved":false,"context_lines":[{"line_number":47,"context_line":"* Add  new states **PENDING_STOP**, **STOPPING**, **STOPPED** for the"},{"line_number":48,"context_line":"  **Action Plan**."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"  * PENDING_STOP, when watcher api recieves request from cloud admin to stop"},{"line_number":51,"context_line":"    the action plan."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"  * STOPPING, when watcher applier recieves request to stop action plan."}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_b7f476f2","line":50,"range":{"start_line":50,"start_character":4,"end_line":50,"end_character":16},"in_reply_to":"fa31d9ce_0c71bae0","updated":"2017-02-13 10:39:21.000000000","message":"under discussion.","commit_id":"f260140d61b7aff8949a3ac3a2adc09f24ab628e"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"a0f05514a796d5464923332e6897b436c9575b09","unresolved":false,"context_lines":[{"line_number":47,"context_line":"* Add  new states **PENDING_STOP**, **STOPPING**, **STOPPED** for the"},{"line_number":48,"context_line":"  **Action Plan**."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"  * PENDING_STOP, when watcher api recieves request from cloud admin to stop"},{"line_number":51,"context_line":"    the action plan."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"  * STOPPING, when watcher applier recieves request to stop action plan."}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_b1c72911","line":50,"range":{"start_line":50,"start_character":4,"end_line":50,"end_character":16},"in_reply_to":"fa31d9ce_36dc0fe4","updated":"2017-02-13 09:02:49.000000000","message":"I did this to go inline with the existing watcher state machine, i would like to have same flow for launch action plan and stop, but i am ok with both the methods. opinion??","commit_id":"f260140d61b7aff8949a3ac3a2adc09f24ab628e"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"fc8ef0070be2f8acd551fc7197cd03be823e2464","unresolved":false,"context_lines":[{"line_number":47,"context_line":"* Add  new states **PENDING_STOP**, **STOPPING**, **STOPPED** for the"},{"line_number":48,"context_line":"  **Action Plan**."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"  * PENDING_STOP, when watcher api recieves request from cloud admin to stop"},{"line_number":51,"context_line":"    the action plan."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"  * STOPPING, when watcher applier recieves request to stop action plan."}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_2eb8012a","line":50,"range":{"start_line":50,"start_character":4,"end_line":50,"end_character":16},"in_reply_to":"fa31d9ce_b1c72911","updated":"2017-02-14 06:38:23.000000000","message":"Done.","commit_id":"f260140d61b7aff8949a3ac3a2adc09f24ab628e"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"3087aa780268ecf5dd6b3247d83648ab6742293d","unresolved":false,"context_lines":[{"line_number":47,"context_line":"* Add  new states **PENDING_STOP**, **STOPPING**, **STOPPED** for the"},{"line_number":48,"context_line":"  **Action Plan**."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"  * PENDING_STOP, when watcher api recieves request from cloud admin to stop"},{"line_number":51,"context_line":"    the action plan."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"  * STOPPING, when watcher applier recieves request to stop action plan."}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_0c71bae0","line":50,"range":{"start_line":50,"start_character":4,"end_line":50,"end_character":16},"in_reply_to":"fa31d9ce_b1c72911","updated":"2017-02-13 09:37:17.000000000","message":"The PENDING state is necessary because we then send an RPC call the the decision engine to trigger it. However, in the case of PENDING_STOP -\u003e STOPPING, we have a \"passive\" system which will not get trigger via a direct call (RPC or HTTP) but through a DB query that will check the state of the action plan before going any further. That\u0027s why I was saying that PENDING_STOP may not be necessary although we would be much more fine-grained by handling both cases but let\u0027s follow the KISS principle.","commit_id":"f260140d61b7aff8949a3ac3a2adc09f24ab628e"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"bfbe7d448933ff8b4494c3e790d601bae4232ff6","unresolved":false,"context_lines":[{"line_number":50,"context_line":"  * PENDING_STOP, when watcher api recieves request from cloud admin to stop"},{"line_number":51,"context_line":"    the action plan."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"  * STOPPING, when watcher applier recieves request to stop action plan."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"  * STOPPED, when watcher applier successfully stopped the action plan."},{"line_number":56,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_56fee338","line":53,"range":{"start_line":53,"start_character":35,"end_line":53,"end_character":43},"updated":"2017-02-13 08:45:41.000000000","message":"ditto","commit_id":"f260140d61b7aff8949a3ac3a2adc09f24ab628e"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"fc8ef0070be2f8acd551fc7197cd03be823e2464","unresolved":false,"context_lines":[{"line_number":50,"context_line":"  * PENDING_STOP, when watcher api recieves request from cloud admin to stop"},{"line_number":51,"context_line":"    the action plan."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"  * STOPPING, when watcher applier recieves request to stop action plan."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"  * STOPPED, when watcher applier successfully stopped the action plan."},{"line_number":56,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_2e8f2176","line":53,"range":{"start_line":53,"start_character":35,"end_line":53,"end_character":43},"in_reply_to":"fa31d9ce_56fee338","updated":"2017-02-14 06:38:23.000000000","message":"Done.","commit_id":"f260140d61b7aff8949a3ac3a2adc09f24ab628e"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"3087aa780268ecf5dd6b3247d83648ab6742293d","unresolved":false,"context_lines":[{"line_number":57,"context_line":"* Add new states **STOPPING**, **REVERTING**, **STOPPED**, **REVERTED** to"},{"line_number":58,"context_line":"  **Action**."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"  * STOPPING, when watcher applier stops an ONGOING action."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"  * REVERTING, when watcher applier stops a SUCCEDED action."},{"line_number":63,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_4c08122e","line":60,"range":{"start_line":60,"start_character":4,"end_line":60,"end_character":59},"updated":"2017-02-13 09:37:17.000000000","message":"IMHO, we should not stop an ONGOING action as it may me risky for example to same a live migration halfway through.","commit_id":"f260140d61b7aff8949a3ac3a2adc09f24ab628e"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"ebc3de6e25b52bf27f27d36399af34f9fc5c2e5f","unresolved":false,"context_lines":[{"line_number":57,"context_line":"* Add new states **STOPPING**, **REVERTING**, **STOPPED**, **REVERTED** to"},{"line_number":58,"context_line":"  **Action**."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"  * STOPPING, when watcher applier stops an ONGOING action."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"  * REVERTING, when watcher applier stops a SUCCEDED action."},{"line_number":63,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_9193024f","line":60,"range":{"start_line":60,"start_character":4,"end_line":60,"end_character":59},"in_reply_to":"fa31d9ce_4c08122e","updated":"2017-02-13 10:39:21.000000000","message":"IMHO for live migration we will use nova api to abort an ongoing live migration, nova will take care how to abort halfway migration.","commit_id":"f260140d61b7aff8949a3ac3a2adc09f24ab628e"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"3087aa780268ecf5dd6b3247d83648ab6742293d","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"  * STOPPED, when watcher applier successfully stopped the action plan."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"* Add new states **STOPPING**, **REVERTING**, **STOPPED**, **REVERTED** to"},{"line_number":58,"context_line":"  **Action**."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"  * STOPPING, when watcher applier stops an ONGOING action."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"  * REVERTING, when watcher applier stops a SUCCEDED action."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"  * STOPPED, when watcher applier stops a PENDING action. when watcher applier"},{"line_number":65,"context_line":"    successfully completed stop of ONGOING action."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"  * REVERTED, when watcher applier successfully completed reverted the action."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"* Add a new command **watcher actionplan stop** in watcher-client  to stop the"},{"line_number":70,"context_line":"  action plan."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"* Modify the state machine for action plan to add new actions plan states and"},{"line_number":73,"context_line":"  transitions."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"* Modify the state machine for action to add new actions states and"},{"line_number":76,"context_line":"  transitions."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Alternatives"},{"line_number":79,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_8e867f63","line":76,"range":{"start_line":57,"start_character":0,"end_line":76,"end_character":14},"updated":"2017-02-13 09:37:17.000000000","message":"IMHO, this needs a state machine diagram to make it more explicit. Because I get the overall lifecycle picture but I want to make sure we are both on the same page.","commit_id":"f260140d61b7aff8949a3ac3a2adc09f24ab628e"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"ebc3de6e25b52bf27f27d36399af34f9fc5c2e5f","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"  * STOPPED, when watcher applier successfully stopped the action plan."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"* Add new states **STOPPING**, **REVERTING**, **STOPPED**, **REVERTED** to"},{"line_number":58,"context_line":"  **Action**."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"  * STOPPING, when watcher applier stops an ONGOING action."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"  * REVERTING, when watcher applier stops a SUCCEDED action."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"  * STOPPED, when watcher applier stops a PENDING action. when watcher applier"},{"line_number":65,"context_line":"    successfully completed stop of ONGOING action."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"  * REVERTED, when watcher applier successfully completed reverted the action."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"* Add a new command **watcher actionplan stop** in watcher-client  to stop the"},{"line_number":70,"context_line":"  action plan."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"* Modify the state machine for action plan to add new actions plan states and"},{"line_number":73,"context_line":"  transitions."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"* Modify the state machine for action to add new actions states and"},{"line_number":76,"context_line":"  transitions."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Alternatives"},{"line_number":79,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_b7b556ef","line":76,"range":{"start_line":57,"start_character":0,"end_line":76,"end_character":14},"in_reply_to":"fa31d9ce_8e867f63","updated":"2017-02-13 10:39:21.000000000","message":"I will update the state machines UML diagrams in next patch.","commit_id":"f260140d61b7aff8949a3ac3a2adc09f24ab628e"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"3087aa780268ecf5dd6b3247d83648ab6742293d","unresolved":false,"context_lines":[{"line_number":124,"context_line":""},{"line_number":125,"context_line":"Implementation"},{"line_number":126,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":127,"context_line":"* Implementation for action plan stop will be done by using taskflow. When a"},{"line_number":128,"context_line":"  running engine recieves an exception, it stops execution and calls revert for"},{"line_number":129,"context_line":"  all the tasks(actions) added in the flow. Based on action state"},{"line_number":130,"context_line":"  (PENDING, ONGOING, SUCCEDED) revert method will call relevant API\u0027s to abort"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_4e69e78a","line":127,"range":{"start_line":127,"start_character":54,"end_line":127,"end_character":68},"updated":"2017-02-13 09:37:17.000000000","message":"Workflow engines are plugins so before specialising this feature to taskflow, can you also investigate whether or not you could make it generic enough so we could potentially re-use it with other workflow engines such like Mistral (not a hard requirement though).","commit_id":"f260140d61b7aff8949a3ac3a2adc09f24ab628e"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"ebc3de6e25b52bf27f27d36399af34f9fc5c2e5f","unresolved":false,"context_lines":[{"line_number":124,"context_line":""},{"line_number":125,"context_line":"Implementation"},{"line_number":126,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":127,"context_line":"* Implementation for action plan stop will be done by using taskflow. When a"},{"line_number":128,"context_line":"  running engine recieves an exception, it stops execution and calls revert for"},{"line_number":129,"context_line":"  all the tasks(actions) added in the flow. Based on action state"},{"line_number":130,"context_line":"  (PENDING, ONGOING, SUCCEDED) revert method will call relevant API\u0027s to abort"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_3157b6cf","line":127,"range":{"start_line":127,"start_character":54,"end_line":127,"end_character":68},"in_reply_to":"fa31d9ce_4e69e78a","updated":"2017-02-13 10:39:21.000000000","message":"yes, vincent it will not have have any impact on workflow engine, we will handle all cases in pre_condition and revert of actions.","commit_id":"f260140d61b7aff8949a3ac3a2adc09f24ab628e"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"3087aa780268ecf5dd6b3247d83648ab6742293d","unresolved":false,"context_lines":[{"line_number":164,"context_line":""},{"line_number":165,"context_line":"Need to update the **Action Plan State Machine**  in the architecture"},{"line_number":166,"context_line":"documentation."},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"References"},{"line_number":169,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":170,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_ee429b3d","line":167,"updated":"2017-02-13 09:37:17.000000000","message":"IMHO, the action state machine should also be exposed in the architecture documentation since it now has a non-trivial lifecycle.","commit_id":"f260140d61b7aff8949a3ac3a2adc09f24ab628e"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"ebc3de6e25b52bf27f27d36399af34f9fc5c2e5f","unresolved":false,"context_lines":[{"line_number":164,"context_line":""},{"line_number":165,"context_line":"Need to update the **Action Plan State Machine**  in the architecture"},{"line_number":166,"context_line":"documentation."},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"References"},{"line_number":169,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":170,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_910942e0","line":167,"in_reply_to":"fa31d9ce_ee429b3d","updated":"2017-02-13 10:39:21.000000000","message":"ok, i will add action state machine in the documentation, and will updated here as well.","commit_id":"f260140d61b7aff8949a3ac3a2adc09f24ab628e"}]}
