)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7293,"name":"Elena Ezhova","email":"ezhovaelena19@gmail.com","username":"elena"},"change_message_id":"f130416f7526a90bc53568854ec22d1ccc973708","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Sean M. Collins \u003csean_collins2@cable.comcast.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-05-14 14:29:00 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Tempest API tests: Add ipv6 attribute tests"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I7f8358f4fc507cc2ea73ebbf8a7ff25f0e8306fe"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7adec928_427672d8","line":7,"updated":"2014-05-15 10:11:36.000000000","message":"Please add more information regarding the tests you add. For example, you could just say what they do.","commit_id":"43160a01ad1f97b9e86f658c201306bdcb064c7c"},{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"0c5f4fb863ebca9e54ed5aef1e6851cc806c87d6","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Sean M. Collins \u003csean_collins2@cable.comcast.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-05-14 14:29:00 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Tempest API tests: Add ipv6 attribute tests"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I7f8358f4fc507cc2ea73ebbf8a7ff25f0e8306fe"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7adec928_1513c30d","line":7,"in_reply_to":"7adec928_427672d8","updated":"2014-05-15 13:51:16.000000000","message":"Done","commit_id":"43160a01ad1f97b9e86f658c201306bdcb064c7c"}],"tempest/api/network/test_networks.py":[{"author":{"_account_id":10257,"name":"Sridhar Gaddam","email":"sgaddam@redhat.com","username":"sridhargaddam"},"change_message_id":"f3c05b5e1e0b2104f92589104d6ea204307938ca","unresolved":false,"context_lines":[{"line_number":442,"context_line":"                                    ipv6_ra_mode\u003d\u0027slaac\u0027,"},{"line_number":443,"context_line":"                                    ipv6_address_mode\u003d\u0027slaac\u0027)"},{"line_number":444,"context_line":"        # Verifies Subnet GW in IPv6"},{"line_number":445,"context_line":"        self.assertEqual(subnet[\u0027gateway_ip\u0027], \u00272003::1\u0027)"},{"line_number":446,"context_line":"        self.assertEqual(subnet[\u0027ipv6_ra_mode\u0027], \u0027slaac\u0027)"},{"line_number":447,"context_line":"        self.assertEqual(subnet[\u0027ipv6_address_mode\u0027], \u0027slaac\u0027)"},{"line_number":448,"context_line":"        # Delete network and subnet"}],"source_content_type":"text/x-python","patch_set":3,"id":"7adec928_3947e61e","line":445,"updated":"2014-05-14 20:01:57.000000000","message":"As it is possible for the user to modify the default value of tenant_network_v6_cidr in tempest.conf file, please calculate the gateway address based on the configured value instead of hard-coding it. Other than this your changes look good.","commit_id":"43160a01ad1f97b9e86f658c201306bdcb064c7c"},{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"0c5f4fb863ebca9e54ed5aef1e6851cc806c87d6","unresolved":false,"context_lines":[{"line_number":442,"context_line":"                                    ipv6_ra_mode\u003d\u0027slaac\u0027,"},{"line_number":443,"context_line":"                                    ipv6_address_mode\u003d\u0027slaac\u0027)"},{"line_number":444,"context_line":"        # Verifies Subnet GW in IPv6"},{"line_number":445,"context_line":"        self.assertEqual(subnet[\u0027gateway_ip\u0027], \u00272003::1\u0027)"},{"line_number":446,"context_line":"        self.assertEqual(subnet[\u0027ipv6_ra_mode\u0027], \u0027slaac\u0027)"},{"line_number":447,"context_line":"        self.assertEqual(subnet[\u0027ipv6_address_mode\u0027], \u0027slaac\u0027)"},{"line_number":448,"context_line":"        # Delete network and subnet"}],"source_content_type":"text/x-python","patch_set":3,"id":"7adec928_9567d3b6","line":445,"in_reply_to":"7adec928_3947e61e","updated":"2014-05-15 13:51:16.000000000","message":"I\u0027ll replace it with a link local address","commit_id":"43160a01ad1f97b9e86f658c201306bdcb064c7c"},{"author":{"_account_id":10257,"name":"Sridhar Gaddam","email":"sgaddam@redhat.com","username":"sridhargaddam"},"change_message_id":"7b1362d54b3f36861455ddf35f77eb5a731aab53","unresolved":false,"context_lines":[{"line_number":432,"context_line":"        self.subnets.pop()"},{"line_number":433,"context_line":""},{"line_number":434,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":435,"context_line":"    @testtools.skipUnless(CONF.network_feature_enabled.ipv6_subnet_attributes,"},{"line_number":436,"context_line":"                          \"IPv6 extended attributes for subnets not \""},{"line_number":437,"context_line":"                          \"available\")"},{"line_number":438,"context_line":"    def test_create_delete_subnet_with_v6_attributes(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"7adec928_38a516a2","line":435,"updated":"2014-05-15 14:47:48.000000000","message":"Sean, AFAIU this will skip the test case for all the gates and not just for check-tempest-dsvm-neutron-icehouse. \nI think the requirement is to skip the test case only for icehouse right? If so, my previous suggestion on skipping the tests for icehouse would still hold good.\nAm I missing something?","commit_id":"e85f78cbec10dcb75657305ec5c457949ff9ccb9"},{"author":{"_account_id":10257,"name":"Sridhar Gaddam","email":"sgaddam@redhat.com","username":"sridhargaddam"},"change_message_id":"091537db8918f3c69e4f0de493ba3f8d91b2682b","unresolved":false,"context_lines":[{"line_number":432,"context_line":"        self.subnets.pop()"},{"line_number":433,"context_line":""},{"line_number":434,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":435,"context_line":"    @testtools.skipUnless(CONF.network_feature_enabled.ipv6_subnet_attributes,"},{"line_number":436,"context_line":"                          \"IPv6 extended attributes for subnets not \""},{"line_number":437,"context_line":"                          \"available\")"},{"line_number":438,"context_line":"    def test_create_delete_subnet_with_v6_attributes(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"7adec928_8ba89278","line":435,"in_reply_to":"7adec928_18a3fa4f","updated":"2014-05-15 15:11:06.000000000","message":"Sure, seeking opinion of the people at the summit is a good idea. We need to nail this down and do it properly as it would be required for all the new IPV6 test cases that will be added in tempest.\n\nSome pointers from my side.\nWe already have a config parameter CONF.network_feature_enabled.ipv6 to check if the tests have to be skipped or not. When the flag is set to false, all IPV6 test cases would be skipped irrespective of the deployment against which the testing is happening.\n\nOur requirement is to skip only few test cases like IPV6 Subnet attributes and that too only for icehouse. So we need a mechanism to identify that the tests are currently run against an OpenStack deployment running icehouse (i.e., check-tempest-dsvm-neutron-icehouse).\n\nOne other possibility is to make check-tempest-dsvm-neutron-icehouse as non-voting :-)","commit_id":"e85f78cbec10dcb75657305ec5c457949ff9ccb9"},{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"942b6dca27f07f90e3d2789d77add97a10f9a2c4","unresolved":false,"context_lines":[{"line_number":432,"context_line":"        self.subnets.pop()"},{"line_number":433,"context_line":""},{"line_number":434,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":435,"context_line":"    @testtools.skipUnless(CONF.network_feature_enabled.ipv6_subnet_attributes,"},{"line_number":436,"context_line":"                          \"IPv6 extended attributes for subnets not \""},{"line_number":437,"context_line":"                          \"available\")"},{"line_number":438,"context_line":"    def test_create_delete_subnet_with_v6_attributes(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"7adec928_18a3fa4f","line":435,"in_reply_to":"7adec928_38a516a2","updated":"2014-05-15 14:52:10.000000000","message":"I did a little more thinking, and I don\u0027t really like the idea of trying to create a subnet, and if it fails in setUpClass skip these tests, it looks like the \"correct\" way to do it is add configuration settings for tempest.conf, then add them to DevStack, so that DevStack-gate can enable/disable them depending on the job.\n\nI\u0027m going to try and get a hold of people at the summit to confirm.","commit_id":"e85f78cbec10dcb75657305ec5c457949ff9ccb9"},{"author":{"_account_id":10257,"name":"Sridhar Gaddam","email":"sgaddam@redhat.com","username":"sridhargaddam"},"change_message_id":"7b1362d54b3f36861455ddf35f77eb5a731aab53","unresolved":false,"context_lines":[{"line_number":445,"context_line":"                                    ipv6_ra_mode\u003d\u0027slaac\u0027,"},{"line_number":446,"context_line":"                                    ipv6_address_mode\u003d\u0027slaac\u0027)"},{"line_number":447,"context_line":"        # Verifies Subnet GW in IPv6"},{"line_number":448,"context_line":"        self.assertEqual(subnet[\u0027gateway_ip\u0027], \u0027fe80::1\u0027)"},{"line_number":449,"context_line":"        self.assertEqual(subnet[\u0027ipv6_ra_mode\u0027], \u0027slaac\u0027)"},{"line_number":450,"context_line":"        self.assertEqual(subnet[\u0027ipv6_address_mode\u0027], \u0027slaac\u0027)"},{"line_number":451,"context_line":"        # Delete network and subnet"}],"source_content_type":"text/x-python","patch_set":4,"id":"7adec928_586ca235","line":448,"updated":"2014-05-15 14:47:48.000000000","message":"As you know, when a Subnet is created and gateway_ip is not specified, Neutron allocates the first address from the Subnet CIDR as the gateway_ip. So you will have to check it with the first IP address from the tenant_network_v6_cidr pool.\n\nPlease have a look at the following patch for reference.\nhttps://review.openstack.org/#/c/93400","commit_id":"e85f78cbec10dcb75657305ec5c457949ff9ccb9"},{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"942b6dca27f07f90e3d2789d77add97a10f9a2c4","unresolved":false,"context_lines":[{"line_number":445,"context_line":"                                    ipv6_ra_mode\u003d\u0027slaac\u0027,"},{"line_number":446,"context_line":"                                    ipv6_address_mode\u003d\u0027slaac\u0027)"},{"line_number":447,"context_line":"        # Verifies Subnet GW in IPv6"},{"line_number":448,"context_line":"        self.assertEqual(subnet[\u0027gateway_ip\u0027], \u0027fe80::1\u0027)"},{"line_number":449,"context_line":"        self.assertEqual(subnet[\u0027ipv6_ra_mode\u0027], \u0027slaac\u0027)"},{"line_number":450,"context_line":"        self.assertEqual(subnet[\u0027ipv6_address_mode\u0027], \u0027slaac\u0027)"},{"line_number":451,"context_line":"        # Delete network and subnet"}],"source_content_type":"text/x-python","patch_set":4,"id":"7adec928_18ba1a6e","line":448,"in_reply_to":"7adec928_586ca235","updated":"2014-05-15 14:52:10.000000000","message":"Ah good point i need to set the gateway when I create the subnet, in line 444. Thanks.","commit_id":"e85f78cbec10dcb75657305ec5c457949ff9ccb9"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"3ed0a4999bed54d3aacd53fc698596c36828b692","unresolved":false,"context_lines":[{"line_number":449,"context_line":"        # Verifies Subnet GW in IPv6"},{"line_number":450,"context_line":"        self.assertEqual(subnet[\u0027gateway_ip\u0027], \u0027fe80::1\u0027)"},{"line_number":451,"context_line":"        self.assertEqual(subnet[\u0027ipv6_ra_mode\u0027], \u0027slaac\u0027)"},{"line_number":452,"context_line":"        self.assertEqual(subnet[\u0027ipv6_address_mode\u0027], \u0027slaac\u0027)"},{"line_number":453,"context_line":"        # Delete network and subnet"},{"line_number":454,"context_line":"        resp, body \u003d self.client.delete_network(net_id)"},{"line_number":455,"context_line":"        self.assertEqual(\u0027204\u0027, resp[\u0027status\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"1ae5cdf2_db1494f7","line":452,"updated":"2014-05-30 15:41:01.000000000","message":"Is there any functional verification that makes sense here? I\u0027m fine with just checking the attr, I just wanted to know if there is anything else we can check.","commit_id":"f1143b8c68674b4f243566888141a62961ef5b60"},{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"ad603af7a7ef911b6feaa8ecbe2207e25f26eedf","unresolved":false,"context_lines":[{"line_number":449,"context_line":"        # Verifies Subnet GW in IPv6"},{"line_number":450,"context_line":"        self.assertEqual(subnet[\u0027gateway_ip\u0027], \u0027fe80::1\u0027)"},{"line_number":451,"context_line":"        self.assertEqual(subnet[\u0027ipv6_ra_mode\u0027], \u0027slaac\u0027)"},{"line_number":452,"context_line":"        self.assertEqual(subnet[\u0027ipv6_address_mode\u0027], \u0027slaac\u0027)"},{"line_number":453,"context_line":"        # Delete network and subnet"},{"line_number":454,"context_line":"        resp, body \u003d self.client.delete_network(net_id)"},{"line_number":455,"context_line":"        self.assertEqual(\u0027204\u0027, resp[\u0027status\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"1ae5cdf2_dddf830b","line":452,"in_reply_to":"1ae5cdf2_db1494f7","updated":"2014-06-12 20:14:51.000000000","message":"I\u0027ll see what the other unit tests in this file does, but I think it may have to come in the form of scenario testing.","commit_id":"f1143b8c68674b4f243566888141a62961ef5b60"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"3ed0a4999bed54d3aacd53fc698596c36828b692","unresolved":false,"context_lines":[{"line_number":453,"context_line":"        # Delete network and subnet"},{"line_number":454,"context_line":"        resp, body \u003d self.client.delete_network(net_id)"},{"line_number":455,"context_line":"        self.assertEqual(\u0027204\u0027, resp[\u0027status\u0027])"},{"line_number":456,"context_line":"        self.subnets.pop()"},{"line_number":457,"context_line":""},{"line_number":458,"context_line":""},{"line_number":459,"context_line":"class NetworksIpV6TestXML(NetworksIpV6TestJSON):"}],"source_content_type":"text/x-python","patch_set":6,"id":"1ae5cdf2_fb95d088","line":456,"updated":"2014-05-30 15:41:01.000000000","message":"Where is the subnet delete()?","commit_id":"f1143b8c68674b4f243566888141a62961ef5b60"},{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"ad603af7a7ef911b6feaa8ecbe2207e25f26eedf","unresolved":false,"context_lines":[{"line_number":453,"context_line":"        # Delete network and subnet"},{"line_number":454,"context_line":"        resp, body \u003d self.client.delete_network(net_id)"},{"line_number":455,"context_line":"        self.assertEqual(\u0027204\u0027, resp[\u0027status\u0027])"},{"line_number":456,"context_line":"        self.subnets.pop()"},{"line_number":457,"context_line":""},{"line_number":458,"context_line":""},{"line_number":459,"context_line":"class NetworksIpV6TestXML(NetworksIpV6TestJSON):"}],"source_content_type":"text/x-python","patch_set":6,"id":"1ae5cdf2_9d741b37","line":456,"in_reply_to":"1ae5cdf2_fb95d088","updated":"2014-06-12 20:14:51.000000000","message":"Done","commit_id":"f1143b8c68674b4f243566888141a62961ef5b60"}],"tempest/config.py":[{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"500d8a10fdf09231b6fe36e48f00676965de2f92","unresolved":false,"context_lines":[{"line_number":428,"context_line":"                help\u003d\u0027A list of enabled network extensions with a special \u0027"},{"line_number":429,"context_line":"                     \u0027entry all which indicates every extension is enabled\u0027),"},{"line_number":430,"context_line":"    cfg.BoolOpt(\u0027ipv6_subnet_attributes\u0027,"},{"line_number":431,"context_line":"                default\u003dTrue,"},{"line_number":432,"context_line":"                help\u003d\"Allow the execution of IPv6 subnet tests that use \""},{"line_number":433,"context_line":"                     \"the extended IPv6 attributes ipv6_ra_mode \""},{"line_number":434,"context_line":"                     \"and ipv6_address_mode\""}],"source_content_type":"text/x-python","patch_set":6,"id":"1ae5cdf2_4bd93521","line":431,"updated":"2014-06-03 12:00:51.000000000","message":"we have to default to False to handle the icehouse fallback case. It\u0027s also fair to say it should default to True after icehouse support has been removed.","commit_id":"f1143b8c68674b4f243566888141a62961ef5b60"},{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"ad603af7a7ef911b6feaa8ecbe2207e25f26eedf","unresolved":false,"context_lines":[{"line_number":428,"context_line":"                help\u003d\u0027A list of enabled network extensions with a special \u0027"},{"line_number":429,"context_line":"                     \u0027entry all which indicates every extension is enabled\u0027),"},{"line_number":430,"context_line":"    cfg.BoolOpt(\u0027ipv6_subnet_attributes\u0027,"},{"line_number":431,"context_line":"                default\u003dTrue,"},{"line_number":432,"context_line":"                help\u003d\"Allow the execution of IPv6 subnet tests that use \""},{"line_number":433,"context_line":"                     \"the extended IPv6 attributes ipv6_ra_mode \""},{"line_number":434,"context_line":"                     \"and ipv6_address_mode\""}],"source_content_type":"text/x-python","patch_set":6,"id":"1ae5cdf2_1d81ebfa","line":431,"in_reply_to":"1ae5cdf2_4bd93521","updated":"2014-06-12 20:14:51.000000000","message":"Done","commit_id":"f1143b8c68674b4f243566888141a62961ef5b60"}]}
