)]}'
{"tempest/api/compute/admin/test_flavors_access.py":[{"author":{"_account_id":5586,"name":"Ivan-Zhu","email":"zhubo198511@gmail.com","username":"ivan-zhu"},"change_message_id":"97047dd9d18bee40571e70df6175dccf7d9b6b27","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        cls.disk \u003d 10"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":56,"context_line":"    def test_flavor_access_list_with_public_flavor(self):"},{"line_number":57,"context_line":"        flavor_name \u003d rand_name(self.flavor_name_prefix)"},{"line_number":58,"context_line":"        new_flavor_id \u003d rand_int_id(start\u003d1000)"},{"line_number":59,"context_line":"        resp, new_flavor \u003d self.client.create_flavor(flavor_name,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATH%2F%2FocU%3D","line":56,"updated":"2013-10-12 03:15:07.000000000","message":"usually, there is a comment here to explain what will be tested, why the exceptions will be raised.","commit_id":"55dee973778986100a780797ef6dc3183149cffc"},{"author":{"_account_id":7148,"name":"Zhu Zhu","email":"bjzzu.zz@gmail.com","username":"zhuzhubj"},"change_message_id":"016ed20120cbf702fa42a13b6eb4ca84eaa12fdb","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        cls.disk \u003d 10"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":56,"context_line":"    def test_flavor_access_list_with_public_flavor(self):"},{"line_number":57,"context_line":"        flavor_name \u003d rand_name(self.flavor_name_prefix)"},{"line_number":58,"context_line":"        new_flavor_id \u003d rand_int_id(start\u003d1000)"},{"line_number":59,"context_line":"        resp, new_flavor \u003d self.client.create_flavor(flavor_name,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATH%2F%2Fn8o%3D","line":56,"in_reply_to":"AAAATH%2F%2FocU%3D","updated":"2013-10-12 08:17:08.000000000","message":"thanks Ivan, will resolve in next patch","commit_id":"55dee973778986100a780797ef6dc3183149cffc"},{"author":{"_account_id":5586,"name":"Ivan-Zhu","email":"zhubo198511@gmail.com","username":"ivan-zhu"},"change_message_id":"97047dd9d18bee40571e70df6175dccf7d9b6b27","unresolved":false,"context_lines":[{"line_number":69,"context_line":"                          new_flavor_id)"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    @attr(type\u003d\u0027gate\u0027)"},{"line_number":72,"context_line":"    def test_flavor_access_list_with_private_flavor(self):"},{"line_number":73,"context_line":"        flavor_name \u003d rand_name(self.flavor_name_prefix)"},{"line_number":74,"context_line":"        new_flavor_id \u003d rand_int_id(start\u003d1000)"},{"line_number":75,"context_line":"        resp, new_flavor \u003d self.client.create_flavor(flavor_name,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATH%2F%2FocQ%3D","line":72,"updated":"2013-10-12 03:15:07.000000000","message":"ditto","commit_id":"55dee973778986100a780797ef6dc3183149cffc"},{"author":{"_account_id":5586,"name":"Ivan-Zhu","email":"zhubo198511@gmail.com","username":"ivan-zhu"},"change_message_id":"7394a664a2987ffe4f318efe93b0e14db2414793","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        self.assertEqual(resp.status, 200)"},{"line_number":83,"context_line":"        resp, flavor_access \u003d self.client.list_flavor_access(new_flavor_id)"},{"line_number":84,"context_line":"        self.assertEqual(resp.status, 200)"},{"line_number":85,"context_line":"        self.assertEqual(flavor_access, [])"},{"line_number":86,"context_line":"        resp_body \u003d {"},{"line_number":87,"context_line":"            \"tenant_id\": str(self.tenant_id),"},{"line_number":88,"context_line":"            \"flavor_id\": str(new_flavor[\u0027id\u0027]),"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATH%2F%2Fmzo%3D","line":85,"updated":"2013-10-13 07:27:00.000000000","message":"This is wrong, flavor_access !\u003d []\n\nwhy not just create a private flavor and list it? It will add the flavor access for the current tenant, if is_public\u003d\u003d\"False\".","commit_id":"2ad2166369876ba174a790ab507877e642f15076"},{"author":{"_account_id":7148,"name":"Zhu Zhu","email":"bjzzu.zz@gmail.com","username":"zhuzhubj"},"change_message_id":"046e2ef628d1601433cdfafc60d560edd95bc02e","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        self.assertEqual(resp.status, 200)"},{"line_number":83,"context_line":"        resp, flavor_access \u003d self.client.list_flavor_access(new_flavor_id)"},{"line_number":84,"context_line":"        self.assertEqual(resp.status, 200)"},{"line_number":85,"context_line":"        self.assertEqual(flavor_access, [])"},{"line_number":86,"context_line":"        resp_body \u003d {"},{"line_number":87,"context_line":"            \"tenant_id\": str(self.tenant_id),"},{"line_number":88,"context_line":"            \"flavor_id\": str(new_flavor[\u0027id\u0027]),"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATH%2F%2Fmls%3D","line":85,"in_reply_to":"AAAATH%2F%2Fmzo%3D","updated":"2013-10-13 13:57:52.000000000","message":"yes, that\u0027s right and it\u0027s reason why jenkins failed. I think recently code have changed to add flavor access for tenant when creation flavor. And that\u0027s why my local env with not latest code, its testcase pass and here fail. Ivan, thanks for info.","commit_id":"2ad2166369876ba174a790ab507877e642f15076"},{"author":{"_account_id":5586,"name":"Ivan-Zhu","email":"zhubo198511@gmail.com","username":"ivan-zhu"},"change_message_id":"ee22d9466aa1389ac2e13d8ec2e11dbf21a5cb2e","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        self.assertEqual(len(flavor_access), 1)"},{"line_number":86,"context_line":"        first_flavor \u003d flavor_access[0]"},{"line_number":87,"context_line":"        self.assertEqual(str(new_flavor_id), str(first_flavor[\u0027flavor_id\u0027]))"},{"line_number":88,"context_line":"        self.assertEqual(str(self.tenant_id), str(first_flavor[\u0027tenant_id\u0027]))"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    @attr(type\u003d\u0027gate\u0027)"},{"line_number":91,"context_line":"    def test_flavor_access_add_remove(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATH%2F%2Fl70%3D","line":88,"updated":"2013-10-14 02:47:04.000000000","message":"they are different tenant_id. self.tenant_id is from cls.flavors_client, is not the admin one.","commit_id":"00ca0dbaab7c50f6f6f52782356c9fa09c2c9250"},{"author":{"_account_id":7148,"name":"Zhu Zhu","email":"bjzzu.zz@gmail.com","username":"zhuzhubj"},"change_message_id":"e5b589d43850f068caf0b50915224937758ebf99","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        self.assertEqual(len(flavor_access), 1)"},{"line_number":86,"context_line":"        first_flavor \u003d flavor_access[0]"},{"line_number":87,"context_line":"        self.assertEqual(str(new_flavor_id), str(first_flavor[\u0027flavor_id\u0027]))"},{"line_number":88,"context_line":"        self.assertEqual(str(self.tenant_id), str(first_flavor[\u0027tenant_id\u0027]))"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    @attr(type\u003d\u0027gate\u0027)"},{"line_number":91,"context_line":"    def test_flavor_access_add_remove(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATH%2F%2Fl6w%3D","line":88,"in_reply_to":"AAAATH%2F%2Fl70%3D","updated":"2013-10-14 02:59:23.000000000","message":"You\u0027re right. Ivan,tenant_id is non-admin tenant need to change to admin tennt id here. will fix it in next patch.","commit_id":"00ca0dbaab7c50f6f6f52782356c9fa09c2c9250"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"b7f12f40215a61fe87d87249986fcffd579ad99e","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        self.assertEqual(resp.status, 200)"},{"line_number":84,"context_line":"        resp, flavor_access \u003d self.client.list_flavor_access(new_flavor_id)"},{"line_number":85,"context_line":"        self.assertEqual(resp.status, 200)"},{"line_number":86,"context_line":"        self.assertEqual(len(flavor_access), 1)"},{"line_number":87,"context_line":"        first_flavor \u003d flavor_access[0]"},{"line_number":88,"context_line":"        self.assertEqual(str(new_flavor_id), str(first_flavor[\u0027flavor_id\u0027]))"},{"line_number":89,"context_line":"        self.assertEqual(self.adm_tenant_id, first_flavor[\u0027tenant_id\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATH%2F%2FVkg%3D","line":86,"updated":"2013-10-17 15:23:44.000000000","message":"self.assertEqual(len(flavor_access), 1, str(flavor_access))\n\nCan you make this more verbose ?","commit_id":"4545050fba8d0aa60a8a55b0420d931fffac2e7f"},{"author":{"_account_id":7148,"name":"Zhu Zhu","email":"bjzzu.zz@gmail.com","username":"zhuzhubj"},"change_message_id":"e63c73464aa7debae52b17c83861958d7fd1335e","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        self.assertEqual(resp.status, 200)"},{"line_number":84,"context_line":"        resp, flavor_access \u003d self.client.list_flavor_access(new_flavor_id)"},{"line_number":85,"context_line":"        self.assertEqual(resp.status, 200)"},{"line_number":86,"context_line":"        self.assertEqual(len(flavor_access), 1)"},{"line_number":87,"context_line":"        first_flavor \u003d flavor_access[0]"},{"line_number":88,"context_line":"        self.assertEqual(str(new_flavor_id), str(first_flavor[\u0027flavor_id\u0027]))"},{"line_number":89,"context_line":"        self.assertEqual(self.adm_tenant_id, first_flavor[\u0027tenant_id\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATH%2F%2FTNM%3D","line":86,"in_reply_to":"AAAATH%2F%2FVkg%3D","updated":"2013-10-18 05:42:32.000000000","message":"ok. Attila, thanks for reminding","commit_id":"4545050fba8d0aa60a8a55b0420d931fffac2e7f"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"4c3deb8e3a5f0bde4a0d07dde9ba34bf74a40bbf","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        cls.vcpus \u003d 1"},{"line_number":54,"context_line":"        cls.disk \u003d 10"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":57,"context_line":"    def test_flavor_access_list_with_public_flavor(self):"},{"line_number":58,"context_line":"        # Test to list flavor access with exceptions by querying public flavor"},{"line_number":59,"context_line":"        flavor_name \u003d rand_name(self.flavor_name_prefix)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATX%2F%2F8ek%3D","line":56,"updated":"2013-10-23 20:43:57.000000000","message":"Negative tests need to go in a separate file per HACKING.rst","commit_id":"6d31c0ec7de5d8d3ad3d3602551efac43e7cd3a1"},{"author":{"_account_id":7148,"name":"Zhu Zhu","email":"bjzzu.zz@gmail.com","username":"zhuzhubj"},"change_message_id":"c751a042e518c0f68c6fbd3efdd70c5620b1ebb5","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        cls.vcpus \u003d 1"},{"line_number":54,"context_line":"        cls.disk \u003d 10"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":57,"context_line":"    def test_flavor_access_list_with_public_flavor(self):"},{"line_number":58,"context_line":"        # Test to list flavor access with exceptions by querying public flavor"},{"line_number":59,"context_line":"        flavor_name \u003d rand_name(self.flavor_name_prefix)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATn%2F%2F%2FaI%3D","line":56,"in_reply_to":"AAAATX%2F%2F8ek%3D","updated":"2013-10-24 07:03:40.000000000","message":"Matt, thanks for info. Will update it in next patch","commit_id":"6d31c0ec7de5d8d3ad3d3602551efac43e7cd3a1"},{"author":{"_account_id":7139,"name":"Zhi Kun Liu","username":"zhikunliu","inactive":true},"change_message_id":"9e774acd0e1e8d735280f4cb33d1c12958b92edf","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        cls.tenant_id \u003d [tnt[\u0027id\u0027] for tnt in tenants if tnt[\u0027name\u0027] \u003d\u003d"},{"line_number":45,"context_line":"                         cls.flavors_client.tenant_name][0]"},{"line_number":46,"context_line":"        cls.adm_tenant_id \u003d [tnt[\u0027id\u0027] for tnt in tenants if tnt[\u0027name\u0027] \u003d\u003d"},{"line_number":47,"context_line":"                             cls.os_adm.flavors_client.tenant_name][0]"},{"line_number":48,"context_line":"        cls.flavor_name_prefix \u003d \u0027test_flavor_access_\u0027"},{"line_number":49,"context_line":"        cls.ram \u003d 512"},{"line_number":50,"context_line":"        cls.vcpus \u003d 1"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAATn%2F%2Fz3w%3D","line":47,"updated":"2013-10-28 17:32:05.000000000","message":"use \"admin_client.get_tenant_by_name()\" may be better","commit_id":"241f1fde1f32a49a106b685dc10bf0017cacb2c5"},{"author":{"_account_id":7148,"name":"Zhu Zhu","email":"bjzzu.zz@gmail.com","username":"zhuzhubj"},"change_message_id":"a5b262c84040089c08526622664643d407dd9bc8","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        cls.tenant_id \u003d [tnt[\u0027id\u0027] for tnt in tenants if tnt[\u0027name\u0027] \u003d\u003d"},{"line_number":45,"context_line":"                         cls.flavors_client.tenant_name][0]"},{"line_number":46,"context_line":"        cls.adm_tenant_id \u003d [tnt[\u0027id\u0027] for tnt in tenants if tnt[\u0027name\u0027] \u003d\u003d"},{"line_number":47,"context_line":"                             cls.os_adm.flavors_client.tenant_name][0]"},{"line_number":48,"context_line":"        cls.flavor_name_prefix \u003d \u0027test_flavor_access_\u0027"},{"line_number":49,"context_line":"        cls.ram \u003d 512"},{"line_number":50,"context_line":"        cls.vcpus \u003d 1"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAATn%2F%2FyKc%3D","line":47,"in_reply_to":"AAAATn%2F%2Fz3w%3D","updated":"2013-10-29 06:00:09.000000000","message":"thanks zhi kun. will resolve it in next patch.","commit_id":"241f1fde1f32a49a106b685dc10bf0017cacb2c5"}],"tempest/api/compute/admin/test_flavors_access_negative.py":[{"author":{"_account_id":7139,"name":"Zhi Kun Liu","username":"zhikunliu","inactive":true},"change_message_id":"9e774acd0e1e8d735280f4cb33d1c12958b92edf","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        cls.tenant_id \u003d [tnt[\u0027id\u0027] for tnt in tenants if tnt[\u0027name\u0027] \u003d\u003d"},{"line_number":48,"context_line":"                         cls.flavors_client.tenant_name][0]"},{"line_number":49,"context_line":"        cls.adm_tenant_id \u003d [tnt[\u0027id\u0027] for tnt in tenants if tnt[\u0027name\u0027] \u003d\u003d"},{"line_number":50,"context_line":"                             cls.os_adm.flavors_client.tenant_name][0]"},{"line_number":51,"context_line":"        cls.flavor_name_prefix \u003d \u0027test_flavor_access_\u0027"},{"line_number":52,"context_line":"        cls.ram \u003d 512"},{"line_number":53,"context_line":"        cls.vcpus \u003d 1"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAATn%2F%2Fz3s%3D","line":50,"updated":"2013-10-28 17:32:05.000000000","message":"use \"admin_client.get_tenant_by_name()\" may be better","commit_id":"241f1fde1f32a49a106b685dc10bf0017cacb2c5"}]}
