)]}'
{"tempest/api/network/test_ports.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"6b379126aad0d6c97efe91e4dc6bd002289f0247","unresolved":false,"context_lines":[{"line_number":164,"context_line":"        # List ports filtered by fixed_ips"},{"line_number":165,"context_line":"        port_1_fixed_ip \u003d port_1[\u0027port\u0027][\u0027fixed_ips\u0027][0][\u0027ip_address\u0027]"},{"line_number":166,"context_line":"        fixed_ips \u003d \u0027ip_address\u003d\u0027 + port_1_fixed_ip"},{"line_number":167,"context_line":"        port_list \u003d self.client.list_ports(fixed_ips\u003dfixed_ips)"},{"line_number":168,"context_line":"        # Check that we got the desired port"},{"line_number":169,"context_line":"        ports \u003d port_list[\u0027ports\u0027]"},{"line_number":170,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_cc58548d","line":167,"updated":"2015-09-10 05:02:31.000000000","message":"I show the failure on http://logs.openstack.org/22/216522/5/experimental/gate-tempest-dsvm-neutron-full-test-accounts/0c61e76/logs/testr_results.html.gz\n\nAnd looks like it return ports from different tenants network also. As this is non-admin tests it should list ports of network belongs to this tenant only which make sure the unique fixed-ip per port.\n\nIs this something wrong with neutron?","commit_id":"b2205f022cbb61994fe87d9ccfd88e0e817d7bd5"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"fa7155b056c64578c0733797c04379a20a0047ee","unresolved":false,"context_lines":[{"line_number":164,"context_line":"        # List ports filtered by fixed_ips"},{"line_number":165,"context_line":"        port_1_fixed_ip \u003d port_1[\u0027port\u0027][\u0027fixed_ips\u0027][0][\u0027ip_address\u0027]"},{"line_number":166,"context_line":"        fixed_ips \u003d \u0027ip_address\u003d\u0027 + port_1_fixed_ip"},{"line_number":167,"context_line":"        port_list \u003d self.client.list_ports(fixed_ips\u003dfixed_ips)"},{"line_number":168,"context_line":"        # Check that we got the desired port"},{"line_number":169,"context_line":"        ports \u003d port_list[\u0027ports\u0027]"},{"line_number":170,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_aed5c11b","line":167,"in_reply_to":"da20952f_cc58548d","updated":"2015-09-10 14:53:18.000000000","message":"No I don\u0027t expect that this is an issue with neutron.\n\nMy thoughts on the cause of the issue are that because the test accounts setup script is unconditionally making a network/subnet/router and router interface for all the tenants used in accounts.yaml the router interface is also showing up in the list. (I have no idea why it has the same ip though)\n\nI view this as more the test having inaccurate assumptions about the clean state of the tenant when it\u0027s running. With tenant isolation there is a mechanism (which all the neutron tests use) to specify to not create any network resources in an isolated tenant. While we can\u0027t have a mechanism like this in a tenant that\u0027s just handed to tempest. Which is why I\u0027m adjusting the asserts here to check that what we\u0027re looking for is in the list instead of the whole list.","commit_id":"b2205f022cbb61994fe87d9ccfd88e0e817d7bd5"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"f6e138d1b033dcd94739e06c2534bbe026107db8","unresolved":false,"context_lines":[{"line_number":167,"context_line":"        port_list \u003d self.client.list_ports(fixed_ips\u003dfixed_ips)"},{"line_number":168,"context_line":"        # Check that we got the desired port"},{"line_number":169,"context_line":"        ports \u003d port_list[\u0027ports\u0027]"},{"line_number":170,"context_line":"        self.assertEqual(len(ports), 1)"},{"line_number":171,"context_line":"        self.assertEqual(ports[0][\u0027id\u0027], port_1[\u0027port\u0027][\u0027id\u0027])"},{"line_number":172,"context_line":"        self.assertEqual(ports[0][\u0027fixed_ips\u0027][0][\u0027ip_address\u0027],"},{"line_number":173,"context_line":"                         port_1_fixed_ip)"}],"source_content_type":"text/x-python","patch_set":7,"id":"da20952f_a02e2a40","side":"PARENT","line":170,"updated":"2015-09-10 17:35:32.000000000","message":"The test is broken under the following assumption: two tests running concurrently, and using the same test account creating two networks with overlapping IP\u0027s. When filtering is used, a port being created by another test may show up in this list. However, only ports belonging to the tenant will show up, unless admin, in which case all of them should.","commit_id":"36c2e284952193af1dd8101de649811722ffd291"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"f013f1d9e3541ea55fa6cb141dfdd5f67916b318","unresolved":false,"context_lines":[{"line_number":167,"context_line":"        port_list \u003d self.client.list_ports(fixed_ips\u003dfixed_ips)"},{"line_number":168,"context_line":"        # Check that we got the desired port"},{"line_number":169,"context_line":"        ports \u003d port_list[\u0027ports\u0027]"},{"line_number":170,"context_line":"        self.assertEqual(len(ports), 1)"},{"line_number":171,"context_line":"        self.assertEqual(ports[0][\u0027id\u0027], port_1[\u0027port\u0027][\u0027id\u0027])"},{"line_number":172,"context_line":"        self.assertEqual(ports[0][\u0027fixed_ips\u0027][0][\u0027ip_address\u0027],"},{"line_number":173,"context_line":"                         port_1_fixed_ip)"}],"source_content_type":"text/x-python","patch_set":7,"id":"da20952f_3556cb5e","side":"PARENT","line":170,"in_reply_to":"da20952f_55dedf3e","updated":"2015-09-11 03:13:27.000000000","message":"network virtualization?","commit_id":"36c2e284952193af1dd8101de649811722ffd291"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e168a101ad30747ff1e95b13ff756f9bb418e486","unresolved":false,"context_lines":[{"line_number":167,"context_line":"        port_list \u003d self.client.list_ports(fixed_ips\u003dfixed_ips)"},{"line_number":168,"context_line":"        # Check that we got the desired port"},{"line_number":169,"context_line":"        ports \u003d port_list[\u0027ports\u0027]"},{"line_number":170,"context_line":"        self.assertEqual(len(ports), 1)"},{"line_number":171,"context_line":"        self.assertEqual(ports[0][\u0027id\u0027], port_1[\u0027port\u0027][\u0027id\u0027])"},{"line_number":172,"context_line":"        self.assertEqual(ports[0][\u0027fixed_ips\u0027][0][\u0027ip_address\u0027],"},{"line_number":173,"context_line":"                         port_1_fixed_ip)"}],"source_content_type":"text/x-python","patch_set":7,"id":"da20952f_55dedf3e","side":"PARENT","line":170,"in_reply_to":"da20952f_a02e2a40","updated":"2015-09-11 02:50:28.000000000","message":"Thanks for explanation. Is there any special use case for two networks having same address space within same tenant (ll be interesting for me to know that)?","commit_id":"36c2e284952193af1dd8101de649811722ffd291"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"f6e138d1b033dcd94739e06c2534bbe026107db8","unresolved":false,"context_lines":[{"line_number":168,"context_line":"        # Check that we got the desired port"},{"line_number":169,"context_line":"        ports \u003d port_list[\u0027ports\u0027]"},{"line_number":170,"context_line":"        tenant_ids \u003d set([port[\u0027tenant_id\u0027] for port in ports])"},{"line_number":171,"context_line":"        self.assertEqual(len(tenant_ids), 1,"},{"line_number":172,"context_line":"                         \u0027Ports from multiple tenants are in the list resp\u0027)"},{"line_number":173,"context_line":"        port_ids \u003d [port[\u0027id\u0027] for port in ports]"},{"line_number":174,"context_line":"        fixed_ips \u003d [port[\u0027fixed_ips\u0027] for port in ports]"}],"source_content_type":"text/x-python","patch_set":7,"id":"da20952f_e01422ea","line":171,"updated":"2015-09-10 17:35:32.000000000","message":"Assuming you\u0027re not admin, this assert ensures that filtering doesn\u0027t cross the tenant boundary.","commit_id":"1d942547a42396fb599b7e34671e536fb057c240"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"13d7b3772e4485060aeab95c015751046a1d43ce","unresolved":false,"context_lines":[{"line_number":169,"context_line":"        ports \u003d port_list[\u0027ports\u0027]"},{"line_number":170,"context_line":"        tenant_ids \u003d set([port[\u0027tenant_id\u0027] for port in ports])"},{"line_number":171,"context_line":"        self.assertEqual(len(tenant_ids), 1,"},{"line_number":172,"context_line":"                         \u0027Ports from multiple tenants are in the list resp\u0027)"},{"line_number":173,"context_line":"        port_ids \u003d [port[\u0027id\u0027] for port in ports]"},{"line_number":174,"context_line":"        fixed_ips \u003d [port[\u0027fixed_ips\u0027] for port in ports]"},{"line_number":175,"context_line":"        port_ips \u003d []"}],"source_content_type":"text/x-python","patch_set":7,"id":"da20952f_feffd531","line":172,"updated":"2015-09-11 02:46:31.000000000","message":"This look good. make sure diff tenant\u0027s port does not show up in this tests (non-admin)\n\nHumm, very interesting for me to know that same address space can be allocated among networks of *same* tenant.","commit_id":"1d942547a42396fb599b7e34671e536fb057c240"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"f28179b31bb40a8ac88fa1bc7df4478b4ffc6fbb","unresolved":false,"context_lines":[{"line_number":169,"context_line":"        ports \u003d port_list[\u0027ports\u0027]"},{"line_number":170,"context_line":"        tenant_ids \u003d set([port[\u0027tenant_id\u0027] for port in ports])"},{"line_number":171,"context_line":"        self.assertEqual(len(tenant_ids), 1,"},{"line_number":172,"context_line":"                         \u0027Ports from multiple tenants are in the list resp\u0027)"},{"line_number":173,"context_line":"        port_ids \u003d [port[\u0027id\u0027] for port in ports]"},{"line_number":174,"context_line":"        fixed_ips \u003d [port[\u0027fixed_ips\u0027] for port in ports]"},{"line_number":175,"context_line":"        port_ips \u003d []"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a1a9d01_2a561d06","line":172,"in_reply_to":"da20952f_feffd531","updated":"2015-09-30 14:02:28.000000000","message":"The tenant is not really important in address allocation.\nFor example, you can have 2 router in the same tenant each router can have connected (different) network has a ... VM with the same ipv4 address.\n\nThe ip collision is problematic on the router, you must not have overlapping subnets connected to the same router.","commit_id":"1d942547a42396fb599b7e34671e536fb057c240"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"f013f1d9e3541ea55fa6cb141dfdd5f67916b318","unresolved":false,"context_lines":[{"line_number":169,"context_line":"        ports \u003d port_list[\u0027ports\u0027]"},{"line_number":170,"context_line":"        tenant_ids \u003d set([port[\u0027tenant_id\u0027] for port in ports])"},{"line_number":171,"context_line":"        self.assertEqual(len(tenant_ids), 1,"},{"line_number":172,"context_line":"                         \u0027Ports from multiple tenants are in the list resp\u0027)"},{"line_number":173,"context_line":"        port_ids \u003d [port[\u0027id\u0027] for port in ports]"},{"line_number":174,"context_line":"        fixed_ips \u003d [port[\u0027fixed_ips\u0027] for port in ports]"},{"line_number":175,"context_line":"        port_ips \u003d []"}],"source_content_type":"text/x-python","patch_set":7,"id":"da20952f_95f31773","line":172,"in_reply_to":"da20952f_feffd531","updated":"2015-09-11 03:13:27.000000000","message":"the fundamental reason is tenant isolation, and once you achieve that across tenants nothing stops you from doing it intra-tenant. That said, this is a behavior that can be configured, it only happens to be the default one.","commit_id":"1d942547a42396fb599b7e34671e536fb057c240"}]}
