)]}'
{"networking_ovn/l3/l3_ovn.py":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"83126565b8a7efce5f7557e28c46cade7cf85a16","unresolved":false,"context_lines":[{"line_number":379,"context_line":"    @staticmethod"},{"line_number":380,"context_line":"    @registry.receives(resources.PORT, [events.AFTER_UPDATE])"},{"line_number":381,"context_line":"    def _port_update(resource, event, trigger, **kwargs):"},{"line_number":382,"context_line":"        l3plugin \u003d directory.get_plugin(plugin_constants.L3)"},{"line_number":383,"context_line":"        if not l3plugin:"},{"line_number":384,"context_line":"            return"},{"line_number":385,"context_line":""},{"line_number":386,"context_line":"        current \u003d kwargs[\u0027port\u0027]"},{"line_number":387,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f93b717_419e1664","line":384,"range":{"start_line":382,"start_character":0,"end_line":384,"end_character":18},"updated":"2018-01-25 12:14:00.000000000","message":"nit: Would be nice to have a @property with this plugin like we have self._plugin for ml2 so that we don\u0027t need to duplicate this code around","commit_id":"90e57b9cee0ea49b8c4758be4f12f2d6890a2031"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"7cf48e6975382e32de4ea219b37fdeac2ff805b6","unresolved":false,"context_lines":[{"line_number":379,"context_line":"    @staticmethod"},{"line_number":380,"context_line":"    @registry.receives(resources.PORT, [events.AFTER_UPDATE])"},{"line_number":381,"context_line":"    def _port_update(resource, event, trigger, **kwargs):"},{"line_number":382,"context_line":"        l3plugin \u003d directory.get_plugin(plugin_constants.L3)"},{"line_number":383,"context_line":"        if not l3plugin:"},{"line_number":384,"context_line":"            return"},{"line_number":385,"context_line":""},{"line_number":386,"context_line":"        current \u003d kwargs[\u0027port\u0027]"},{"line_number":387,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f93b717_aad7afbf","line":384,"range":{"start_line":382,"start_character":0,"end_line":384,"end_character":18},"in_reply_to":"5f93b717_0ae90319","updated":"2018-01-25 14:06:38.000000000","message":"Oh true that! Nah, leave as-is. Thanks for pointing it out","commit_id":"90e57b9cee0ea49b8c4758be4f12f2d6890a2031"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"8356fa98b9001ad79582c073c1e869baf3f2d66e","unresolved":false,"context_lines":[{"line_number":379,"context_line":"    @staticmethod"},{"line_number":380,"context_line":"    @registry.receives(resources.PORT, [events.AFTER_UPDATE])"},{"line_number":381,"context_line":"    def _port_update(resource, event, trigger, **kwargs):"},{"line_number":382,"context_line":"        l3plugin \u003d directory.get_plugin(plugin_constants.L3)"},{"line_number":383,"context_line":"        if not l3plugin:"},{"line_number":384,"context_line":"            return"},{"line_number":385,"context_line":""},{"line_number":386,"context_line":"        current \u003d kwargs[\u0027port\u0027]"},{"line_number":387,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f93b717_0ae90319","line":384,"range":{"start_line":382,"start_character":0,"end_line":384,"end_character":18},"in_reply_to":"5f93b717_419e1664","updated":"2018-01-25 13:46:49.000000000","message":"Yeah, I thought about that duplication, but note it\u0027s a static method so we don\u0027t have \"self\" in this scope.\n\nWe\u0027d have to do OVNL3RouterPlugin._plugin if we wanted that :) and it would not save us from \"if not l3plugin: return\"","commit_id":"90e57b9cee0ea49b8c4758be4f12f2d6890a2031"}],"networking_ovn/tests/unit/ml2/test_mech_driver.py":[{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"06e9676a8f7682a5ca4f76ee20b43accfa36c466","unresolved":false,"context_lines":[{"line_number":1300,"context_line":"            fake_port, port_object\u003dfake_ctx.original)"},{"line_number":1301,"context_line":"        mock_notify_dhcp.assert_called_once_with(fake_port[\u0027id\u0027])"},{"line_number":1302,"context_line":""},{"line_number":1303,"context_line":"    @mock.patch.object(mech_driver.OVNMechanismDriver,"},{"line_number":1304,"context_line":"                       \u0027_is_port_provisioning_required\u0027, lambda *_: True)"},{"line_number":1305,"context_line":"    @mock.patch.object(ovn_client.OVNClient, \u0027update_router_port\u0027)"},{"line_number":1306,"context_line":"    @mock.patch.object(mech_driver.OVNMechanismDriver, \u0027_notify_dhcp_updated\u0027)"},{"line_number":1307,"context_line":"    @mock.patch.object(ovn_client.OVNClient, \u0027update_port\u0027)"},{"line_number":1308,"context_line":"    def test_update_port_postcommit_router_port(self, mock_update_port,"},{"line_number":1309,"context_line":"                                                mock_notify_dhcp,"},{"line_number":1310,"context_line":"                                                mock_update_router_port):"},{"line_number":1311,"context_line":"        attrs \u003d {\u0027status\u0027: const.PORT_STATUS_ACTIVE,"},{"line_number":1312,"context_line":"                 \u0027device_owner\u0027: const.DEVICE_OWNER_ROUTER_INTF}"},{"line_number":1313,"context_line":"        fake_port \u003d fakes.FakePort.create_one_port(attrs\u003dattrs).info()"},{"line_number":1314,"context_line":"        fake_ctx \u003d mock.Mock(current\u003dfake_port)"},{"line_number":1315,"context_line":"        self.mech_driver.update_port_postcommit(fake_ctx)"},{"line_number":1316,"context_line":"        mock_update_port.assert_called_once_with("},{"line_number":1317,"context_line":"            fake_port, port_object\u003dfake_ctx.original)"},{"line_number":1318,"context_line":"        mock_update_router_port.assert_called_once_with(fake_port)"},{"line_number":1319,"context_line":"        mock_notify_dhcp.assert_called_once_with(fake_port[\u0027id\u0027])"},{"line_number":1320,"context_line":""},{"line_number":1321,"context_line":""},{"line_number":1322,"context_line":"class OVNMechanismDriverTestCase(test_plugin.Ml2PluginV2TestCase):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f93b717_8ac51391","line":1319,"range":{"start_line":1303,"start_character":0,"end_line":1319,"end_character":65},"updated":"2018-01-25 13:48:58.000000000","message":"we can remove this","commit_id":"90e57b9cee0ea49b8c4758be4f12f2d6890a2031"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"f60f2c6925db9cfd101661dc239c97c8cb5e7b28","unresolved":false,"context_lines":[{"line_number":1300,"context_line":"            fake_port, port_object\u003dfake_ctx.original)"},{"line_number":1301,"context_line":"        mock_notify_dhcp.assert_called_once_with(fake_port[\u0027id\u0027])"},{"line_number":1302,"context_line":""},{"line_number":1303,"context_line":"    @mock.patch.object(mech_driver.OVNMechanismDriver,"},{"line_number":1304,"context_line":"                       \u0027_is_port_provisioning_required\u0027, lambda *_: True)"},{"line_number":1305,"context_line":"    @mock.patch.object(ovn_client.OVNClient, \u0027update_router_port\u0027)"},{"line_number":1306,"context_line":"    @mock.patch.object(mech_driver.OVNMechanismDriver, \u0027_notify_dhcp_updated\u0027)"},{"line_number":1307,"context_line":"    @mock.patch.object(ovn_client.OVNClient, \u0027update_port\u0027)"},{"line_number":1308,"context_line":"    def test_update_port_postcommit_router_port(self, mock_update_port,"},{"line_number":1309,"context_line":"                                                mock_notify_dhcp,"},{"line_number":1310,"context_line":"                                                mock_update_router_port):"},{"line_number":1311,"context_line":"        attrs \u003d {\u0027status\u0027: const.PORT_STATUS_ACTIVE,"},{"line_number":1312,"context_line":"                 \u0027device_owner\u0027: const.DEVICE_OWNER_ROUTER_INTF}"},{"line_number":1313,"context_line":"        fake_port \u003d fakes.FakePort.create_one_port(attrs\u003dattrs).info()"},{"line_number":1314,"context_line":"        fake_ctx \u003d mock.Mock(current\u003dfake_port)"},{"line_number":1315,"context_line":"        self.mech_driver.update_port_postcommit(fake_ctx)"},{"line_number":1316,"context_line":"        mock_update_port.assert_called_once_with("},{"line_number":1317,"context_line":"            fake_port, port_object\u003dfake_ctx.original)"},{"line_number":1318,"context_line":"        mock_update_router_port.assert_called_once_with(fake_port)"},{"line_number":1319,"context_line":"        mock_notify_dhcp.assert_called_once_with(fake_port[\u0027id\u0027])"},{"line_number":1320,"context_line":""},{"line_number":1321,"context_line":""},{"line_number":1322,"context_line":"class OVNMechanismDriverTestCase(test_plugin.Ml2PluginV2TestCase):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f93b717_ea45b718","line":1319,"range":{"start_line":1303,"start_character":0,"end_line":1319,"end_character":65},"in_reply_to":"5f93b717_8ac51391","updated":"2018-01-25 13:50:58.000000000","message":"Done","commit_id":"90e57b9cee0ea49b8c4758be4f12f2d6890a2031"}]}
