)]}'
{"tempest/api/orchestration/base.py":[{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"c5cf1f0f8a171becb25d0177a9a9fee323194c22","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        return stack_identifier"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    @classmethod"},{"line_number":74,"context_line":"    def clear_stacks(cls, stacks\u003dNone):"},{"line_number":75,"context_line":"        # If no stacks list specified, we clear all stacks"},{"line_number":76,"context_line":"        stacks_to_clear \u003d stacks or cls.stacks"},{"line_number":77,"context_line":"        for stack_identifier in stacks_to_clear:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F%2BW%2F8%3D","line":74,"updated":"2014-03-27 12:01:05.000000000","message":"I\u0027d rather not have this function go both ways, because I think the demands of a class level are different than those of a instance level (this is actually missing the important part of the class level of actually poping the cls.stacks as it goes).\n\nEspecially because it makes assumptions about class variables like client.\n\nSo can we instead decouple and instance method which doesn\u0027t assume anything about cls variables?","commit_id":"75a1306475c3e84ed2a8a1eaedb1390b13c4f58d"}],"tempest/api/orchestration/stacks/test_non_empty_stack.py":[{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"c5cf1f0f8a171becb25d0177a9a9fee323194c22","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        created_stacks \u003d []"},{"line_number":102,"context_line":"        for i in range(num_stacks):"},{"line_number":103,"context_line":"            stack_name \u003d \"test_stack_list_multiple%s\" % i"},{"line_number":104,"context_line":"            created_stacks.append(self.create_stack(stack_name, self.template))"},{"line_number":105,"context_line":"        self.addCleanup(self.clear_stacks, created_stacks)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        # To avoid the overhead of creating multiple stacks in several tests"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F%2BW%2FY%3D","line":104,"updated":"2014-03-27 12:01:05.000000000","message":"by using create_stack you are already using the cls level accounting, which means it will auto dealocate on teardown","commit_id":"75a1306475c3e84ed2a8a1eaedb1390b13c4f58d"},{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"4cf5b00ffb7067b6a2c0678029768808c0fd04f9","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        created_stacks \u003d []"},{"line_number":102,"context_line":"        for i in range(num_stacks):"},{"line_number":103,"context_line":"            stack_name \u003d \"test_stack_list_multiple%s\" % i"},{"line_number":104,"context_line":"            created_stacks.append(self.create_stack(stack_name, self.template))"},{"line_number":105,"context_line":"        self.addCleanup(self.clear_stacks, created_stacks)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        # To avoid the overhead of creating multiple stacks in several tests"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F%2BWWY%3D","line":104,"in_reply_to":"AAAAWH%2F%2BW%2FY%3D","updated":"2014-03-27 13:23:52.000000000","message":"But only on teardown of the class though right?  So you might end up with unexpected results in other tests (if you test for number of stacks listed for example)","commit_id":"75a1306475c3e84ed2a8a1eaedb1390b13c4f58d"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"5973649f61c3f6b4e6630acc038ba6fef9c0e742","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        resp, stacks \u003d self.client.list_stacks(params\u003dfilter_kwargs)"},{"line_number":49,"context_line":"        self.assertEqual(\u0027200\u0027, resp[\u0027status\u0027])"},{"line_number":50,"context_line":"        self.assertIsInstance(stacks, list)"},{"line_number":51,"context_line":"        if expected_num is not None:"},{"line_number":52,"context_line":"            self.assertEqual(expected_num, len(stacks))"},{"line_number":53,"context_line":"        return stacks"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAWH%2F9rmA%3D","line":51,"updated":"2014-04-02 20:46:17.000000000","message":"The current list test doesn\u0027t assert result counts because this number is non-deterministic thanks to other heat tests possibly running concurrently (or leftover stacks from failed tests).\n\nTenant isolation would fix this, but this requires a bit of work. See the comments in https://review.openstack.org/#/c/76981/3/tempest/api/orchestration/base.py","commit_id":"ad16f1ac4a55563955b3180aca96d189defc30ba"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"b8fb7526fb3a6530b0fc6cf1c4e91bd1275f51c0","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        resp, stacks \u003d self.client.list_stacks(params\u003dfilter_kwargs)"},{"line_number":49,"context_line":"        self.assertEqual(\u0027200\u0027, resp[\u0027status\u0027])"},{"line_number":50,"context_line":"        self.assertIsInstance(stacks, list)"},{"line_number":51,"context_line":"        if expected_num is not None:"},{"line_number":52,"context_line":"            self.assertEqual(expected_num, len(stacks))"},{"line_number":53,"context_line":"        return stacks"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAW3%2F%2F2as%3D","line":51,"in_reply_to":"AAAAWH%2F9ecI%3D","updated":"2014-04-09 23:22:48.000000000","message":"You can enable tenant isolation by applying https://review.openstack.org/#/c/76981 then following my comment in https://review.openstack.org/#/c/76981/3/tempest/api/orchestration/base.py\n\nI think the only issue currently is that the created tenants do not have access to the public neutron net, so tests which are expecting this are failing. The fix should be quite easy but I can\u0027t see myself looking at that for a while","commit_id":"ad16f1ac4a55563955b3180aca96d189defc30ba"},{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"3a8586e3be020144f556cf289420daac4e3ec234","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        resp, stacks \u003d self.client.list_stacks(params\u003dfilter_kwargs)"},{"line_number":49,"context_line":"        self.assertEqual(\u0027200\u0027, resp[\u0027status\u0027])"},{"line_number":50,"context_line":"        self.assertIsInstance(stacks, list)"},{"line_number":51,"context_line":"        if expected_num is not None:"},{"line_number":52,"context_line":"            self.assertEqual(expected_num, len(stacks))"},{"line_number":53,"context_line":"        return stacks"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAWH%2F9ecI%3D","line":51,"in_reply_to":"AAAAWH%2F9rmA%3D","updated":"2014-04-04 09:03:06.000000000","message":"Hmm, I thought that too, but then I spoke with sdague on IRC, and he indicated that validating the count was OK so I\u0027m a bit confused now.\n\nWhat needs to happen to enable tenant isolation?  I\u0027m happy to help get that sorted if you can summarise what needs to be done.\n\nIf it\u0027s not possible to get tenant isolation working soon, I guess I\u0027ll have to rethink the way these tests are done and check everything by name.","commit_id":"ad16f1ac4a55563955b3180aca96d189defc30ba"}]}
