)]}'
{"watcher/applier/actions/change_node_power_state.py":[{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"5120110b5781ee434298facbf48efde171eedec8","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"class ChangeNodePowerState(base.BaseAction):"},{"line_number":35,"context_line":"    \"\"\"Disables or enables the nova-compute service, deployed on a host"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    By using this action, you will be able to update the state of a"},{"line_number":38,"context_line":"    nova-compute service. A disabled nova-compute service can not be selected"}],"source_content_type":"text/x-python","patch_set":1,"id":"df140735_da580132","line":35,"range":{"start_line":35,"start_character":6,"end_line":35,"end_character":51},"updated":"2017-06-05 01:09:58.000000000","message":"Maybe you forgot updating comment :)","commit_id":"adda5dc7dbab053bf9e764e6eaee673b0ae06f3a"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"06b67ddcaa0fa921ad446f67ea689cbabc37e003","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"class ChangeNodePowerState(base.BaseAction):"},{"line_number":35,"context_line":"    \"\"\"Disables or enables the nova-compute service, deployed on a host"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    By using this action, you will be able to update the state of a"},{"line_number":38,"context_line":"    nova-compute service. A disabled nova-compute service can not be selected"}],"source_content_type":"text/x-python","patch_set":1,"id":"df140735_b0cd6986","line":35,"range":{"start_line":35,"start_character":6,"end_line":35,"end_character":51},"in_reply_to":"df140735_da580132","updated":"2017-06-05 08:28:30.000000000","message":"Done","commit_id":"adda5dc7dbab053bf9e764e6eaee673b0ae06f3a"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"5120110b5781ee434298facbf48efde171eedec8","unresolved":false,"context_lines":[{"line_number":95,"context_line":"        if state \u003d\u003d NodeState.POWEROFF.value:"},{"line_number":96,"context_line":"            node_info \u003d ironic_client.node.get(self.node_uuid).to_dict()"},{"line_number":97,"context_line":"            compute_node_id \u003d node_info[\u0027extra\u0027][\u0027compute_node_id\u0027]"},{"line_number":98,"context_line":"            compute_node \u003d nova_client.hypervisors.get(compute_node_id)"},{"line_number":99,"context_line":"            compute_node \u003d compute_node.to_dict()"},{"line_number":100,"context_line":"            if (compute_node[\u0027running_vms\u0027] \u003d\u003d 0):"},{"line_number":101,"context_line":"                result \u003d ironic_client.node.set_power_state("}],"source_content_type":"text/x-python","patch_set":1,"id":"df140735_ba154d42","line":98,"range":{"start_line":98,"start_character":27,"end_line":98,"end_character":71},"updated":"2017-06-05 01:09:58.000000000","message":"Why don\u0027t you use compute cluster data model?","commit_id":"adda5dc7dbab053bf9e764e6eaee673b0ae06f3a"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"ed9f206f0f529b6537363dd56662880299c1ece6","unresolved":false,"context_lines":[{"line_number":95,"context_line":"        if state \u003d\u003d NodeState.POWEROFF.value:"},{"line_number":96,"context_line":"            node_info \u003d ironic_client.node.get(self.node_uuid).to_dict()"},{"line_number":97,"context_line":"            compute_node_id \u003d node_info[\u0027extra\u0027][\u0027compute_node_id\u0027]"},{"line_number":98,"context_line":"            compute_node \u003d nova_client.hypervisors.get(compute_node_id)"},{"line_number":99,"context_line":"            compute_node \u003d compute_node.to_dict()"},{"line_number":100,"context_line":"            if (compute_node[\u0027running_vms\u0027] \u003d\u003d 0):"},{"line_number":101,"context_line":"                result \u003d ironic_client.node.set_power_state("}],"source_content_type":"text/x-python","patch_set":1,"id":"df140735_25d91e56","line":98,"range":{"start_line":98,"start_character":27,"end_line":98,"end_character":71},"in_reply_to":"df140735_ba154d42","updated":"2017-06-05 02:26:26.000000000","message":"sorry i noticed we can not use data model from action.","commit_id":"adda5dc7dbab053bf9e764e6eaee673b0ae06f3a"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"7c6848cdaa9c13b9e82578feb00be09c2da038ec","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    The `resource_id` references a ironic node id (list of available"},{"line_number":48,"context_line":"    ironic node is returned by this command: ``ironic node-list``)."},{"line_number":49,"context_line":"    The `state` value should either be `ON` or `OFF`."},{"line_number":50,"context_line":"    \"\"\""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    STATE \u003d \u0027state\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"df140735_a1e502de","line":49,"range":{"start_line":49,"start_character":39,"end_line":49,"end_character":52},"updated":"2017-06-06 00:28:32.000000000","message":"Small letter is correct from code.","commit_id":"824c6632ffa71b858d59adf43c23c0b5737b0c08"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"20f361809f07f544e50aa665068e4e5162d83c37","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    The `resource_id` references a ironic node id (list of available"},{"line_number":48,"context_line":"    ironic node is returned by this command: ``ironic node-list``)."},{"line_number":49,"context_line":"    The `state` value should either be `ON` or `OFF`."},{"line_number":50,"context_line":"    \"\"\""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    STATE \u003d \u0027state\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"df140735_8c7b4e8a","line":49,"range":{"start_line":49,"start_character":39,"end_line":49,"end_character":52},"in_reply_to":"df140735_a1e502de","updated":"2017-06-06 05:52:27.000000000","message":"Done","commit_id":"824c6632ffa71b858d59adf43c23c0b5737b0c08"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"5affc316ffad997f4eabb162bb3ffe78c7d95ef4","unresolved":false,"context_lines":[{"line_number":26,"context_line":"from watcher.common import exception"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"class NodeState(enum.Enum):"},{"line_number":30,"context_line":"    POWERON \u003d \u0027on\u0027"},{"line_number":31,"context_line":"    POWEROFF \u003d \u0027off\u0027"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"class ChangeNodePowerState(base.BaseAction):"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f201791_fbc5ac5c","line":31,"range":{"start_line":29,"start_character":0,"end_line":31,"end_character":20},"updated":"2017-06-21 09:07:31.000000000","message":"Should consider how to embedded into compute CDM.","commit_id":"1188d4263dc02690a8b4c9fa89441ff4ff7c3f41"},{"author":{"_account_id":25026,"name":"Bin Zhou","email":"lakerzhou@gmail.com","username":"lakerzhou"},"change_message_id":"06cb770f443fc11ed45d0f7dd55fd18ecd122d3d","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        if state \u003d\u003d NodeState.POWEROFF.value:"},{"line_number":94,"context_line":"            node_info \u003d ironic_client.node.get(self.node_uuid).to_dict()"},{"line_number":95,"context_line":"            compute_node_id \u003d node_info[\u0027extra\u0027][\u0027compute_node_id\u0027]"},{"line_number":96,"context_line":"            compute_node \u003d nova_client.hypervisors.get(compute_node_id)"},{"line_number":97,"context_line":"            compute_node \u003d compute_node.to_dict()"},{"line_number":98,"context_line":"            if (compute_node[\u0027running_vms\u0027] \u003d\u003d 0):"},{"line_number":99,"context_line":"                result \u003d ironic_client.node.set_power_state("},{"line_number":100,"context_line":"                    self.node_uuid, state)"}],"source_content_type":"text/x-python","patch_set":6,"id":"7f231b9d_82796994","line":97,"range":{"start_line":96,"start_character":0,"end_line":97,"end_character":49},"updated":"2017-06-13 15:14:24.000000000","message":"make it oneline.","commit_id":"1188d4263dc02690a8b4c9fa89441ff4ff7c3f41"}],"watcher/decision_engine/planner/weight.py":[{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"22da23024584165120d357c0539f3a602e6f82a3","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        \u0027sleep\u0027: 40,"},{"line_number":54,"context_line":"        \u0027change_nova_service_state\u0027: 50,"},{"line_number":55,"context_line":"        \u0027nop\u0027: 60,"},{"line_number":56,"context_line":"        \u0027change_node_power_state\u0027: 10,"},{"line_number":57,"context_line":"    }"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    parallelization \u003d {"}],"source_content_type":"text/x-python","patch_set":4,"id":"df140735_7b375be5","line":56,"range":{"start_line":56,"start_character":9,"end_line":56,"end_character":37},"updated":"2017-06-07 12:43:06.000000000","message":"please make the weight a unique number like 9 or 11 so we know if it should come before or after \u0027turn_host_to_acpi_s3_state\u0027.\nAlso can you sort it within the list so action weights are in descending order?","commit_id":"de4994be8fc38a02143c08535f980bb8a9b96ea5"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"1adaded0ecaa5bf6964d09415e5ff98ca2309c7e","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        \u0027sleep\u0027: 40,"},{"line_number":54,"context_line":"        \u0027change_nova_service_state\u0027: 50,"},{"line_number":55,"context_line":"        \u0027nop\u0027: 60,"},{"line_number":56,"context_line":"        \u0027change_node_power_state\u0027: 10,"},{"line_number":57,"context_line":"    }"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    parallelization \u003d {"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f0e0f27_3de9f77f","line":56,"range":{"start_line":56,"start_character":9,"end_line":56,"end_character":37},"in_reply_to":"df140735_7b375be5","updated":"2017-06-09 08:29:44.000000000","message":"Done","commit_id":"de4994be8fc38a02143c08535f980bb8a9b96ea5"}]}
