)]}'
{"nova/api/openstack/compute/remote_consoles.py":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"4a5d91b5a40d50621eadd46f3fec79da85540322","unresolved":false,"context_lines":[{"line_number":54,"context_line":"            output \u003d self.compute_api.get_vnc_console(context,"},{"line_number":55,"context_line":"                                                      instance,"},{"line_number":56,"context_line":"                                                      console_type)"},{"line_number":57,"context_line":"        except (exception.ConsoleTypeInvalid,"},{"line_number":58,"context_line":"                exception.ConsoleTypeUnavailable) as e:"},{"line_number":59,"context_line":"            raise webob.exc.HTTPBadRequest(explanation\u003de.format_message())"},{"line_number":60,"context_line":"        except (exception.InstanceUnknownCell,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9aed3d3a_d39eef05","line":57,"updated":"2016-03-01 05:14:37.000000000","message":"IMO, ConsoleTypeInvalid exception is never raised because there is a schema validation.\nSo this is not necessary.","commit_id":"9c6a35e6aff3fb53b2079477ae2826dcc7c9b9ac"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"4a5d91b5a40d50621eadd46f3fec79da85540322","unresolved":false,"context_lines":[{"line_number":84,"context_line":"            output \u003d self.compute_api.get_spice_console(context,"},{"line_number":85,"context_line":"                                                        instance,"},{"line_number":86,"context_line":"                                                        console_type)"},{"line_number":87,"context_line":"        except (exception.ConsoleTypeInvalid,"},{"line_number":88,"context_line":"                exception.ConsoleTypeUnavailable) as e:"},{"line_number":89,"context_line":"            raise webob.exc.HTTPBadRequest(explanation\u003de.format_message())"},{"line_number":90,"context_line":"        except (exception.InstanceUnknownCell,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9aed3d3a_b3a1ab48","line":87,"range":{"start_line":87,"start_character":16,"end_line":87,"end_character":45},"updated":"2016-03-01 05:14:37.000000000","message":"ditto","commit_id":"9c6a35e6aff3fb53b2079477ae2826dcc7c9b9ac"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"4a5d91b5a40d50621eadd46f3fec79da85540322","unresolved":false,"context_lines":[{"line_number":116,"context_line":"            output \u003d self.compute_api.get_rdp_console(context,"},{"line_number":117,"context_line":"                                                      instance,"},{"line_number":118,"context_line":"                                                      console_type)"},{"line_number":119,"context_line":"        except (exception.ConsoleTypeInvalid,"},{"line_number":120,"context_line":"                exception.ConsoleTypeUnavailable) as e:"},{"line_number":121,"context_line":"            raise webob.exc.HTTPBadRequest(explanation\u003de.format_message())"},{"line_number":122,"context_line":"        except (exception.InstanceUnknownCell,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9aed3d3a_138df7d5","line":119,"range":{"start_line":119,"start_character":16,"end_line":119,"end_character":44},"updated":"2016-03-01 05:14:37.000000000","message":"ditto","commit_id":"9c6a35e6aff3fb53b2079477ae2826dcc7c9b9ac"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"4a5d91b5a40d50621eadd46f3fec79da85540322","unresolved":false,"context_lines":[{"line_number":150,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003de.format_message())"},{"line_number":151,"context_line":"        except exception.InstanceNotReady as e:"},{"line_number":152,"context_line":"            raise webob.exc.HTTPConflict(explanation\u003de.format_message())"},{"line_number":153,"context_line":"        except (exception.ConsoleTypeInvalid,"},{"line_number":154,"context_line":"                exception.ConsoleTypeUnavailable,"},{"line_number":155,"context_line":"                exception.ImageSerialPortNumberInvalid,"},{"line_number":156,"context_line":"                exception.ImageSerialPortNumberExceedFlavorValue,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9aed3d3a_13069751","line":153,"range":{"start_line":153,"start_character":16,"end_line":153,"end_character":44},"updated":"2016-03-01 05:14:37.000000000","message":"The \u0027get_serial_console\u0027 method in nova/compute/manager never raises ConsoleTypeInvalid Exception.\nSo this is not necessary.","commit_id":"9c6a35e6aff3fb53b2079477ae2826dcc7c9b9ac"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"940042751cae4dd6516eb4e1f803449aec212df2","unresolved":false,"context_lines":[{"line_number":150,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003de.format_message())"},{"line_number":151,"context_line":"        except exception.InstanceNotReady as e:"},{"line_number":152,"context_line":"            raise webob.exc.HTTPConflict(explanation\u003de.format_message())"},{"line_number":153,"context_line":"        except (exception.ConsoleTypeInvalid,"},{"line_number":154,"context_line":"                exception.ConsoleTypeUnavailable,"},{"line_number":155,"context_line":"                exception.ImageSerialPortNumberInvalid,"},{"line_number":156,"context_line":"                exception.ImageSerialPortNumberExceedFlavorValue,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9aed3d3a_a49e83b6","line":153,"range":{"start_line":153,"start_character":16,"end_line":153,"end_character":44},"in_reply_to":"9aed3d3a_13069751","updated":"2016-03-01 06:29:53.000000000","message":"hi, yeah, I think you are right, for old api version \u003c 2.6, we don\u0027t need to care about this.","commit_id":"9c6a35e6aff3fb53b2079477ae2826dcc7c9b9ac"}],"nova/tests/unit/api/openstack/compute/test_remote_consoles.py":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"2bb436274cf7fc74962ff084b2a7c9713f12086d","unresolved":false,"context_lines":[{"line_number":572,"context_line":"        self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create,"},{"line_number":573,"context_line":"                          self.req, fakes.FAKE_UUID, body\u003dbody)"},{"line_number":574,"context_line":""},{"line_number":575,"context_line":"    @mock.patch.object(compute_api.API, \u0027get\u0027, return_value\u003d\u0027fake_instance\u0027)"},{"line_number":576,"context_line":"    def test_create_console_invalid_type(self, mock_get):"},{"line_number":577,"context_line":"        mock_handler \u003d mock.MagicMock()"},{"line_number":578,"context_line":"        mock_handler.side_effect \u003d ("},{"line_number":579,"context_line":"            exception.ConsoleTypeInvalid(console_type\u003d\u0027invalid_type\u0027))"},{"line_number":580,"context_line":"        self.controller.handlers[\u0027serial\u0027] \u003d mock_handler"},{"line_number":581,"context_line":"        body \u003d {\u0027remote_console\u0027: {\u0027protocol\u0027: \u0027serial\u0027, \u0027type\u0027: \u0027xvpvnc\u0027}}"},{"line_number":582,"context_line":"        self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create,"},{"line_number":583,"context_line":"                          self.req, fakes.FAKE_UUID, body\u003dbody)"},{"line_number":584,"context_line":""},{"line_number":585,"context_line":""},{"line_number":586,"context_line":"class ConsolesExtensionTestV28(ConsolesExtensionTestV26):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5aef4532_26acfcec","line":583,"range":{"start_line":575,"start_character":4,"end_line":583,"end_character":63},"updated":"2016-03-07 08:18:13.000000000","message":"You should move this test into ConsolesExtensionTestV21, as this is available for ConsolesExtensionTestV21","commit_id":"7c2cab6208a5fb51f2e735fcce43b6028fa5a33d"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"b6303d29e4067d1d1e58c1b4acbfd16a4a017cd2","unresolved":false,"context_lines":[{"line_number":572,"context_line":"        self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create,"},{"line_number":573,"context_line":"                          self.req, fakes.FAKE_UUID, body\u003dbody)"},{"line_number":574,"context_line":""},{"line_number":575,"context_line":"    @mock.patch.object(compute_api.API, \u0027get\u0027, return_value\u003d\u0027fake_instance\u0027)"},{"line_number":576,"context_line":"    def test_create_console_invalid_type(self, mock_get):"},{"line_number":577,"context_line":"        mock_handler \u003d mock.MagicMock()"},{"line_number":578,"context_line":"        mock_handler.side_effect \u003d ("},{"line_number":579,"context_line":"            exception.ConsoleTypeInvalid(console_type\u003d\u0027invalid_type\u0027))"},{"line_number":580,"context_line":"        self.controller.handlers[\u0027serial\u0027] \u003d mock_handler"},{"line_number":581,"context_line":"        body \u003d {\u0027remote_console\u0027: {\u0027protocol\u0027: \u0027serial\u0027, \u0027type\u0027: \u0027xvpvnc\u0027}}"},{"line_number":582,"context_line":"        self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create,"},{"line_number":583,"context_line":"                          self.req, fakes.FAKE_UUID, body\u003dbody)"},{"line_number":584,"context_line":""},{"line_number":585,"context_line":""},{"line_number":586,"context_line":"class ConsolesExtensionTestV28(ConsolesExtensionTestV26):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5aef4532_11a5bc03","line":583,"range":{"start_line":575,"start_character":4,"end_line":583,"end_character":63},"in_reply_to":"5aef4532_26acfcec","updated":"2016-03-07 08:43:07.000000000","message":"yup, I missed, this api is added at v2.6","commit_id":"7c2cab6208a5fb51f2e735fcce43b6028fa5a33d"}]}
