)]}'
{"neutron/tests/tempest/api/test_subnetpools.py":[{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"39c44f47d3626a059496c53e32cef1a220417c52","unresolved":false,"context_lines":[{"line_number":383,"context_line":"                                                     is_default\u003dTrue)"},{"line_number":384,"context_line":"        self.assertTrue(created_subnetpool[\u0027is_default\u0027])"},{"line_number":385,"context_line":"        # Delete subnet while still locked by semaphore"},{"line_number":386,"context_line":"        self.delete_subnet_pool(self.admin_client, created_subnetpool)"},{"line_number":387,"context_line":""},{"line_number":388,"context_line":"    @decorators.idempotent_id(\u00279e79730c-29b6-44a4-9504-bf3c7cedc56c\u0027)"},{"line_number":389,"context_line":"    @test.requires_ext(extension\u003d\u0027default-subnetpools\u0027, service\u003d\u0027network\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f436f4f_8cadff89","line":386,"updated":"2017-08-10 21:52:23.000000000","message":"I think you\u0027re on the right track in that the fix here is simply to do a addCleanup() that deletes the just created default subnetpool. No locking is necessary under the current test structure. test methods just need to clean up after themselves.\n\nI\u0027d personally just add the addCleanup() call to _create_subnetpool()\n\n[1] http://git.openstack.org/cgit/openstack/neutron/tree/neutron/tests/tempest/api/test_subnetpools.py#n49","commit_id":"f9bd39599e283256c7bb3ab1fc682935a7557a97"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"0c30a9232148a4323fb7d8d9572d643459af8dcf","unresolved":false,"context_lines":[{"line_number":383,"context_line":"                                                     is_default\u003dTrue)"},{"line_number":384,"context_line":"        self.assertTrue(created_subnetpool[\u0027is_default\u0027])"},{"line_number":385,"context_line":"        # Delete subnet while still locked by semaphore"},{"line_number":386,"context_line":"        self.delete_subnet_pool(self.admin_client, created_subnetpool)"},{"line_number":387,"context_line":""},{"line_number":388,"context_line":"    @decorators.idempotent_id(\u00279e79730c-29b6-44a4-9504-bf3c7cedc56c\u0027)"},{"line_number":389,"context_line":"    @test.requires_ext(extension\u003d\u0027default-subnetpools\u0027, service\u003d\u0027network\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f436f4f_91ff4b33","line":386,"in_reply_to":"9f436f4f_8cadff89","updated":"2017-08-11 08:33:27.000000000","message":"Done","commit_id":"f9bd39599e283256c7bb3ab1fc682935a7557a97"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"92dd8910af9edae3c86337d377b130d8226e5456","unresolved":false,"context_lines":[{"line_number":334,"context_line":"        self.assertFalse(created_subnetpool[\u0027is_default\u0027])"},{"line_number":335,"context_line":""},{"line_number":336,"context_line":""},{"line_number":337,"context_line":"class DefaultSubnetPoolsTest(SubnetPoolsTestBase):"},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"    @classmethod"},{"line_number":340,"context_line":"    def resource_setup(cls):"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f436f4f_0855601d","line":337,"updated":"2017-08-11 16:00:20.000000000","message":"I think this can be simply resolved by doing something along the lines of [1]. As subnetpool\u0027s cleanup is already taken care of by the base class, you might as well force the cleanup on a per-test basis, rather than per-testcase basis. \n\n[1] https://github.com/openstack/neutron/blob/master/neutron/tests/tempest/api/test_trunk.py#L43-L46","commit_id":"4624ed64f7395fb8f74e534fc3971927acafeb43"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"e18ebc4c205f9fc9240fb76b75cb531e0979182e","unresolved":false,"context_lines":[{"line_number":334,"context_line":"        self.assertFalse(created_subnetpool[\u0027is_default\u0027])"},{"line_number":335,"context_line":""},{"line_number":336,"context_line":""},{"line_number":337,"context_line":"class DefaultSubnetPoolsTest(SubnetPoolsTestBase):"},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"    @classmethod"},{"line_number":340,"context_line":"    def resource_setup(cls):"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f436f4f_9f5284dd","line":337,"in_reply_to":"9f436f4f_0855601d","updated":"2017-08-14 09:41:12.000000000","message":"Done","commit_id":"4624ed64f7395fb8f74e534fc3971927acafeb43"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"92dd8910af9edae3c86337d377b130d8226e5456","unresolved":false,"context_lines":[{"line_number":346,"context_line":"                msg \u003d \u0027Default subnetpool already exists. Only one is allowed.\u0027"},{"line_number":347,"context_line":"                raise cls.skipException(msg)"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"    def _create_subnetpool(self, is_admin\u003dFalse, **kwargs):"},{"line_number":350,"context_line":"        subnetpool \u003d super(DefaultSubnetPoolsTest, self)._create_subnetpool("},{"line_number":351,"context_line":"            is_admin, **kwargs)"},{"line_number":352,"context_line":"        self.addCleanup("}],"source_content_type":"text/x-python","patch_set":4,"id":"9f436f4f_a86d3405","line":349,"updated":"2017-08-11 16:00:20.000000000","message":"this is already defined in the base class.","commit_id":"4624ed64f7395fb8f74e534fc3971927acafeb43"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"e18ebc4c205f9fc9240fb76b75cb531e0979182e","unresolved":false,"context_lines":[{"line_number":346,"context_line":"                msg \u003d \u0027Default subnetpool already exists. Only one is allowed.\u0027"},{"line_number":347,"context_line":"                raise cls.skipException(msg)"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"    def _create_subnetpool(self, is_admin\u003dFalse, **kwargs):"},{"line_number":350,"context_line":"        subnetpool \u003d super(DefaultSubnetPoolsTest, self)._create_subnetpool("},{"line_number":351,"context_line":"            is_admin, **kwargs)"},{"line_number":352,"context_line":"        self.addCleanup("}],"source_content_type":"text/x-python","patch_set":4,"id":"9f436f4f_8557f658","line":349,"in_reply_to":"9f436f4f_a86d3405","updated":"2017-08-14 09:41:12.000000000","message":"yeah, that\u0027s why I call super :-p PS2 implemented it at the base class but failed as it required additional handling of dependent resources. Instead of introducing another way how to work with that which creates another complexity to the test, I decided to implement it only at the place where it\u0027s necessary.","commit_id":"4624ed64f7395fb8f74e534fc3971927acafeb43"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"92dd8910af9edae3c86337d377b130d8226e5456","unresolved":false,"context_lines":[{"line_number":357,"context_line":"    def _delete_subnet_pool(self, subnetpool, is_admin):"},{"line_number":358,"context_line":"        if is_admin:"},{"line_number":359,"context_line":"            client \u003d self.admin_client"},{"line_number":360,"context_line":"            subnetpools \u003d self.__class__.admin_subnetpools"},{"line_number":361,"context_line":"        else:"},{"line_number":362,"context_line":"            client \u003d self.client"},{"line_number":363,"context_line":"            subnetpools \u003d self.__class__.subnetpools"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f436f4f_68562c5f","line":360,"updated":"2017-08-11 16:00:20.000000000","message":"this is disgusting :)! this is simply self.admin_subnetpools","commit_id":"4624ed64f7395fb8f74e534fc3971927acafeb43"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"e18ebc4c205f9fc9240fb76b75cb531e0979182e","unresolved":false,"context_lines":[{"line_number":357,"context_line":"    def _delete_subnet_pool(self, subnetpool, is_admin):"},{"line_number":358,"context_line":"        if is_admin:"},{"line_number":359,"context_line":"            client \u003d self.admin_client"},{"line_number":360,"context_line":"            subnetpools \u003d self.__class__.admin_subnetpools"},{"line_number":361,"context_line":"        else:"},{"line_number":362,"context_line":"            client \u003d self.client"},{"line_number":363,"context_line":"            subnetpools \u003d self.__class__.subnetpools"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f436f4f_1f3fb487","line":360,"in_reply_to":"9f436f4f_68562c5f","updated":"2017-08-14 09:41:12.000000000","message":"Done","commit_id":"4624ed64f7395fb8f74e534fc3971927acafeb43"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"92dd8910af9edae3c86337d377b130d8226e5456","unresolved":false,"context_lines":[{"line_number":360,"context_line":"            subnetpools \u003d self.__class__.admin_subnetpools"},{"line_number":361,"context_line":"        else:"},{"line_number":362,"context_line":"            client \u003d self.client"},{"line_number":363,"context_line":"            subnetpools \u003d self.__class__.subnetpools"},{"line_number":364,"context_line":""},{"line_number":365,"context_line":"        self._try_delete_resource("},{"line_number":366,"context_line":"            client.delete_subnetpool, subnetpool[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f436f4f_2850245d","line":363,"updated":"2017-08-11 16:00:20.000000000","message":"ditto","commit_id":"4624ed64f7395fb8f74e534fc3971927acafeb43"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"e18ebc4c205f9fc9240fb76b75cb531e0979182e","unresolved":false,"context_lines":[{"line_number":360,"context_line":"            subnetpools \u003d self.__class__.admin_subnetpools"},{"line_number":361,"context_line":"        else:"},{"line_number":362,"context_line":"            client \u003d self.client"},{"line_number":363,"context_line":"            subnetpools \u003d self.__class__.subnetpools"},{"line_number":364,"context_line":""},{"line_number":365,"context_line":"        self._try_delete_resource("},{"line_number":366,"context_line":"            client.delete_subnetpool, subnetpool[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f436f4f_ff43d011","line":363,"in_reply_to":"9f436f4f_2850245d","updated":"2017-08-14 09:41:12.000000000","message":"Done","commit_id":"4624ed64f7395fb8f74e534fc3971927acafeb43"}]}
