)]}'
{"ironic/conductor/manager.py":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"ccc3ffcee51eba610cb844ac36e2b2e9ed78baa6","unresolved":false,"context_lines":[{"line_number":909,"context_line":"            # do it in this thread since we\u0027re already out of the main"},{"line_number":910,"context_line":"            # conductor thread."},{"line_number":911,"context_line":"            if node.console_enabled:"},{"line_number":912,"context_line":"                self._set_console_mode(task, False)"},{"line_number":913,"context_line":"            task.driver.deploy.clean_up(task)"},{"line_number":914,"context_line":"            task.driver.deploy.tear_down(task)"},{"line_number":915,"context_line":"        except Exception as e:"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_d33da7dd","line":912,"updated":"2018-05-10 17:56:08.000000000","message":"I wonder. if this is a problem, wouldn\u0027t it be better to continue cleaning up/tearing down?\n\nWell, I suppose it is an issue regardless if it errors here, or in .clean_up, or .tear_down. We\u0027ve only partially torn it down.","commit_id":"a86400f8240d4a2fbe3f8ea65f84e4d66d6b15e7"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"ab2aa58553762326667472e16b72dfc8e56dedbb","unresolved":false,"context_lines":[{"line_number":909,"context_line":"            # do it in this thread since we\u0027re already out of the main"},{"line_number":910,"context_line":"            # conductor thread."},{"line_number":911,"context_line":"            if node.console_enabled:"},{"line_number":912,"context_line":"                self._set_console_mode(task, False)"},{"line_number":913,"context_line":"            task.driver.deploy.clean_up(task)"},{"line_number":914,"context_line":"            task.driver.deploy.tear_down(task)"},{"line_number":915,"context_line":"        except Exception as e:"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_bcdb177a","line":912,"in_reply_to":"5f7c97a3_36696820","updated":"2018-05-10 20:52:33.000000000","message":"Yes, we shouldn\u0027t allow it to continue if there\u0027s an error shutting down the console. Otherwise the user could continue to have console access through provisioning, which is baaaaad.\n\nWe hard-fail on switching networking to the cleaning network for the same reason.","commit_id":"a86400f8240d4a2fbe3f8ea65f84e4d66d6b15e7"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"98409cbfb72581bd9580c4e474af1a1d2d629784","unresolved":false,"context_lines":[{"line_number":909,"context_line":"            # do it in this thread since we\u0027re already out of the main"},{"line_number":910,"context_line":"            # conductor thread."},{"line_number":911,"context_line":"            if node.console_enabled:"},{"line_number":912,"context_line":"                self._set_console_mode(task, False)"},{"line_number":913,"context_line":"            task.driver.deploy.clean_up(task)"},{"line_number":914,"context_line":"            task.driver.deploy.tear_down(task)"},{"line_number":915,"context_line":"        except Exception as e:"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_36696820","line":912,"in_reply_to":"5f7c97a3_d33da7dd","updated":"2018-05-10 19:18:59.000000000","message":"I feel like it might be, but we likely should just allow for the tear_down to fail so the user can retry (in theory I guess) if there is an issue. :\\","commit_id":"a86400f8240d4a2fbe3f8ea65f84e4d66d6b15e7"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"ccc3ffcee51eba610cb844ac36e2b2e9ed78baa6","unresolved":false,"context_lines":[{"line_number":2164,"context_line":"        \"\"\"Internal method to set console mode on a node.\"\"\""},{"line_number":2165,"context_line":"        node \u003d task.node"},{"line_number":2166,"context_line":"        notify_utils.emit_console_notification("},{"line_number":2167,"context_line":"            task, \u0027console_set\u0027, fields.NotificationStatus.START)"},{"line_number":2168,"context_line":"        try:"},{"line_number":2169,"context_line":"            if enabled:"},{"line_number":2170,"context_line":"                task.driver.console.start_console(task)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_d354c600","line":2167,"updated":"2018-05-10 17:56:08.000000000","message":"The doc [1] sez this is emitted if initiated via an API request. (I suppose we can interpret \u0027API request\u0027 to include deletion of a node?) I am unopinionated as to whether we should do this or not, when tearing down. But we should make sure the doc is in sync with the code.\n\n[1] https://docs.openstack.org/ironic/latest/admin/notifications.html#node-console-notifications","commit_id":"a86400f8240d4a2fbe3f8ea65f84e4d66d6b15e7"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"ab2aa58553762326667472e16b72dfc8e56dedbb","unresolved":false,"context_lines":[{"line_number":2164,"context_line":"        \"\"\"Internal method to set console mode on a node.\"\"\""},{"line_number":2165,"context_line":"        node \u003d task.node"},{"line_number":2166,"context_line":"        notify_utils.emit_console_notification("},{"line_number":2167,"context_line":"            task, \u0027console_set\u0027, fields.NotificationStatus.START)"},{"line_number":2168,"context_line":"        try:"},{"line_number":2169,"context_line":"            if enabled:"},{"line_number":2170,"context_line":"                task.driver.console.start_console(task)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_bcc47792","line":2167,"in_reply_to":"5f7c97a3_d354c600","updated":"2018-05-10 20:52:33.000000000","message":"Ugh, will fix.","commit_id":"a86400f8240d4a2fbe3f8ea65f84e4d66d6b15e7"}],"ironic/tests/unit/conductor/test_manager.py":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"ccc3ffcee51eba610cb844ac36e2b2e9ed78baa6","unresolved":false,"context_lines":[{"line_number":1859,"context_line":"        self._test__do_node_tear_down_ok(enabled_console\u003dFalse)"},{"line_number":1860,"context_line":""},{"line_number":1861,"context_line":"    def test__do_node_tear_down_ok_with_console(self):"},{"line_number":1862,"context_line":"        self._test__do_node_tear_down_ok(enabled_console\u003dTrue)"},{"line_number":1863,"context_line":""},{"line_number":1864,"context_line":"    @mock.patch(\u0027ironic.drivers.modules.fake.FakeRescue.clean_up\u0027)"},{"line_number":1865,"context_line":"    @mock.patch(\u0027ironic.conductor.manager.ConductorManager._do_node_clean\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_936baeb5","line":1862,"updated":"2018-05-10 17:56:08.000000000","message":"should we test what happens when ._set_console_mode raises an Exception?","commit_id":"a86400f8240d4a2fbe3f8ea65f84e4d66d6b15e7"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"ab2aa58553762326667472e16b72dfc8e56dedbb","unresolved":false,"context_lines":[{"line_number":1859,"context_line":"        self._test__do_node_tear_down_ok(enabled_console\u003dFalse)"},{"line_number":1860,"context_line":""},{"line_number":1861,"context_line":"    def test__do_node_tear_down_ok_with_console(self):"},{"line_number":1862,"context_line":"        self._test__do_node_tear_down_ok(enabled_console\u003dTrue)"},{"line_number":1863,"context_line":""},{"line_number":1864,"context_line":"    @mock.patch(\u0027ironic.drivers.modules.fake.FakeRescue.clean_up\u0027)"},{"line_number":1865,"context_line":"    @mock.patch(\u0027ironic.conductor.manager.ConductorManager._do_node_clean\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_7c4fbf33","line":1862,"in_reply_to":"5f7c97a3_16c9cc24","updated":"2018-05-10 20:52:33.000000000","message":"Sure.","commit_id":"a86400f8240d4a2fbe3f8ea65f84e4d66d6b15e7"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"98409cbfb72581bd9580c4e474af1a1d2d629784","unresolved":false,"context_lines":[{"line_number":1859,"context_line":"        self._test__do_node_tear_down_ok(enabled_console\u003dFalse)"},{"line_number":1860,"context_line":""},{"line_number":1861,"context_line":"    def test__do_node_tear_down_ok_with_console(self):"},{"line_number":1862,"context_line":"        self._test__do_node_tear_down_ok(enabled_console\u003dTrue)"},{"line_number":1863,"context_line":""},{"line_number":1864,"context_line":"    @mock.patch(\u0027ironic.drivers.modules.fake.FakeRescue.clean_up\u0027)"},{"line_number":1865,"context_line":"    @mock.patch(\u0027ironic.conductor.manager.ConductorManager._do_node_clean\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_16c9cc24","line":1862,"in_reply_to":"5f7c97a3_936baeb5","updated":"2018-05-10 19:18:59.000000000","message":"Ideally, but I\u0027m good with it being a follow-up test addition.","commit_id":"a86400f8240d4a2fbe3f8ea65f84e4d66d6b15e7"}],"releasenotes/notes/stop-console-during-unprovision-a29d8facb3f03be5.yaml":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"98409cbfb72581bd9580c4e474af1a1d2d629784","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"security:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Before this patch, when unprovisioning a node, the console was left"},{"line_number":5,"context_line":"    running. This allowed a user to view the console even after the instance"},{"line_number":6,"context_line":"    was gone. Ironic now stops the console during unprovisioning to block this."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"5f7c97a3_b6d9f8f3","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":22},"updated":"2018-05-10 19:18:59.000000000","message":"s/Before this patch, when/Fixes an issue/ ?","commit_id":"a86400f8240d4a2fbe3f8ea65f84e4d66d6b15e7"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f5b4c70e231be4cf7683460014d0fe870043ccb5","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"security:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Before this patch, when unprovisioning a node, the console was left"},{"line_number":5,"context_line":"    running. This allowed a user to view the console even after the instance"},{"line_number":6,"context_line":"    was gone. Ironic now stops the console during unprovisioning to block this."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"5f7c97a3_47330cf7","line":4,"updated":"2018-05-10 21:08:51.000000000","message":"Julia, one of us can update this before approving. I feel like it can be improved on, but I\u0027m too tired to want to word smith.","commit_id":"9b2011bf63794274fee34efb3b59d8303c33b510"}]}
