)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":704,"name":"Edgar Magana","email":"emagana@gmail.com","username":"emagana"},"change_message_id":"8f055a3b30a4146eab0dc16b30866c8c9d73a788","unresolved":false,"context_lines":[{"line_number":10,"context_line":"which might be useful for many projects using Openflow controller with OVS"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: If93f6858f4eed05f5f1d9bdb1667838d80c490cd"},{"line_number":13,"context_line":"Closes-Bug: #1433208"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"baa041b7_2009db31","line":13,"updated":"2015-04-05 04:59:37.000000000","message":"This is not really a bug but I noticed that our PTL has already decided to handle it as a Bug..","commit_id":"b53270aeb4b74eeb7b7abc62453ce30dbfa8be3b"}],"neutron/agent/common/ovs_lib.py":[{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"b64c05faddbcda5141672eb9fbf9524fba46da3d","unresolved":false,"context_lines":[{"line_number":418,"context_line":"        :param connection_mode: \"out-of-band\" or \"in-band\""},{"line_number":419,"context_line":"        \u0027\u0027\u0027"},{"line_number":420,"context_line":"        attr \u003d [(\u0027connection_mode\u0027, connection_mode)]"},{"line_number":421,"context_line":"        cs \u003d self.db_get_val(\u0027Bridge\u0027, self.br_name, \u0027controller\u0027)"},{"line_number":422,"context_line":"        cs \u003d [cs] if isinstance(cs, uuid.UUID) else cs"},{"line_number":423,"context_line":"        with self.ovsdb.transaction(check_error\u003dTrue) as txn:"},{"line_number":424,"context_line":"            for c in cs:"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa963961_29ae9c2e","line":421,"updated":"2015-03-27 19:15:08.000000000","message":"prefer meaningful variables instead of cs and c.","commit_id":"e2c0f809f541894434345700f81d5272b5e5b71d"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"a465612dd52913e006fb919bc86f75b01910162d","unresolved":false,"context_lines":[{"line_number":413,"context_line":"            raise Exception(msg)"},{"line_number":414,"context_line":""},{"line_number":415,"context_line":"    def set_controllers_connection_mode(self, connection_mode):"},{"line_number":416,"context_line":"        \u0027\u0027\u0027Set bridge controllers connection mode"},{"line_number":417,"context_line":""},{"line_number":418,"context_line":"        :param connection_mode: \"out-of-band\" or \"in-band\""},{"line_number":419,"context_line":"        \u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"7aaa499b_46c7b412","line":416,"updated":"2015-04-12 13:08:17.000000000","message":"minor nit - can you change \u0027\u0027\u0027 to \"\"\" - this is the convention that we use with the docstrings","commit_id":"b1ec9132c35d354d044157d8c3f7c181f8164fc1"},{"author":{"_account_id":2023,"name":"Saggi Mizrahi","email":"ficoos+osreview@gmail.com","username":"ficoos"},"change_message_id":"b58ba93be1394c90fee3772788a353805cd73203","unresolved":false,"context_lines":[{"line_number":419,"context_line":"        \u0027\u0027\u0027"},{"line_number":420,"context_line":"        attr \u003d [(\u0027connection_mode\u0027, connection_mode)]"},{"line_number":421,"context_line":"        controllers \u003d self.db_get_val(\u0027Bridge\u0027, self.br_name, \u0027controller\u0027)"},{"line_number":422,"context_line":"        controllers \u003d [controllers] if isinstance("},{"line_number":423,"context_line":"            controllers, uuid.UUID) else controllers"},{"line_number":424,"context_line":"        with self.ovsdb.transaction(check_error\u003dTrue) as txn:"},{"line_number":425,"context_line":"            for controller_uuid in controllers:"}],"source_content_type":"text/x-python","patch_set":7,"id":"7aaa499b_5b31d1eb","line":422,"updated":"2015-04-12 07:25:30.000000000","message":"from collections import Iterable\n\nif not isinstance(controllers, Iterable):\n   controllers \u003d [controllers]","commit_id":"b1ec9132c35d354d044157d8c3f7c181f8164fc1"},{"author":{"_account_id":2023,"name":"Saggi Mizrahi","email":"ficoos+osreview@gmail.com","username":"ficoos"},"change_message_id":"08d531d0ef2710b17b4abad0bed0d3096d8d1faa","unresolved":false,"context_lines":[{"line_number":419,"context_line":"        \u0027\u0027\u0027"},{"line_number":420,"context_line":"        attr \u003d [(\u0027connection_mode\u0027, connection_mode)]"},{"line_number":421,"context_line":"        controllers \u003d self.db_get_val(\u0027Bridge\u0027, self.br_name, \u0027controller\u0027)"},{"line_number":422,"context_line":"        controllers \u003d [controllers] if isinstance("},{"line_number":423,"context_line":"            controllers, uuid.UUID) else controllers"},{"line_number":424,"context_line":"        with self.ovsdb.transaction(check_error\u003dTrue) as txn:"},{"line_number":425,"context_line":"            for controller_uuid in controllers:"}],"source_content_type":"text/x-python","patch_set":7,"id":"7aaa499b_dbf721f4","line":422,"in_reply_to":"7aaa499b_5b31d1eb","updated":"2015-04-12 07:48:33.000000000","message":"redacted\n\nreturn might be a string","commit_id":"b1ec9132c35d354d044157d8c3f7c181f8164fc1"},{"author":{"_account_id":9423,"name":"Roey Chen","email":"roeyc@vmware.com","username":"roeyc"},"change_message_id":"6b1f7750bb5eef03e1f5a68e31ad48356e1ccb00","unresolved":false,"context_lines":[{"line_number":430,"context_line":"            raise Exception(msg)"},{"line_number":431,"context_line":""},{"line_number":432,"context_line":"    def set_controllers_connection_mode(self, connection_mode):"},{"line_number":433,"context_line":"        \"\"\"Set bridge controllers connection mode"},{"line_number":434,"context_line":""},{"line_number":435,"context_line":"        :param connection_mode: \"out-of-band\" or \"in-band\""},{"line_number":436,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":11,"id":"7aaa499b_94ba1f09","line":433,"updated":"2015-04-15 13:02:44.000000000","message":"small nit: missing \u0027.\u0027 at the end of line.","commit_id":"1e54bc17271fd14e5c31c5c16d39a154b7cfb935"},{"author":{"_account_id":11343,"name":"Gal Sagie","email":"gal.sagie@gmail.com","username":"GalSagie"},"change_message_id":"7b40ca350b845de401a405f3a9861676649cd32e","unresolved":false,"context_lines":[{"line_number":430,"context_line":"            raise Exception(msg)"},{"line_number":431,"context_line":""},{"line_number":432,"context_line":"    def set_controllers_connection_mode(self, connection_mode):"},{"line_number":433,"context_line":"        \"\"\"Set bridge controllers connection mode"},{"line_number":434,"context_line":""},{"line_number":435,"context_line":"        :param connection_mode: \"out-of-band\" or \"in-band\""},{"line_number":436,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":11,"id":"7aaa499b_d4d0a4f8","line":433,"in_reply_to":"7aaa499b_94ba1f09","updated":"2015-04-15 13:52:14.000000000","message":"Done","commit_id":"1e54bc17271fd14e5c31c5c16d39a154b7cfb935"}],"neutron/tests/functional/agent/test_ovs_lib.py":[{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"24dcb949a5b5f085413d79e01ba10a697fb306cc","unresolved":false,"context_lines":[{"line_number":250,"context_line":""},{"line_number":251,"context_line":"    def _assert_controllers_connection_mode(self, connection_mode):"},{"line_number":252,"context_line":"        controllers \u003d self.br.db_get_val(\u0027Bridge\u0027, self.br.br_name,"},{"line_number":253,"context_line":"                                         \u0027controller\u0027).execute("},{"line_number":254,"context_line":"                                          check_error\u003dTrue)"},{"line_number":255,"context_line":"        for controller in controllers:"},{"line_number":256,"context_line":"            self.assertEqual(connection_mode,"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa963961_a9ce5e81","line":253,"updated":"2015-03-26 15:59:37.000000000","message":"Don\u0027t need the .execute() with db_get_val.","commit_id":"c7ade993d49a2236d49503b0999445762d8389c6"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"e3219fc7cc7f69705b338a94b252fcc6efaab333","unresolved":false,"context_lines":[{"line_number":240,"context_line":"                               \u0027connection_mode\u0027))"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"    def test_set_multi_controllers_connection_mode(self):"},{"line_number":243,"context_line":"        controllers \u003d {\u0027tcp:127.0.0.1:6633\u0027, \u0027tcp:172.17.16.10:55\u0027}"},{"line_number":244,"context_line":"        self.br.set_controller(controllers)"},{"line_number":245,"context_line":"        self.assertEqual(controllers, set(self.br.get_controller()))"},{"line_number":246,"context_line":"        self.br.set_controllers_connection_mode(\u0027out-of-band\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da9b358b_69e287a1","line":243,"updated":"2015-03-30 01:15:11.000000000","message":"better to avoid connecting to a valid addresses.\n\nhow about using rfc 5735 example addresses, or unix: address?","commit_id":"917a37c4f759fd22fcbc5369c7e846805677b5d8"},{"author":{"_account_id":11343,"name":"Gal Sagie","email":"gal.sagie@gmail.com","username":"GalSagie"},"change_message_id":"034bd014571263299c2b6c8aaae7a7c9e25e0265","unresolved":false,"context_lines":[{"line_number":240,"context_line":"                               \u0027connection_mode\u0027))"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"    def test_set_multi_controllers_connection_mode(self):"},{"line_number":243,"context_line":"        controllers \u003d {\u0027tcp:127.0.0.1:6633\u0027, \u0027tcp:172.17.16.10:55\u0027}"},{"line_number":244,"context_line":"        self.br.set_controller(controllers)"},{"line_number":245,"context_line":"        self.assertEqual(controllers, set(self.br.get_controller()))"},{"line_number":246,"context_line":"        self.br.set_controllers_connection_mode(\u0027out-of-band\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da9b358b_db6f1891","line":243,"in_reply_to":"da9b358b_69e287a1","updated":"2015-03-30 04:52:05.000000000","message":"Done, using TEST-NET-1 range","commit_id":"917a37c4f759fd22fcbc5369c7e846805677b5d8"},{"author":{"_account_id":9423,"name":"Roey Chen","email":"roeyc@vmware.com","username":"roeyc"},"change_message_id":"118ed5a82e2e0c1a9360ad6a70eddba01d81efa7","unresolved":false,"context_lines":[{"line_number":229,"context_line":"        self.br.set_controller(controller)"},{"line_number":230,"context_line":"        self.assertEqual(controller, self.br.get_controller())"},{"line_number":231,"context_line":"        self.br.set_controllers_connection_mode(\u0027out-of-band\u0027)"},{"line_number":232,"context_line":"        self._assert_controller_connection_mode(\u0027out-of-band\u0027)"},{"line_number":233,"context_line":"        self.br.del_controller()"},{"line_number":234,"context_line":"        self.assertEqual([], self.br.get_controller())"},{"line_number":235,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9aa53dc9_022c0c49","line":232,"updated":"2015-04-06 12:31:16.000000000","message":"can you use _assert_controllers_connection_mode here, instead.","commit_id":"b53270aeb4b74eeb7b7abc62453ce30dbfa8be3b"},{"author":{"_account_id":11343,"name":"Gal Sagie","email":"gal.sagie@gmail.com","username":"GalSagie"},"change_message_id":"e857907fdce063d0c4df1de1a9d9d824af1a2910","unresolved":false,"context_lines":[{"line_number":229,"context_line":"        self.br.set_controller(controller)"},{"line_number":230,"context_line":"        self.assertEqual(controller, self.br.get_controller())"},{"line_number":231,"context_line":"        self.br.set_controllers_connection_mode(\u0027out-of-band\u0027)"},{"line_number":232,"context_line":"        self._assert_controller_connection_mode(\u0027out-of-band\u0027)"},{"line_number":233,"context_line":"        self.br.del_controller()"},{"line_number":234,"context_line":"        self.assertEqual([], self.br.get_controller())"},{"line_number":235,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9aa53dc9_32026c0c","line":232,"in_reply_to":"9aa53dc9_022c0c49","updated":"2015-04-08 05:21:31.000000000","message":"Will do, thanks for the suggestion","commit_id":"b53270aeb4b74eeb7b7abc62453ce30dbfa8be3b"},{"author":{"_account_id":9423,"name":"Roey Chen","email":"roeyc@vmware.com","username":"roeyc"},"change_message_id":"6b1f7750bb5eef03e1f5a68e31ad48356e1ccb00","unresolved":false,"context_lines":[{"line_number":239,"context_line":"        self.br.del_controller()"},{"line_number":240,"context_line":"        self.assertEqual([], self.br.get_controller())"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"    def test_set_multi_controllers_connection_mode(self):"},{"line_number":243,"context_line":"        controllers \u003d {\u0027tcp:192.0.2.0:6633\u0027, \u0027tcp:192.0.2.1:55\u0027}"},{"line_number":244,"context_line":"        self.br.set_controller(controllers)"},{"line_number":245,"context_line":"        self.assertEqual(controllers, set(self.br.get_controller()))"}],"source_content_type":"text/x-python","patch_set":11,"id":"7aaa499b_31b23a07","line":242,"updated":"2015-04-15 13:02:44.000000000","message":"This test is almost a duplicate of the first one, it would be neater if instead a helper method is defined.\n\ne.g - \n\ndef test_set_controller_connection_mode(self):\n    controller \u003d [\u0027tcp:192.0.2.0:6633\u0027]\n    self._test_set_controller_connection_mode(controller, \u0027out-of-band\u0027)\n\ndef _test_set_controller_connection_mode(self, controllers, mode):\n    self.br.set_controller(controllers)\n    self.assertEqual(controller, self.br.get_controller())\n    self.br.set_controllers_connection_mode(mode)\n    self._assert_controllers_connection_mode(mode)\n    self.br.del_controller()\n    self.assertEqual([], self.br.get_controller())","commit_id":"1e54bc17271fd14e5c31c5c16d39a154b7cfb935"},{"author":{"_account_id":11343,"name":"Gal Sagie","email":"gal.sagie@gmail.com","username":"GalSagie"},"change_message_id":"7b40ca350b845de401a405f3a9861676649cd32e","unresolved":false,"context_lines":[{"line_number":239,"context_line":"        self.br.del_controller()"},{"line_number":240,"context_line":"        self.assertEqual([], self.br.get_controller())"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"    def test_set_multi_controllers_connection_mode(self):"},{"line_number":243,"context_line":"        controllers \u003d {\u0027tcp:192.0.2.0:6633\u0027, \u0027tcp:192.0.2.1:55\u0027}"},{"line_number":244,"context_line":"        self.br.set_controller(controllers)"},{"line_number":245,"context_line":"        self.assertEqual(controllers, set(self.br.get_controller()))"}],"source_content_type":"text/x-python","patch_set":11,"id":"7aaa499b_541934d6","line":242,"in_reply_to":"7aaa499b_31b23a07","updated":"2015-04-15 13:52:14.000000000","message":"Done","commit_id":"1e54bc17271fd14e5c31c5c16d39a154b7cfb935"}]}
