)]}'
{"neutron/agent/l3_agent.py":[{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"e0d85472a4c89b6e3050adaf6cd1ce6335e0f213","unresolved":false,"context_lines":[{"line_number":204,"context_line":"                self.conf.interface_driver,"},{"line_number":205,"context_line":"                self.conf"},{"line_number":206,"context_line":"            )"},{"line_number":207,"context_line":"        except Exception:"},{"line_number":208,"context_line":"            msg \u003d _(\"Error importing interface driver \""},{"line_number":209,"context_line":"                    \"\u0027%s\u0027\") % self.conf.interface_driver"},{"line_number":210,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAS3%2F%2Fo4k%3D","line":207,"updated":"2013-09-23 15:32:26.000000000","message":"since you\u0027re modify this part, i think the Exception is too wide, the import_object will raise ImportError when import fails, other exception should be raised again or shoud not be catched. But it is not this patch\u0027s scope\n\nor maybe i worry too much","commit_id":"6dc6826fdb6ce3c629d0bdcfacc348a5fbded3a8"},{"author":{"_account_id":7823,"name":"Xiang Hui","email":"xianghuir@gmail.com","username":"xianghui"},"change_message_id":"589c8316c1b9377dbcf43de522d1de8e1c343290","unresolved":false,"context_lines":[{"line_number":204,"context_line":"                self.conf.interface_driver,"},{"line_number":205,"context_line":"                self.conf"},{"line_number":206,"context_line":"            )"},{"line_number":207,"context_line":"        except Exception:"},{"line_number":208,"context_line":"            msg \u003d _(\"Error importing interface driver \""},{"line_number":209,"context_line":"                    \"\u0027%s\u0027\") % self.conf.interface_driver"},{"line_number":210,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAS3%2F%2Fmmw%3D","line":207,"in_reply_to":"AAAAS3%2F%2Fo4k%3D","updated":"2013-09-24 03:46:28.000000000","message":"Yeah, agree with you, it is a potential problem, the Exception raised should be classified and more accurate, but should be fixed in other patch. thanks : )","commit_id":"6dc6826fdb6ce3c629d0bdcfacc348a5fbded3a8"}],"neutron/tests/unit/test_l3_agent.py":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"62143ade2b87ca650798a0f4834faeb838c1cc02","unresolved":false,"context_lines":[{"line_number":28,"context_line":"from neutron.openstack.common import uuidutils"},{"line_number":29,"context_line":"from neutron.tests import base"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"_uuid \u003d uuidutils.generate_uuid"},{"line_number":33,"context_line":"HOSTNAME \u003d \u0027myhost\u0027"},{"line_number":34,"context_line":"FAKE_ID \u003d _uuid()"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAS3%2F%2Fp3U%3D","side":"PARENT","line":31,"updated":"2013-09-23 11:03:00.000000000","message":"unrelated","commit_id":"495bdeb580353d467093fef4fe7f15a15d210726"},{"author":{"_account_id":7823,"name":"Xiang Hui","email":"xianghuir@gmail.com","username":"xianghui"},"change_message_id":"589c8316c1b9377dbcf43de522d1de8e1c343290","unresolved":false,"context_lines":[{"line_number":28,"context_line":"from neutron.openstack.common import uuidutils"},{"line_number":29,"context_line":"from neutron.tests import base"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"_uuid \u003d uuidutils.generate_uuid"},{"line_number":33,"context_line":"HOSTNAME \u003d \u0027myhost\u0027"},{"line_number":34,"context_line":"FAKE_ID \u003d _uuid()"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAS3%2F%2Fmmo%3D","side":"PARENT","line":31,"in_reply_to":"AAAAS3%2F%2Fp3U%3D","updated":"2013-09-24 03:46:28.000000000","message":"Done","commit_id":"495bdeb580353d467093fef4fe7f15a15d210726"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"e0d85472a4c89b6e3050adaf6cd1ce6335e0f213","unresolved":false,"context_lines":[{"line_number":27,"context_line":"from neutron.common import constants as l3_constants"},{"line_number":28,"context_line":"from neutron.openstack.common import uuidutils"},{"line_number":29,"context_line":"from neutron.tests import base"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"_uuid \u003d uuidutils.generate_uuid"},{"line_number":32,"context_line":"HOSTNAME \u003d \u0027myhost\u0027"},{"line_number":33,"context_line":"FAKE_ID \u003d _uuid()"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAS3%2F%2Fo78%3D","line":30,"updated":"2013-09-23 15:32:26.000000000","message":"there should be two blank lines between global var and import statement\n\ni\u0027m wondering why pep8 doesn\u0027t locate this, or maybe i\u0027m wrong","commit_id":"6dc6826fdb6ce3c629d0bdcfacc348a5fbded3a8"},{"author":{"_account_id":7823,"name":"Xiang Hui","email":"xianghuir@gmail.com","username":"xianghui"},"change_message_id":"589c8316c1b9377dbcf43de522d1de8e1c343290","unresolved":false,"context_lines":[{"line_number":27,"context_line":"from neutron.common import constants as l3_constants"},{"line_number":28,"context_line":"from neutron.openstack.common import uuidutils"},{"line_number":29,"context_line":"from neutron.tests import base"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"_uuid \u003d uuidutils.generate_uuid"},{"line_number":32,"context_line":"HOSTNAME \u003d \u0027myhost\u0027"},{"line_number":33,"context_line":"FAKE_ID \u003d _uuid()"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAS3%2F%2Fmms%3D","line":30,"in_reply_to":"AAAAS3%2F%2Fo78%3D","updated":"2013-09-24 03:46:28.000000000","message":"It\u0027s weird, flake8 also didn\u0027t check this error.","commit_id":"6dc6826fdb6ce3c629d0bdcfacc348a5fbded3a8"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"62143ade2b87ca650798a0f4834faeb838c1cc02","unresolved":false,"context_lines":[{"line_number":647,"context_line":""},{"line_number":648,"context_line":"    def test_nonexistent_interface_driver(self):"},{"line_number":649,"context_line":"        self.conf.set_override(\u0027interface_driver\u0027, None)"},{"line_number":650,"context_line":"        self.assertRaises(SystemExit, l3_agent.L3NATAgent,"},{"line_number":651,"context_line":"                          HOSTNAME, self.conf)"},{"line_number":652,"context_line":""},{"line_number":653,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAS3%2F%2Fp2Y%3D","line":650,"updated":"2013-09-23 11:03:00.000000000","message":"since this patch adds logging I think it should be checked in the test case. Consider:\n\n  self.conf.set_override(\u0027interface_driver\u0027, None)\n  with mock.patch.object(l3_agent, \u0027LOG\u0027) as log:\n      self.assertRaises(SystemExit, l3_agent.L3NATAgent,\n                                  HOSTNAME, self.conf)\n      log.error.assert_called_once_with(\u003cerr_msg\u003e)","commit_id":"6dc6826fdb6ce3c629d0bdcfacc348a5fbded3a8"},{"author":{"_account_id":7823,"name":"Xiang Hui","email":"xianghuir@gmail.com","username":"xianghui"},"change_message_id":"589c8316c1b9377dbcf43de522d1de8e1c343290","unresolved":false,"context_lines":[{"line_number":647,"context_line":""},{"line_number":648,"context_line":"    def test_nonexistent_interface_driver(self):"},{"line_number":649,"context_line":"        self.conf.set_override(\u0027interface_driver\u0027, None)"},{"line_number":650,"context_line":"        self.assertRaises(SystemExit, l3_agent.L3NATAgent,"},{"line_number":651,"context_line":"                          HOSTNAME, self.conf)"},{"line_number":652,"context_line":""},{"line_number":653,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAS3%2F%2Fmk0%3D","line":650,"in_reply_to":"AAAAS3%2F%2Fo6k%3D","updated":"2013-09-24 03:46:28.000000000","message":"Done","commit_id":"6dc6826fdb6ce3c629d0bdcfacc348a5fbded3a8"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"e0d85472a4c89b6e3050adaf6cd1ce6335e0f213","unresolved":false,"context_lines":[{"line_number":647,"context_line":""},{"line_number":648,"context_line":"    def test_nonexistent_interface_driver(self):"},{"line_number":649,"context_line":"        self.conf.set_override(\u0027interface_driver\u0027, None)"},{"line_number":650,"context_line":"        self.assertRaises(SystemExit, l3_agent.L3NATAgent,"},{"line_number":651,"context_line":"                          HOSTNAME, self.conf)"},{"line_number":652,"context_line":""},{"line_number":653,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAS3%2F%2Fo6k%3D","line":650,"in_reply_to":"AAAAS3%2F%2Fp2Y%3D","updated":"2013-09-23 15:32:26.000000000","message":"+1\n\nand if you want to add test, you can test two case: None and Wrong value for interface_driver","commit_id":"6dc6826fdb6ce3c629d0bdcfacc348a5fbded3a8"},{"author":{"_account_id":7823,"name":"Xiang Hui","email":"xianghuir@gmail.com","username":"xianghui"},"change_message_id":"589c8316c1b9377dbcf43de522d1de8e1c343290","unresolved":false,"context_lines":[{"line_number":647,"context_line":""},{"line_number":648,"context_line":"    def test_nonexistent_interface_driver(self):"},{"line_number":649,"context_line":"        self.conf.set_override(\u0027interface_driver\u0027, None)"},{"line_number":650,"context_line":"        self.assertRaises(SystemExit, l3_agent.L3NATAgent,"},{"line_number":651,"context_line":"                          HOSTNAME, self.conf)"},{"line_number":652,"context_line":""},{"line_number":653,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAS3%2F%2Fmk4%3D","line":650,"in_reply_to":"AAAAS3%2F%2Fp2Y%3D","updated":"2013-09-24 03:46:28.000000000","message":"Great thanks, it\u0027s really helpful.","commit_id":"6dc6826fdb6ce3c629d0bdcfacc348a5fbded3a8"}]}
