)]}'
{"specs/ocata/approved/dynamic-action-description.rst":[{"author":{"_account_id":23210,"name":"YumengBao","email":"bao.yumeng@zte.com.cn","username":"YumengBao"},"change_message_id":"f9c1c2981b27e79d79c01ccd3423b4179d5516d5","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Problem description"},{"line_number":20,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Currently, we have no more the possibility to have the literal description of"},{"line_number":23,"context_line":"an planned action before to execute it (in the Watcher Applier). This literal"},{"line_number":24,"context_line":"description is important when the cloud admin want to see details information"},{"line_number":25,"context_line":"about a recommended action plan."},{"line_number":26,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a74a57a_726fa892","line":23,"range":{"start_line":22,"start_character":10,"end_line":23,"end_character":38},"updated":"2016-11-23 10:55:45.000000000","message":"I was a bit confused. Do you mean \"Admin has no ways to see the literal description of an planned action before executing it\" ?","commit_id":"0b9425596efa82ae03c60f9574dc2958a255be81"},{"author":{"_account_id":12813,"name":"Rong Han","email":"han.rong3@zte.com.cn","username":"hanrong-zte"},"change_message_id":"73ca2cd7b864f201521fed1a6c75da9052507e4e","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Problem description"},{"line_number":20,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Currently, we have no more the possibility to have the literal description of"},{"line_number":23,"context_line":"an planned action before to execute it (in the Watcher Applier). This literal"},{"line_number":24,"context_line":"description is important when the cloud admin want to see details information"},{"line_number":25,"context_line":"about a recommended action plan."},{"line_number":26,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a74a57a_f118e886","line":23,"range":{"start_line":22,"start_character":10,"end_line":23,"end_character":38},"in_reply_to":"5a74a57a_726fa892","updated":"2016-11-24 05:57:49.000000000","message":"Yes.","commit_id":"0b9425596efa82ae03c60f9574dc2958a255be81"},{"author":{"_account_id":23210,"name":"YumengBao","email":"bao.yumeng@zte.com.cn","username":"YumengBao"},"change_message_id":"f9c1c2981b27e79d79c01ccd3423b4179d5516d5","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Currently, we have no more the possibility to have the literal description of"},{"line_number":23,"context_line":"an planned action before to execute it (in the Watcher Applier). This literal"},{"line_number":24,"context_line":"description is important when the cloud admin want to see details information"},{"line_number":25,"context_line":"about a recommended action plan."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a74a57a_f7672a23","line":24,"range":{"start_line":24,"start_character":58,"end_line":24,"end_character":65},"updated":"2016-11-23 10:55:45.000000000","message":"detailed","commit_id":"0b9425596efa82ae03c60f9574dc2958a255be81"},{"author":{"_account_id":23210,"name":"YumengBao","email":"bao.yumeng@zte.com.cn","username":"YumengBao"},"change_message_id":"f9c1c2981b27e79d79c01ccd3423b4179d5516d5","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Currently, we have no more the possibility to have the literal description of"},{"line_number":23,"context_line":"an planned action before to execute it (in the Watcher Applier). This literal"},{"line_number":24,"context_line":"description is important when the cloud admin want to see details information"},{"line_number":25,"context_line":"about a recommended action plan."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a74a57a_97aa7618","line":24,"range":{"start_line":24,"start_character":46,"end_line":24,"end_character":50},"updated":"2016-11-23 10:55:45.000000000","message":"wants","commit_id":"0b9425596efa82ae03c60f9574dc2958a255be81"},{"author":{"_account_id":12813,"name":"Rong Han","email":"han.rong3@zte.com.cn","username":"hanrong-zte"},"change_message_id":"73ca2cd7b864f201521fed1a6c75da9052507e4e","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Currently, we have no more the possibility to have the literal description of"},{"line_number":23,"context_line":"an planned action before to execute it (in the Watcher Applier). This literal"},{"line_number":24,"context_line":"description is important when the cloud admin want to see details information"},{"line_number":25,"context_line":"about a recommended action plan."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a74a57a_31134068","line":24,"range":{"start_line":24,"start_character":46,"end_line":24,"end_character":50},"in_reply_to":"5a74a57a_97aa7618","updated":"2016-11-24 05:57:49.000000000","message":"Done","commit_id":"0b9425596efa82ae03c60f9574dc2958a255be81"},{"author":{"_account_id":12813,"name":"Rong Han","email":"han.rong3@zte.com.cn","username":"hanrong-zte"},"change_message_id":"73ca2cd7b864f201521fed1a6c75da9052507e4e","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Currently, we have no more the possibility to have the literal description of"},{"line_number":23,"context_line":"an planned action before to execute it (in the Watcher Applier). This literal"},{"line_number":24,"context_line":"description is important when the cloud admin want to see details information"},{"line_number":25,"context_line":"about a recommended action plan."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a74a57a_5116fc55","line":24,"range":{"start_line":24,"start_character":58,"end_line":24,"end_character":65},"in_reply_to":"5a74a57a_f7672a23","updated":"2016-11-24 05:57:49.000000000","message":"Done","commit_id":"0b9425596efa82ae03c60f9574dc2958a255be81"},{"author":{"_account_id":23210,"name":"YumengBao","email":"bao.yumeng@zte.com.cn","username":"YumengBao"},"change_message_id":"f9c1c2981b27e79d79c01ccd3423b4179d5516d5","unresolved":false,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":"* **Action**:"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"  * **adescription**: the action\u0027s detail information."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"REST API impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a74a57a_fd62a9ac","line":56,"range":{"start_line":56,"start_character":4,"end_line":56,"end_character":20},"updated":"2016-11-23 10:55:45.000000000","message":"**description** ?","commit_id":"0b9425596efa82ae03c60f9574dc2958a255be81"},{"author":{"_account_id":12813,"name":"Rong Han","email":"han.rong3@zte.com.cn","username":"hanrong-zte"},"change_message_id":"73ca2cd7b864f201521fed1a6c75da9052507e4e","unresolved":false,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":"* **Action**:"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"  * **adescription**: the action\u0027s detail information."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"REST API impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a74a57a_9108942f","line":56,"range":{"start_line":56,"start_character":4,"end_line":56,"end_character":20},"in_reply_to":"5a74a57a_fd62a9ac","updated":"2016-11-24 05:57:49.000000000","message":"Done","commit_id":"0b9425596efa82ae03c60f9574dc2958a255be81"},{"author":{"_account_id":23210,"name":"YumengBao","email":"bao.yumeng@zte.com.cn","username":"YumengBao"},"change_message_id":"f9c1c2981b27e79d79c01ccd3423b4179d5516d5","unresolved":false,"context_lines":[{"line_number":81,"context_line":"Other end user impact"},{"line_number":82,"context_line":"---------------------"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Aside from the API, here are there other ways a user will interact with this"},{"line_number":85,"context_line":"feature:"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"* impact on **python-watcherclient**:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a74a57a_bd4671bd","line":84,"range":{"start_line":84,"start_character":29,"end_line":84,"end_character":34},"updated":"2016-11-23 10:55:45.000000000","message":"\"there\" can be deleted","commit_id":"0b9425596efa82ae03c60f9574dc2958a255be81"},{"author":{"_account_id":12813,"name":"Rong Han","email":"han.rong3@zte.com.cn","username":"hanrong-zte"},"change_message_id":"73ca2cd7b864f201521fed1a6c75da9052507e4e","unresolved":false,"context_lines":[{"line_number":81,"context_line":"Other end user impact"},{"line_number":82,"context_line":"---------------------"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Aside from the API, here are there other ways a user will interact with this"},{"line_number":85,"context_line":"feature:"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"* impact on **python-watcherclient**:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a74a57a_d1020c0b","line":84,"range":{"start_line":84,"start_character":29,"end_line":84,"end_character":34},"in_reply_to":"5a74a57a_bd4671bd","updated":"2016-11-24 05:57:49.000000000","message":"Done","commit_id":"0b9425596efa82ae03c60f9574dc2958a255be81"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"54eb66efde7292c6d9487044480cfdad881924ca","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Problem description"},{"line_number":20,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Currently, Admin has no ways to see the literal description of an planned"},{"line_number":23,"context_line":"action before executing it (in the Watcher Applier). This literal description"},{"line_number":24,"context_line":"is important when the cloud admin wants to see detailed information about a"},{"line_number":25,"context_line":"recommended action plan."}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a74a57a_c8019b3b","line":22,"range":{"start_line":22,"start_character":63,"end_line":22,"end_character":65},"updated":"2016-11-30 09:48:29.000000000","message":"s/an/a","commit_id":"d09d4bb89f6cc87c5ff93e586f245dc81df11bb7"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"54eb66efde7292c6d9487044480cfdad881924ca","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Problem description"},{"line_number":20,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Currently, Admin has no ways to see the literal description of an planned"},{"line_number":23,"context_line":"action before executing it (in the Watcher Applier). This literal description"},{"line_number":24,"context_line":"is important when the cloud admin wants to see detailed information about a"},{"line_number":25,"context_line":"recommended action plan."}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a74a57a_88e7a3ab","line":22,"range":{"start_line":22,"start_character":24,"end_line":22,"end_character":28},"updated":"2016-11-30 09:48:29.000000000","message":"s/ways/way","commit_id":"d09d4bb89f6cc87c5ff93e586f245dc81df11bb7"},{"author":{"_account_id":12813,"name":"Rong Han","email":"han.rong3@zte.com.cn","username":"hanrong-zte"},"change_message_id":"0d38da719895b5e3a0729dd54e38a29f26a1646f","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Problem description"},{"line_number":20,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Currently, Admin has no ways to see the literal description of an planned"},{"line_number":23,"context_line":"action before executing it (in the Watcher Applier). This literal description"},{"line_number":24,"context_line":"is important when the cloud admin wants to see detailed information about a"},{"line_number":25,"context_line":"recommended action plan."}],"source_content_type":"text/x-rst","patch_set":3,"id":"3a71b18c_755d2946","line":22,"range":{"start_line":22,"start_character":24,"end_line":22,"end_character":28},"in_reply_to":"5a74a57a_88e7a3ab","updated":"2016-12-06 09:26:53.000000000","message":"Done","commit_id":"d09d4bb89f6cc87c5ff93e586f245dc81df11bb7"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"54eb66efde7292c6d9487044480cfdad881924ca","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Problem description"},{"line_number":20,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Currently, Admin has no ways to see the literal description of an planned"},{"line_number":23,"context_line":"action before executing it (in the Watcher Applier). This literal description"},{"line_number":24,"context_line":"is important when the cloud admin wants to see detailed information about a"},{"line_number":25,"context_line":"recommended action plan."},{"line_number":26,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a74a57a_c876fbd7","line":23,"range":{"start_line":22,"start_character":0,"end_line":23,"end_character":52},"updated":"2016-11-30 09:48:29.000000000","message":"currently, a cloud admin has no way to see the description of planned actions before running an action plan.","commit_id":"d09d4bb89f6cc87c5ff93e586f245dc81df11bb7"},{"author":{"_account_id":12813,"name":"Rong Han","email":"han.rong3@zte.com.cn","username":"hanrong-zte"},"change_message_id":"0d38da719895b5e3a0729dd54e38a29f26a1646f","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Problem description"},{"line_number":20,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Currently, Admin has no ways to see the literal description of an planned"},{"line_number":23,"context_line":"action before executing it (in the Watcher Applier). This literal description"},{"line_number":24,"context_line":"is important when the cloud admin wants to see detailed information about a"},{"line_number":25,"context_line":"recommended action plan."},{"line_number":26,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3a71b18c_b5534138","line":23,"range":{"start_line":22,"start_character":0,"end_line":23,"end_character":52},"in_reply_to":"5a74a57a_c876fbd7","updated":"2016-12-06 09:26:53.000000000","message":"Done","commit_id":"d09d4bb89f6cc87c5ff93e586f245dc81df11bb7"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"54eb66efde7292c6d9487044480cfdad881924ca","unresolved":false,"context_lines":[{"line_number":122,"context_line":"Work Items"},{"line_number":123,"context_line":"----------"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"None"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a74a57a_73cb1c1f","line":125,"range":{"start_line":125,"start_character":0,"end_line":125,"end_character":4},"updated":"2016-11-30 09:48:29.000000000","message":"Please detail this section, because it is not so easy. metadata of an action is computed by the strategy (decision-engine), i.e. for the basic consolidation strategy we have, for a migration: \n\n https://github.com/openstack/watcher/blob/master/watcher/decision_engine/strategy/strategies/basic_consolidation.py#L299\n\nHow to built a literal description from metadata ? What is the template form for an action\u0027s description ? which Watcher service  will build this description ? how to store it ? how to handle description translation ? \n\nNote that action plugins are only loaded by the Applier, so for only Applier should be able to built the description string for now... but we want this information available in\nthe recommended action plan (built by the decision-engine).\n\nso not so easy ;)","commit_id":"d09d4bb89f6cc87c5ff93e586f245dc81df11bb7"},{"author":{"_account_id":12813,"name":"Rong Han","email":"han.rong3@zte.com.cn","username":"hanrong-zte"},"change_message_id":"0d38da719895b5e3a0729dd54e38a29f26a1646f","unresolved":false,"context_lines":[{"line_number":122,"context_line":"Work Items"},{"line_number":123,"context_line":"----------"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"None"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3a71b18c_f5c85257","line":125,"range":{"start_line":125,"start_character":0,"end_line":125,"end_character":4},"in_reply_to":"5a74a57a_73cb1c1f","updated":"2016-12-06 09:26:53.000000000","message":"Uh-huh, let me think.","commit_id":"d09d4bb89f6cc87c5ff93e586f245dc81df11bb7"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"d665af0af84dfe399bac45baec49d6245b9e61b1","unresolved":false,"context_lines":[{"line_number":116,"context_line":"Work Items"},{"line_number":117,"context_line":"----------"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"A literal description is computed from action type and parameters of an action."},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"- Define a mapping of action_type and description-template"},{"line_number":122,"context_line":"  + acton_type: \u0027migrate\u0027"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a6eadb0_6de5cfa6","line":119,"updated":"2016-12-20 09:20:47.000000000","message":"As @dtardivel pointed out in PS3, how are you planning on sharing the decription of all the action plugins installed on alongside the Applier so that we wouldn\u0027t need to also install these plugins on the API side?\nIMHO, you have 2 different ways to get on with it:\n\n- You implement a syncing job that would be triggered upon starting the Applier that would store in DB all the action descriptions.\n\n- You implement 2 notifications: the 1st one the API side that requests the action descriptions and the 2nd one on the Applier side that emits all the actions, including their descriptions (both notifications will have to be versioned). The latter will also have to be emitted upon starting the Applier to notify the API of any change of description.\n\nI would personally prefer the 2nd solution as it doesn\u0027t require any DB logic. IMHO , The business logic behind option 2 is also easier to maintain as we do not have to worry about any syncing logic: if the timestamp is more recent, then drop the old and replace it with the new.","commit_id":"b694e0d8b6cdc148a2f3a4626cdeed027deb033e"},{"author":{"_account_id":12813,"name":"Rong Han","email":"han.rong3@zte.com.cn","username":"hanrong-zte"},"change_message_id":"9647199fa0efaf441c7d70e1ce7ac5075681c05b","unresolved":false,"context_lines":[{"line_number":116,"context_line":"Work Items"},{"line_number":117,"context_line":"----------"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"A literal description is computed from action type and parameters of an action."},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"- Define a mapping of action_type and description-template"},{"line_number":122,"context_line":"  + acton_type: \u0027migrate\u0027"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7a3c09a3_7e28ab33","line":119,"in_reply_to":"1a6eadb0_6de5cfa6","updated":"2017-01-18 07:04:46.000000000","message":"Done","commit_id":"b694e0d8b6cdc148a2f3a4626cdeed027deb033e"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"466b4818dcfd334d2ba57dff5e23db8d958af94a","unresolved":false,"context_lines":[{"line_number":121,"context_line":"- Define a mapping of action_type and description-template"},{"line_number":122,"context_line":"  + acton_type: \u0027migrate\u0027"},{"line_number":123,"context_line":"    description_template: \u0027Migration of the instance %s from %s to %s\u0027 % ("},{"line_number":124,"context_line":"                           resource_id, source_node, destination_node)"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"  + action_type: \u0027change_nova_service_state\u0027"},{"line_number":127,"context_line":"    description_template: \u0027Change the state of nova service state %s on %s\u0027 % ("}],"source_content_type":"text/x-rst","patch_set":7,"id":"da4df55a_d18adbbe","line":124,"range":{"start_line":124,"start_character":27,"end_line":124,"end_character":69},"updated":"2016-12-24 06:28:07.000000000","message":"also need migration_type","commit_id":"b694e0d8b6cdc148a2f3a4626cdeed027deb033e"},{"author":{"_account_id":12813,"name":"Rong Han","email":"han.rong3@zte.com.cn","username":"hanrong-zte"},"change_message_id":"9647199fa0efaf441c7d70e1ce7ac5075681c05b","unresolved":false,"context_lines":[{"line_number":121,"context_line":"- Define a mapping of action_type and description-template"},{"line_number":122,"context_line":"  + acton_type: \u0027migrate\u0027"},{"line_number":123,"context_line":"    description_template: \u0027Migration of the instance %s from %s to %s\u0027 % ("},{"line_number":124,"context_line":"                           resource_id, source_node, destination_node)"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"  + action_type: \u0027change_nova_service_state\u0027"},{"line_number":127,"context_line":"    description_template: \u0027Change the state of nova service state %s on %s\u0027 % ("}],"source_content_type":"text/x-rst","patch_set":7,"id":"7a3c09a3_de027fb3","line":124,"range":{"start_line":124,"start_character":27,"end_line":124,"end_character":69},"in_reply_to":"da4df55a_d18adbbe","updated":"2017-01-18 07:04:46.000000000","message":"Done","commit_id":"b694e0d8b6cdc148a2f3a4626cdeed027deb033e"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"d665af0af84dfe399bac45baec49d6245b9e61b1","unresolved":false,"context_lines":[{"line_number":124,"context_line":"                           resource_id, source_node, destination_node)"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"  + action_type: \u0027change_nova_service_state\u0027"},{"line_number":127,"context_line":"    description_template: \u0027Change the state of nova service state %s on %s\u0027 % ("},{"line_number":128,"context_line":"                           state, resource_id)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a6eadb0_ede71faa","line":127,"range":{"start_line":127,"start_character":60,"end_line":127,"end_character":74},"updated":"2016-12-20 09:20:47.000000000","message":"state to %(state)s for %(resource_id)s","commit_id":"b694e0d8b6cdc148a2f3a4626cdeed027deb033e"},{"author":{"_account_id":12813,"name":"Rong Han","email":"han.rong3@zte.com.cn","username":"hanrong-zte"},"change_message_id":"9647199fa0efaf441c7d70e1ce7ac5075681c05b","unresolved":false,"context_lines":[{"line_number":124,"context_line":"                           resource_id, source_node, destination_node)"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"  + action_type: \u0027change_nova_service_state\u0027"},{"line_number":127,"context_line":"    description_template: \u0027Change the state of nova service state %s on %s\u0027 % ("},{"line_number":128,"context_line":"                           state, resource_id)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"7a3c09a3_bef773d1","line":127,"range":{"start_line":127,"start_character":60,"end_line":127,"end_character":74},"in_reply_to":"1a6eadb0_ede71faa","updated":"2017-01-18 07:04:46.000000000","message":"Done","commit_id":"b694e0d8b6cdc148a2f3a4626cdeed027deb033e"},{"author":{"_account_id":21361,"name":"Chris Spencer","email":"christopher.m.spencer@intel.com","username":"chrisspencer"},"change_message_id":"b6a77aa07ad4589eee991c25c01dfcf2be2f2981","unresolved":false,"context_lines":[{"line_number":4,"context_line":""},{"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"},{"line_number":8,"context_line":"Support Description For Dynamic Action"},{"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"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa31d9ce_81cf65af","line":7,"range":{"start_line":7,"start_character":38,"end_line":7,"end_character":42},"updated":"2017-02-10 16:44:25.000000000","message":"nit: these extra \u003d can be removed only need to be the length of the text","commit_id":"b04050b0702a3cf8799df9464a5d9d30e0c556e2"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"fc45347bf1df1f6cd0ac536ea0e2c80608c3b476","unresolved":false,"context_lines":[{"line_number":4,"context_line":""},{"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"},{"line_number":8,"context_line":"Support Description For Dynamic Action"},{"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"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa31d9ce_faea63ab","line":7,"range":{"start_line":7,"start_character":38,"end_line":7,"end_character":42},"in_reply_to":"fa31d9ce_81cf65af","updated":"2017-02-13 03:36:37.000000000","message":"Done","commit_id":"b04050b0702a3cf8799df9464a5d9d30e0c556e2"},{"author":{"_account_id":21361,"name":"Chris Spencer","email":"christopher.m.spencer@intel.com","username":"chrisspencer"},"change_message_id":"b6a77aa07ad4589eee991c25c01dfcf2be2f2981","unresolved":false,"context_lines":[{"line_number":23,"context_line":"cloud admin wants to see detailed information about a recommended action plan."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Use Cases"},{"line_number":26,"context_line":"----------"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"None"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa31d9ce_61b0b1de","line":26,"range":{"start_line":26,"start_character":9,"end_line":26,"end_character":10},"updated":"2017-02-10 16:44:25.000000000","message":"extra -","commit_id":"b04050b0702a3cf8799df9464a5d9d30e0c556e2"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"fc45347bf1df1f6cd0ac536ea0e2c80608c3b476","unresolved":false,"context_lines":[{"line_number":23,"context_line":"cloud admin wants to see detailed information about a recommended action plan."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Use Cases"},{"line_number":26,"context_line":"----------"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"None"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa31d9ce_5af36f9e","line":26,"range":{"start_line":26,"start_character":9,"end_line":26,"end_character":10},"in_reply_to":"fa31d9ce_61b0b1de","updated":"2017-02-13 03:36:37.000000000","message":"Done","commit_id":"b04050b0702a3cf8799df9464a5d9d30e0c556e2"},{"author":{"_account_id":21361,"name":"Chris Spencer","email":"christopher.m.spencer@intel.com","username":"chrisspencer"},"change_message_id":"b6a77aa07ad4589eee991c25c01dfcf2be2f2981","unresolved":false,"context_lines":[{"line_number":25,"context_line":"Use Cases"},{"line_number":26,"context_line":"----------"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"None"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa31d9ce_215eb9e9","line":28,"range":{"start_line":28,"start_character":0,"end_line":28,"end_character":4},"updated":"2017-02-10 16:44:25.000000000","message":"Use case should be:  \"As a cloud administrator, I want to be able to see the description of planned actions before running an action plan.\"","commit_id":"b04050b0702a3cf8799df9464a5d9d30e0c556e2"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"fc45347bf1df1f6cd0ac536ea0e2c80608c3b476","unresolved":false,"context_lines":[{"line_number":25,"context_line":"Use Cases"},{"line_number":26,"context_line":"----------"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"None"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa31d9ce_3af4fb85","line":28,"range":{"start_line":28,"start_character":0,"end_line":28,"end_character":4},"in_reply_to":"fa31d9ce_215eb9e9","updated":"2017-02-13 03:36:37.000000000","message":"Done","commit_id":"b04050b0702a3cf8799df9464a5d9d30e0c556e2"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"596b47dd374810b934a51653598ba72e8121793c","unresolved":false,"context_lines":[{"line_number":149,"context_line":"Dependencies"},{"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":"None"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"Testing"}],"source_content_type":"text/x-rst","patch_set":8,"id":"7a3c09a3_ce61ea06","line":152,"updated":"2017-01-18 08:34:46.000000000","message":"IMHO, there is a dependency with https://blueprints.launchpad.net/watcher/+spec/action-versioned-notifications-api","commit_id":"b04050b0702a3cf8799df9464a5d9d30e0c556e2"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"fc45347bf1df1f6cd0ac536ea0e2c80608c3b476","unresolved":false,"context_lines":[{"line_number":149,"context_line":"Dependencies"},{"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":"None"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"Testing"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa31d9ce_7aee73b5","line":152,"in_reply_to":"7a3c09a3_ce61ea06","updated":"2017-02-13 03:36:37.000000000","message":"Done","commit_id":"b04050b0702a3cf8799df9464a5d9d30e0c556e2"}],"specs/pike/approved/dynamic-action-description.rst":[{"author":{"_account_id":7664,"name":"Joe Cropper","email":"jwcroppe@us.ibm.com","username":"jwcroppe"},"change_message_id":"28fc22b8d470385f12d5b97a8e2cbc3e4b9726ed","unresolved":false,"context_lines":[{"line_number":45,"context_line":"Data model impact"},{"line_number":46,"context_line":"-----------------"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"The following data object will probably be impacted:"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"* **Action**:"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa31d9ce_a586ee10","line":48,"range":{"start_line":48,"start_character":26,"end_line":48,"end_character":51},"updated":"2017-02-13 15:27:19.000000000","message":"We should define exactly what the impact is... is it just adding the new description field?  If so, please clarify that.","commit_id":"96d038b594a2ced7cb50920e35cf620c0a876ee4"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"1f5a9dd35feeafcc7ad23d4ff81af4d7ed2eeaaa","unresolved":false,"context_lines":[{"line_number":45,"context_line":"Data model impact"},{"line_number":46,"context_line":"-----------------"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"The following data object will probably be impacted:"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"* **Action**:"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa31d9ce_175dde46","line":48,"range":{"start_line":48,"start_character":26,"end_line":48,"end_character":51},"in_reply_to":"fa31d9ce_a586ee10","updated":"2017-02-15 07:16:09.000000000","message":"This new description field don\u0027t need to be added to the action object. So it should not affect.","commit_id":"96d038b594a2ced7cb50920e35cf620c0a876ee4"},{"author":{"_account_id":7664,"name":"Joe Cropper","email":"jwcroppe@us.ibm.com","username":"jwcroppe"},"change_message_id":"28fc22b8d470385f12d5b97a8e2cbc3e4b9726ed","unresolved":false,"context_lines":[{"line_number":56,"context_line":"---------------"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"There will be an impact on every REST resource URLs that starts with"},{"line_number":60,"context_line":"**/v1/actions/** and that uses the type **Action**:"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"* GET /v1/actions/(action_uuid)"}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa31d9ce_e5e38603","line":59,"range":{"start_line":59,"start_character":14,"end_line":59,"end_character":23},"updated":"2017-02-13 15:27:19.000000000","message":"Can we clearly define what the impact is?  I can\u0027t tell from this text - assuming it\u0027s adding some new URLs, but this section should be a little more explicit.","commit_id":"96d038b594a2ced7cb50920e35cf620c0a876ee4"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"1f5a9dd35feeafcc7ad23d4ff81af4d7ed2eeaaa","unresolved":false,"context_lines":[{"line_number":56,"context_line":"---------------"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"There will be an impact on every REST resource URLs that starts with"},{"line_number":60,"context_line":"**/v1/actions/** and that uses the type **Action**:"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"* GET /v1/actions/(action_uuid)"}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa31d9ce_89029208","line":59,"range":{"start_line":59,"start_character":14,"end_line":59,"end_character":23},"in_reply_to":"fa31d9ce_e5e38603","updated":"2017-02-15 07:16:09.000000000","message":"no new URL will be added, just add a new action description in the URL respond message body.","commit_id":"96d038b594a2ced7cb50920e35cf620c0a876ee4"},{"author":{"_account_id":7664,"name":"Joe Cropper","email":"jwcroppe@us.ibm.com","username":"jwcroppe"},"change_message_id":"28fc22b8d470385f12d5b97a8e2cbc3e4b9726ed","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"* impact on **python-watcherclient**:"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"  * will need to find a new way to display the value of \"description\" field"},{"line_number":84,"context_line":"    about an Action."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"Performance Impact"}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa31d9ce_65e156d0","line":84,"range":{"start_line":83,"start_character":4,"end_line":84,"end_character":20},"updated":"2017-02-13 15:27:19.000000000","message":"Let\u0027s just say ... \"Display the \"description\" field when displaying details about an action.\" ?","commit_id":"96d038b594a2ced7cb50920e35cf620c0a876ee4"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"1f5a9dd35feeafcc7ad23d4ff81af4d7ed2eeaaa","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"* impact on **python-watcherclient**:"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"  * will need to find a new way to display the value of \"description\" field"},{"line_number":84,"context_line":"    about an Action."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"Performance Impact"}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa31d9ce_89ec522b","line":84,"range":{"start_line":83,"start_character":4,"end_line":84,"end_character":20},"in_reply_to":"fa31d9ce_65e156d0","updated":"2017-02-15 07:16:09.000000000","message":"Done","commit_id":"96d038b594a2ced7cb50920e35cf620c0a876ee4"},{"author":{"_account_id":7664,"name":"Joe Cropper","email":"jwcroppe@us.ibm.com","username":"jwcroppe"},"change_message_id":"28fc22b8d470385f12d5b97a8e2cbc3e4b9726ed","unresolved":false,"context_lines":[{"line_number":118,"context_line":""},{"line_number":119,"context_line":"- Implement 2 notifications:"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"  In order to share the description of all the action plugins installed on"},{"line_number":122,"context_line":"  alongside the Applier so that we wouldn\u0027t need to also install these plugins"},{"line_number":123,"context_line":"  on the API side"},{"line_number":124,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa31d9ce_25d83e1d","line":121,"range":{"start_line":121,"start_character":72,"end_line":121,"end_character":74},"updated":"2017-02-13 15:27:19.000000000","message":"Just remove this word.","commit_id":"96d038b594a2ced7cb50920e35cf620c0a876ee4"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"1f5a9dd35feeafcc7ad23d4ff81af4d7ed2eeaaa","unresolved":false,"context_lines":[{"line_number":118,"context_line":""},{"line_number":119,"context_line":"- Implement 2 notifications:"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"  In order to share the description of all the action plugins installed on"},{"line_number":122,"context_line":"  alongside the Applier so that we wouldn\u0027t need to also install these plugins"},{"line_number":123,"context_line":"  on the API side"},{"line_number":124,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa31d9ce_2971a676","line":121,"range":{"start_line":121,"start_character":72,"end_line":121,"end_character":74},"in_reply_to":"fa31d9ce_25d83e1d","updated":"2017-02-15 07:16:09.000000000","message":"Done","commit_id":"96d038b594a2ced7cb50920e35cf620c0a876ee4"},{"author":{"_account_id":7664,"name":"Joe Cropper","email":"jwcroppe@us.ibm.com","username":"jwcroppe"},"change_message_id":"28fc22b8d470385f12d5b97a8e2cbc3e4b9726ed","unresolved":false,"context_lines":[{"line_number":122,"context_line":"  alongside the Applier so that we wouldn\u0027t need to also install these plugins"},{"line_number":123,"context_line":"  on the API side"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"  + the 1st one the API side that requests the action descriptions and the 2nd"},{"line_number":126,"context_line":"    one on the Applier side that emits all the actions, including their"},{"line_number":127,"context_line":"    descriptions (both notifications will have to be versioned)."},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"  + The latter will also have to be emitted upon starting the Applier to notify"},{"line_number":130,"context_line":"    the API of any change of description."}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa31d9ce_054b3aca","line":127,"range":{"start_line":125,"start_character":4,"end_line":127,"end_character":64},"updated":"2017-02-13 15:27:19.000000000","message":"Can we itemize the two notifications separately?  What are the event types?","commit_id":"96d038b594a2ced7cb50920e35cf620c0a876ee4"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"1f5a9dd35feeafcc7ad23d4ff81af4d7ed2eeaaa","unresolved":false,"context_lines":[{"line_number":122,"context_line":"  alongside the Applier so that we wouldn\u0027t need to also install these plugins"},{"line_number":123,"context_line":"  on the API side"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"  + the 1st one the API side that requests the action descriptions and the 2nd"},{"line_number":126,"context_line":"    one on the Applier side that emits all the actions, including their"},{"line_number":127,"context_line":"    descriptions (both notifications will have to be versioned)."},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"  + The latter will also have to be emitted upon starting the Applier to notify"},{"line_number":130,"context_line":"    the API of any change of description."}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa31d9ce_496c1a9c","line":127,"range":{"start_line":125,"start_character":4,"end_line":127,"end_character":64},"in_reply_to":"fa31d9ce_054b3aca","updated":"2017-02-15 07:16:09.000000000","message":"Done","commit_id":"96d038b594a2ced7cb50920e35cf620c0a876ee4"},{"author":{"_account_id":7664,"name":"Joe Cropper","email":"jwcroppe@us.ibm.com","username":"jwcroppe"},"change_message_id":"28fc22b8d470385f12d5b97a8e2cbc3e4b9726ed","unresolved":false,"context_lines":[{"line_number":134,"context_line":""},{"line_number":135,"context_line":"  + acton_type: \u0027migrate\u0027"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"    description_template: \u0027%s migration of the instance %s from %s to %s\u0027 % ("},{"line_number":138,"context_line":"                           migration_type, resource_id, source_node,"},{"line_number":139,"context_line":"                           destination_node)"},{"line_number":140,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa31d9ce_65d4f646","line":137,"updated":"2017-02-13 15:27:19.000000000","message":"Nit: we will want these to be keyword-subbed strings for proper translations, but this is OK for the spec.","commit_id":"96d038b594a2ced7cb50920e35cf620c0a876ee4"},{"author":{"_account_id":7664,"name":"Joe Cropper","email":"jwcroppe@us.ibm.com","username":"jwcroppe"},"change_message_id":"28fc22b8d470385f12d5b97a8e2cbc3e4b9726ed","unresolved":false,"context_lines":[{"line_number":140,"context_line":""},{"line_number":141,"context_line":"  + action_type: \u0027change_nova_service_state\u0027"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"    description_template: \u0027Change the state of nova service state to %s for %s\u0027"},{"line_number":144,"context_line":"                          % (state, resource_id)"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa31d9ce_25bbde0f","line":143,"updated":"2017-02-13 15:27:19.000000000","message":"Ditto.","commit_id":"96d038b594a2ced7cb50920e35cf620c0a876ee4"},{"author":{"_account_id":7664,"name":"Joe Cropper","email":"jwcroppe@us.ibm.com","username":"jwcroppe"},"change_message_id":"28fc22b8d470385f12d5b97a8e2cbc3e4b9726ed","unresolved":false,"context_lines":[{"line_number":140,"context_line":""},{"line_number":141,"context_line":"  + action_type: \u0027change_nova_service_state\u0027"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"    description_template: \u0027Change the state of nova service state to %s for %s\u0027"},{"line_number":144,"context_line":"                          % (state, resource_id)"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa31d9ce_c573e27e","line":143,"range":{"start_line":143,"start_character":47,"end_line":143,"end_character":48},"updated":"2017-02-13 15:27:19.000000000","message":"s/nova/Nova  (also a nit)","commit_id":"96d038b594a2ced7cb50920e35cf620c0a876ee4"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"1f5a9dd35feeafcc7ad23d4ff81af4d7ed2eeaaa","unresolved":false,"context_lines":[{"line_number":140,"context_line":""},{"line_number":141,"context_line":"  + action_type: \u0027change_nova_service_state\u0027"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"    description_template: \u0027Change the state of nova service state to %s for %s\u0027"},{"line_number":144,"context_line":"                          % (state, resource_id)"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa31d9ce_e9e94eb8","line":143,"range":{"start_line":143,"start_character":47,"end_line":143,"end_character":48},"in_reply_to":"fa31d9ce_c573e27e","updated":"2017-02-15 07:16:09.000000000","message":"Done","commit_id":"96d038b594a2ced7cb50920e35cf620c0a876ee4"},{"author":{"_account_id":7664,"name":"Joe Cropper","email":"jwcroppe@us.ibm.com","username":"jwcroppe"},"change_message_id":"28fc22b8d470385f12d5b97a8e2cbc3e4b9726ed","unresolved":false,"context_lines":[{"line_number":147,"context_line":"- Show description of a specified action by computing from action_type and"},{"line_number":148,"context_line":"  action_description_template dynamically."},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"  + Add the implement of computing action_description to \"get_one\" method in"},{"line_number":151,"context_line":"    watcher/api/controllers/v1/action.py"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa31d9ce_657dd6e6","line":150,"range":{"start_line":150,"start_character":12,"end_line":150,"end_character":21},"updated":"2017-02-13 15:27:19.000000000","message":"s/implement/logic ?","commit_id":"96d038b594a2ced7cb50920e35cf620c0a876ee4"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"1f5a9dd35feeafcc7ad23d4ff81af4d7ed2eeaaa","unresolved":false,"context_lines":[{"line_number":147,"context_line":"- Show description of a specified action by computing from action_type and"},{"line_number":148,"context_line":"  action_description_template dynamically."},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"  + Add the implement of computing action_description to \"get_one\" method in"},{"line_number":151,"context_line":"    watcher/api/controllers/v1/action.py"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa31d9ce_29944641","line":150,"range":{"start_line":150,"start_character":12,"end_line":150,"end_character":21},"in_reply_to":"fa31d9ce_657dd6e6","updated":"2017-02-15 07:16:09.000000000","message":"Done","commit_id":"96d038b594a2ced7cb50920e35cf620c0a876ee4"}]}
