)]}'
{"neutron/tests/fullstack/resources/config.py":[{"author":{"_account_id":10267,"name":"venkata anil","email":"anilvenkata@redhat.com","username":"anil"},"change_message_id":"dfc75226eca0655802751165de49f46edb096983","unresolved":false,"context_lines":[{"line_number":70,"context_line":"                \u0027auth_strategy\u0027: \u0027noauth\u0027,"},{"line_number":71,"context_line":"                \u0027verbose\u0027: \u0027True\u0027,"},{"line_number":72,"context_line":"                \u0027debug\u0027: \u0027True\u0027,"},{"line_number":73,"context_line":"                \u0027rpc_workers\u0027: \u00274\u0027,"},{"line_number":74,"context_line":"            },"},{"line_number":75,"context_line":"            \u0027database\u0027: {"},{"line_number":76,"context_line":"                \u0027connection\u0027: connection,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a122d0e_0e2f16f7","line":73,"updated":"2016-04-18 12:55:06.000000000","message":"should depend on number of agents","commit_id":"36dae0d89ccbe671c737eed69dd8ae7506c8bc29"}],"neutron/tests/fullstack/test_l3_agent.py":[{"author":{"_account_id":17523,"name":"yaowei","email":"yaowei@unitedstack.com","username":"yaowei"},"change_message_id":"bdf387a573c6db07a4b1f60decbeda0024cc35cb","unresolved":false,"context_lines":[{"line_number":92,"context_line":"            self._get_namespace("},{"line_number":93,"context_line":"                external_network, ns_prefix\u003ddvr_fip_ns.FIP_NS_PREFIX),"},{"line_number":94,"context_line":"            test_namespace_suffix, )"},{"line_number":95,"context_line":"        self._assert_namespace_exists(namespace, sleep\u003d3)"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    def delete_gw_address(self, router, ns_prefix\u003dl3_agent.NS_PREFIX):"},{"line_number":98,"context_line":"        test_namespace_suffix \u003d \\"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a122d0e_c1120cb4","line":95,"range":{"start_line":95,"start_character":55,"end_line":95,"end_character":56},"updated":"2016-04-18 15:05:04.000000000","message":"How does sleep\u003d3 come out?  empirical value？","commit_id":"36dae0d89ccbe671c737eed69dd8ae7506c8bc29"},{"author":{"_account_id":10267,"name":"venkata anil","email":"anilvenkata@redhat.com","username":"anil"},"change_message_id":"d9b422fa2ad785002ecb38b2a1328f4e2cc70643","unresolved":false,"context_lines":[{"line_number":92,"context_line":"            self._get_namespace("},{"line_number":93,"context_line":"                external_network, ns_prefix\u003ddvr_fip_ns.FIP_NS_PREFIX),"},{"line_number":94,"context_line":"            test_namespace_suffix, )"},{"line_number":95,"context_line":"        self._assert_namespace_exists(namespace, sleep\u003d3)"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    def delete_gw_address(self, router, ns_prefix\u003dl3_agent.NS_PREFIX):"},{"line_number":98,"context_line":"        test_namespace_suffix \u003d \\"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a122d0e_d750ee60","line":95,"range":{"start_line":95,"start_character":55,"end_line":95,"end_character":56},"in_reply_to":"1a122d0e_c1120cb4","updated":"2016-04-19 06:06:38.000000000","message":"During local testing I kept longer duration for wait. I think sleep\u003d1 will be sufficient. I will check it once again.","commit_id":"36dae0d89ccbe671c737eed69dd8ae7506c8bc29"},{"author":{"_account_id":8873,"name":"Assaf Muller","email":"amuller@redhat.com","username":"amuller"},"change_message_id":"9b3d538cd0d6538d9fa7c38abb4b24eaf0d5236e","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    def block_until_port_status_active(self, port_id):"},{"line_number":31,"context_line":"        def is_port_status_active():"},{"line_number":32,"context_line":"            port \u003d self.client.show_port(port_id)"},{"line_number":33,"context_line":"            if port[\u0027port\u0027][\u0027status\u0027] \u003d\u003d \u0027ACTIVE\u0027:"},{"line_number":34,"context_line":"                return True"},{"line_number":35,"context_line":"            return False"},{"line_number":36,"context_line":"        utils.wait_until_true(lambda: is_port_status_active(), sleep\u003d3)"}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_657edbe5","line":33,"updated":"2016-05-18 20:02:58.000000000","message":"Lines 33 and 34 can be simplified to:\n\nreturn port[\u0027port\u0027][\u0027status\u0027] \u003d\u003d \u0027ACTIVE\u0027","commit_id":"a758d049b2c55e95f06f135b8eac6151c10d959c"},{"author":{"_account_id":8873,"name":"Assaf Muller","email":"amuller@redhat.com","username":"amuller"},"change_message_id":"9b3d538cd0d6538d9fa7c38abb4b24eaf0d5236e","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    def _add_router_interface(self, router, subnet_id):"},{"line_number":39,"context_line":"        router_interface_info \u003d self.safe_client.add_router_interface("},{"line_number":40,"context_line":"            router[\u0027id\u0027], subnet_id)"},{"line_number":41,"context_line":"        self.block_until_port_status_active(router_interface_info[\u0027port_id\u0027])"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    def _create_net_subnet_and_vm(self, tenant_id, cidr, host, router\u003dNone):"},{"line_number":44,"context_line":"        network \u003d self.safe_client.create_network(tenant_id)"}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_25569329","line":41,"updated":"2016-05-18 20:02:58.000000000","message":"Can you explain why do we need to block until the router interface transitions to the \u0027ACTIVE\u0027 state? Consider that we block until the VMs boot and we retry the ping between the VMs until it succeeds.","commit_id":"a758d049b2c55e95f06f135b8eac6151c10d959c"},{"author":{"_account_id":10267,"name":"venkata anil","email":"anilvenkata@redhat.com","username":"anil"},"change_message_id":"59515e5ef4c8014487f12a5de0f0ebeb89636fb0","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    def _add_router_interface(self, router, subnet_id):"},{"line_number":39,"context_line":"        router_interface_info \u003d self.safe_client.add_router_interface("},{"line_number":40,"context_line":"            router[\u0027id\u0027], subnet_id)"},{"line_number":41,"context_line":"        self.block_until_port_status_active(router_interface_info[\u0027port_id\u0027])"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    def _create_net_subnet_and_vm(self, tenant_id, cidr, host, router\u003dNone):"},{"line_number":44,"context_line":"        network \u003d self.safe_client.create_network(tenant_id)"}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_8078f4f3","line":41,"in_reply_to":"bab6814e_25569329","updated":"2016-05-19 09:47:32.000000000","message":"When the port status becomes ACTIVE, l2pop creates all the flows need to become port operational. So I am making sure all the required flows established before vm tries to ping.","commit_id":"a758d049b2c55e95f06f135b8eac6151c10d959c"},{"author":{"_account_id":8873,"name":"Assaf Muller","email":"amuller@redhat.com","username":"amuller"},"change_message_id":"9b3d538cd0d6538d9fa7c38abb4b24eaf0d5236e","unresolved":false,"context_lines":[{"line_number":40,"context_line":"            router[\u0027id\u0027], subnet_id)"},{"line_number":41,"context_line":"        self.block_until_port_status_active(router_interface_info[\u0027port_id\u0027])"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    def _create_net_subnet_and_vm(self, tenant_id, cidr, host, router\u003dNone):"},{"line_number":44,"context_line":"        network \u003d self.safe_client.create_network(tenant_id)"},{"line_number":45,"context_line":"        subnet \u003d self.safe_client.create_subnet("},{"line_number":46,"context_line":"            tenant_id, network[\u0027id\u0027], cidr, enable_dhcp\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_e5748bd0","line":43,"updated":"2016-05-18 20:02:58.000000000","message":"All of the calls to this method pass a router. I don\u0027t see the point in making it a named parameter, and the conditional on line 53?","commit_id":"a758d049b2c55e95f06f135b8eac6151c10d959c"},{"author":{"_account_id":10267,"name":"venkata anil","email":"anilvenkata@redhat.com","username":"anil"},"change_message_id":"59515e5ef4c8014487f12a5de0f0ebeb89636fb0","unresolved":false,"context_lines":[{"line_number":40,"context_line":"            router[\u0027id\u0027], subnet_id)"},{"line_number":41,"context_line":"        self.block_until_port_status_active(router_interface_info[\u0027port_id\u0027])"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    def _create_net_subnet_and_vm(self, tenant_id, cidr, host, router\u003dNone):"},{"line_number":44,"context_line":"        network \u003d self.safe_client.create_network(tenant_id)"},{"line_number":45,"context_line":"        subnet \u003d self.safe_client.create_subnet("},{"line_number":46,"context_line":"            tenant_id, network[\u0027id\u0027], cidr, enable_dhcp\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_e070e0de","line":43,"in_reply_to":"bab6814e_e5748bd0","updated":"2016-05-19 09:47:32.000000000","message":"Yes, as all tests are router based, I will modify it to a non-keyworded argument.","commit_id":"a758d049b2c55e95f06f135b8eac6151c10d959c"},{"author":{"_account_id":8873,"name":"Assaf Muller","email":"amuller@redhat.com","username":"amuller"},"change_message_id":"9b3d538cd0d6538d9fa7c38abb4b24eaf0d5236e","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"        if router:"},{"line_number":54,"context_line":"            self._add_router_interface(router, subnet[\u0027id\u0027])"},{"line_number":55,"context_line":"        return network, subnet, vm"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"class TestLegacyL3Agent(TestL3Agent):"}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_6536db04","line":55,"updated":"2016-05-18 20:02:58.000000000","message":"The callers only seem to use the VM return value. I also don\u0027t see the next patch in the series using the network or subnet return values.","commit_id":"a758d049b2c55e95f06f135b8eac6151c10d959c"},{"author":{"_account_id":10267,"name":"venkata anil","email":"anilvenkata@redhat.com","username":"anil"},"change_message_id":"59515e5ef4c8014487f12a5de0f0ebeb89636fb0","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"        if router:"},{"line_number":54,"context_line":"            self._add_router_interface(router, subnet[\u0027id\u0027])"},{"line_number":55,"context_line":"        return network, subnet, vm"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"class TestLegacyL3Agent(TestL3Agent):"}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_43145643","line":55,"in_reply_to":"bab6814e_6536db04","updated":"2016-05-19 09:47:32.000000000","message":"Yes - network, subnet are not used anywhere.\nAs the name of the function is _create_net_subnet_and_vm, I am returning all the three. I will modify it to return only vm.","commit_id":"a758d049b2c55e95f06f135b8eac6151c10d959c"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"b95281ace8ff9ef526f88bc85416ce2dee2fd11c","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        def is_port_status_active():"},{"line_number":32,"context_line":"            port \u003d self.client.show_port(port_id)"},{"line_number":33,"context_line":"            return port[\u0027port\u0027][\u0027status\u0027] \u003d\u003d \u0027ACTIVE\u0027"},{"line_number":34,"context_line":"        utils.wait_until_true(lambda: is_port_status_active(), sleep\u003d3)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def _create_net_subnet_and_vm(self, tenant_id, cidr, host, router):"},{"line_number":37,"context_line":"        network \u003d self.safe_client.create_network(tenant_id)"}],"source_content_type":"text/x-python","patch_set":10,"id":"bab6814e_e74f2bbb","line":34,"updated":"2016-05-19 22:00:16.000000000","message":"show port should be cheap for neutron. can you change the sleep to just 1 so tests don\u0027t get unnecessarily long?","commit_id":"ad1e3e3d248ffba5c207235d08747380929b2613"}]}
