)]}'
{"watcher/decision_engine/planner/default.py":[{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"d6b29b735851a689c9902c823d911ce433f0ae59","unresolved":false,"context_lines":[{"line_number":60,"context_line":"            \u0027action_type_version\u0027: action_type_version,"},{"line_number":61,"context_line":"            \u0027applies_to\u0027: applies_to,"},{"line_number":62,"context_line":"            # todo(jed) remove (src,dst) in watcher_db"},{"line_number":63,"context_line":"            \u0027src\u0027: \u0027\u0027,"},{"line_number":64,"context_line":"            \u0027dst\u0027: \u0027\u0027,"},{"line_number":65,"context_line":"            # todo(jed) rename parameter \u003d\u003e parameters"},{"line_number":66,"context_line":"            \u0027parameter\u0027: json.dumps(parameters),"}],"source_content_type":"text/x-python","patch_set":14,"id":"fa69d971_71420340","line":63,"range":{"start_line":63,"start_character":19,"end_line":63,"end_character":22},"updated":"2016-01-11 15:32:33.000000000","message":"why not  \u0027src\u0027: None ?","commit_id":"15421d845657ad3f6cad6713f515899ebe187be6"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"ae441569e19b0b4fce69e9901698d149406ee254","unresolved":false,"context_lines":[{"line_number":60,"context_line":"            \u0027action_type_version\u0027: action_type_version,"},{"line_number":61,"context_line":"            \u0027applies_to\u0027: applies_to,"},{"line_number":62,"context_line":"            # todo(jed) remove (src,dst) in watcher_db"},{"line_number":63,"context_line":"            \u0027src\u0027: \u0027\u0027,"},{"line_number":64,"context_line":"            \u0027dst\u0027: \u0027\u0027,"},{"line_number":65,"context_line":"            # todo(jed) rename parameter \u003d\u003e parameters"},{"line_number":66,"context_line":"            \u0027parameter\u0027: json.dumps(parameters),"}],"source_content_type":"text/x-python","patch_set":14,"id":"fa69d971_0d0fe339","line":63,"range":{"start_line":63,"start_character":19,"end_line":63,"end_character":22},"in_reply_to":"fa69d971_71420340","updated":"2016-01-11 16:51:07.000000000","message":"Done","commit_id":"15421d845657ad3f6cad6713f515899ebe187be6"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"d6b29b735851a689c9902c823d911ce433f0ae59","unresolved":false,"context_lines":[{"line_number":61,"context_line":"            \u0027applies_to\u0027: applies_to,"},{"line_number":62,"context_line":"            # todo(jed) remove (src,dst) in watcher_db"},{"line_number":63,"context_line":"            \u0027src\u0027: \u0027\u0027,"},{"line_number":64,"context_line":"            \u0027dst\u0027: \u0027\u0027,"},{"line_number":65,"context_line":"            # todo(jed) rename parameter \u003d\u003e parameters"},{"line_number":66,"context_line":"            \u0027parameter\u0027: json.dumps(parameters),"},{"line_number":67,"context_line":"            \u0027description\u0027: \u0027\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"fa69d971_d1f40ff2","line":64,"range":{"start_line":64,"start_character":19,"end_line":64,"end_character":22},"updated":"2016-01-11 15:32:33.000000000","message":"ditto","commit_id":"15421d845657ad3f6cad6713f515899ebe187be6"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"ae441569e19b0b4fce69e9901698d149406ee254","unresolved":false,"context_lines":[{"line_number":61,"context_line":"            \u0027applies_to\u0027: applies_to,"},{"line_number":62,"context_line":"            # todo(jed) remove (src,dst) in watcher_db"},{"line_number":63,"context_line":"            \u0027src\u0027: \u0027\u0027,"},{"line_number":64,"context_line":"            \u0027dst\u0027: \u0027\u0027,"},{"line_number":65,"context_line":"            # todo(jed) rename parameter \u003d\u003e parameters"},{"line_number":66,"context_line":"            \u0027parameter\u0027: json.dumps(parameters),"},{"line_number":67,"context_line":"            \u0027description\u0027: \u0027\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"fa69d971_2d14274b","line":64,"range":{"start_line":64,"start_character":19,"end_line":64,"end_character":22},"in_reply_to":"fa69d971_d1f40ff2","updated":"2016-01-11 16:51:07.000000000","message":"Done","commit_id":"15421d845657ad3f6cad6713f515899ebe187be6"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"d6b29b735851a689c9902c823d911ce433f0ae59","unresolved":false,"context_lines":[{"line_number":64,"context_line":"            \u0027dst\u0027: \u0027\u0027,"},{"line_number":65,"context_line":"            # todo(jed) rename parameter \u003d\u003e parameters"},{"line_number":66,"context_line":"            \u0027parameter\u0027: json.dumps(parameters),"},{"line_number":67,"context_line":"            \u0027description\u0027: \u0027\u0027,"},{"line_number":68,"context_line":"            \u0027state\u0027: objects.action.Status.PENDING,"},{"line_number":69,"context_line":"            \u0027alarm\u0027: None,"},{"line_number":70,"context_line":"            \u0027next\u0027: None,"}],"source_content_type":"text/x-python","patch_set":14,"id":"fa69d971_f1d03355","line":67,"range":{"start_line":67,"start_character":27,"end_line":67,"end_character":29},"updated":"2016-01-11 15:32:33.000000000","message":"ditto","commit_id":"15421d845657ad3f6cad6713f515899ebe187be6"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"ae441569e19b0b4fce69e9901698d149406ee254","unresolved":false,"context_lines":[{"line_number":64,"context_line":"            \u0027dst\u0027: \u0027\u0027,"},{"line_number":65,"context_line":"            # todo(jed) rename parameter \u003d\u003e parameters"},{"line_number":66,"context_line":"            \u0027parameter\u0027: json.dumps(parameters),"},{"line_number":67,"context_line":"            \u0027description\u0027: \u0027\u0027,"},{"line_number":68,"context_line":"            \u0027state\u0027: objects.action.Status.PENDING,"},{"line_number":69,"context_line":"            \u0027alarm\u0027: None,"},{"line_number":70,"context_line":"            \u0027next\u0027: None,"}],"source_content_type":"text/x-python","patch_set":14,"id":"fa69d971_cd0d4b3f","line":67,"range":{"start_line":67,"start_character":27,"end_line":67,"end_character":29},"in_reply_to":"fa69d971_f1d03355","updated":"2016-01-11 16:51:07.000000000","message":"Done","commit_id":"15421d845657ad3f6cad6713f515899ebe187be6"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"d6b29b735851a689c9902c823d911ce433f0ae59","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        action_plan \u003d self._create_action_plan(context, audit_id)"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        actions \u003d list(solution.actions)"},{"line_number":79,"context_line":"        to_schedule \u003d []"},{"line_number":80,"context_line":"        for action in actions:"},{"line_number":81,"context_line":"            json_action \u003d self.create_action(action_plan_id\u003daction_plan.id,"},{"line_number":82,"context_line":"                                             action_type\u003daction.get("}],"source_content_type":"text/x-python","patch_set":14,"id":"fa69d971_6c96a84d","line":79,"range":{"start_line":79,"start_character":8,"end_line":79,"end_character":19},"updated":"2016-01-11 15:32:33.000000000","message":"Can you rename this variable to: actions_to_schedule","commit_id":"15421d845657ad3f6cad6713f515899ebe187be6"}],"watcher/decision_engine/solution/base.py":[{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"d6b29b735851a689c9902c823d911ce433f0ae59","unresolved":false,"context_lines":[{"line_number":59,"context_line":"                   parameters\u003dNone):"},{"line_number":60,"context_line":"        \"\"\"Add a new Action in the Action Plan"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        :param action_type: the unique id of an action type (entry_point)"},{"line_number":63,"context_line":"        :param applies_to: the the unique id of the resource to which the"},{"line_number":64,"context_line":"        `Action` applies."},{"line_number":65,"context_line":"        :param action_type_version: the version of the `Action` ."}],"source_content_type":"text/x-python","patch_set":14,"id":"fa69d971_ac402060","line":62,"range":{"start_line":62,"start_character":61,"end_line":62,"end_character":72},"updated":"2016-01-11 15:32:33.000000000","message":"list of available action types is defined by watcher_planners entry points in the setup.cfg file","commit_id":"15421d845657ad3f6cad6713f515899ebe187be6"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"ae441569e19b0b4fce69e9901698d149406ee254","unresolved":false,"context_lines":[{"line_number":59,"context_line":"                   parameters\u003dNone):"},{"line_number":60,"context_line":"        \"\"\"Add a new Action in the Action Plan"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        :param action_type: the unique id of an action type (entry_point)"},{"line_number":63,"context_line":"        :param applies_to: the the unique id of the resource to which the"},{"line_number":64,"context_line":"        `Action` applies."},{"line_number":65,"context_line":"        :param action_type_version: the version of the `Action` ."}],"source_content_type":"text/x-python","patch_set":14,"id":"fa69d971_b8037741","line":62,"range":{"start_line":62,"start_character":61,"end_line":62,"end_character":72},"in_reply_to":"fa69d971_ac402060","updated":"2016-01-11 16:51:07.000000000","message":"We are not talking about watcher_planners here","commit_id":"15421d845657ad3f6cad6713f515899ebe187be6"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"d6b29b735851a689c9902c823d911ce433f0ae59","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        \"\"\"Add a new Action in the Action Plan"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        :param action_type: the unique id of an action type (entry_point)"},{"line_number":63,"context_line":"        :param applies_to: the the unique id of the resource to which the"},{"line_number":64,"context_line":"        `Action` applies."},{"line_number":65,"context_line":"        :param action_type_version: the version of the `Action` ."},{"line_number":66,"context_line":"        :param parameters: An array of input parameter provided as key-value"}],"source_content_type":"text/x-python","patch_set":14,"id":"fa69d971_077fc5e0","line":63,"range":{"start_line":63,"start_character":27,"end_line":63,"end_character":30},"updated":"2016-01-11 15:32:33.000000000","message":"remove \u0027the\u0027","commit_id":"15421d845657ad3f6cad6713f515899ebe187be6"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"d6b29b735851a689c9902c823d911ce433f0ae59","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        :param action_type: the unique id of an action type (entry_point)"},{"line_number":63,"context_line":"        :param applies_to: the the unique id of the resource to which the"},{"line_number":64,"context_line":"        `Action` applies."},{"line_number":65,"context_line":"        :param action_type_version: the version of the `Action` ."},{"line_number":66,"context_line":"        :param parameters: An array of input parameter provided as key-value"},{"line_number":67,"context_line":"         pairs of strings. Each key-pair contains names and values that"},{"line_number":68,"context_line":"         match what was previously defined in the `Action` type schema."}],"source_content_type":"text/x-python","patch_set":14,"id":"fa69d971_221af76f","line":65,"range":{"start_line":65,"start_character":56,"end_line":65,"end_character":62},"updated":"2016-01-11 15:32:33.000000000","message":"\u0027Action\u0027 type, i.e. the version of the endpoint library","commit_id":"15421d845657ad3f6cad6713f515899ebe187be6"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"d6b29b735851a689c9902c823d911ce433f0ae59","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        :param applies_to: the the unique id of the resource to which the"},{"line_number":64,"context_line":"        `Action` applies."},{"line_number":65,"context_line":"        :param action_type_version: the version of the `Action` ."},{"line_number":66,"context_line":"        :param parameters: An array of input parameter provided as key-value"},{"line_number":67,"context_line":"         pairs of strings. Each key-pair contains names and values that"},{"line_number":68,"context_line":"         match what was previously defined in the `Action` type schema."},{"line_number":69,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":14,"id":"fa69d971_82dba37b","line":66,"range":{"start_line":66,"start_character":45,"end_line":66,"end_character":54},"updated":"2016-01-11 15:32:33.000000000","message":"parameters","commit_id":"15421d845657ad3f6cad6713f515899ebe187be6"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"d6b29b735851a689c9902c823d911ce433f0ae59","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        :param action_type_version: the version of the `Action` ."},{"line_number":66,"context_line":"        :param parameters: An array of input parameter provided as key-value"},{"line_number":67,"context_line":"         pairs of strings. Each key-pair contains names and values that"},{"line_number":68,"context_line":"         match what was previously defined in the `Action` type schema."},{"line_number":69,"context_line":"        \"\"\""},{"line_number":70,"context_line":"        raise NotImplementedError()"},{"line_number":71,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"fa69d971_62c54f8c","line":68,"range":{"start_line":68,"start_character":20,"end_line":68,"end_character":70},"updated":"2016-01-11 15:32:33.000000000","message":"where is defined the schema ?","commit_id":"15421d845657ad3f6cad6713f515899ebe187be6"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"ae441569e19b0b4fce69e9901698d149406ee254","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        :param action_type_version: the version of the `Action` ."},{"line_number":66,"context_line":"        :param parameters: An array of input parameter provided as key-value"},{"line_number":67,"context_line":"         pairs of strings. Each key-pair contains names and values that"},{"line_number":68,"context_line":"         match what was previously defined in the `Action` type schema."},{"line_number":69,"context_line":"        \"\"\""},{"line_number":70,"context_line":"        raise NotImplementedError()"},{"line_number":71,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"fa69d971_f305900f","line":68,"range":{"start_line":68,"start_character":20,"end_line":68,"end_character":70},"in_reply_to":"fa69d971_62c54f8c","updated":"2016-01-11 16:51:07.000000000","message":"We have to do it :)","commit_id":"15421d845657ad3f6cad6713f515899ebe187be6"}],"watcher/decision_engine/strategy/strategies/basic_consolidation.py":[{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"d6b29b735851a689c9902c823d911ce433f0ae59","unresolved":false,"context_lines":[{"line_number":20,"context_line":"from oslo_log import log"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from watcher._i18n import _LE, _LI, _LW"},{"line_number":23,"context_line":"from watcher.common.exception import ClusterEmpty"},{"line_number":24,"context_line":"from watcher.common.exception import ClusterStateNotDefined"},{"line_number":25,"context_line":"from watcher.decision_engine.model.hypervisor_state import HypervisorState"},{"line_number":26,"context_line":"from watcher.decision_engine.model.resource import ResourceType"},{"line_number":27,"context_line":"from watcher.decision_engine.model.vm_state import VMState"}],"source_content_type":"text/x-python","patch_set":14,"id":"fa69d971_821e430a","line":24,"range":{"start_line":23,"start_character":0,"end_line":24,"end_character":59},"updated":"2016-01-11 15:32:33.000000000","message":"it\u0027s better if you import the module\n\nfrom watcher.common import exception","commit_id":"15421d845657ad3f6cad6713f515899ebe187be6"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"d6b29b735851a689c9902c823d911ce433f0ae59","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    host_cpu_usage_metric_name \u003d \u0027compute.node.cpu.percent\u0027"},{"line_number":40,"context_line":"    instance_cpu_usage_metric_name \u003d \u0027cpu_util\u0027"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    migration \u003d \"migrate\""},{"line_number":43,"context_line":"    change_nova_service_state \u003d \"change_nova_service_state\""},{"line_number":44,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"fa69d971_22ee77ed","line":41,"updated":"2016-01-11 15:32:33.000000000","message":"can you remove this blank line ?","commit_id":"15421d845657ad3f6cad6713f515899ebe187be6"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"ae441569e19b0b4fce69e9901698d149406ee254","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    host_cpu_usage_metric_name \u003d \u0027compute.node.cpu.percent\u0027"},{"line_number":40,"context_line":"    instance_cpu_usage_metric_name \u003d \u0027cpu_util\u0027"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    migration \u003d \"migrate\""},{"line_number":43,"context_line":"    change_nova_service_state \u003d \"change_nova_service_state\""},{"line_number":44,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"fa69d971_53533c17","line":41,"in_reply_to":"fa69d971_22ee77ed","updated":"2016-01-11 16:51:07.000000000","message":"I would prefer separate metrics and actions.","commit_id":"15421d845657ad3f6cad6713f515899ebe187be6"}],"watcher/decision_engine/strategy/strategies/dummy_strategy.py":[{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"d6b29b735851a689c9902c823d911ce433f0ae59","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def execute(self, model):"},{"line_number":37,"context_line":"        parameters \u003d {\u0027message\u0027: \u0027hello World\u0027,"},{"line_number":38,"context_line":"                      \u0027level\u0027: StrategyLevel.conservative.value}"},{"line_number":39,"context_line":"        self.solution.add_action(action_type\u003dself.action_nop,"},{"line_number":40,"context_line":"                                 applies_to\u003d\"\","},{"line_number":41,"context_line":"                                 action_type_version\u003d1,"}],"source_content_type":"text/x-python","patch_set":14,"id":"fa69d971_e22b7fe9","line":38,"range":{"start_line":38,"start_character":22,"end_line":38,"end_character":63},"updated":"2016-01-11 15:32:33.000000000","message":"Could \u0027level\u0027 key be an attributes of Action ?","commit_id":"15421d845657ad3f6cad6713f515899ebe187be6"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"ae441569e19b0b4fce69e9901698d149406ee254","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def execute(self, model):"},{"line_number":37,"context_line":"        parameters \u003d {\u0027message\u0027: \u0027hello World\u0027,"},{"line_number":38,"context_line":"                      \u0027level\u0027: StrategyLevel.conservative.value}"},{"line_number":39,"context_line":"        self.solution.add_action(action_type\u003dself.action_nop,"},{"line_number":40,"context_line":"                                 applies_to\u003d\"\","},{"line_number":41,"context_line":"                                 action_type_version\u003d1,"}],"source_content_type":"text/x-python","patch_set":14,"id":"fa69d971_339c88bf","line":38,"range":{"start_line":38,"start_character":22,"end_line":38,"end_character":63},"in_reply_to":"fa69d971_e22b7fe9","updated":"2016-01-11 16:51:07.000000000","message":"yes","commit_id":"15421d845657ad3f6cad6713f515899ebe187be6"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"0c3ec4d6ca23aa60c9157e98df4bcebe8bbc502d","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    DEFAULT_NAME \u003d \"dummy\""},{"line_number":28,"context_line":"    DEFAULT_DESCRIPTION \u003d \"Dummy Strategy\""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    action_nop \u003d \"nop\""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def __init__(self, name\u003dDEFAULT_NAME, description\u003dDEFAULT_DESCRIPTION):"},{"line_number":33,"context_line":"        super(DummyStrategy, self).__init__(name, description)"}],"source_content_type":"text/x-python","patch_set":21,"id":"da6ed579_1cbc7704","line":30,"range":{"start_line":30,"start_character":4,"end_line":30,"end_character":14},"updated":"2016-01-12 17:21:50.000000000","message":"Why do you have an \"action_\" prefix here in contrary to the action types declared in https://review.openstack.org/#/c/265185/21/watcher/decision_engine/strategy/strategies/basic_consolidation.py ?","commit_id":"2140d658d3836e46f33059f6b96a1ba8de42fac8"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"e896ed3c0201e39033f0b0a11b84f242c5371638","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    DEFAULT_NAME \u003d \"dummy\""},{"line_number":28,"context_line":"    DEFAULT_DESCRIPTION \u003d \"Dummy Strategy\""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    action_nop \u003d \"nop\""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def __init__(self, name\u003dDEFAULT_NAME, description\u003dDEFAULT_DESCRIPTION):"},{"line_number":33,"context_line":"        super(DummyStrategy, self).__init__(name, description)"}],"source_content_type":"text/x-python","patch_set":21,"id":"da6ed579_c86d9405","line":30,"range":{"start_line":30,"start_character":4,"end_line":30,"end_character":14},"in_reply_to":"da6ed579_1cbc7704","updated":"2016-01-13 09:49:29.000000000","message":"Done","commit_id":"2140d658d3836e46f33059f6b96a1ba8de42fac8"}],"watcher/decision_engine/strategy/strategies/outlet_temp_control.py":[{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"7feb6cb7b30a669c9a2464b3f828b1569883f132","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    # Unit: degree C"},{"line_number":39,"context_line":"    THRESHOLD \u003d 35.0"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    action_migration \u003d \"migrate\""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    def __init__(self, name\u003dDEFAULT_NAME, description\u003dDEFAULT_DESCRIPTION):"},{"line_number":44,"context_line":"        \"\"\"[PoC]Outlet temperature control using live migration"}],"source_content_type":"text/x-python","patch_set":28,"id":"da6ed579_0b008600","line":41,"range":{"start_line":41,"start_character":4,"end_line":41,"end_character":11},"updated":"2016-01-13 09:52:47.000000000","message":"there is a prefix here as well","commit_id":"a5ec4b5253990b8e5ccbc664190c3de821ec8ad7"}],"watcher/tests/decision_engine/planner/test_default_planner.py":[{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"0c3ec4d6ca23aa60c9157e98df4bcebe8bbc502d","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        metrics \u003d FakerMetricsCollector()"},{"line_number":38,"context_line":"        current_state_cluster \u003d FakerModelCollector()"},{"line_number":39,"context_line":"        sercon \u003d BasicConsolidation(\"basic\", \"Basic offline consolidation\")"},{"line_number":40,"context_line":"        sercon.ceilometer \u003d mock.\\"},{"line_number":41,"context_line":"            MagicMock(get_statistics\u003dmetrics.mock_get_statistics)"},{"line_number":42,"context_line":"        return sercon.execute(current_state_cluster.generate_scenario_1())"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"da6ed579_bcd3eb37","line":40,"range":{"start_line":40,"start_character":33,"end_line":40,"end_character":34},"updated":"2016-01-12 17:21:50.000000000","message":"Can you avoid this \\ ?","commit_id":"2140d658d3836e46f33059f6b96a1ba8de42fac8"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"e896ed3c0201e39033f0b0a11b84f242c5371638","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        metrics \u003d FakerMetricsCollector()"},{"line_number":38,"context_line":"        current_state_cluster \u003d FakerModelCollector()"},{"line_number":39,"context_line":"        sercon \u003d BasicConsolidation(\"basic\", \"Basic offline consolidation\")"},{"line_number":40,"context_line":"        sercon.ceilometer \u003d mock.\\"},{"line_number":41,"context_line":"            MagicMock(get_statistics\u003dmetrics.mock_get_statistics)"},{"line_number":42,"context_line":"        return sercon.execute(current_state_cluster.generate_scenario_1())"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"da6ed579_88b1dc91","line":40,"range":{"start_line":40,"start_character":33,"end_line":40,"end_character":34},"in_reply_to":"da6ed579_bcd3eb37","updated":"2016-01-13 09:49:29.000000000","message":"I will do it in an another patchset.","commit_id":"2140d658d3836e46f33059f6b96a1ba8de42fac8"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"0c3ec4d6ca23aa60c9157e98df4bcebe8bbc502d","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        metrics \u003d FakerMetricsCollector()"},{"line_number":49,"context_line":"        current_state_cluster \u003d FakerModelCollector()"},{"line_number":50,"context_line":"        sercon \u003d BasicConsolidation(\"basic\", \"Basic offline consolidation\")"},{"line_number":51,"context_line":"        sercon.ceilometer \u003d \\"},{"line_number":52,"context_line":"            mock.MagicMock(get_statistics\u003dmetrics.mock_get_statistics)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        return sercon.execute("}],"source_content_type":"text/x-python","patch_set":21,"id":"da6ed579_dcd81f56","line":51,"range":{"start_line":51,"start_character":28,"end_line":51,"end_character":29},"updated":"2016-01-12 17:21:50.000000000","message":"ditto","commit_id":"2140d658d3836e46f33059f6b96a1ba8de42fac8"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"e896ed3c0201e39033f0b0a11b84f242c5371638","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        metrics \u003d FakerMetricsCollector()"},{"line_number":49,"context_line":"        current_state_cluster \u003d FakerModelCollector()"},{"line_number":50,"context_line":"        sercon \u003d BasicConsolidation(\"basic\", \"Basic offline consolidation\")"},{"line_number":51,"context_line":"        sercon.ceilometer \u003d \\"},{"line_number":52,"context_line":"            mock.MagicMock(get_statistics\u003dmetrics.mock_get_statistics)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        return sercon.execute("}],"source_content_type":"text/x-python","patch_set":21,"id":"da6ed579_a8ace035","line":51,"range":{"start_line":51,"start_character":28,"end_line":51,"end_character":29},"in_reply_to":"da6ed579_dcd81f56","updated":"2016-01-13 09:49:29.000000000","message":"I will do it in an another patchset.","commit_id":"2140d658d3836e46f33059f6b96a1ba8de42fac8"}],"watcher/tests/decision_engine/solution/test_default_solution.py":[{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"0c3ec4d6ca23aa60c9157e98df4bcebe8bbc502d","unresolved":false,"context_lines":[{"line_number":13,"context_line":"# implied."},{"line_number":14,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":15,"context_line":"# limitations under the License."},{"line_number":16,"context_line":"from watcher.decision_engine.solution.default import DefaultSolution"},{"line_number":17,"context_line":"from watcher.tests import base"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"da6ed579_bca1abab","line":16,"range":{"start_line":16,"start_character":38,"end_line":16,"end_character":45},"updated":"2016-01-12 17:21:50.000000000","message":"nit: Can you import the module and not the class ?","commit_id":"2140d658d3836e46f33059f6b96a1ba8de42fac8"}]}
