)]}'
{"quantum/db/l3_db.py":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"7972fc7ca494643d0b909befd7477d681c1ae005","unresolved":false,"context_lines":[{"line_number":375,"context_line":"            {\u0027network_id\u0027: port[\u0027network_id\u0027],"},{"line_number":376,"context_line":"             \u0027subnet_id\u0027: subnet_id})"},{"line_number":377,"context_line":"        info \u003d {\u0027id\u0027: router_id,"},{"line_number":378,"context_line":"                \u0027tenant_id\u0027: context.tenant_id,"},{"line_number":379,"context_line":"                \u0027port_id\u0027: port[\u0027id\u0027],"},{"line_number":380,"context_line":"                \u0027subnet_id\u0027: port[\u0027fixed_ips\u0027][0][\u0027subnet_id\u0027]}"},{"line_number":381,"context_line":"        notifier_api.notify(context,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOH%2F%2Fyx0%3D","line":378,"updated":"2013-03-27 09:59:21.000000000","message":"Not sure context\u0027 tenant_id is what you need, or there should be router\u0027s tenant_id? context\u0027s tenant_id can be different with router\u0027s tenant_id.","commit_id":"dca5dd294b880121ca641ee568f69e0493debe36"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"7972fc7ca494643d0b909befd7477d681c1ae005","unresolved":false,"context_lines":[{"line_number":460,"context_line":"            {\u0027network_id\u0027: _network_id,"},{"line_number":461,"context_line":"             \u0027subnet_id\u0027: subnet_id})"},{"line_number":462,"context_line":"        info \u003d {\u0027id\u0027: router_id,"},{"line_number":463,"context_line":"                \u0027tenant_id\u0027: context.tenant_id,"},{"line_number":464,"context_line":"                \u0027port_id\u0027: port_id,"},{"line_number":465,"context_line":"                \u0027subnet_id\u0027: subnet_id}"},{"line_number":466,"context_line":"        notifier_api.notify(context,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOH%2F%2Fyxw%3D","line":463,"updated":"2013-03-27 09:59:21.000000000","message":"same question","commit_id":"dca5dd294b880121ca641ee568f69e0493debe36"},{"author":{"_account_id":2031,"name":"Nachi Ueno","email":"nati.ueno@gmail.com","username":"nati-ueno"},"unresolved":false,"context_lines":[{"line_number":375,"context_line":"            {\u0027network_id\u0027: port[\u0027network_id\u0027],"},{"line_number":376,"context_line":"             \u0027subnet_id\u0027: subnet_id})"},{"line_number":377,"context_line":"        info \u003d {\u0027id\u0027: router_id,"},{"line_number":378,"context_line":"                \u0027tenant_id\u0027: subnet[\u0027tenant_id\u0027],"},{"line_number":379,"context_line":"                \u0027port_id\u0027: port[\u0027id\u0027],"},{"line_number":380,"context_line":"                \u0027subnet_id\u0027: port[\u0027fixed_ips\u0027][0][\u0027subnet_id\u0027]}"},{"line_number":381,"context_line":"        notifier_api.notify(context,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAOH%2F%2FwPw%3D","line":378,"updated":"2013-03-29 00:40:17.000000000","message":"nit:may be this should be port[\u0027tenant_id\u0027]","commit_id":"27d1eba9019627f29bb98f78919bf9e7a3c8d6f0"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"unresolved":false,"context_lines":[{"line_number":375,"context_line":"            {\u0027network_id\u0027: port[\u0027network_id\u0027],"},{"line_number":376,"context_line":"             \u0027subnet_id\u0027: subnet_id})"},{"line_number":377,"context_line":"        info \u003d {\u0027id\u0027: router_id,"},{"line_number":378,"context_line":"                \u0027tenant_id\u0027: subnet[\u0027tenant_id\u0027],"},{"line_number":379,"context_line":"                \u0027port_id\u0027: port[\u0027id\u0027],"},{"line_number":380,"context_line":"                \u0027subnet_id\u0027: port[\u0027fixed_ips\u0027][0][\u0027subnet_id\u0027]}"},{"line_number":381,"context_line":"        notifier_api.notify(context,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAOX%2F%2F%2FOU%3D","line":378,"in_reply_to":"AAAAOH%2F%2FwPw%3D","updated":"2013-04-03 15:43:37.000000000","message":"A few lines above subnet[\u0027tenant_id\u0027] is referenced:\n\n  https://github.com/openstack/quantum/blob/master/quantum/db/l3_db.py#L354\n\nSo I\u0027m thinking we should be consistent, even if the tenant_id is also available from the port.","commit_id":"27d1eba9019627f29bb98f78919bf9e7a3c8d6f0"}],"quantum/tests/unit/test_l3_plugin.py":[{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"4ffdcc91a146fbc968f4f66e105c75d49dff517e","unresolved":false,"context_lines":[{"line_number":672,"context_line":"                for n in test_notifier.NOTIFICATIONS:"},{"line_number":673,"context_line":"                    if n[\u0027event_type\u0027].startswith(\u0027router.interface.\u0027):"},{"line_number":674,"context_line":"                        payload \u003d n[\u0027payload\u0027][\u0027router.interface\u0027]"},{"line_number":675,"context_line":"                        self.assertTrue(\u0027id\u0027 in payload)"},{"line_number":676,"context_line":"                        self.assertTrue(\u0027tenant_id\u0027 in payload)"},{"line_number":677,"context_line":""},{"line_number":678,"context_line":"    def test_router_add_interface_subnet_with_bad_tenant_returns_404(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOH%2F%2Fzw4%3D","line":675,"updated":"2013-03-26 18:47:28.000000000","message":"self.assertIn(\u0027id\u0027, payload)","commit_id":"d283e8669ce92a632aaae7d0f75853d1917e8a69"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"4ffdcc91a146fbc968f4f66e105c75d49dff517e","unresolved":false,"context_lines":[{"line_number":673,"context_line":"                    if n[\u0027event_type\u0027].startswith(\u0027router.interface.\u0027):"},{"line_number":674,"context_line":"                        payload \u003d n[\u0027payload\u0027][\u0027router.interface\u0027]"},{"line_number":675,"context_line":"                        self.assertTrue(\u0027id\u0027 in payload)"},{"line_number":676,"context_line":"                        self.assertTrue(\u0027tenant_id\u0027 in payload)"},{"line_number":677,"context_line":""},{"line_number":678,"context_line":"    def test_router_add_interface_subnet_with_bad_tenant_returns_404(self):"},{"line_number":679,"context_line":"        with mock.patch(\u0027quantum.context.Context.to_dict\u0027) as tdict:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOH%2F%2Fzw0%3D","line":676,"updated":"2013-03-26 18:47:28.000000000","message":"self.assertIn(\u0027tenant_id\u0027, payload)","commit_id":"d283e8669ce92a632aaae7d0f75853d1917e8a69"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"7972fc7ca494643d0b909befd7477d681c1ae005","unresolved":false,"context_lines":[{"line_number":673,"context_line":"                    if n[\u0027event_type\u0027].startswith(\u0027router.interface.\u0027):"},{"line_number":674,"context_line":"                        payload \u003d n[\u0027payload\u0027][\u0027router.interface\u0027]"},{"line_number":675,"context_line":"                        self.assertIn(\u0027id\u0027, payload)"},{"line_number":676,"context_line":"                        self.assertIn(\u0027tenant_id\u0027, payload)"},{"line_number":677,"context_line":""},{"line_number":678,"context_line":"    def test_router_add_interface_subnet_with_bad_tenant_returns_404(self):"},{"line_number":679,"context_line":"        with mock.patch(\u0027quantum.context.Context.to_dict\u0027) as tdict:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAOH%2F%2FwMM%3D","line":676,"updated":"2013-03-29 02:16:27.000000000","message":"We assert the value of tenant_id was what we want will be better. Not only ensure tenant_id in payload","commit_id":"27d1eba9019627f29bb98f78919bf9e7a3c8d6f0"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"unresolved":false,"context_lines":[{"line_number":673,"context_line":"                    if n[\u0027event_type\u0027].startswith(\u0027router.interface.\u0027):"},{"line_number":674,"context_line":"                        payload \u003d n[\u0027payload\u0027][\u0027router.interface\u0027]"},{"line_number":675,"context_line":"                        self.assertIn(\u0027id\u0027, payload)"},{"line_number":676,"context_line":"                        self.assertIn(\u0027tenant_id\u0027, payload)"},{"line_number":677,"context_line":""},{"line_number":678,"context_line":"    def test_router_add_interface_subnet_with_bad_tenant_returns_404(self):"},{"line_number":679,"context_line":"        with mock.patch(\u0027quantum.context.Context.to_dict\u0027) as tdict:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAOX%2F%2F%2FCU%3D","line":676,"in_reply_to":"AAAAOH%2F%2FwMM%3D","updated":"2013-04-03 15:43:37.000000000","message":"Good call, done in the latest patch set.","commit_id":"27d1eba9019627f29bb98f78919bf9e7a3c8d6f0"}]}
