)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"ed7bc59723adc6ef65a4f5b9fd65398048ff379d","unresolved":false,"context_lines":[{"line_number":10,"context_line":"Nova API server-group create/delete/list/get clients for JSON/XML"},{"line_number":11,"context_line":"Nova API server-group JSON/XML tests"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Iee2717872d58a715f9e012218a67bf040d2abe80"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAWH%2F9nas%3D","line":13,"updated":"2014-04-03 10:56:12.000000000","message":"Please improve the commit message something like below-\n\nAdd tests for server-group Nova V2 APIs\n\nThis patch adds the tests for below listed server-group\nNova V2 APIs-\n1. server-group create\n2. server-group delete\n3. server-group list\n4. server-group get\n\nAlso adds the clients for JSON/XML","commit_id":"0bfde764ae067b74efad891a42ca6e251d7bbbd9"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"c715e682ddcb7ff3ae7dd17491f1e57c644710f6","unresolved":false,"context_lines":[{"line_number":10,"context_line":"Nova API server-group create/delete/list/get clients for JSON/XML"},{"line_number":11,"context_line":"Nova API server-group JSON/XML tests"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Iee2717872d58a715f9e012218a67bf040d2abe80"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAWH%2F9nAY%3D","line":13,"in_reply_to":"AAAAWH%2F9nas%3D","updated":"2014-04-03 11:35:20.000000000","message":"ok..will do it","commit_id":"0bfde764ae067b74efad891a42ca6e251d7bbbd9"},{"author":{"_account_id":7139,"name":"Zhi Kun Liu","username":"zhikunliu","inactive":true},"change_message_id":"b3e379d9f3a087615d810643a1b47195e318da72","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add tests for server-group Nova V2 APIs"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch adds the JSON tests for below listed server-group Nova V2 APIs-"},{"line_number":10,"context_line":"1. server-group create"},{"line_number":11,"context_line":"2. server-group delete"},{"line_number":12,"context_line":"3. server-group list"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":19,"id":"9ad9bd40_9560a2d0","line":9,"updated":"2014-05-06 06:58:33.000000000","message":"this line is \u003e 72 characters.\n\nplease refer to https://wiki.openstack.org/wiki/GitCommitMessages#Summary_of_GIT_commit_message_structure","commit_id":"5f7ca18fac75b255c1c8c3e241426f1f1d28412e"}],"tempest/api/compute/base.py":[{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"85b1f1bd08908cece516083f5b3df66064bf97a2","unresolved":false,"context_lines":[{"line_number":129,"context_line":"            except Exception:"},{"line_number":130,"context_line":"                LOG.exception(\u0027Exception raised deleting server-group %s\u0027,"},{"line_number":131,"context_line":"                              server_group_id)"},{"line_number":132,"context_line":"                pass"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"    @classmethod"},{"line_number":135,"context_line":"    def tearDownClass(cls):"}],"source_content_type":"text/x-python","patch_set":16,"id":"9ad9bd40_ed47ec1b","line":132,"updated":"2014-04-30 11:15:43.000000000","message":"There is no need to use \"pass\" here.","commit_id":"a2e8ca226ca3aef64e654f240e09b8308cd2657d"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"f0df168a0fea12a55e1bc485b03261d6a42425f7","unresolved":false,"context_lines":[{"line_number":130,"context_line":"            except Exception:"},{"line_number":131,"context_line":"                LOG.exception(\u0027Exception raised deleting server-group %s\u0027,"},{"line_number":132,"context_line":"                              server_group_id)"},{"line_number":133,"context_line":"                pass"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"    @classmethod"},{"line_number":136,"context_line":"    def tearDownClass(cls):"}],"source_content_type":"text/x-python","patch_set":17,"id":"9ad9bd40_0b9bb767","line":133,"updated":"2014-05-05 06:54:47.000000000","message":"please remove \u0027pass\u0027, it doesn\u0027t needed there","commit_id":"05eb8ab3ed6da138e2a61680ae726c8543fcf129"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"1e5fc1256da0ae3068b268bdb2f63d38cae4b5bd","unresolved":false,"context_lines":[{"line_number":130,"context_line":"            except Exception:"},{"line_number":131,"context_line":"                LOG.exception(\u0027Exception raised deleting server-group %s\u0027,"},{"line_number":132,"context_line":"                              server_group_id)"},{"line_number":133,"context_line":"                pass"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"    @classmethod"},{"line_number":136,"context_line":"    def tearDownClass(cls):"}],"source_content_type":"text/x-python","patch_set":17,"id":"9ad9bd40_eed4e148","line":133,"in_reply_to":"9ad9bd40_0b9bb767","updated":"2014-05-05 07:29:25.000000000","message":"Done","commit_id":"05eb8ab3ed6da138e2a61680ae726c8543fcf129"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"3d0176443b893afcfee192c2322a9ccc09195cc8","unresolved":false,"context_lines":[{"line_number":265,"context_line":""},{"line_number":266,"context_line":"    @classmethod"},{"line_number":267,"context_line":"    def create_test_server_group(cls, name\u003dNone, policy\u003dNone):"},{"line_number":268,"context_line":"        if name is None:"},{"line_number":269,"context_line":"            name \u003d data_utils.rand_name(cls.__name__ + \"-Server-Group\")"},{"line_number":270,"context_line":"        if policy is None:"},{"line_number":271,"context_line":"            policy \u003d [\u0027affinity\u0027]"}],"source_content_type":"text/x-python","patch_set":18,"id":"9ad9bd40_d1c099e2","line":268,"updated":"2014-05-05 11:28:28.000000000","message":"Do you check that name is None intentionally? are name\u003d\u0027\u0027 and policy\u003d[] values correct for you?","commit_id":"93e3424a856275b78d97503d784d01255de2761d"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"0bf717f525cbeeef6a55a2cda105a8e772bb00ec","unresolved":false,"context_lines":[{"line_number":265,"context_line":""},{"line_number":266,"context_line":"    @classmethod"},{"line_number":267,"context_line":"    def create_test_server_group(cls, name\u003dNone, policy\u003dNone):"},{"line_number":268,"context_line":"        if name is None:"},{"line_number":269,"context_line":"            name \u003d data_utils.rand_name(cls.__name__ + \"-Server-Group\")"},{"line_number":270,"context_line":"        if policy is None:"},{"line_number":271,"context_line":"            policy \u003d [\u0027affinity\u0027]"}],"source_content_type":"text/x-python","patch_set":18,"id":"9ad9bd40_ee84dcd5","line":268,"updated":"2014-05-05 10:52:30.000000000","message":"I think it will be better to use \n\nif not name:\n    ...\n\nhere. If you call the method \"create_test_server_group\" with parameters name\u003d\u0027\u0027, policy\u003d[], i.e\n\nself.create_test_server_group(\u0027\u0027, []),\n\nnone \"if\" condition is performed.","commit_id":"93e3424a856275b78d97503d784d01255de2761d"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"76783935a4f9b410b4d90561bc6b6ef93586b182","unresolved":false,"context_lines":[{"line_number":265,"context_line":""},{"line_number":266,"context_line":"    @classmethod"},{"line_number":267,"context_line":"    def create_test_server_group(cls, name\u003dNone, policy\u003dNone):"},{"line_number":268,"context_line":"        if name is None:"},{"line_number":269,"context_line":"            name \u003d data_utils.rand_name(cls.__name__ + \"-Server-Group\")"},{"line_number":270,"context_line":"        if policy is None:"},{"line_number":271,"context_line":"            policy \u003d [\u0027affinity\u0027]"}],"source_content_type":"text/x-python","patch_set":18,"id":"9ad9bd40_446e8997","line":268,"in_reply_to":"9ad9bd40_d1c099e2","updated":"2014-05-05 11:44:07.000000000","message":"don\u0027t pay attention on latest question.","commit_id":"93e3424a856275b78d97503d784d01255de2761d"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"fdb1f3d72d5c6a939084058a35e3fff91c9bbf58","unresolved":false,"context_lines":[{"line_number":265,"context_line":""},{"line_number":266,"context_line":"    @classmethod"},{"line_number":267,"context_line":"    def create_test_server_group(cls, name\u003dNone, policy\u003dNone):"},{"line_number":268,"context_line":"        if name is None:"},{"line_number":269,"context_line":"            name \u003d data_utils.rand_name(cls.__name__ + \"-Server-Group\")"},{"line_number":270,"context_line":"        if policy is None:"},{"line_number":271,"context_line":"            policy \u003d [\u0027affinity\u0027]"}],"source_content_type":"text/x-python","patch_set":18,"id":"9ad9bd40_11176152","line":268,"in_reply_to":"9ad9bd40_ee84dcd5","updated":"2014-05-05 11:31:56.000000000","message":"Yea...You are right.\nI will apply that in next patch.\nThanks.","commit_id":"93e3424a856275b78d97503d784d01255de2761d"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"0bf717f525cbeeef6a55a2cda105a8e772bb00ec","unresolved":false,"context_lines":[{"line_number":267,"context_line":"    def create_test_server_group(cls, name\u003dNone, policy\u003dNone):"},{"line_number":268,"context_line":"        if name is None:"},{"line_number":269,"context_line":"            name \u003d data_utils.rand_name(cls.__name__ + \"-Server-Group\")"},{"line_number":270,"context_line":"        if policy is None:"},{"line_number":271,"context_line":"            policy \u003d [\u0027affinity\u0027]"},{"line_number":272,"context_line":"        resp, body \u003d cls.servers_client.create_server_group(name, policy)"},{"line_number":273,"context_line":"        cls.server_groups.append(body)"}],"source_content_type":"text/x-python","patch_set":18,"id":"9ad9bd40_0eed808b","line":270,"updated":"2014-05-05 10:52:30.000000000","message":"ditto","commit_id":"93e3424a856275b78d97503d784d01255de2761d"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"fdb1f3d72d5c6a939084058a35e3fff91c9bbf58","unresolved":false,"context_lines":[{"line_number":267,"context_line":"    def create_test_server_group(cls, name\u003dNone, policy\u003dNone):"},{"line_number":268,"context_line":"        if name is None:"},{"line_number":269,"context_line":"            name \u003d data_utils.rand_name(cls.__name__ + \"-Server-Group\")"},{"line_number":270,"context_line":"        if policy is None:"},{"line_number":271,"context_line":"            policy \u003d [\u0027affinity\u0027]"},{"line_number":272,"context_line":"        resp, body \u003d cls.servers_client.create_server_group(name, policy)"},{"line_number":273,"context_line":"        cls.server_groups.append(body)"}],"source_content_type":"text/x-python","patch_set":18,"id":"9ad9bd40_7107cd1c","line":270,"in_reply_to":"9ad9bd40_0eed808b","updated":"2014-05-05 11:31:56.000000000","message":"ditto","commit_id":"93e3424a856275b78d97503d784d01255de2761d"}],"tempest/api/compute/servers/test_server_group.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"ed7bc59723adc6ef65a4f5b9fd65398048ff379d","unresolved":false,"context_lines":[{"line_number":28,"context_line":"        cls.server_groups \u003d []"},{"line_number":29,"context_line":"        cls.server_group_name \u003d data_utils.rand_name(\u0027server-group\u0027)"},{"line_number":30,"context_line":"        cls.policy \u003d [\u0027affinity\u0027]"},{"line_number":31,"context_line":"        _, cls.body \u003d cls.client.create_server_group(cls.server_group_name,"},{"line_number":32,"context_line":"                                                     cls.policy)"},{"line_number":33,"context_line":"        cls.server_groups.append(cls.body)"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F9nZI%3D","line":31,"updated":"2014-04-03 10:56:12.000000000","message":"Please change name from cls.body -\u003e cls.created_server_group","commit_id":"0bfde764ae067b74efad891a42ca6e251d7bbbd9"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"50c8b3b077f8a23096453db4dd8c75dcfc7d2ad8","unresolved":false,"context_lines":[{"line_number":28,"context_line":"        cls.server_groups \u003d []"},{"line_number":29,"context_line":"        cls.server_group_name \u003d data_utils.rand_name(\u0027server-group\u0027)"},{"line_number":30,"context_line":"        cls.policy \u003d [\u0027affinity\u0027]"},{"line_number":31,"context_line":"        _, cls.body \u003d cls.client.create_server_group(cls.server_group_name,"},{"line_number":32,"context_line":"                                                     cls.policy)"},{"line_number":33,"context_line":"        cls.server_groups.append(cls.body)"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F9gpA%3D","line":31,"in_reply_to":"AAAAWH%2F9nAc%3D","updated":"2014-04-04 04:19:29.000000000","message":"break down the line. I think for better readability we should change the variable name.","commit_id":"0bfde764ae067b74efad891a42ca6e251d7bbbd9"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"c715e682ddcb7ff3ae7dd17491f1e57c644710f6","unresolved":false,"context_lines":[{"line_number":28,"context_line":"        cls.server_groups \u003d []"},{"line_number":29,"context_line":"        cls.server_group_name \u003d data_utils.rand_name(\u0027server-group\u0027)"},{"line_number":30,"context_line":"        cls.policy \u003d [\u0027affinity\u0027]"},{"line_number":31,"context_line":"        _, cls.body \u003d cls.client.create_server_group(cls.server_group_name,"},{"line_number":32,"context_line":"                                                     cls.policy)"},{"line_number":33,"context_line":"        cls.server_groups.append(cls.body)"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F9nAc%3D","line":31,"in_reply_to":"AAAAWH%2F9nZI%3D","updated":"2014-04-03 11:35:20.000000000","message":"It may overflow some lines (\u003e79)","commit_id":"0bfde764ae067b74efad891a42ca6e251d7bbbd9"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"ed7bc59723adc6ef65a4f5b9fd65398048ff379d","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    def tearDownClass(cls):"},{"line_number":37,"context_line":"        # Delete the created server-groups"},{"line_number":38,"context_line":"        for server_group in cls.server_groups:"},{"line_number":39,"context_line":"            _, _ \u003d cls.client.delete_server_group(server_group[\u0027id\u0027])"},{"line_number":40,"context_line":"        super(ServerGroupTestJSON, cls).tearDownClass()"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F9nZs%3D","line":39,"updated":"2014-04-03 10:56:12.000000000","message":"check the response code of delete request.","commit_id":"0bfde764ae067b74efad891a42ca6e251d7bbbd9"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"50c8b3b077f8a23096453db4dd8c75dcfc7d2ad8","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    def tearDownClass(cls):"},{"line_number":37,"context_line":"        # Delete the created server-groups"},{"line_number":38,"context_line":"        for server_group in cls.server_groups:"},{"line_number":39,"context_line":"            _, _ \u003d cls.client.delete_server_group(server_group[\u0027id\u0027])"},{"line_number":40,"context_line":"        super(ServerGroupTestJSON, cls).tearDownClass()"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F9gos%3D","line":39,"in_reply_to":"AAAAWH%2F9nLs%3D","updated":"2014-04-04 04:19:29.000000000","message":"Agree.","commit_id":"0bfde764ae067b74efad891a42ca6e251d7bbbd9"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"c715e682ddcb7ff3ae7dd17491f1e57c644710f6","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    def tearDownClass(cls):"},{"line_number":37,"context_line":"        # Delete the created server-groups"},{"line_number":38,"context_line":"        for server_group in cls.server_groups:"},{"line_number":39,"context_line":"            _, _ \u003d cls.client.delete_server_group(server_group[\u0027id\u0027])"},{"line_number":40,"context_line":"        super(ServerGroupTestJSON, cls).tearDownClass()"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F9nLs%3D","line":39,"in_reply_to":"AAAAWH%2F9nZs%3D","updated":"2014-04-03 11:35:20.000000000","message":"I think, Its not necessary to check the response-code in teardown method","commit_id":"0bfde764ae067b74efad891a42ca6e251d7bbbd9"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"ed7bc59723adc6ef65a4f5b9fd65398048ff379d","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    def test_create_delete_server_group(self):"},{"line_number":44,"context_line":"        # Create and Delete the server-group"},{"line_number":45,"context_line":"        server_group_name \u003d data_utils.rand_name(\u0027server-group\u0027)"},{"line_number":46,"context_line":"        policy \u003d [\u0027affinity\u0027]"},{"line_number":47,"context_line":"        resp, body \u003d self.client.create_server_group(server_group_name,"},{"line_number":48,"context_line":"                                                     policy)"},{"line_number":49,"context_line":"        self.assertEqual(200, resp.status)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F9nZQ%3D","line":46,"updated":"2014-04-03 10:56:12.000000000","message":"you can use the self.policy here","commit_id":"0bfde764ae067b74efad891a42ca6e251d7bbbd9"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"c715e682ddcb7ff3ae7dd17491f1e57c644710f6","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    def test_create_delete_server_group(self):"},{"line_number":44,"context_line":"        # Create and Delete the server-group"},{"line_number":45,"context_line":"        server_group_name \u003d data_utils.rand_name(\u0027server-group\u0027)"},{"line_number":46,"context_line":"        policy \u003d [\u0027affinity\u0027]"},{"line_number":47,"context_line":"        resp, body \u003d self.client.create_server_group(server_group_name,"},{"line_number":48,"context_line":"                                                     policy)"},{"line_number":49,"context_line":"        self.assertEqual(200, resp.status)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F9nBU%3D","line":46,"in_reply_to":"AAAAWH%2F9nZQ%3D","updated":"2014-04-03 11:35:20.000000000","message":"I wanted to separate this policy from that of used in setup","commit_id":"0bfde764ae067b74efad891a42ca6e251d7bbbd9"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"ed7bc59723adc6ef65a4f5b9fd65398048ff379d","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        server_group_name \u003d data_utils.rand_name(\u0027server-group\u0027)"},{"line_number":46,"context_line":"        policy \u003d [\u0027affinity\u0027]"},{"line_number":47,"context_line":"        resp, body \u003d self.client.create_server_group(server_group_name,"},{"line_number":48,"context_line":"                                                     policy)"},{"line_number":49,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":50,"context_line":"        self.assertEqual(server_group_name, body[\u0027name\u0027])"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F9nWE%3D","line":48,"updated":"2014-04-03 10:56:12.000000000","message":"you can add test for all possible policies like for \u0027anti-affinity\u0027 also.","commit_id":"0bfde764ae067b74efad891a42ca6e251d7bbbd9"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"c715e682ddcb7ff3ae7dd17491f1e57c644710f6","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        server_group_name \u003d data_utils.rand_name(\u0027server-group\u0027)"},{"line_number":46,"context_line":"        policy \u003d [\u0027affinity\u0027]"},{"line_number":47,"context_line":"        resp, body \u003d self.client.create_server_group(server_group_name,"},{"line_number":48,"context_line":"                                                     policy)"},{"line_number":49,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":50,"context_line":"        self.assertEqual(server_group_name, body[\u0027name\u0027])"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F9nBA%3D","line":48,"in_reply_to":"AAAAWH%2F9nWE%3D","updated":"2014-04-03 11:35:20.000000000","message":"Will do it in next patch","commit_id":"0bfde764ae067b74efad891a42ca6e251d7bbbd9"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e906f2600dc1a33823fc26717171533c3e947375","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        resp, _ \u003d self.client.delete_server_group(body[\u0027id\u0027])"},{"line_number":66,"context_line":"        self.assertEqual(204, resp.status)"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":69,"context_line":"    def test_get_server_group(self):"},{"line_number":70,"context_line":"        # Get the server-group"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F9gnA%3D","line":67,"updated":"2014-04-04 04:19:22.000000000","message":"After seeing the code its duplicate code for me. If you still want separate test then lets put a private function like below and call that from both test.\n\ndef _create_delete_server_group(self, policy):\n     # Create and Delete the server-group with input policy\n     server_group_name \u003d data_utils.rand_name(\u0027server-group\u0027)\n     resp, body \u003d self.client.create_server_group(server_group_name,\n     \t                                                              policy)\n     self.assertEqual(200, resp.status)\n     self.assertEqual(server_group_name, body[\u0027name\u0027])\n     resp, _ \u003d self.client.delete_server_group(body[\u0027id\u0027])\n     self.assertEqual(204, resp.status)","commit_id":"20e7606463b6987c56e3a4093ac5ffcfcaf775b9"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"c482c7075a9a428ab455be5a387f4fd048e8c981","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        resp, _ \u003d self.client.delete_server_group(body[\u0027id\u0027])"},{"line_number":66,"context_line":"        self.assertEqual(204, resp.status)"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":69,"context_line":"    def test_get_server_group(self):"},{"line_number":70,"context_line":"        # Get the server-group"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F9f%2BQ%3D","line":67,"in_reply_to":"AAAAWH%2F9gnA%3D","updated":"2014-04-04 04:43:23.000000000","message":"Yes, this seems good.\nI will apply that in next patch","commit_id":"20e7606463b6987c56e3a4093ac5ffcfcaf775b9"},{"author":{"_account_id":8085,"name":"anju Tiwari","email":"anjutiwari5@gmail.com","username":"Anju"},"change_message_id":"9fa428b4e1d97f0deab80e88117f416b14734ed8","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    def test_create_delete_server_group_with_affinity_policy(self):"},{"line_number":55,"context_line":"        # Create and Delete the server-group with affinity policy"},{"line_number":56,"context_line":"        policy \u003d [\u0027affinity\u0027]"},{"line_number":57,"context_line":"        self._create_delete_server_group(policy)"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":60,"context_line":"    def test_create_delete_server_group_with_anti_affinity_policy(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F9f0g%3D","line":57,"updated":"2014-04-04 05:09:50.000000000","message":"Check the status code here also.","commit_id":"5f1ae7fa49870e11ed63a40afa4a0cd0a616b72e"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"152230cea16fcad15eac660f8308f2b26ed1d862","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    def test_create_delete_server_group_with_affinity_policy(self):"},{"line_number":55,"context_line":"        # Create and Delete the server-group with affinity policy"},{"line_number":56,"context_line":"        policy \u003d [\u0027affinity\u0027]"},{"line_number":57,"context_line":"        self._create_delete_server_group(policy)"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":60,"context_line":"    def test_create_delete_server_group_with_anti_affinity_policy(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F9fzw%3D","line":57,"in_reply_to":"AAAAWH%2F9f0g%3D","updated":"2014-04-04 05:14:30.000000000","message":"Here its not needed as already checked in pvt function.","commit_id":"5f1ae7fa49870e11ed63a40afa4a0cd0a616b72e"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"b0741a60ef961f4baff455067f6b294a481a025e","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    def test_create_delete_server_group_with_affinity_policy(self):"},{"line_number":55,"context_line":"        # Create and Delete the server-group with affinity policy"},{"line_number":56,"context_line":"        policy \u003d [\u0027affinity\u0027]"},{"line_number":57,"context_line":"        self._create_delete_server_group(policy)"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":60,"context_line":"    def test_create_delete_server_group_with_anti_affinity_policy(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F9fzs%3D","line":57,"in_reply_to":"AAAAWH%2F9f0g%3D","updated":"2014-04-04 05:15:11.000000000","message":"That is not needed i guess as I am checking the error code in called function. (That function is private function not a test)\nand If I change the scenario and return values from that function and check them here. Then it will be code-duplication again.","commit_id":"5f1ae7fa49870e11ed63a40afa4a0cd0a616b72e"},{"author":{"_account_id":8085,"name":"anju Tiwari","email":"anjutiwari5@gmail.com","username":"Anju"},"change_message_id":"cb38efd5fc82218ff1d136ab1b2eb94f8f2a1425","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    def test_create_delete_server_group_with_affinity_policy(self):"},{"line_number":55,"context_line":"        # Create and Delete the server-group with affinity policy"},{"line_number":56,"context_line":"        policy \u003d [\u0027affinity\u0027]"},{"line_number":57,"context_line":"        self._create_delete_server_group(policy)"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":60,"context_line":"    def test_create_delete_server_group_with_anti_affinity_policy(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F9fws%3D","line":57,"in_reply_to":"AAAAWH%2F9fzs%3D","updated":"2014-04-04 05:17:37.000000000","message":"Agree.\n\nGoing fine.","commit_id":"5f1ae7fa49870e11ed63a40afa4a0cd0a616b72e"},{"author":{"_account_id":8085,"name":"anju Tiwari","email":"anjutiwari5@gmail.com","username":"Anju"},"change_message_id":"9fa428b4e1d97f0deab80e88117f416b14734ed8","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    def test_create_delete_server_group_with_anti_affinity_policy(self):"},{"line_number":61,"context_line":"        # Create and Delete the server-group with anti-affinity policy"},{"line_number":62,"context_line":"        policy \u003d [\u0027anti-affinity\u0027]"},{"line_number":63,"context_line":"        self._create_delete_server_group(policy)"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":66,"context_line":"    def test_get_server_group(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F9f0o%3D","line":63,"updated":"2014-04-04 05:09:50.000000000","message":"ditto","commit_id":"5f1ae7fa49870e11ed63a40afa4a0cd0a616b72e"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"b0741a60ef961f4baff455067f6b294a481a025e","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    def test_create_delete_server_group_with_anti_affinity_policy(self):"},{"line_number":61,"context_line":"        # Create and Delete the server-group with anti-affinity policy"},{"line_number":62,"context_line":"        policy \u003d [\u0027anti-affinity\u0027]"},{"line_number":63,"context_line":"        self._create_delete_server_group(policy)"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":66,"context_line":"    def test_get_server_group(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F9fzk%3D","line":63,"in_reply_to":"AAAAWH%2F9f0o%3D","updated":"2014-04-04 05:15:11.000000000","message":"ditto","commit_id":"5f1ae7fa49870e11ed63a40afa4a0cd0a616b72e"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"5c3ab4c8d6ef1b2c6e8f41e7744f58d388e0877a","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    def tearDownClass(cls):"},{"line_number":38,"context_line":"        # Delete the created server-groups"},{"line_number":39,"context_line":"        for server_group in cls.server_groups:"},{"line_number":40,"context_line":"            _, _ \u003d cls.client.delete_server_group(server_group[\u0027id\u0027])"},{"line_number":41,"context_line":"        super(ServerGroupTestJSON, cls).tearDownClass()"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    def _create_delete_server_group(self, policy):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAWH%2F9eD4%3D","line":40,"updated":"2014-04-04 09:52:41.000000000","message":"may be would be better:\n\n\"cls.client.delete_server_group(server_group[\u0027id\u0027])\"\n\ninstead:\n\n\"_, _ \u003d cls.client.delete_server_group(server_group[\u0027id\u0027])\"","commit_id":"419cd8912e1ddaa65a6ee29becdfa4cdbdfa3541"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"f634e25b6778a739029c6d1148f7d0e6ac6423d7","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    def tearDownClass(cls):"},{"line_number":38,"context_line":"        # Delete the created server-groups"},{"line_number":39,"context_line":"        for server_group in cls.server_groups:"},{"line_number":40,"context_line":"            _, _ \u003d cls.client.delete_server_group(server_group[\u0027id\u0027])"},{"line_number":41,"context_line":"        super(ServerGroupTestJSON, cls).tearDownClass()"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    def _create_delete_server_group(self, policy):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAWH%2F9d%2Fc%3D","line":40,"in_reply_to":"AAAAWH%2F9eD4%3D","updated":"2014-04-04 10:01:04.000000000","message":"okie..thanks","commit_id":"419cd8912e1ddaa65a6ee29becdfa4cdbdfa3541"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"f15650b5e17a0457fcd23ce26dec563e8324b054","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":55,"context_line":"    def test_create_delete_server_group_with_affinity_policy(self):"},{"line_number":56,"context_line":"        # Create and Delete the server-group with affinity policy"},{"line_number":57,"context_line":"        policy \u003d [\u0027affinity\u0027]"},{"line_number":58,"context_line":"        self._create_delete_server_group(policy)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAWH%2F9d8w%3D","line":57,"updated":"2014-04-04 10:08:55.000000000","message":"you defined  cls.policy \u003d [\u0027affinity\u0027] in setUpclass, please use self.policy and remove this line","commit_id":"d4852344cef00e60d6ac737f662f5376107ad885"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"b876f7419051902f4d1fac9e7ebe13eace4d5426","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":55,"context_line":"    def test_create_delete_server_group_with_affinity_policy(self):"},{"line_number":56,"context_line":"        # Create and Delete the server-group with affinity policy"},{"line_number":57,"context_line":"        policy \u003d [\u0027affinity\u0027]"},{"line_number":58,"context_line":"        self._create_delete_server_group(policy)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAWH%2F9d6U%3D","line":57,"in_reply_to":"AAAAWH%2F9d8w%3D","updated":"2014-04-04 10:14:23.000000000","message":"ok","commit_id":"d4852344cef00e60d6ac737f662f5376107ad885"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"f15650b5e17a0457fcd23ce26dec563e8324b054","unresolved":false,"context_lines":[{"line_number":79,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":80,"context_line":"    def test_create_delete_multiple_server_groups_with_same_name_policy(self):"},{"line_number":81,"context_line":"        # Create and Delete the server-groups with same name and same policy"},{"line_number":82,"context_line":"        policy \u003d [\u0027affinity\u0027]"},{"line_number":83,"context_line":"        server_group_name \u003d data_utils.rand_name(\u0027server-group\u0027)"},{"line_number":84,"context_line":"        resp, server_group1 \u003d self.client.create_server_group("},{"line_number":85,"context_line":"            server_group_name,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAWH%2F9d8s%3D","line":82,"updated":"2014-04-04 10:08:55.000000000","message":"you defined  cls.policy \u003d [\u0027affinity\u0027] in setUpclass, please use self.policy and remove this line","commit_id":"d4852344cef00e60d6ac737f662f5376107ad885"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"b876f7419051902f4d1fac9e7ebe13eace4d5426","unresolved":false,"context_lines":[{"line_number":79,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":80,"context_line":"    def test_create_delete_multiple_server_groups_with_same_name_policy(self):"},{"line_number":81,"context_line":"        # Create and Delete the server-groups with same name and same policy"},{"line_number":82,"context_line":"        policy \u003d [\u0027affinity\u0027]"},{"line_number":83,"context_line":"        server_group_name \u003d data_utils.rand_name(\u0027server-group\u0027)"},{"line_number":84,"context_line":"        resp, server_group1 \u003d self.client.create_server_group("},{"line_number":85,"context_line":"            server_group_name,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAWH%2F9d6Q%3D","line":82,"in_reply_to":"AAAAWH%2F9d8s%3D","updated":"2014-04-04 10:14:23.000000000","message":"Done","commit_id":"d4852344cef00e60d6ac737f662f5376107ad885"},{"author":{"_account_id":7139,"name":"Zhi Kun Liu","username":"zhikunliu","inactive":true},"change_message_id":"4bee557e08721f285d8415e4d4fb89b5d287ce12","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    @classmethod"},{"line_number":37,"context_line":"    def tearDownClass(cls):"},{"line_number":38,"context_line":"        # Delete the created server-groups"},{"line_number":39,"context_line":"        for server_group in cls.server_groups:"},{"line_number":40,"context_line":"            cls.client.delete_server_group(server_group[\u0027id\u0027])"},{"line_number":41,"context_line":"        super(ServerGroupTestJSON, cls).tearDownClass()"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAW3%2F%2Fe6o%3D","line":39,"updated":"2014-04-14 10:09:17.000000000","message":"Here may raise exception. Need check if cls.server_groups has been defined, or define it in the beginning of setUpClass.","commit_id":"afd3ab7db0344c3b36dd86336dfe0ca68eb7eaf8"},{"author":{"_account_id":6553,"name":"Abhijeet Jain","username":"abhijeetjpjain","inactive":true},"change_message_id":"00a90614ef210bebc883487cc03358432d30f3f4","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    @classmethod"},{"line_number":37,"context_line":"    def tearDownClass(cls):"},{"line_number":38,"context_line":"        # Delete the created server-groups"},{"line_number":39,"context_line":"        for server_group in cls.server_groups:"},{"line_number":40,"context_line":"            cls.client.delete_server_group(server_group[\u0027id\u0027])"},{"line_number":41,"context_line":"        super(ServerGroupTestJSON, cls).tearDownClass()"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAW3%2F%2Fe28%3D","line":39,"in_reply_to":"AAAAW3%2F%2Fe6o%3D","updated":"2014-04-14 10:18:49.000000000","message":"I have defined it in the beginning of setUpClass. Please check Line No. : 28","commit_id":"afd3ab7db0344c3b36dd86336dfe0ca68eb7eaf8"},{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"b0b18920586d98d92690557f4ce0002283e019b4","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    def tearDownClass(cls):"},{"line_number":38,"context_line":"        # Delete the created server-groups"},{"line_number":39,"context_line":"        for server_group in cls.server_groups:"},{"line_number":40,"context_line":"            cls.client.delete_server_group(server_group[\u0027id\u0027])"},{"line_number":41,"context_line":"        super(ServerGroupTestJSON, cls).tearDownClass()"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    def _create_delete_server_group(self, policy):"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAW3%2F%2FXnY%3D","line":40,"updated":"2014-04-15 05:25:27.000000000","message":"I guess you should catch an eventual NotFound here and pass it.","commit_id":"afd3ab7db0344c3b36dd86336dfe0ca68eb7eaf8"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"3ce11d26786b8563bc175e21e8a47dffbd66e54d","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    def tearDownClass(cls):"},{"line_number":38,"context_line":"        # Delete the created server-groups"},{"line_number":39,"context_line":"        for server_group in cls.server_groups:"},{"line_number":40,"context_line":"            cls.client.delete_server_group(server_group[\u0027id\u0027])"},{"line_number":41,"context_line":"        super(ServerGroupTestJSON, cls).tearDownClass()"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    def _create_delete_server_group(self, policy):"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAW3%2F%2FWmI%3D","line":40,"in_reply_to":"AAAAW3%2F%2FXeo%3D","updated":"2014-04-15 08:02:35.000000000","message":"Okie..will do that in next patch.","commit_id":"afd3ab7db0344c3b36dd86336dfe0ca68eb7eaf8"},{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"d3b1f660949a78c66aac72266dba4d9ced73b9a6","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    def tearDownClass(cls):"},{"line_number":38,"context_line":"        # Delete the created server-groups"},{"line_number":39,"context_line":"        for server_group in cls.server_groups:"},{"line_number":40,"context_line":"            cls.client.delete_server_group(server_group[\u0027id\u0027])"},{"line_number":41,"context_line":"        super(ServerGroupTestJSON, cls).tearDownClass()"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    def _create_delete_server_group(self, policy):"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAW3%2F%2FXeo%3D","line":40,"in_reply_to":"AAAAW3%2F%2FXig%3D","updated":"2014-04-15 05:57:15.000000000","message":"afaik yes, you can see that on tempest/api/base.py (clean_servers) or in scenario manager","commit_id":"afd3ab7db0344c3b36dd86336dfe0ca68eb7eaf8"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"21bdc89d60c9f5c499e316272e9d973150675e74","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    def tearDownClass(cls):"},{"line_number":38,"context_line":"        # Delete the created server-groups"},{"line_number":39,"context_line":"        for server_group in cls.server_groups:"},{"line_number":40,"context_line":"            cls.client.delete_server_group(server_group[\u0027id\u0027])"},{"line_number":41,"context_line":"        super(ServerGroupTestJSON, cls).tearDownClass()"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    def _create_delete_server_group(self, policy):"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAW3%2F%2FXig%3D","line":40,"in_reply_to":"AAAAW3%2F%2FXnY%3D","updated":"2014-04-15 05:36:53.000000000","message":"Is there any need for checking exception in teardown method ??","commit_id":"afd3ab7db0344c3b36dd86336dfe0ca68eb7eaf8"},{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"b0b18920586d98d92690557f4ce0002283e019b4","unresolved":false,"context_lines":[{"line_number":65,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":66,"context_line":"    def test_create_delete_server_group_with_multiple_policies(self):"},{"line_number":67,"context_line":"        # Create and Delete the server-group with multiple policies"},{"line_number":68,"context_line":"        policies \u003d [\u0027affinity\u0027, \u0027affinity\u0027]"},{"line_number":69,"context_line":"        server_group_name \u003d data_utils.rand_name(\u0027server-group\u0027)"},{"line_number":70,"context_line":"        resp, body \u003d self.client.create_server_group(server_group_name,"},{"line_number":71,"context_line":"                                                     policies)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAW3%2F%2FXlc%3D","line":68,"updated":"2014-04-15 05:25:27.000000000","message":"I\u0027m not sure about the value of this test for two reasons:\n1- Here https://github.com/openstack/nova/blob/master/nova/db/sqlalchemy/api.py#L5960 your set is made unique, so it will end up with only one policy.\n2- Currently only affinity and -anti-affinity are supported, but not together (https://github.com/openstack/nova/blob/master/nova/api/openstack/compute/contrib/server_groups.py#L174)","commit_id":"afd3ab7db0344c3b36dd86336dfe0ca68eb7eaf8"},{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"d3b1f660949a78c66aac72266dba4d9ced73b9a6","unresolved":false,"context_lines":[{"line_number":65,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":66,"context_line":"    def test_create_delete_server_group_with_multiple_policies(self):"},{"line_number":67,"context_line":"        # Create and Delete the server-group with multiple policies"},{"line_number":68,"context_line":"        policies \u003d [\u0027affinity\u0027, \u0027affinity\u0027]"},{"line_number":69,"context_line":"        server_group_name \u003d data_utils.rand_name(\u0027server-group\u0027)"},{"line_number":70,"context_line":"        resp, body \u003d self.client.create_server_group(server_group_name,"},{"line_number":71,"context_line":"                                                     policies)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAW3%2F%2FXc4%3D","line":68,"in_reply_to":"AAAAW3%2F%2FXhE%3D","updated":"2014-04-15 05:57:15.000000000","message":"ok, got your point.","commit_id":"afd3ab7db0344c3b36dd86336dfe0ca68eb7eaf8"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"21bdc89d60c9f5c499e316272e9d973150675e74","unresolved":false,"context_lines":[{"line_number":65,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":66,"context_line":"    def test_create_delete_server_group_with_multiple_policies(self):"},{"line_number":67,"context_line":"        # Create and Delete the server-group with multiple policies"},{"line_number":68,"context_line":"        policies \u003d [\u0027affinity\u0027, \u0027affinity\u0027]"},{"line_number":69,"context_line":"        server_group_name \u003d data_utils.rand_name(\u0027server-group\u0027)"},{"line_number":70,"context_line":"        resp, body \u003d self.client.create_server_group(server_group_name,"},{"line_number":71,"context_line":"                                                     policies)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAW3%2F%2FXhE%3D","line":68,"in_reply_to":"AAAAW3%2F%2FXlc%3D","updated":"2014-04-15 05:36:53.000000000","message":"Yup, This test adds a case when user provides multiple policies for a server-group. But as currently, we have only 2 policies that cannot reside together, I had only option to put two similar policies.\nThis tests only checks whether a server-group accepts 2 or more policies (may be same or different)","commit_id":"afd3ab7db0344c3b36dd86336dfe0ca68eb7eaf8"},{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"b0b18920586d98d92690557f4ce0002283e019b4","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        resp, body \u003d self.client.get_server_group("},{"line_number":103,"context_line":"            self.created_server_group[\u0027id\u0027])"},{"line_number":104,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":105,"context_line":"        self.assertEqual(self.created_server_group, body)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":108,"context_line":"    def test_list_server_group(self):"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAW3%2F%2FXj8%3D","line":105,"updated":"2014-04-15 05:25:27.000000000","message":"can you also assert the policy here?","commit_id":"afd3ab7db0344c3b36dd86336dfe0ca68eb7eaf8"},{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"d3b1f660949a78c66aac72266dba4d9ced73b9a6","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        resp, body \u003d self.client.get_server_group("},{"line_number":103,"context_line":"            self.created_server_group[\u0027id\u0027])"},{"line_number":104,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":105,"context_line":"        self.assertEqual(self.created_server_group, body)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":108,"context_line":"    def test_list_server_group(self):"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAW3%2F%2FXcY%3D","line":105,"in_reply_to":"AAAAW3%2F%2FXgU%3D","updated":"2014-04-15 05:57:15.000000000","message":"sorry, my bad","commit_id":"afd3ab7db0344c3b36dd86336dfe0ca68eb7eaf8"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"21bdc89d60c9f5c499e316272e9d973150675e74","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        resp, body \u003d self.client.get_server_group("},{"line_number":103,"context_line":"            self.created_server_group[\u0027id\u0027])"},{"line_number":104,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":105,"context_line":"        self.assertEqual(self.created_server_group, body)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":108,"context_line":"    def test_list_server_group(self):"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAW3%2F%2FXgU%3D","line":105,"in_reply_to":"AAAAW3%2F%2FXj8%3D","updated":"2014-04-15 05:36:53.000000000","message":"I am checking the whole body, which includes ID, Name, Policy (all 3 must match).\nDo I really need to separately check for the policy.?","commit_id":"afd3ab7db0344c3b36dd86336dfe0ca68eb7eaf8"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"c39e122050ce075af2835da24690f5fb638ef83c","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        server_group_name \u003d data_utils.rand_name(\u0027server-group\u0027)"},{"line_number":50,"context_line":"        resp, body \u003d self.client.create_server_group(server_group_name,"},{"line_number":51,"context_line":"                                                     policy)"},{"line_number":52,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":53,"context_line":"        self.assertEqual(server_group_name, body[\u0027name\u0027])"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"        resp, _ \u003d self.client.delete_server_group(body[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAXH%2F%2FM2c%3D","line":52,"updated":"2014-04-23 11:37:41.000000000","message":"addCleanup() is necessary for deleting the created server_group when a test error happens at line53 assertEqual.\n\nref: https://review.openstack.org/#/c/88243/2/tempest/api/compute/admin/test_aggregates.py","commit_id":"ebd2f65cb4515707fb12ee8b5cdf994d7c365217"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"423f8ef4123d5e3396c35f1990b096b616dd4925","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        server_group_name \u003d data_utils.rand_name(\u0027server-group\u0027)"},{"line_number":50,"context_line":"        resp, body \u003d self.client.create_server_group(server_group_name,"},{"line_number":51,"context_line":"                                                     policy)"},{"line_number":52,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":53,"context_line":"        self.assertEqual(server_group_name, body[\u0027name\u0027])"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"        resp, _ \u003d self.client.delete_server_group(body[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAXH%2F%2FF3k%3D","line":52,"in_reply_to":"AAAAXH%2F%2FM2c%3D","updated":"2014-04-24 04:20:40.000000000","message":"Thanks. I will add this cleanup.","commit_id":"ebd2f65cb4515707fb12ee8b5cdf994d7c365217"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"c39e122050ce075af2835da24690f5fb638ef83c","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        server_group_name \u003d data_utils.rand_name(\u0027server-group\u0027)"},{"line_number":74,"context_line":"        resp, body \u003d self.client.create_server_group(server_group_name,"},{"line_number":75,"context_line":"                                                     policies)"},{"line_number":76,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":77,"context_line":"        self.assertEqual(policies, body[\u0027policies\u0027])"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"        resp, _ \u003d self.client.delete_server_group(body[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAXH%2F%2FM2Q%3D","line":76,"updated":"2014-04-23 11:37:41.000000000","message":"ditto","commit_id":"ebd2f65cb4515707fb12ee8b5cdf994d7c365217"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"423f8ef4123d5e3396c35f1990b096b616dd4925","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        server_group_name \u003d data_utils.rand_name(\u0027server-group\u0027)"},{"line_number":74,"context_line":"        resp, body \u003d self.client.create_server_group(server_group_name,"},{"line_number":75,"context_line":"                                                     policies)"},{"line_number":76,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":77,"context_line":"        self.assertEqual(policies, body[\u0027policies\u0027])"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"        resp, _ \u003d self.client.delete_server_group(body[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAXH%2F%2FF3g%3D","line":76,"in_reply_to":"AAAAXH%2F%2FM2Q%3D","updated":"2014-04-24 04:20:40.000000000","message":"same here","commit_id":"ebd2f65cb4515707fb12ee8b5cdf994d7c365217"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"c39e122050ce075af2835da24690f5fb638ef83c","unresolved":false,"context_lines":[{"line_number":86,"context_line":"        resp, server_group1 \u003d self.client.create_server_group("},{"line_number":87,"context_line":"            server_group_name,"},{"line_number":88,"context_line":"            self.policy)"},{"line_number":89,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":90,"context_line":"        resp, server_group2 \u003d self.client.create_server_group("},{"line_number":91,"context_line":"            server_group_name,"},{"line_number":92,"context_line":"            self.policy)"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAXH%2F%2FM2I%3D","line":89,"updated":"2014-04-23 11:37:41.000000000","message":"ditto","commit_id":"ebd2f65cb4515707fb12ee8b5cdf994d7c365217"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"423f8ef4123d5e3396c35f1990b096b616dd4925","unresolved":false,"context_lines":[{"line_number":86,"context_line":"        resp, server_group1 \u003d self.client.create_server_group("},{"line_number":87,"context_line":"            server_group_name,"},{"line_number":88,"context_line":"            self.policy)"},{"line_number":89,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":90,"context_line":"        resp, server_group2 \u003d self.client.create_server_group("},{"line_number":91,"context_line":"            server_group_name,"},{"line_number":92,"context_line":"            self.policy)"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAXH%2F%2FF3Y%3D","line":89,"in_reply_to":"AAAAXH%2F%2FM2I%3D","updated":"2014-04-24 04:20:40.000000000","message":"same here","commit_id":"ebd2f65cb4515707fb12ee8b5cdf994d7c365217"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"c39e122050ce075af2835da24690f5fb638ef83c","unresolved":false,"context_lines":[{"line_number":90,"context_line":"        resp, server_group2 \u003d self.client.create_server_group("},{"line_number":91,"context_line":"            server_group_name,"},{"line_number":92,"context_line":"            self.policy)"},{"line_number":93,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":94,"context_line":"        self.assertEqual(server_group1[\u0027name\u0027], server_group2[\u0027name\u0027])"},{"line_number":95,"context_line":"        self.assertEqual(server_group1[\u0027policies\u0027], server_group2[\u0027policies\u0027])"},{"line_number":96,"context_line":"        self.assertNotEqual(server_group1[\u0027id\u0027], server_group2[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAXH%2F%2FM1o%3D","line":93,"updated":"2014-04-23 11:37:41.000000000","message":"ditto","commit_id":"ebd2f65cb4515707fb12ee8b5cdf994d7c365217"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"423f8ef4123d5e3396c35f1990b096b616dd4925","unresolved":false,"context_lines":[{"line_number":90,"context_line":"        resp, server_group2 \u003d self.client.create_server_group("},{"line_number":91,"context_line":"            server_group_name,"},{"line_number":92,"context_line":"            self.policy)"},{"line_number":93,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":94,"context_line":"        self.assertEqual(server_group1[\u0027name\u0027], server_group2[\u0027name\u0027])"},{"line_number":95,"context_line":"        self.assertEqual(server_group1[\u0027policies\u0027], server_group2[\u0027policies\u0027])"},{"line_number":96,"context_line":"        self.assertNotEqual(server_group1[\u0027id\u0027], server_group2[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAXH%2F%2FF3U%3D","line":93,"in_reply_to":"AAAAXH%2F%2FM1o%3D","updated":"2014-04-24 04:20:40.000000000","message":"same here","commit_id":"ebd2f65cb4515707fb12ee8b5cdf994d7c365217"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"ec6c2d500d0947dc61675279b0c452daa0f956b8","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        server_group_name \u003d data_utils.rand_name(\u0027server-group\u0027)"},{"line_number":50,"context_line":"        resp, body \u003d self.client.create_server_group(server_group_name,"},{"line_number":51,"context_line":"                                                     policy)"},{"line_number":52,"context_line":"        self.server_groups.append(body)"},{"line_number":53,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":54,"context_line":"        self.assertEqual(server_group_name, body[\u0027name\u0027])"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAXX%2F%2Fsj0%3D","line":52,"updated":"2014-04-28 16:10:13.000000000","message":"Why do you add server group to the cls.server_groups? There is no need to do this. In line 56 you delete server group directly.","commit_id":"8001e78859e32346477f377a824fa2c475f6b88d"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"52b673cc9b65fd6c56bad11c0172bf5cd0ac4533","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        server_group_name \u003d data_utils.rand_name(\u0027server-group\u0027)"},{"line_number":50,"context_line":"        resp, body \u003d self.client.create_server_group(server_group_name,"},{"line_number":51,"context_line":"                                                     policy)"},{"line_number":52,"context_line":"        self.server_groups.append(body)"},{"line_number":53,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":54,"context_line":"        self.assertEqual(server_group_name, body[\u0027name\u0027])"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAXH%2F%2FE64%3D","line":52,"updated":"2014-04-24 07:47:31.000000000","message":"you define variable in classmethod but try to change it via self, i think it doesn\u0027t work","commit_id":"8001e78859e32346477f377a824fa2c475f6b88d"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"767397efb47641d0c5d8a90acf632f608b004565","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        server_group_name \u003d data_utils.rand_name(\u0027server-group\u0027)"},{"line_number":50,"context_line":"        resp, body \u003d self.client.create_server_group(server_group_name,"},{"line_number":51,"context_line":"                                                     policy)"},{"line_number":52,"context_line":"        self.server_groups.append(body)"},{"line_number":53,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":54,"context_line":"        self.assertEqual(server_group_name, body[\u0027name\u0027])"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAXH%2F%2FEw4%3D","line":52,"in_reply_to":"AAAAXH%2F%2FE1s%3D","updated":"2014-04-24 08:08:08.000000000","message":"Sorry, i have checked it, i\u0027w wrong","commit_id":"8001e78859e32346477f377a824fa2c475f6b88d"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"88414e10ff11e41e8640df3b6c589d1e5f8c310c","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        server_group_name \u003d data_utils.rand_name(\u0027server-group\u0027)"},{"line_number":50,"context_line":"        resp, body \u003d self.client.create_server_group(server_group_name,"},{"line_number":51,"context_line":"                                                     policy)"},{"line_number":52,"context_line":"        self.server_groups.append(body)"},{"line_number":53,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":54,"context_line":"        self.assertEqual(server_group_name, body[\u0027name\u0027])"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAXH%2F%2FE1s%3D","line":52,"in_reply_to":"AAAAXH%2F%2FE64%3D","updated":"2014-04-24 07:56:04.000000000","message":"It works, I have tested it.","commit_id":"8001e78859e32346477f377a824fa2c475f6b88d"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"102f6d322d2824abe07182fec4c6b2ea155d1c4f","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        server_group_name \u003d data_utils.rand_name(\u0027server-group\u0027)"},{"line_number":50,"context_line":"        resp, body \u003d self.client.create_server_group(server_group_name,"},{"line_number":51,"context_line":"                                                     policy)"},{"line_number":52,"context_line":"        self.server_groups.append(body)"},{"line_number":53,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":54,"context_line":"        self.assertEqual(server_group_name, body[\u0027name\u0027])"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"bad4c104_1ad8cd1c","line":52,"in_reply_to":"AAAAXX%2F%2Fsek%3D","updated":"2014-04-29 08:07:36.000000000","message":"Ok, I got it.","commit_id":"8001e78859e32346477f377a824fa2c475f6b88d"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"a1cf5ac16bc35d71eb2d64304b15f9476d5565cf","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        server_group_name \u003d data_utils.rand_name(\u0027server-group\u0027)"},{"line_number":50,"context_line":"        resp, body \u003d self.client.create_server_group(server_group_name,"},{"line_number":51,"context_line":"                                                     policy)"},{"line_number":52,"context_line":"        self.server_groups.append(body)"},{"line_number":53,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":54,"context_line":"        self.assertEqual(server_group_name, body[\u0027name\u0027])"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAXX%2F%2Fsek%3D","line":52,"in_reply_to":"AAAAXX%2F%2Fsj0%3D","updated":"2014-04-28 16:18:41.000000000","message":"It is appended just in case test is failed before or during deleting it. like Failed at Line#.56\nBasically as cleanup.","commit_id":"8001e78859e32346477f377a824fa2c475f6b88d"},{"author":{"_account_id":8205,"name":"Mh Raies","email":"raiesmh08@gmail.com","username":"raiesmh08"},"change_message_id":"f63660498689d7625eeb3b3fbe31859691cefc2e","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        self.assertEqual(server_group_name, body[\u0027name\u0027])"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        resp, _ \u003d self.client.delete_server_group(body[\u0027id\u0027])"},{"line_number":57,"context_line":"        self.assertEqual(204, resp.status)"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":60,"context_line":"    def test_create_delete_server_group_with_affinity_policy(self):"}],"source_content_type":"text/x-python","patch_set":13,"id":"9ad9bd40_b90b6f2a","line":57,"updated":"2014-04-30 05:25:58.000000000","message":"Delete must be validated, whether sec group is completely deleted or not. Only resp check is not enough.","commit_id":"8001e78859e32346477f377a824fa2c475f6b88d"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"ac4cab01d36a3ef9d5321569c7a91eacab50f60a","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        self.assertEqual(server_group_name, body[\u0027name\u0027])"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        resp, _ \u003d self.client.delete_server_group(body[\u0027id\u0027])"},{"line_number":57,"context_line":"        self.assertEqual(204, resp.status)"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":60,"context_line":"    def test_create_delete_server_group_with_affinity_policy(self):"}],"source_content_type":"text/x-python","patch_set":13,"id":"9ad9bd40_c8dcde77","line":57,"in_reply_to":"9ad9bd40_b90b6f2a","updated":"2014-04-30 06:46:58.000000000","message":"Done","commit_id":"8001e78859e32346477f377a824fa2c475f6b88d"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"52b673cc9b65fd6c56bad11c0172bf5cd0ac4533","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        server_group_name \u003d data_utils.rand_name(\u0027server-group\u0027)"},{"line_number":75,"context_line":"        resp, body \u003d self.client.create_server_group(server_group_name,"},{"line_number":76,"context_line":"                                                     policies)"},{"line_number":77,"context_line":"        self.server_groups.append(body)"},{"line_number":78,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":79,"context_line":"        self.assertEqual(policies, body[\u0027policies\u0027])"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAXH%2F%2FE6w%3D","line":77,"updated":"2014-04-24 07:47:31.000000000","message":"ditto","commit_id":"8001e78859e32346477f377a824fa2c475f6b88d"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"ec6c2d500d0947dc61675279b0c452daa0f956b8","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        server_group_name \u003d data_utils.rand_name(\u0027server-group\u0027)"},{"line_number":75,"context_line":"        resp, body \u003d self.client.create_server_group(server_group_name,"},{"line_number":76,"context_line":"                                                     policies)"},{"line_number":77,"context_line":"        self.server_groups.append(body)"},{"line_number":78,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":79,"context_line":"        self.assertEqual(policies, body[\u0027policies\u0027])"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAXX%2F%2Fsjk%3D","line":77,"updated":"2014-04-28 16:10:13.000000000","message":"ditto","commit_id":"8001e78859e32346477f377a824fa2c475f6b88d"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"88414e10ff11e41e8640df3b6c589d1e5f8c310c","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        server_group_name \u003d data_utils.rand_name(\u0027server-group\u0027)"},{"line_number":75,"context_line":"        resp, body \u003d self.client.create_server_group(server_group_name,"},{"line_number":76,"context_line":"                                                     policies)"},{"line_number":77,"context_line":"        self.server_groups.append(body)"},{"line_number":78,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":79,"context_line":"        self.assertEqual(policies, body[\u0027policies\u0027])"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAXH%2F%2FE1k%3D","line":77,"in_reply_to":"AAAAXH%2F%2FE6w%3D","updated":"2014-04-24 07:56:04.000000000","message":"same here.","commit_id":"8001e78859e32346477f377a824fa2c475f6b88d"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"a1cf5ac16bc35d71eb2d64304b15f9476d5565cf","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        server_group_name \u003d data_utils.rand_name(\u0027server-group\u0027)"},{"line_number":75,"context_line":"        resp, body \u003d self.client.create_server_group(server_group_name,"},{"line_number":76,"context_line":"                                                     policies)"},{"line_number":77,"context_line":"        self.server_groups.append(body)"},{"line_number":78,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":79,"context_line":"        self.assertEqual(policies, body[\u0027policies\u0027])"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAXX%2F%2Fsec%3D","line":77,"in_reply_to":"AAAAXX%2F%2Fsjk%3D","updated":"2014-04-28 16:18:41.000000000","message":"ditto","commit_id":"8001e78859e32346477f377a824fa2c475f6b88d"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"52b673cc9b65fd6c56bad11c0172bf5cd0ac4533","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        resp, server_group1 \u003d self.client.create_server_group("},{"line_number":89,"context_line":"            server_group_name,"},{"line_number":90,"context_line":"            self.policy)"},{"line_number":91,"context_line":"        self.server_groups.append(server_group1)"},{"line_number":92,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":93,"context_line":"        resp, server_group2 \u003d self.client.create_server_group("},{"line_number":94,"context_line":"            server_group_name,"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAXH%2F%2FE6s%3D","line":91,"updated":"2014-04-24 07:47:31.000000000","message":"ditto","commit_id":"8001e78859e32346477f377a824fa2c475f6b88d"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"ec6c2d500d0947dc61675279b0c452daa0f956b8","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        resp, server_group1 \u003d self.client.create_server_group("},{"line_number":89,"context_line":"            server_group_name,"},{"line_number":90,"context_line":"            self.policy)"},{"line_number":91,"context_line":"        self.server_groups.append(server_group1)"},{"line_number":92,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":93,"context_line":"        resp, server_group2 \u003d self.client.create_server_group("},{"line_number":94,"context_line":"            server_group_name,"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAXX%2F%2FsjY%3D","line":91,"updated":"2014-04-28 16:10:13.000000000","message":"ditto","commit_id":"8001e78859e32346477f377a824fa2c475f6b88d"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"88414e10ff11e41e8640df3b6c589d1e5f8c310c","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        resp, server_group1 \u003d self.client.create_server_group("},{"line_number":89,"context_line":"            server_group_name,"},{"line_number":90,"context_line":"            self.policy)"},{"line_number":91,"context_line":"        self.server_groups.append(server_group1)"},{"line_number":92,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":93,"context_line":"        resp, server_group2 \u003d self.client.create_server_group("},{"line_number":94,"context_line":"            server_group_name,"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAXH%2F%2FE1g%3D","line":91,"in_reply_to":"AAAAXH%2F%2FE6s%3D","updated":"2014-04-24 07:56:04.000000000","message":"same here.","commit_id":"8001e78859e32346477f377a824fa2c475f6b88d"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"a1cf5ac16bc35d71eb2d64304b15f9476d5565cf","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        resp, server_group1 \u003d self.client.create_server_group("},{"line_number":89,"context_line":"            server_group_name,"},{"line_number":90,"context_line":"            self.policy)"},{"line_number":91,"context_line":"        self.server_groups.append(server_group1)"},{"line_number":92,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":93,"context_line":"        resp, server_group2 \u003d self.client.create_server_group("},{"line_number":94,"context_line":"            server_group_name,"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAXX%2F%2FseU%3D","line":91,"in_reply_to":"AAAAXX%2F%2FsjY%3D","updated":"2014-04-28 16:18:41.000000000","message":"ditto","commit_id":"8001e78859e32346477f377a824fa2c475f6b88d"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"52b673cc9b65fd6c56bad11c0172bf5cd0ac4533","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        resp, server_group2 \u003d self.client.create_server_group("},{"line_number":94,"context_line":"            server_group_name,"},{"line_number":95,"context_line":"            self.policy)"},{"line_number":96,"context_line":"        self.server_groups.append(server_group2)"},{"line_number":97,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":98,"context_line":"        self.assertEqual(server_group1[\u0027name\u0027], server_group2[\u0027name\u0027])"},{"line_number":99,"context_line":"        self.assertEqual(server_group1[\u0027policies\u0027], server_group2[\u0027policies\u0027])"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAXH%2F%2FE6o%3D","line":96,"updated":"2014-04-24 07:47:31.000000000","message":"ditto","commit_id":"8001e78859e32346477f377a824fa2c475f6b88d"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"ec6c2d500d0947dc61675279b0c452daa0f956b8","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        resp, server_group2 \u003d self.client.create_server_group("},{"line_number":94,"context_line":"            server_group_name,"},{"line_number":95,"context_line":"            self.policy)"},{"line_number":96,"context_line":"        self.server_groups.append(server_group2)"},{"line_number":97,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":98,"context_line":"        self.assertEqual(server_group1[\u0027name\u0027], server_group2[\u0027name\u0027])"},{"line_number":99,"context_line":"        self.assertEqual(server_group1[\u0027policies\u0027], server_group2[\u0027policies\u0027])"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAXX%2F%2FsjQ%3D","line":96,"updated":"2014-04-28 16:10:13.000000000","message":"ditto","commit_id":"8001e78859e32346477f377a824fa2c475f6b88d"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"88414e10ff11e41e8640df3b6c589d1e5f8c310c","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        resp, server_group2 \u003d self.client.create_server_group("},{"line_number":94,"context_line":"            server_group_name,"},{"line_number":95,"context_line":"            self.policy)"},{"line_number":96,"context_line":"        self.server_groups.append(server_group2)"},{"line_number":97,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":98,"context_line":"        self.assertEqual(server_group1[\u0027name\u0027], server_group2[\u0027name\u0027])"},{"line_number":99,"context_line":"        self.assertEqual(server_group1[\u0027policies\u0027], server_group2[\u0027policies\u0027])"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAXH%2F%2FE1c%3D","line":96,"in_reply_to":"AAAAXH%2F%2FE6o%3D","updated":"2014-04-24 07:56:04.000000000","message":"same here.","commit_id":"8001e78859e32346477f377a824fa2c475f6b88d"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"a1cf5ac16bc35d71eb2d64304b15f9476d5565cf","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        resp, server_group2 \u003d self.client.create_server_group("},{"line_number":94,"context_line":"            server_group_name,"},{"line_number":95,"context_line":"            self.policy)"},{"line_number":96,"context_line":"        self.server_groups.append(server_group2)"},{"line_number":97,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":98,"context_line":"        self.assertEqual(server_group1[\u0027name\u0027], server_group2[\u0027name\u0027])"},{"line_number":99,"context_line":"        self.assertEqual(server_group1[\u0027policies\u0027], server_group2[\u0027policies\u0027])"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAXX%2F%2FseI%3D","line":96,"in_reply_to":"AAAAXX%2F%2FsjQ%3D","updated":"2014-04-28 16:18:41.000000000","message":"ditto","commit_id":"8001e78859e32346477f377a824fa2c475f6b88d"},{"author":{"_account_id":8205,"name":"Mh Raies","email":"raiesmh08@gmail.com","username":"raiesmh08"},"change_message_id":"f63660498689d7625eeb3b3fbe31859691cefc2e","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        self.server_groups.append(server_group2)"},{"line_number":97,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":98,"context_line":"        self.assertEqual(server_group1[\u0027name\u0027], server_group2[\u0027name\u0027])"},{"line_number":99,"context_line":"        self.assertEqual(server_group1[\u0027policies\u0027], server_group2[\u0027policies\u0027])"},{"line_number":100,"context_line":"        self.assertNotEqual(server_group1[\u0027id\u0027], server_group2[\u0027id\u0027])"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"        resp, _ \u003d self.client.delete_server_group(server_group1[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":13,"id":"9ad9bd40_141a626e","line":99,"updated":"2014-04-30 05:25:58.000000000","message":"It would be better to use for loop instead multiple assertEqual().","commit_id":"8001e78859e32346477f377a824fa2c475f6b88d"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"ac4cab01d36a3ef9d5321569c7a91eacab50f60a","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        self.server_groups.append(server_group2)"},{"line_number":97,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":98,"context_line":"        self.assertEqual(server_group1[\u0027name\u0027], server_group2[\u0027name\u0027])"},{"line_number":99,"context_line":"        self.assertEqual(server_group1[\u0027policies\u0027], server_group2[\u0027policies\u0027])"},{"line_number":100,"context_line":"        self.assertNotEqual(server_group1[\u0027id\u0027], server_group2[\u0027id\u0027])"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"        resp, _ \u003d self.client.delete_server_group(server_group1[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":13,"id":"9ad9bd40_08e7a641","line":99,"in_reply_to":"9ad9bd40_141a626e","updated":"2014-04-30 06:46:58.000000000","message":"Done","commit_id":"8001e78859e32346477f377a824fa2c475f6b88d"},{"author":{"_account_id":8205,"name":"Mh Raies","email":"raiesmh08@gmail.com","username":"raiesmh08"},"change_message_id":"f63660498689d7625eeb3b3fbe31859691cefc2e","unresolved":false,"context_lines":[{"line_number":100,"context_line":"        self.assertNotEqual(server_group1[\u0027id\u0027], server_group2[\u0027id\u0027])"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"        resp, _ \u003d self.client.delete_server_group(server_group1[\u0027id\u0027])"},{"line_number":103,"context_line":"        self.assertEqual(204, resp.status)"},{"line_number":104,"context_line":"        resp, _ \u003d self.client.delete_server_group(server_group2[\u0027id\u0027])"},{"line_number":105,"context_line":"        self.assertEqual(204, resp.status)"},{"line_number":106,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"9ad9bd40_74200e9c","line":103,"updated":"2014-04-30 05:25:58.000000000","message":"Delete must be validated.","commit_id":"8001e78859e32346477f377a824fa2c475f6b88d"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"ac4cab01d36a3ef9d5321569c7a91eacab50f60a","unresolved":false,"context_lines":[{"line_number":100,"context_line":"        self.assertNotEqual(server_group1[\u0027id\u0027], server_group2[\u0027id\u0027])"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"        resp, _ \u003d self.client.delete_server_group(server_group1[\u0027id\u0027])"},{"line_number":103,"context_line":"        self.assertEqual(204, resp.status)"},{"line_number":104,"context_line":"        resp, _ \u003d self.client.delete_server_group(server_group2[\u0027id\u0027])"},{"line_number":105,"context_line":"        self.assertEqual(204, resp.status)"},{"line_number":106,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"9ad9bd40_28e46a3a","line":103,"in_reply_to":"9ad9bd40_74200e9c","updated":"2014-04-30 06:46:58.000000000","message":"Done","commit_id":"8001e78859e32346477f377a824fa2c475f6b88d"},{"author":{"_account_id":8205,"name":"Mh Raies","email":"raiesmh08@gmail.com","username":"raiesmh08"},"change_message_id":"f63660498689d7625eeb3b3fbe31859691cefc2e","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        resp, _ \u003d self.client.delete_server_group(server_group1[\u0027id\u0027])"},{"line_number":103,"context_line":"        self.assertEqual(204, resp.status)"},{"line_number":104,"context_line":"        resp, _ \u003d self.client.delete_server_group(server_group2[\u0027id\u0027])"},{"line_number":105,"context_line":"        self.assertEqual(204, resp.status)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":108,"context_line":"    def test_get_server_group(self):"}],"source_content_type":"text/x-python","patch_set":13,"id":"9ad9bd40_942592ad","line":105,"updated":"2014-04-30 05:25:58.000000000","message":"Same as above","commit_id":"8001e78859e32346477f377a824fa2c475f6b88d"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"ac4cab01d36a3ef9d5321569c7a91eacab50f60a","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        resp, _ \u003d self.client.delete_server_group(server_group1[\u0027id\u0027])"},{"line_number":103,"context_line":"        self.assertEqual(204, resp.status)"},{"line_number":104,"context_line":"        resp, _ \u003d self.client.delete_server_group(server_group2[\u0027id\u0027])"},{"line_number":105,"context_line":"        self.assertEqual(204, resp.status)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":108,"context_line":"    def test_get_server_group(self):"}],"source_content_type":"text/x-python","patch_set":13,"id":"9ad9bd40_68d59242","line":105,"in_reply_to":"9ad9bd40_942592ad","updated":"2014-04-30 06:46:58.000000000","message":"Done","commit_id":"8001e78859e32346477f377a824fa2c475f6b88d"},{"author":{"_account_id":7293,"name":"Elena Ezhova","email":"ezhovaelena19@gmail.com","username":"elena"},"change_message_id":"ac491ef4ea7aecdff8de79358b3206caa57231f2","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from tempest import test"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class ServerGroupTestJSON(base.BaseV2ComputeTest):"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    @classmethod"},{"line_number":24,"context_line":"    @test.safe_setup"}],"source_content_type":"text/x-python","patch_set":16,"id":"9ad9bd40_4d18d884","line":21,"updated":"2014-04-30 11:34:46.000000000","message":"It would be nice to have some doclines which would explain the gist of this test.","commit_id":"a2e8ca226ca3aef64e654f240e09b8308cd2657d"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"ff7bfc64cb2b27d6b3795dabc031a927447d095a","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from tempest import test"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class ServerGroupTestJSON(base.BaseV2ComputeTest):"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    @classmethod"},{"line_number":24,"context_line":"    @test.safe_setup"}],"source_content_type":"text/x-python","patch_set":16,"id":"9ad9bd40_dd0f1ae0","line":21,"in_reply_to":"9ad9bd40_4d18d884","updated":"2014-05-01 10:30:32.000000000","message":"Done","commit_id":"a2e8ca226ca3aef64e654f240e09b8308cd2657d"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"85b1f1bd08908cece516083f5b3df66064bf97a2","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    def setUpClass(cls):"},{"line_number":26,"context_line":"        super(ServerGroupTestJSON, cls).setUpClass()"},{"line_number":27,"context_line":"        cls.client \u003d cls.servers_client"},{"line_number":28,"context_line":"        cls.server_group_name \u003d data_utils.rand_name(\u0027server-group\u0027)"},{"line_number":29,"context_line":"        cls.policy \u003d [\u0027affinity\u0027]"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"        _, cls.created_server_group \u003d cls.create_test_server_group("}],"source_content_type":"text/x-python","patch_set":16,"id":"9ad9bd40_ed91ac53","line":28,"updated":"2014-04-30 11:15:43.000000000","message":"This variable can be local as it is only used in setUpClass method.","commit_id":"a2e8ca226ca3aef64e654f240e09b8308cd2657d"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"ff7bfc64cb2b27d6b3795dabc031a927447d095a","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    def setUpClass(cls):"},{"line_number":26,"context_line":"        super(ServerGroupTestJSON, cls).setUpClass()"},{"line_number":27,"context_line":"        cls.client \u003d cls.servers_client"},{"line_number":28,"context_line":"        cls.server_group_name \u003d data_utils.rand_name(\u0027server-group\u0027)"},{"line_number":29,"context_line":"        cls.policy \u003d [\u0027affinity\u0027]"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"        _, cls.created_server_group \u003d cls.create_test_server_group("}],"source_content_type":"text/x-python","patch_set":16,"id":"9ad9bd40_fd14def6","line":28,"in_reply_to":"9ad9bd40_ed91ac53","updated":"2014-05-01 10:30:32.000000000","message":"Done","commit_id":"a2e8ca226ca3aef64e654f240e09b8308cd2657d"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"7305ed1bd33e273ff3fb475c492906551566a44e","unresolved":false,"context_lines":[{"line_number":82,"context_line":"    def test_create_delete_multiple_server_groups_with_same_name_policy(self):"},{"line_number":83,"context_line":"        # Create and Delete the server-groups with same name and same policy"},{"line_number":84,"context_line":"        server_group \u003d []"},{"line_number":85,"context_line":"        server_group_name \u003d data_utils.rand_name(\u0027server-group\u0027)"},{"line_number":86,"context_line":"        for i in range(0, 2):"},{"line_number":87,"context_line":"            server_group.append(self._create_server_group(server_group_name,"},{"line_number":88,"context_line":"                                                          self.policy))"}],"source_content_type":"text/x-python","patch_set":16,"id":"9ad9bd40_11da6a78","line":85,"updated":"2014-04-30 11:43:51.000000000","message":"Or you can remove this line and write \n\nserver_group.append(\n    self._create_server_group(\n        self.server_group_name, self.policy))\n\nin line 87.","commit_id":"a2e8ca226ca3aef64e654f240e09b8308cd2657d"},{"author":{"_account_id":7139,"name":"Zhi Kun Liu","username":"zhikunliu","inactive":true},"change_message_id":"b3e379d9f3a087615d810643a1b47195e318da72","unresolved":false,"context_lines":[{"line_number":38,"context_line":"            cls.policy)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    @classmethod"},{"line_number":41,"context_line":"    def tearDownClass(cls):"},{"line_number":42,"context_line":"        super(ServerGroupTestJSON, cls).tearDownClass()"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def _create_server_group(self, name, policy):"}],"source_content_type":"text/x-python","patch_set":19,"id":"9ad9bd40_55153a3e","line":41,"updated":"2014-05-06 06:58:33.000000000","message":"tearDownClass could be removed if it only calls super tearDownClass()","commit_id":"5f7ca18fac75b255c1c8c3e241426f1f1d28412e"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"3754a4aa0733d928bc84b10839ab7a0621f7f8a2","unresolved":false,"context_lines":[{"line_number":38,"context_line":"            cls.policy)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    @classmethod"},{"line_number":41,"context_line":"    def tearDownClass(cls):"},{"line_number":42,"context_line":"        super(ServerGroupTestJSON, cls).tearDownClass()"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def _create_server_group(self, name, policy):"}],"source_content_type":"text/x-python","patch_set":19,"id":"9ad9bd40_95e5023a","line":41,"in_reply_to":"9ad9bd40_55153a3e","updated":"2014-05-06 07:17:26.000000000","message":"Done","commit_id":"5f7ca18fac75b255c1c8c3e241426f1f1d28412e"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"f19fa956357aabc9d42e985d86586fb9ebef97d0","unresolved":false,"context_lines":[{"line_number":82,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":83,"context_line":"    def test_create_delete_multiple_server_groups_with_same_name_policy(self):"},{"line_number":84,"context_line":"        # Create and Delete the server-groups with same name and same policy"},{"line_number":85,"context_line":"        server_group \u003d []"},{"line_number":86,"context_line":"        server_group_name \u003d data_utils.rand_name(\u0027server-group\u0027)"},{"line_number":87,"context_line":"        for i in range(0, 2):"},{"line_number":88,"context_line":"            server_group.append(self._create_server_group(server_group_name,"}],"source_content_type":"text/x-python","patch_set":21,"id":"9ad9bd40_105740cb","line":85,"updated":"2014-05-06 07:47:59.000000000","message":"I think this variable should be named \"server_groups\". This list will have 2 server groups at least.","commit_id":"275cb803f39501752c4e60006f9a6c7014716bf9"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"1035d7a55e90604343171babac95f9a84b2b508a","unresolved":false,"context_lines":[{"line_number":82,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":83,"context_line":"    def test_create_delete_multiple_server_groups_with_same_name_policy(self):"},{"line_number":84,"context_line":"        # Create and Delete the server-groups with same name and same policy"},{"line_number":85,"context_line":"        server_group \u003d []"},{"line_number":86,"context_line":"        server_group_name \u003d data_utils.rand_name(\u0027server-group\u0027)"},{"line_number":87,"context_line":"        for i in range(0, 2):"},{"line_number":88,"context_line":"            server_group.append(self._create_server_group(server_group_name,"}],"source_content_type":"text/x-python","patch_set":21,"id":"9ad9bd40_90ab5074","line":85,"in_reply_to":"9ad9bd40_105740cb","updated":"2014-05-06 07:54:26.000000000","message":"Done","commit_id":"275cb803f39501752c4e60006f9a6c7014716bf9"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"f61a1fc36aa0551ddd77f3bbc17c6f881d91fc94","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class ServerGroupTestJSON(base.BaseV2ComputeTest):"},{"line_number":22,"context_line":"    \"\"\""},{"line_number":23,"context_line":"    These tests check or the server-group APIs"},{"line_number":24,"context_line":"    They create/delete server-groups with different policies."},{"line_number":25,"context_line":"    policies \u003d affinity/anti-affinity"},{"line_number":26,"context_line":"    It also adds the tests for list and get details of server-groups"}],"source_content_type":"text/x-python","patch_set":22,"id":"9ad9bd40_3b5b452f","line":23,"updated":"2014-05-06 08:33:01.000000000","message":"Are you sure you wrote this sentence correctly?","commit_id":"4832092cae75c5ee6e8b0f0a4efaff7242cfff6f"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"49d7879a51e837ba7cb921670528508016155410","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    @classmethod"},{"line_number":29,"context_line":"    @test.safe_setup"},{"line_number":30,"context_line":"    def setUpClass(cls):"},{"line_number":31,"context_line":"        super(ServerGroupTestJSON, cls).setUpClass()"},{"line_number":32,"context_line":"        cls.client \u003d cls.servers_client"},{"line_number":33,"context_line":"        server_group_name \u003d data_utils.rand_name(\u0027server-group\u0027)"},{"line_number":34,"context_line":"        cls.policy \u003d [\u0027affinity\u0027]"}],"source_content_type":"text/x-python","patch_set":22,"id":"9ad9bd40_c6c8a6aa","line":31,"updated":"2014-05-07 04:58:38.000000000","message":"Here needs API extension check like:\n\n  if not test.is_extension_enabled(\u0027os-server-groups\u0027, \u0027compute\u0027):\n      msg \u003d \"os-server-groups extension not enabled.\"\n      raise cls.skipException(msg)\n\nbecause os-server-groups extension has been implemented since Icehouse and we need to check the existence for Havana or before.","commit_id":"4832092cae75c5ee6e8b0f0a4efaff7242cfff6f"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"f61a1fc36aa0551ddd77f3bbc17c6f881d91fc94","unresolved":false,"context_lines":[{"line_number":40,"context_line":"    def _create_server_group(self, name, policy):"},{"line_number":41,"context_line":"        # create the test server-group with given policy"},{"line_number":42,"context_line":"        server_group \u003d {\u0027name\u0027: name, \u0027policies\u0027: policy}"},{"line_number":43,"context_line":"        resp, body \u003d self.client.create_server_group(name, policy)"},{"line_number":44,"context_line":"        self.server_groups.append(body[\u0027id\u0027])"},{"line_number":45,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":46,"context_line":"        for key in [\u0027name\u0027, \u0027policies\u0027]:"}],"source_content_type":"text/x-python","patch_set":22,"id":"9ad9bd40_fbf0fdff","line":43,"updated":"2014-05-06 08:33:01.000000000","message":"You can use the method \"create_test_server_group\" from base.py here.","commit_id":"4832092cae75c5ee6e8b0f0a4efaff7242cfff6f"},{"author":{"_account_id":7293,"name":"Elena Ezhova","email":"ezhovaelena19@gmail.com","username":"elena"},"change_message_id":"aadfcc000c24228bdbbae55eda8db568a39b3d9b","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class ServerGroupTestJSON(base.BaseV2ComputeTest):"},{"line_number":22,"context_line":"    \"\"\""},{"line_number":23,"context_line":"    These tests check for the server-group APIs"},{"line_number":24,"context_line":"    They create/delete server-groups with different policies."},{"line_number":25,"context_line":"    policies \u003d affinity/anti-affinity"},{"line_number":26,"context_line":"    It also adds the tests for list and get details of server-groups"}],"source_content_type":"text/x-python","patch_set":23,"id":"7adec928_58c16c2d","line":23,"updated":"2014-05-08 10:52:27.000000000","message":"nit: These tests check the server-group API\nor\nThese tests add checks for the server-group API","commit_id":"87dd445ddd18b54537f03c619a902e25ca3e54a4"}],"tempest/services/compute/json/servers_client.py":[{"author":{"_account_id":7293,"name":"Elena Ezhova","email":"ezhovaelena19@gmail.com","username":"elena"},"change_message_id":"204db69442bd7bf551402f0ac96ca3bd4010e894","unresolved":false,"context_lines":[{"line_number":468,"context_line":""},{"line_number":469,"context_line":"        post_body \u003d json.dumps({\u0027server_group\u0027: post_body})"},{"line_number":470,"context_line":"        resp, body \u003d self.post(\u0027os-server-groups\u0027, post_body)"},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"        body \u003d json.loads(body)"},{"line_number":473,"context_line":"        return resp, body[\u0027server_group\u0027]"},{"line_number":474,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAW3%2F%2Fc3I%3D","line":471,"updated":"2014-04-14 14:30:49.000000000","message":"just a minor nit: the newline here might be unnecessary.","commit_id":"afd3ab7db0344c3b36dd86336dfe0ca68eb7eaf8"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"c4daaf5002e03e9b094bf632412d045af4c2cfae","unresolved":false,"context_lines":[{"line_number":468,"context_line":""},{"line_number":469,"context_line":"        post_body \u003d json.dumps({\u0027server_group\u0027: post_body})"},{"line_number":470,"context_line":"        resp, body \u003d self.post(\u0027os-server-groups\u0027, post_body)"},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"        body \u003d json.loads(body)"},{"line_number":473,"context_line":"        return resp, body[\u0027server_group\u0027]"},{"line_number":474,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAW3%2F%2FWdY%3D","line":471,"in_reply_to":"AAAAW3%2F%2Fc3I%3D","updated":"2014-04-15 08:18:45.000000000","message":"Its just for sake of understanding.","commit_id":"afd3ab7db0344c3b36dd86336dfe0ca68eb7eaf8"},{"author":{"_account_id":7293,"name":"Elena Ezhova","email":"ezhovaelena19@gmail.com","username":"elena"},"change_message_id":"204db69442bd7bf551402f0ac96ca3bd4010e894","unresolved":false,"context_lines":[{"line_number":476,"context_line":"        \"\"\"Delete the given server-group.\"\"\""},{"line_number":477,"context_line":"        return self.delete(\"os-server-groups/%s\" % str(server_group_id))"},{"line_number":478,"context_line":""},{"line_number":479,"context_line":"    def list_server_group(self):"},{"line_number":480,"context_line":"        \"\"\"List the server-group.\"\"\""},{"line_number":481,"context_line":"        resp, body \u003d self.get(\"os-server-groups\")"},{"line_number":482,"context_line":"        body \u003d json.loads(body)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAW3%2F%2Fc2g%3D","line":479,"updated":"2014-04-14 14:30:49.000000000","message":"Shouldn\u0027t it be \"list_server_groups\"?","commit_id":"afd3ab7db0344c3b36dd86336dfe0ca68eb7eaf8"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"c4daaf5002e03e9b094bf632412d045af4c2cfae","unresolved":false,"context_lines":[{"line_number":476,"context_line":"        \"\"\"Delete the given server-group.\"\"\""},{"line_number":477,"context_line":"        return self.delete(\"os-server-groups/%s\" % str(server_group_id))"},{"line_number":478,"context_line":""},{"line_number":479,"context_line":"    def list_server_group(self):"},{"line_number":480,"context_line":"        \"\"\"List the server-group.\"\"\""},{"line_number":481,"context_line":"        resp, body \u003d self.get(\"os-server-groups\")"},{"line_number":482,"context_line":"        body \u003d json.loads(body)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAW3%2F%2FWdI%3D","line":479,"in_reply_to":"AAAAW3%2F%2Fc2g%3D","updated":"2014-04-15 08:18:45.000000000","message":"Will change it. Thanks.","commit_id":"afd3ab7db0344c3b36dd86336dfe0ca68eb7eaf8"},{"author":{"_account_id":7139,"name":"Zhi Kun Liu","username":"zhikunliu","inactive":true},"change_message_id":"b3e379d9f3a087615d810643a1b47195e318da72","unresolved":false,"context_lines":[{"line_number":498,"context_line":"        return self.delete(\"os-server-groups/%s\" % str(server_group_id))"},{"line_number":499,"context_line":""},{"line_number":500,"context_line":"    def list_server_groups(self):"},{"line_number":501,"context_line":"        \"\"\"List the server-group.\"\"\""},{"line_number":502,"context_line":"        resp, body \u003d self.get(\"os-server-groups\")"},{"line_number":503,"context_line":"        body \u003d json.loads(body)"},{"line_number":504,"context_line":"        return resp, body[\u0027server_groups\u0027]"}],"source_content_type":"text/x-python","patch_set":19,"id":"9ad9bd40_2a11355d","line":501,"updated":"2014-05-06 06:58:33.000000000","message":"server-group -\u003e server-groups","commit_id":"5f7ca18fac75b255c1c8c3e241426f1f1d28412e"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"3754a4aa0733d928bc84b10839ab7a0621f7f8a2","unresolved":false,"context_lines":[{"line_number":498,"context_line":"        return self.delete(\"os-server-groups/%s\" % str(server_group_id))"},{"line_number":499,"context_line":""},{"line_number":500,"context_line":"    def list_server_groups(self):"},{"line_number":501,"context_line":"        \"\"\"List the server-group.\"\"\""},{"line_number":502,"context_line":"        resp, body \u003d self.get(\"os-server-groups\")"},{"line_number":503,"context_line":"        body \u003d json.loads(body)"},{"line_number":504,"context_line":"        return resp, body[\u0027server_groups\u0027]"}],"source_content_type":"text/x-python","patch_set":19,"id":"9ad9bd40_75dcfe73","line":501,"in_reply_to":"9ad9bd40_2a11355d","updated":"2014-05-06 07:17:26.000000000","message":"Done","commit_id":"5f7ca18fac75b255c1c8c3e241426f1f1d28412e"}]}
