)]}'
{"ironic/conductor/manager.py":[{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"0e9451e17c6c32ebc49629ef858555fd4843c04a","unresolved":false,"context_lines":[{"line_number":1411,"context_line":""},{"line_number":1412,"context_line":"        :param task: a TaskManager instance"},{"line_number":1413,"context_line":"        \"\"\""},{"line_number":1414,"context_line":"        LOG.debug(\u0027Conductor %(cdr)s taking over node %(node)s\u0027,"},{"line_number":1415,"context_line":"                  {\u0027cdr\u0027: self.host, \u0027node\u0027: task.node.uuid})"},{"line_number":1416,"context_line":"        task.driver.deploy.prepare(task)"},{"line_number":1417,"context_line":"        task.driver.deploy.take_over(task)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a1ced50_b9d97e59","line":1414,"updated":"2017-03-21 23:43:12.000000000","message":"Thanks for the review, Solio. I removed the extra () here inadvertently and it is not related to the patch.","commit_id":"efb8b06e6e3490cab0918b1a18a108f9eb9c875e"},{"author":{"_account_id":22860,"name":"Solio Sarabia","email":"solio.sarabia@intel.com","username":"ssarabia"},"change_message_id":"c9fba39a21374db8a027f6b85b2fb4a571506bc9","unresolved":false,"context_lines":[{"line_number":1794,"context_line":"            task.driver.console.validate(task)"},{"line_number":1795,"context_line":""},{"line_number":1796,"context_line":"            if enabled \u003d\u003d node.console_enabled:"},{"line_number":1797,"context_line":"                op \u003d _(\u0027enabled\u0027) if enabled else _(\u0027disabled\u0027)"},{"line_number":1798,"context_line":"                LOG.info(\"No console action was triggered because the \""},{"line_number":1799,"context_line":"                         \"console is already %s\", op)"},{"line_number":1800,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a1ced50_9983e255","line":1797,"range":{"start_line":1797,"start_character":0,"end_line":1797,"end_character":63},"updated":"2017-03-21 23:30:21.000000000","message":"(Somewhat unrelated to this patch)\nThese two strings should not use _(), since \u0027op\u0027 is not passed outside the context/method.\n\nhttps://docs.openstack.org/developer/oslo.i18n/guidelines.html#choosing-a-marker-function","commit_id":"efb8b06e6e3490cab0918b1a18a108f9eb9c875e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"1bf2590b71a3b0054d4b3355b1841614a8ac57f1","unresolved":false,"context_lines":[{"line_number":1794,"context_line":"            task.driver.console.validate(task)"},{"line_number":1795,"context_line":""},{"line_number":1796,"context_line":"            if enabled \u003d\u003d node.console_enabled:"},{"line_number":1797,"context_line":"                op \u003d _(\u0027enabled\u0027) if enabled else _(\u0027disabled\u0027)"},{"line_number":1798,"context_line":"                LOG.info(\"No console action was triggered because the \""},{"line_number":1799,"context_line":"                         \"console is already %s\", op)"},{"line_number":1800,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a1ced50_d038a8d5","line":1797,"updated":"2017-03-22 17:10:43.000000000","message":"It\u0027s actually quite related to this patch, but I\u0027m fine with a follow-up","commit_id":"efb8b06e6e3490cab0918b1a18a108f9eb9c875e"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"0e9451e17c6c32ebc49629ef858555fd4843c04a","unresolved":false,"context_lines":[{"line_number":1794,"context_line":"            task.driver.console.validate(task)"},{"line_number":1795,"context_line":""},{"line_number":1796,"context_line":"            if enabled \u003d\u003d node.console_enabled:"},{"line_number":1797,"context_line":"                op \u003d _(\u0027enabled\u0027) if enabled else _(\u0027disabled\u0027)"},{"line_number":1798,"context_line":"                LOG.info(\"No console action was triggered because the \""},{"line_number":1799,"context_line":"                         \"console is already %s\", op)"},{"line_number":1800,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a1ced50_99a202ad","line":1797,"range":{"start_line":1797,"start_character":0,"end_line":1797,"end_character":63},"in_reply_to":"1a1ced50_9983e255","updated":"2017-03-21 23:43:12.000000000","message":"It is probably best to submit a separate patch for this one.","commit_id":"efb8b06e6e3490cab0918b1a18a108f9eb9c875e"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"f1a2678d7dbf478ccb6dff36c0c94f8a2e78f490","unresolved":false,"context_lines":[{"line_number":1794,"context_line":"            task.driver.console.validate(task)"},{"line_number":1795,"context_line":""},{"line_number":1796,"context_line":"            if enabled \u003d\u003d node.console_enabled:"},{"line_number":1797,"context_line":"                op \u003d _(\u0027enabled\u0027) if enabled else _(\u0027disabled\u0027)"},{"line_number":1798,"context_line":"                LOG.info(\"No console action was triggered because the \""},{"line_number":1799,"context_line":"                         \"console is already %s\", op)"},{"line_number":1800,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a1ced50_bbd4e0eb","line":1797,"in_reply_to":"1a1ced50_d038a8d5","updated":"2017-03-22 23:41:45.000000000","message":"Done","commit_id":"efb8b06e6e3490cab0918b1a18a108f9eb9c875e"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"d21c902790b749e656eb5d765d78640df3b7bfe0","unresolved":false,"context_lines":[{"line_number":1794,"context_line":"            task.driver.console.validate(task)"},{"line_number":1795,"context_line":""},{"line_number":1796,"context_line":"            if enabled \u003d\u003d node.console_enabled:"},{"line_number":1797,"context_line":"                op \u003d _(\u0027enabled\u0027) if enabled else _(\u0027disabled\u0027)"},{"line_number":1798,"context_line":"                LOG.info(\"No console action was triggered because the \""},{"line_number":1799,"context_line":"                         \"console is already %s\", op)"},{"line_number":1800,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a1ced50_ea5cc84c","line":1797,"in_reply_to":"1a1ced50_d038a8d5","updated":"2017-03-22 22:04:08.000000000","message":"Hi Dmitry, thanks. Posted a follow-up patch to address this and the other issues mentioned.","commit_id":"efb8b06e6e3490cab0918b1a18a108f9eb9c875e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"1bf2590b71a3b0054d4b3355b1841614a8ac57f1","unresolved":false,"context_lines":[{"line_number":2122,"context_line":"            except Exception as e:"},{"line_number":2123,"context_line":"                LOG.warning("},{"line_number":2124,"context_line":"                    \"Failed to get sensor data for node %(node)s. \""},{"line_number":2125,"context_line":"                    \"Error: %(error)s\", {\u0027node\u0027: node_uuid, \u0027error\u0027: str(e)})"},{"line_number":2126,"context_line":"            else:"},{"line_number":2127,"context_line":"                message[\u0027payload\u0027] \u003d ("},{"line_number":2128,"context_line":"                    self._filter_out_unsupported_types(sensors_data))"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a1ced50_f033e4f3","line":2125,"updated":"2017-03-22 17:10:43.000000000","message":"nit for potential fixing: str\u0027ing errors before passing them into formatting is redundant, %s implies str()","commit_id":"efb8b06e6e3490cab0918b1a18a108f9eb9c875e"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"d21c902790b749e656eb5d765d78640df3b7bfe0","unresolved":false,"context_lines":[{"line_number":2122,"context_line":"            except Exception as e:"},{"line_number":2123,"context_line":"                LOG.warning("},{"line_number":2124,"context_line":"                    \"Failed to get sensor data for node %(node)s. \""},{"line_number":2125,"context_line":"                    \"Error: %(error)s\", {\u0027node\u0027: node_uuid, \u0027error\u0027: str(e)})"},{"line_number":2126,"context_line":"            else:"},{"line_number":2127,"context_line":"                message[\u0027payload\u0027] \u003d ("},{"line_number":2128,"context_line":"                    self._filter_out_unsupported_types(sensors_data))"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a1ced50_6a37f8fe","line":2125,"in_reply_to":"1a1ced50_f033e4f3","updated":"2017-03-22 22:04:08.000000000","message":"Ditto.","commit_id":"efb8b06e6e3490cab0918b1a18a108f9eb9c875e"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"f1a2678d7dbf478ccb6dff36c0c94f8a2e78f490","unresolved":false,"context_lines":[{"line_number":2122,"context_line":"            except Exception as e:"},{"line_number":2123,"context_line":"                LOG.warning("},{"line_number":2124,"context_line":"                    \"Failed to get sensor data for node %(node)s. \""},{"line_number":2125,"context_line":"                    \"Error: %(error)s\", {\u0027node\u0027: node_uuid, \u0027error\u0027: str(e)})"},{"line_number":2126,"context_line":"            else:"},{"line_number":2127,"context_line":"                message[\u0027payload\u0027] \u003d ("},{"line_number":2128,"context_line":"                    self._filter_out_unsupported_types(sensors_data))"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a1ced50_dbcfdc53","line":2125,"in_reply_to":"1a1ced50_f033e4f3","updated":"2017-03-22 23:41:45.000000000","message":"Done","commit_id":"efb8b06e6e3490cab0918b1a18a108f9eb9c875e"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"a98c726f58946d23e9489eab5752beed55d0e101","unresolved":false,"context_lines":[{"line_number":2122,"context_line":"            except Exception as e:"},{"line_number":2123,"context_line":"                LOG.warning("},{"line_number":2124,"context_line":"                    \"Failed to get sensor data for node %(node)s. \""},{"line_number":2125,"context_line":"                    \"Error: %(error)s\", {\u0027node\u0027: node_uuid, \u0027error\u0027: e})"},{"line_number":2126,"context_line":"            else:"},{"line_number":2127,"context_line":"                message[\u0027payload\u0027] \u003d ("},{"line_number":2128,"context_line":"                    self._filter_out_unsupported_types(sensors_data))"}],"source_content_type":"text/x-python","patch_set":3,"id":"ffe62b97_0bbf9061","line":2125,"updated":"2017-03-27 17:18:10.000000000","message":"I guess this change is okay.","commit_id":"d82fb9a9a2817ef5b7a6c91115e2b2bf5cfebebc"}],"ironic/conductor/utils.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"1bf2590b71a3b0054d4b3355b1841614a8ac57f1","unresolved":false,"context_lines":[{"line_number":305,"context_line":"            task.driver.deploy.tear_down_cleaning(task)"},{"line_number":306,"context_line":"        except Exception as e:"},{"line_number":307,"context_line":"            msg \u003d (\u0027Failed to tear down cleaning on node %(uuid)s, \u0027"},{"line_number":308,"context_line":"                   \u0027reason: %(err)s\u0027, {\u0027err\u0027: e, \u0027uuid\u0027: node.uuid})"},{"line_number":309,"context_line":"            LOG.exception(msg)"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"    if set_fail_state:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a1ced50_102fa088","line":308,"updated":"2017-03-22 17:10:43.000000000","message":"this needs fixing: either % should be used instead of , or we should pass 2 arguments to LOG.exception. currently msg ends up being a tuple","commit_id":"efb8b06e6e3490cab0918b1a18a108f9eb9c875e"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"d21c902790b749e656eb5d765d78640df3b7bfe0","unresolved":false,"context_lines":[{"line_number":305,"context_line":"            task.driver.deploy.tear_down_cleaning(task)"},{"line_number":306,"context_line":"        except Exception as e:"},{"line_number":307,"context_line":"            msg \u003d (\u0027Failed to tear down cleaning on node %(uuid)s, \u0027"},{"line_number":308,"context_line":"                   \u0027reason: %(err)s\u0027, {\u0027err\u0027: e, \u0027uuid\u0027: node.uuid})"},{"line_number":309,"context_line":"            LOG.exception(msg)"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"    if set_fail_state:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a1ced50_6a1e1871","line":308,"in_reply_to":"1a1ced50_102fa088","updated":"2017-03-22 22:04:08.000000000","message":"Fixed in the follow-up patch. Thanks.","commit_id":"efb8b06e6e3490cab0918b1a18a108f9eb9c875e"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"f1a2678d7dbf478ccb6dff36c0c94f8a2e78f490","unresolved":false,"context_lines":[{"line_number":305,"context_line":"            task.driver.deploy.tear_down_cleaning(task)"},{"line_number":306,"context_line":"        except Exception as e:"},{"line_number":307,"context_line":"            msg \u003d (\u0027Failed to tear down cleaning on node %(uuid)s, \u0027"},{"line_number":308,"context_line":"                   \u0027reason: %(err)s\u0027, {\u0027err\u0027: e, \u0027uuid\u0027: node.uuid})"},{"line_number":309,"context_line":"            LOG.exception(msg)"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"    if set_fail_state:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a1ced50_7be6e8e8","line":308,"in_reply_to":"1a1ced50_6a1e1871","updated":"2017-03-22 23:41:45.000000000","message":"Done","commit_id":"efb8b06e6e3490cab0918b1a18a108f9eb9c875e"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"a98c726f58946d23e9489eab5752beed55d0e101","unresolved":false,"context_lines":[{"line_number":304,"context_line":"        try:"},{"line_number":305,"context_line":"            task.driver.deploy.tear_down_cleaning(task)"},{"line_number":306,"context_line":"        except Exception as e:"},{"line_number":307,"context_line":"            msg \u003d (\u0027Failed to tear down cleaning on node %(uuid)s, \u0027"},{"line_number":308,"context_line":"                   \u0027reason: %(err)s\u0027 % {\u0027err\u0027: e, \u0027uuid\u0027: node.uuid})"},{"line_number":309,"context_line":"            LOG.exception(msg)"},{"line_number":310,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"ffe62b97_cbe768e4","line":307,"updated":"2017-03-27 17:18:10.000000000","message":"Maybe a follow-up to put this code inside the LOG.exception.\n\nNot now as unrelated.","commit_id":"d82fb9a9a2817ef5b7a6c91115e2b2bf5cfebebc"}]}
