)]}'
{"neutron/tests/tempest/api/test_dhcp_ipv6.py":[{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"5786ed3df611e156caef8fed8a9f10431395d430","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"        # these are for ipv6-pd testing"},{"line_number":59,"context_line":"        cls.security_groups.append(cls.secgroup)"},{"line_number":60,"context_line":"        cls.create_loginable_secgroup_rule(secgroup_id\u003dcls.secgroup[\u0027id\u0027])"},{"line_number":61,"context_line":"        cls.create_pingable_secgroup_rule(secgroup_id\u003dcls.secgroup[\u0027id\u0027])"},{"line_number":62,"context_line":"        cls._src_server \u003d cls._create_server()"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ffe62b97_18fd9db0","line":60,"range":{"start_line":60,"start_character":12,"end_line":60,"end_character":42},"updated":"2017-03-27 21:28:27.000000000","message":"This method is defined in https://github.com/openstack/neutron/blob/master/neutron/tests/tempest/scenario/base.py#L117. You are not inheriting from this class.","commit_id":"423c655a11bb1a0267d8da9cc2c0867c8dd84a14"},{"author":{"_account_id":12906,"name":"tonytan4ever","email":"tony.tan@rackspace.com","username":"tonytan4ever"},"change_message_id":"204105b4989a213a09e7b5affc170641ee902524","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"        # these are for ipv6-pd testing"},{"line_number":59,"context_line":"        cls.security_groups.append(cls.secgroup)"},{"line_number":60,"context_line":"        cls.create_loginable_secgroup_rule(secgroup_id\u003dcls.secgroup[\u0027id\u0027])"},{"line_number":61,"context_line":"        cls.create_pingable_secgroup_rule(secgroup_id\u003dcls.secgroup[\u0027id\u0027])"},{"line_number":62,"context_line":"        cls._src_server \u003d cls._create_server()"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"dfeb2761_721b021b","line":60,"range":{"start_line":60,"start_character":12,"end_line":60,"end_character":42},"in_reply_to":"ffe62b97_18fd9db0","updated":"2017-03-31 15:44:23.000000000","message":"Done","commit_id":"423c655a11bb1a0267d8da9cc2c0867c8dd84a14"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"5786ed3df611e156caef8fed8a9f10431395d430","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        # these are for ipv6-pd testing"},{"line_number":59,"context_line":"        cls.security_groups.append(cls.secgroup)"},{"line_number":60,"context_line":"        cls.create_loginable_secgroup_rule(secgroup_id\u003dcls.secgroup[\u0027id\u0027])"},{"line_number":61,"context_line":"        cls.create_pingable_secgroup_rule(secgroup_id\u003dcls.secgroup[\u0027id\u0027])"},{"line_number":62,"context_line":"        cls._src_server \u003d cls._create_server()"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    def _remove_from_list_by_index(self, things_list, elem):"}],"source_content_type":"text/x-python","patch_set":2,"id":"ffe62b97_18547d20","line":61,"range":{"start_line":61,"start_character":12,"end_line":61,"end_character":41},"updated":"2017-03-27 21:28:27.000000000","message":"This method is defined in https://github.com/openstack/neutron/blob/master/neutron/tests/tempest/scenario/base.py#L134. You are not inheriting from this class","commit_id":"423c655a11bb1a0267d8da9cc2c0867c8dd84a14"},{"author":{"_account_id":12906,"name":"tonytan4ever","email":"tony.tan@rackspace.com","username":"tonytan4ever"},"change_message_id":"204105b4989a213a09e7b5affc170641ee902524","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        # these are for ipv6-pd testing"},{"line_number":59,"context_line":"        cls.security_groups.append(cls.secgroup)"},{"line_number":60,"context_line":"        cls.create_loginable_secgroup_rule(secgroup_id\u003dcls.secgroup[\u0027id\u0027])"},{"line_number":61,"context_line":"        cls.create_pingable_secgroup_rule(secgroup_id\u003dcls.secgroup[\u0027id\u0027])"},{"line_number":62,"context_line":"        cls._src_server \u003d cls._create_server()"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    def _remove_from_list_by_index(self, things_list, elem):"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfeb2761_32d33a3b","line":61,"range":{"start_line":61,"start_character":12,"end_line":61,"end_character":41},"in_reply_to":"ffe62b97_18547d20","updated":"2017-03-31 15:44:23.000000000","message":"Done","commit_id":"423c655a11bb1a0267d8da9cc2c0867c8dd84a14"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"5786ed3df611e156caef8fed8a9f10431395d430","unresolved":false,"context_lines":[{"line_number":128,"context_line":"                \u0027ip_address\u0027: netaddr.IPAddress(ip_range.last - 10).format()"},{"line_number":129,"context_line":"            }])"},{"line_number":130,"context_line":"        if create_floating_ip:"},{"line_number":131,"context_line":"            fip \u003d cls.create_and_associate_floatingip(port[\u0027id\u0027])"},{"line_number":132,"context_line":"        else:"},{"line_number":133,"context_line":"            fip \u003d None"},{"line_number":134,"context_line":"        server \u003d cls.create_server("}],"source_content_type":"text/x-python","patch_set":2,"id":"ffe62b97_38050115","line":131,"range":{"start_line":131,"start_character":22,"end_line":131,"end_character":53},"updated":"2017-03-27 21:28:27.000000000","message":"This method is defined in https://github.com/openstack/neutron/blob/master/neutron/tests/tempest/scenario/base.py#L159. You are not inheriting from this class","commit_id":"423c655a11bb1a0267d8da9cc2c0867c8dd84a14"},{"author":{"_account_id":12906,"name":"tonytan4ever","email":"tony.tan@rackspace.com","username":"tonytan4ever"},"change_message_id":"204105b4989a213a09e7b5affc170641ee902524","unresolved":false,"context_lines":[{"line_number":128,"context_line":"                \u0027ip_address\u0027: netaddr.IPAddress(ip_range.last - 10).format()"},{"line_number":129,"context_line":"            }])"},{"line_number":130,"context_line":"        if create_floating_ip:"},{"line_number":131,"context_line":"            fip \u003d cls.create_and_associate_floatingip(port[\u0027id\u0027])"},{"line_number":132,"context_line":"        else:"},{"line_number":133,"context_line":"            fip \u003d None"},{"line_number":134,"context_line":"        server \u003d cls.create_server("}],"source_content_type":"text/x-python","patch_set":2,"id":"dfeb2761_12d83651","line":131,"range":{"start_line":131,"start_character":22,"end_line":131,"end_character":53},"in_reply_to":"ffe62b97_38050115","updated":"2017-03-31 15:44:23.000000000","message":"Done","commit_id":"423c655a11bb1a0267d8da9cc2c0867c8dd84a14"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"5786ed3df611e156caef8fed8a9f10431395d430","unresolved":false,"context_lines":[{"line_number":146,"context_line":"        \"\"\"When a subnetwork gets prefix delegated to a pd DHCP server"},{"line_number":147,"context_line":"        (such as dibbler), its allocation_pools will have prefix."},{"line_number":148,"context_line":"        \"\"\""},{"line_number":149,"context_line":"        if not CONF.network_feature_enabled.ipv6_pd_enabled:"},{"line_number":150,"context_line":"            msg \u003d \"IPv6 prefix delegation is not enabled\""},{"line_number":151,"context_line":"            raise self.__class__.cls.skipException(msg)"},{"line_number":152,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ffe62b97_bb96ab3d","line":149,"range":{"start_line":149,"start_character":44,"end_line":149,"end_character":59},"updated":"2017-03-27 21:28:27.000000000","message":"There is a configuration parameter in Neutron named \u0027ipv6_pd_enabled\u0027. But given the way you are referring it here, you are pointing to something defined in this section of the Tempest config: https://github.com/openstack/tempest/blob/master/tempest/config.py#L628. So you need to add the definition of \u0027ipv6_pd_enabled\u0027","commit_id":"423c655a11bb1a0267d8da9cc2c0867c8dd84a14"},{"author":{"_account_id":12906,"name":"tonytan4ever","email":"tony.tan@rackspace.com","username":"tonytan4ever"},"change_message_id":"204105b4989a213a09e7b5affc170641ee902524","unresolved":false,"context_lines":[{"line_number":146,"context_line":"        \"\"\"When a subnetwork gets prefix delegated to a pd DHCP server"},{"line_number":147,"context_line":"        (such as dibbler), its allocation_pools will have prefix."},{"line_number":148,"context_line":"        \"\"\""},{"line_number":149,"context_line":"        if not CONF.network_feature_enabled.ipv6_pd_enabled:"},{"line_number":150,"context_line":"            msg \u003d \"IPv6 prefix delegation is not enabled\""},{"line_number":151,"context_line":"            raise self.__class__.cls.skipException(msg)"},{"line_number":152,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"dfeb2761_729e6264","line":149,"range":{"start_line":149,"start_character":44,"end_line":149,"end_character":59},"in_reply_to":"ffe62b97_bb96ab3d","updated":"2017-03-31 15:44:23.000000000","message":"Will address it in a separate tempest PR","commit_id":"423c655a11bb1a0267d8da9cc2c0867c8dd84a14"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"5786ed3df611e156caef8fed8a9f10431395d430","unresolved":false,"context_lines":[{"line_number":154,"context_line":"                  \u0027ipv6_ra_mode\u0027: \u0027slaac\u0027,"},{"line_number":155,"context_line":"                  \u0027ipv6_address_mode\u0027: \u0027slaac\u0027}"},{"line_number":156,"context_line":"        ipv6_pd_subnet \u003d self.create_subnet(self.network, **kwargs)"},{"line_number":157,"context_line":"        self.assertTrue(ipv6_pd_subnet[\u0027subnetpool_id\u0027] \u003d\u003d \u0027prefix_delegation\u0027)"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"        ipv6_pd_router \u003d self.create_router("},{"line_number":160,"context_line":"            name\u003d\u0027ipv6_pd_router\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"ffe62b97_864caa42","line":157,"range":{"start_line":157,"start_character":13,"end_line":157,"end_character":23},"updated":"2017-03-27 21:28:27.000000000","message":"Why not use assertEqual?","commit_id":"423c655a11bb1a0267d8da9cc2c0867c8dd84a14"},{"author":{"_account_id":12906,"name":"tonytan4ever","email":"tony.tan@rackspace.com","username":"tonytan4ever"},"change_message_id":"204105b4989a213a09e7b5affc170641ee902524","unresolved":false,"context_lines":[{"line_number":154,"context_line":"                  \u0027ipv6_ra_mode\u0027: \u0027slaac\u0027,"},{"line_number":155,"context_line":"                  \u0027ipv6_address_mode\u0027: \u0027slaac\u0027}"},{"line_number":156,"context_line":"        ipv6_pd_subnet \u003d self.create_subnet(self.network, **kwargs)"},{"line_number":157,"context_line":"        self.assertTrue(ipv6_pd_subnet[\u0027subnetpool_id\u0027] \u003d\u003d \u0027prefix_delegation\u0027)"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"        ipv6_pd_router \u003d self.create_router("},{"line_number":160,"context_line":"            name\u003d\u0027ipv6_pd_router\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfeb2761_529b5e71","line":157,"range":{"start_line":157,"start_character":13,"end_line":157,"end_character":23},"in_reply_to":"ffe62b97_864caa42","updated":"2017-03-31 15:44:23.000000000","message":"Done","commit_id":"423c655a11bb1a0267d8da9cc2c0867c8dd84a14"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"5786ed3df611e156caef8fed8a9f10431395d430","unresolved":false,"context_lines":[{"line_number":176,"context_line":""},{"line_number":177,"context_line":"        # assert the ip address"},{"line_number":178,"context_line":"        prefix_config_value \u003d ("},{"line_number":179,"context_line":"            CONF.network_feature_enabled.ipv6_pd_attributes[\u0027prefixs\u0027])"},{"line_number":180,"context_line":"        self.assertTrue("},{"line_number":181,"context_line":"            ipv6_pd_subnet[\"allocation_pools\"][0][\"start\"].startswith("},{"line_number":182,"context_line":"                prefix_config_value))"}],"source_content_type":"text/x-python","patch_set":2,"id":"ffe62b97_26b39e4f","line":179,"range":{"start_line":179,"start_character":41,"end_line":179,"end_character":59},"updated":"2017-03-27 21:28:27.000000000","message":"I searched the whole entire OpenStack codebase and didn\u0027t find this defined anywhere. However, the way you are using it, you should define it in https://github.com/openstack/tempest/blob/master/tempest/config.py#L628","commit_id":"423c655a11bb1a0267d8da9cc2c0867c8dd84a14"},{"author":{"_account_id":12906,"name":"tonytan4ever","email":"tony.tan@rackspace.com","username":"tonytan4ever"},"change_message_id":"204105b4989a213a09e7b5affc170641ee902524","unresolved":false,"context_lines":[{"line_number":176,"context_line":""},{"line_number":177,"context_line":"        # assert the ip address"},{"line_number":178,"context_line":"        prefix_config_value \u003d ("},{"line_number":179,"context_line":"            CONF.network_feature_enabled.ipv6_pd_attributes[\u0027prefixs\u0027])"},{"line_number":180,"context_line":"        self.assertTrue("},{"line_number":181,"context_line":"            ipv6_pd_subnet[\"allocation_pools\"][0][\"start\"].startswith("},{"line_number":182,"context_line":"                prefix_config_value))"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfeb2761_f2839203","line":179,"range":{"start_line":179,"start_character":41,"end_line":179,"end_character":59},"in_reply_to":"ffe62b97_26b39e4f","updated":"2017-03-31 15:44:23.000000000","message":"Will address it in a separate tempest PR","commit_id":"423c655a11bb1a0267d8da9cc2c0867c8dd84a14"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"5786ed3df611e156caef8fed8a9f10431395d430","unresolved":false,"context_lines":[{"line_number":193,"context_line":""},{"line_number":194,"context_line":"        dest_server_with_pd_fip \u003d self._create_server_width_subnetwork("},{"line_number":195,"context_line":"            self.ipv6_pd_subnet)"},{"line_number":196,"context_line":"        self.check_remote_connectivity("},{"line_number":197,"context_line":"            ssh_client,"},{"line_number":198,"context_line":"            dest_server_with_pd_fip[\u0027fip\u0027][\u0027floating_ip_address\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"ffe62b97_d8c4d5f7","line":196,"range":{"start_line":196,"start_character":13,"end_line":196,"end_character":38},"updated":"2017-03-27 21:28:27.000000000","message":"This method is defined here: https://github.com/openstack/neutron/blob/master/neutron/tests/tempest/scenario/base.py#L269. You are not inheriting from this class","commit_id":"423c655a11bb1a0267d8da9cc2c0867c8dd84a14"},{"author":{"_account_id":12906,"name":"tonytan4ever","email":"tony.tan@rackspace.com","username":"tonytan4ever"},"change_message_id":"204105b4989a213a09e7b5affc170641ee902524","unresolved":false,"context_lines":[{"line_number":193,"context_line":""},{"line_number":194,"context_line":"        dest_server_with_pd_fip \u003d self._create_server_width_subnetwork("},{"line_number":195,"context_line":"            self.ipv6_pd_subnet)"},{"line_number":196,"context_line":"        self.check_remote_connectivity("},{"line_number":197,"context_line":"            ssh_client,"},{"line_number":198,"context_line":"            dest_server_with_pd_fip[\u0027fip\u0027][\u0027floating_ip_address\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfeb2761_927a0622","line":196,"range":{"start_line":196,"start_character":13,"end_line":196,"end_character":38},"in_reply_to":"ffe62b97_d8c4d5f7","updated":"2017-03-31 15:44:23.000000000","message":"Done","commit_id":"423c655a11bb1a0267d8da9cc2c0867c8dd84a14"}],"neutron/tests/tempest/scenario/test_ipv6_pd.py":[{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"1d3b39a530747bdb6c926ee19504f92fcb74ed88","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2014 OpenStack Foundation"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfeb2761_c5af4a7b","line":1,"range":{"start_line":1,"start_character":12,"end_line":1,"end_character":16},"updated":"2017-04-04 13:52:49.000000000","message":"nit: 2017","commit_id":"b1fc1dfca1d03eec414985048bf71c06ec6329b9"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"06fd6688cda0341cf6d7313932099d10f3594fc9","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from tempest.lib import decorators"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from neutron.common import utils"},{"line_number":21,"context_line":"from neutron.tests.tempest.api import base"},{"line_number":22,"context_line":"from neutron.tests.tempest import config"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"CONF \u003d config.CONF"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfeb2761_881f09b6","line":21,"updated":"2017-04-04 20:35:45.000000000","message":"You need to change this import to:\n\nfrom neutron.tests.tempest.scenario import base\n\nbecause you are implementing a scenario test. Please see also comment to L27","commit_id":"b1fc1dfca1d03eec414985048bf71c06ec6329b9"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"06fd6688cda0341cf6d7313932099d10f3594fc9","unresolved":false,"context_lines":[{"line_number":24,"context_line":"CONF \u003d config.CONF"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"class ipv6PDTest(base.BaseNetworkTest):"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def setUp(self):"},{"line_number":30,"context_line":"        super(ipv6PDTest, self).setUp()"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfeb2761_889029ef","line":27,"range":{"start_line":27,"start_character":22,"end_line":27,"end_character":37},"updated":"2017-04-04 20:35:45.000000000","message":"This has to be BaseTempestTestCase from:\n\nneutron.tests.tempest.scenario.base\n\nOtherwise, you won\u0027t be inheriting methods such as create_loginable_secgroup_rule and create_pingable_secgroup_rule that you invoking in your resource_setup method.\n\nBy the way, neutron.tests.tempest.scenario.base.BaseTempestTestCase inherits from neutron.tests.tempest.api.base.BaseNetworkTest, so you will also be able to use methods in that class","commit_id":"b1fc1dfca1d03eec414985048bf71c06ec6329b9"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"06fd6688cda0341cf6d7313932099d10f3594fc9","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        cls.security_groups.append(cls.secgroup)"},{"line_number":42,"context_line":"        cls.create_loginable_secgroup_rule(secgroup_id\u003dcls.secgroup[\u0027id\u0027])"},{"line_number":43,"context_line":"        cls.create_pingable_secgroup_rule(secgroup_id\u003dcls.secgroup[\u0027id\u0027])"},{"line_number":44,"context_line":"        cls._src_server \u003d cls._create_server()"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    @decorators.idempotent_id(\u00278abb182f-d701-4b30-b506-8be1a16fd1be\u0027)"},{"line_number":47,"context_line":"    def test_dhcp_with_prefix_delegation(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfeb2761_33bab2c0","line":44,"range":{"start_line":44,"start_character":30,"end_line":44,"end_character":44},"updated":"2017-04-04 20:35:45.000000000","message":"I don\u0027t think you have defined this method","commit_id":"b1fc1dfca1d03eec414985048bf71c06ec6329b9"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"1d3b39a530747bdb6c926ee19504f92fcb74ed88","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    @decorators.idempotent_id(\u00278abb182f-d701-4b30-b506-8be1a16fd1be\u0027)"},{"line_number":47,"context_line":"    def test_dhcp_with_prefix_delegation(self):"},{"line_number":48,"context_line":"        \"\"\"When a subnetwork gets prefix delegated to a pd DHCP server"},{"line_number":49,"context_line":"        (such as dibbler), its allocation_pools will have prefix."},{"line_number":50,"context_line":"        \"\"\""},{"line_number":51,"context_line":"        if not CONF.network_feature_enabled.test_ipv6_pd_enabled:"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfeb2761_25d5d6e5","line":48,"range":{"start_line":48,"start_character":64,"end_line":48,"end_character":70},"updated":"2017-04-04 13:52:49.000000000","message":"client","commit_id":"b1fc1dfca1d03eec414985048bf71c06ec6329b9"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"1d3b39a530747bdb6c926ee19504f92fcb74ed88","unresolved":false,"context_lines":[{"line_number":67,"context_line":"            self.delete_router,"},{"line_number":68,"context_line":"            ipv6_pd_router[\u0027id\u0027])"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        self.create_router_interface("},{"line_number":71,"context_line":"            ipv6_pd_router[\u0027id\u0027], ipv6_pd_subnet[\u0027id\u0027]"},{"line_number":72,"context_line":"        )"},{"line_number":73,"context_line":"        intf \u003d self.create_router_interface("},{"line_number":74,"context_line":"            ipv6_pd_router[\u0027id\u0027], ipv6_pd_subnet[\u0027id\u0027])"},{"line_number":75,"context_line":"        status_active \u003d lambda: self.client.show_port("},{"line_number":76,"context_line":"            intf[\u0027port_id\u0027])[\u0027port\u0027][\u0027status\u0027] \u003d\u003d \u0027ACTIVE\u0027"},{"line_number":77,"context_line":"        utils.wait_until_true(status_active, exception\u003dAssertionError)"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfeb2761_e5cdae31","line":74,"range":{"start_line":70,"start_character":8,"end_line":74,"end_character":55},"updated":"2017-04-04 13:52:49.000000000","message":"why do we do this twice?","commit_id":"b1fc1dfca1d03eec414985048bf71c06ec6329b9"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"1d3b39a530747bdb6c926ee19504f92fcb74ed88","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"        # assert the ip address"},{"line_number":80,"context_line":"        prefix_config_value \u003d ("},{"line_number":81,"context_line":"            CONF.network_feature_enabled.ipv6_pd_attributes[\u0027prefixs\u0027])"},{"line_number":82,"context_line":"        self.assertTrue("},{"line_number":83,"context_line":"            ipv6_pd_subnet[\"allocation_pools\"][0][\"start\"].startswith("},{"line_number":84,"context_line":"                prefix_config_value))"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfeb2761_a072f4ab","line":81,"range":{"start_line":81,"start_character":41,"end_line":81,"end_character":70},"updated":"2017-04-04 13:52:49.000000000","message":"Where is this? And what is its purpose? The master prefix from which subnet prefixes will be delegated is configured on the PD server, not in neutron.","commit_id":"b1fc1dfca1d03eec414985048bf71c06ec6329b9"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"06fd6688cda0341cf6d7313932099d10f3594fc9","unresolved":false,"context_lines":[{"line_number":93,"context_line":"                                CONF.validation.image_ssh_user,"},{"line_number":94,"context_line":"                                pkey\u003dself.keypair[\u0027private_key\u0027])"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"        dest_server_with_pd_fip \u003d self._create_server_width_subnetwork("},{"line_number":97,"context_line":"            self.ipv6_pd_subnet)"},{"line_number":98,"context_line":"        self.check_remote_connectivity("},{"line_number":99,"context_line":"            ssh_client,"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfeb2761_d3d386d4","line":96,"range":{"start_line":96,"start_character":39,"end_line":96,"end_character":70},"updated":"2017-04-04 20:35:45.000000000","message":"You don\u0027t have this defined. And probably the name you want to give it, when you define it, is _create_server_with_subnetwork","commit_id":"b1fc1dfca1d03eec414985048bf71c06ec6329b9"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"ec0e622dca371d3de0ca97ad01cc60604ec81e2f","unresolved":false,"context_lines":[{"line_number":40,"context_line":"            network \u003d cls.network"},{"line_number":41,"context_line":"        port \u003d cls.create_port(network, security_groups\u003d[cls.secgroup[\u0027id\u0027]])"},{"line_number":42,"context_line":"        if create_floating_ip:"},{"line_number":43,"context_line":"            fip \u003d cls.create_and_associate_floatingip(port[\u0027id\u0027])"},{"line_number":44,"context_line":"        else:"},{"line_number":45,"context_line":"            fip \u003d None"},{"line_number":46,"context_line":"        server \u003d cls.create_server("}],"source_content_type":"text/x-python","patch_set":5,"id":"7ffa3b31_b6405c37","line":43,"updated":"2017-04-16 03:35:42.000000000","message":"looks like we\u0027re doing this on ipv6-only subnet which won\u0027t work: http://logs.openstack.org/53/450353/5/check/gate-tempest-dsvm-neutron-scenario-linuxbridge-ubuntu-xenial-nv/cb2eac7/testr_results.html.gz","commit_id":"fffef61943e7dbe43cf0993800b8ec58935822eb"}]}
