)]}'
{"nova/virt/ironic/driver.py":[{"author":{"_account_id":19258,"name":"lifen","email":"lovelyc.lifen@huawei.com"},"change_message_id":"696ad4b6fffa59c178b430b9745f87ca5f6dd761","unresolved":false,"context_lines":[{"line_number":1174,"context_line":"        node \u003d self._validate_instance_and_node(instance)"},{"line_number":1175,"context_line":"        try:"},{"line_number":1176,"context_line":"            self.ironicclient.call(\"node.set_console_mode\", node.uuid, True)"},{"line_number":1177,"context_line":"            console \u003d self.ironicclient.call(\"node.get_console\", node.uuid)"},{"line_number":1178,"context_line":"        except (exception.NovaException,"},{"line_number":1179,"context_line":"                ironic.exc.InternalServerError,"},{"line_number":1180,"context_line":"                ironic.exc.BadRequest) as e:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a061dce_dae886b5","line":1177,"range":{"start_line":1177,"start_character":0,"end_line":1177,"end_character":12},"updated":"2016-04-08 03:54:27.000000000","message":"set_console_mode will spawn a background worker to set console mode asynchronously.so we cant not get correct url immediately. how to solve?","commit_id":"df8e8ae62e259b44724190964cc41d1159ad610f"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"15dafb4061550261612dd1daa2cad866429581e4","unresolved":false,"context_lines":[{"line_number":1178,"context_line":"        except (exception.NovaException,"},{"line_number":1179,"context_line":"                ironic.exc.InternalServerError,"},{"line_number":1180,"context_line":"                ironic.exc.BadRequest) as e:"},{"line_number":1181,"context_line":"            msg \u003d (_LE(\"Failed to request Ironic to aquire serial console \""},{"line_number":1182,"context_line":"                     \"%(inst)s: %(reason)s\") % {\u0027inst\u0027: instance.uuid,"},{"line_number":1183,"context_line":"                                                \u0027reason\u0027: six.text_type(e)})"},{"line_number":1184,"context_line":"            LOG.warning(msg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a061dce_c6c9d927","line":1181,"range":{"start_line":1181,"start_character":19,"end_line":1181,"end_character":22},"updated":"2016-04-08 01:44:36.000000000","message":"It should be _LW.","commit_id":"df8e8ae62e259b44724190964cc41d1159ad610f"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"15dafb4061550261612dd1daa2cad866429581e4","unresolved":false,"context_lines":[{"line_number":1181,"context_line":"            msg \u003d (_LE(\"Failed to request Ironic to aquire serial console \""},{"line_number":1182,"context_line":"                     \"%(inst)s: %(reason)s\") % {\u0027inst\u0027: instance.uuid,"},{"line_number":1183,"context_line":"                                                \u0027reason\u0027: six.text_type(e)})"},{"line_number":1184,"context_line":"            LOG.warning(msg)"},{"line_number":1185,"context_line":"            raise exception.ConsoleTypeUnavailable(console_type\u003d\u0027shellinabox\u0027)"},{"line_number":1186,"context_line":""},{"line_number":1187,"context_line":"        console_info \u003d console[\"console_info\"]"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a061dce_8680818c","line":1184,"range":{"start_line":1184,"start_character":12,"end_line":1184,"end_character":28},"updated":"2016-04-08 01:44:36.000000000","message":"The following would be better.\n\nLOG.warning(_LW(\"Failed to request Ironic to aquire serial console \"\n                \"%(inst)s: %(reason)s\"),\n                {\u0027inst\u0027: instance.uuid,\n                 \u0027reason\u0027: six.text_type(e)})","commit_id":"df8e8ae62e259b44724190964cc41d1159ad610f"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"15dafb4061550261612dd1daa2cad866429581e4","unresolved":false,"context_lines":[{"line_number":1186,"context_line":""},{"line_number":1187,"context_line":"        console_info \u003d console[\"console_info\"]"},{"line_number":1188,"context_line":"        if console_info is None:"},{"line_number":1189,"context_line":"            LOG.warning(_LE(\u0027The instance console is not enabled.\u0027),"},{"line_number":1190,"context_line":"                        instance\u003dinstance)"},{"line_number":1191,"context_line":"            raise exception.ConsoleTypeUnavailable(console_type\u003d\u0027shellinabox\u0027)"},{"line_number":1192,"context_line":"        if console_info[\"type\"] !\u003d \"shellinabox\":"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a061dce_e6d21dd0","line":1189,"range":{"start_line":1189,"start_character":24,"end_line":1189,"end_character":27},"updated":"2016-04-08 01:44:36.000000000","message":"It should be _LW.","commit_id":"df8e8ae62e259b44724190964cc41d1159ad610f"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"15dafb4061550261612dd1daa2cad866429581e4","unresolved":false,"context_lines":[{"line_number":1190,"context_line":"                        instance\u003dinstance)"},{"line_number":1191,"context_line":"            raise exception.ConsoleTypeUnavailable(console_type\u003d\u0027shellinabox\u0027)"},{"line_number":1192,"context_line":"        if console_info[\"type\"] !\u003d \"shellinabox\":"},{"line_number":1193,"context_line":"            LOG.warning(_LE(\u0027Only supports \"shellinabox\" console type.\u0027),"},{"line_number":1194,"context_line":"                        instance\u003dinstance)"},{"line_number":1195,"context_line":"            raise exception.ConsoleTypeUnavailable(console_type\u003d\u0027shellinabox\u0027)"},{"line_number":1196,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a061dce_66df2dd6","line":1193,"range":{"start_line":1193,"start_character":24,"end_line":1193,"end_character":27},"updated":"2016-04-08 01:44:36.000000000","message":"ditto","commit_id":"df8e8ae62e259b44724190964cc41d1159ad610f"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"15dafb4061550261612dd1daa2cad866429581e4","unresolved":false,"context_lines":[{"line_number":1197,"context_line":"        try:"},{"line_number":1198,"context_line":"            url \u003d urlparse.urlparse(console_info.get(\"url\"), \"\")"},{"line_number":1199,"context_line":"        except AttributeError:"},{"line_number":1200,"context_line":"            LOG.warning(_LE(\u0027console url is invalid.\u0027), instance\u003dinstance)"},{"line_number":1201,"context_line":"            raise exception.ConsoleTypeUnavailable(console_type\u003d\u0027shellinabox\u0027)"},{"line_number":1202,"context_line":""},{"line_number":1203,"context_line":"        if url.scheme not in [\"http\", \"https\"]:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a061dce_a6f30572","line":1200,"range":{"start_line":1200,"start_character":24,"end_line":1200,"end_character":27},"updated":"2016-04-08 01:44:36.000000000","message":"ditto","commit_id":"df8e8ae62e259b44724190964cc41d1159ad610f"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"15dafb4061550261612dd1daa2cad866429581e4","unresolved":false,"context_lines":[{"line_number":1201,"context_line":"            raise exception.ConsoleTypeUnavailable(console_type\u003d\u0027shellinabox\u0027)"},{"line_number":1202,"context_line":""},{"line_number":1203,"context_line":"        if url.scheme not in [\"http\", \"https\"]:"},{"line_number":1204,"context_line":"            LOG.warning(_LE(\u0027only \"http\" and \"https\" are supported.\u0027),"},{"line_number":1205,"context_line":"                        instance\u003dinstance)"},{"line_number":1206,"context_line":"            raise exception.ConsoleTypeUnavailable(console_type\u003d\u0027shellinabox\u0027)"},{"line_number":1207,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a061dce_4605c943","line":1204,"range":{"start_line":1204,"start_character":24,"end_line":1204,"end_character":27},"updated":"2016-04-08 01:44:36.000000000","message":"ditto","commit_id":"df8e8ae62e259b44724190964cc41d1159ad610f"}]}
