)]}'
{"tempest/api/network/admin/test_l3_agent_scheduler.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"3499bff9afce8f97b9a31e0c5ef344a280c071ea","unresolved":false,"context_lines":[{"line_number":57,"context_line":"            msg \u003d \"L3 Agent Scheduler enabled in conf, but L3 Agent not found\""},{"line_number":58,"context_line":"            raise exceptions.InvalidConfiguration(msg)"},{"line_number":59,"context_line":"        cls.router \u003d cls.create_router("},{"line_number":60,"context_line":"            ha\u003dTrue, tenant_id\u003dcls.routers_client.tenant_id)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    @decorators.idempotent_id(\u0027b7ce6e89-e837-4ded-9b78-9ed3c9c6a45a\u0027)"},{"line_number":63,"context_line":"    def test_list_routers_on_l3_agent(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_fef731d3","line":60,"updated":"2019-02-26 15:16:32.000000000","message":"This is going to require the l3-ha extension","commit_id":"9bfa6b3863a197073ee43241a0c3d0072cac8bb6"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"3499bff9afce8f97b9a31e0c5ef344a280c071ea","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        l3_agent_ids \u003d list()"},{"line_number":69,"context_line":"        self.admin_agents_client.create_router_on_l3_agent("},{"line_number":70,"context_line":"            self.agent[\u0027id\u0027],"},{"line_number":71,"context_line":"            router_id\u003dself.router[\u0027id\u0027])"},{"line_number":72,"context_line":"        body \u003d ("},{"line_number":73,"context_line":"            self.admin_routers_client.list_l3_agents_hosting_router("},{"line_number":74,"context_line":"                self.router[\u0027id\u0027]))"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_01273a14","line":71,"updated":"2019-02-26 15:16:32.000000000","message":"I\u0027m still not exactly sure what the test is trying to do here.  When the router was created it would have been scheduled to an agent.  Trying to do that here could fail depending on both the type of router and/or the number of agents as Slawek has determined.\n\nWhat the test probably should be doing is:\n\n0) create a router\n1) find the agent where this router is hosted\n2) find another agent (if it exists)\n3) remove the router from agent1\n4) add the router to agent2\n5) verify the router is hosted on agent2\n\nThat\u0027s more of a typical admin operation that would be performed.\n\nI think changing it to be l3-ha will work since we are using the admin_client to create the router, but maybe there\u0027s a better way?\n\nMost of this also applies to the neutron-tempest-plugin repo as well where this test is basically cloned.\n\nThoughts?","commit_id":"9bfa6b3863a197073ee43241a0c3d0072cac8bb6"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"7ab0b560307c36972b4f7e0be6ed297e97f5089a","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        l3_agent_ids \u003d list()"},{"line_number":69,"context_line":"        self.admin_agents_client.create_router_on_l3_agent("},{"line_number":70,"context_line":"            self.agent[\u0027id\u0027],"},{"line_number":71,"context_line":"            router_id\u003dself.router[\u0027id\u0027])"},{"line_number":72,"context_line":"        body \u003d ("},{"line_number":73,"context_line":"            self.admin_routers_client.list_l3_agents_hosting_router("},{"line_number":74,"context_line":"                self.router[\u0027id\u0027]))"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_0172c812","line":71,"in_reply_to":"9fdfeff1_01273a14","updated":"2019-02-27 09:25:10.000000000","message":"I was thinking about something like You described, but I have one concern about that. Between point 3) and 4) I\u0027m not sure if neutron will not reschedule router to SOME agent and that still may be different agent than agent2 and that will fail.\n\nFrom my local tests it should works fine in such way but I\u0027m not sure about that.\nI will try to rewrite this test and we can see how it will work.","commit_id":"9bfa6b3863a197073ee43241a0c3d0072cac8bb6"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"d6bcead1744ff06ffc9969584f6c70b176f8b1d4","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        # Now list agents which host router again - list should be empty"},{"line_number":78,"context_line":"        body \u003d self.admin_routers_client.list_l3_agents_hosting_router("},{"line_number":79,"context_line":"            self.router[\u0027id\u0027])"},{"line_number":80,"context_line":"        self.assertEqual([], body[\u0027agents\u0027])"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"        # Now add router to one of agents"},{"line_number":83,"context_line":"        self.admin_agents_client.create_router_on_l3_agent("}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_0bbdccaf","line":80,"updated":"2019-03-01 03:36:09.000000000","message":"I think this is functionally how an admin would do things, but I\u0027m worried that we\u0027re doing what was found to cause problems previously (asserting the deletion).  Is there a chance another test running in parallel could cause scheduling to happen?","commit_id":"d5ea81213622b7749a729310c468220dabb4b9f1"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"6d0b01fdde71c9c5abbeb0dbdb41b24fb5d58696","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        # Now list agents which host router again - list should be empty"},{"line_number":78,"context_line":"        body \u003d self.admin_routers_client.list_l3_agents_hosting_router("},{"line_number":79,"context_line":"            self.router[\u0027id\u0027])"},{"line_number":80,"context_line":"        self.assertEqual([], body[\u0027agents\u0027])"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"        # Now add router to one of agents"},{"line_number":83,"context_line":"        self.admin_agents_client.create_router_on_l3_agent("}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_85a1a8ab","line":80,"in_reply_to":"9fdfeff1_0bbdccaf","updated":"2019-03-01 07:58:57.000000000","message":"TBH I don\u0027t know. But if there is any chance that reschedule can be triggered by other test run in parallel than I think the only other solution for that is to use HA routers always. Otherwise there will be always some potential race.","commit_id":"d5ea81213622b7749a729310c468220dabb4b9f1"}]}
