)]}'
{"tempest/api/compute/admin/test_flavors.py":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"1ce5a8ecadf1eb5b200adbbca946acbe07d4250b","unresolved":false,"context_lines":[{"line_number":229,"context_line":"                flag \u003d True"},{"line_number":230,"context_line":"        self.assertFalse(flag)"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"    def test_create_server_with_non_public_flavor(self):"},{"line_number":233,"context_line":"        # Create a flavor with os-flavor-access:is_public false"},{"line_number":234,"context_line":"        flavor_name \u003d rand_name(self.flavor_name_prefix)"},{"line_number":235,"context_line":"        new_flavor_id \u003d rand_int_id(start\u003d1000)"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAASn%2F%2FVk8%3D","line":232,"updated":"2013-09-06 03:35:33.000000000","message":"I think this should be type\u003d\u0027gate\u0027 like others. Is there any particular reason?","commit_id":"5a2bd238e5fbdc3ae58da9c80e063f876a8d253f"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"7b1fc848489cc61be2e346805a77bc05e741400a","unresolved":false,"context_lines":[{"line_number":229,"context_line":"                flag \u003d True"},{"line_number":230,"context_line":"        self.assertFalse(flag)"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"    def test_create_server_with_non_public_flavor(self):"},{"line_number":233,"context_line":"        # Create a flavor with os-flavor-access:is_public false"},{"line_number":234,"context_line":"        flavor_name \u003d rand_name(self.flavor_name_prefix)"},{"line_number":235,"context_line":"        new_flavor_id \u003d rand_int_id(start\u003d1000)"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAASn%2F%2FVjA%3D","line":232,"in_reply_to":"AAAASn%2F%2FVk8%3D","updated":"2013-09-06 03:52:18.000000000","message":"I mistook. I will add it.","commit_id":"5a2bd238e5fbdc3ae58da9c80e063f876a8d253f"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"1ce5a8ecadf1eb5b200adbbca946acbe07d4250b","unresolved":false,"context_lines":[{"line_number":241,"context_line":"                                                 new_flavor_id,"},{"line_number":242,"context_line":"                                                 is_public\u003d\"False\")"},{"line_number":243,"context_line":"        self.addCleanup(self.flavor_clean_up, flavor[\u0027id\u0027])"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"        # Verify flavor is not used by other user"},{"line_number":246,"context_line":"        self.assertRaises(exceptions.BadRequest,"},{"line_number":247,"context_line":"                          cls.os.servers_client.create_server,"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAASn%2F%2FVkQ%3D","line":244,"updated":"2013-09-06 03:35:33.000000000","message":"I think \u0027self.assertEqual(resp.status, 200)\u0027 is necessary here.","commit_id":"5a2bd238e5fbdc3ae58da9c80e063f876a8d253f"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"7b1fc848489cc61be2e346805a77bc05e741400a","unresolved":false,"context_lines":[{"line_number":241,"context_line":"                                                 new_flavor_id,"},{"line_number":242,"context_line":"                                                 is_public\u003d\"False\")"},{"line_number":243,"context_line":"        self.addCleanup(self.flavor_clean_up, flavor[\u0027id\u0027])"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"        # Verify flavor is not used by other user"},{"line_number":246,"context_line":"        self.assertRaises(exceptions.BadRequest,"},{"line_number":247,"context_line":"                          cls.os.servers_client.create_server,"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAASn%2F%2FViY%3D","line":244,"in_reply_to":"AAAASn%2F%2FVkQ%3D","updated":"2013-09-06 03:52:18.000000000","message":"I see, will add. thanks.","commit_id":"5a2bd238e5fbdc3ae58da9c80e063f876a8d253f"},{"author":{"_account_id":8205,"name":"Mh Raies","email":"raiesmh08@gmail.com","username":"raiesmh08"},"change_message_id":"c2a9ff3e8fe32deb0538f614757f470a85c94de4","unresolved":false,"context_lines":[{"line_number":229,"context_line":"                flag \u003d True"},{"line_number":230,"context_line":"        self.assertFalse(flag)"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"    @attr(type\u003d\u0027gate\u0027)"},{"line_number":233,"context_line":"    def test_create_server_with_non_public_flavor(self):"},{"line_number":234,"context_line":"        # Create a flavor with os-flavor-access:is_public false"},{"line_number":235,"context_line":"        flavor_name \u003d rand_name(self.flavor_name_prefix)"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAS3%2F%2F7Fs%3D","line":232,"updated":"2013-09-17 06:13:31.000000000","message":"type should be \"smoke\" instead \"gate\"","commit_id":"32b1e6cf9c4be69b335d62919c7d2476dec679a1"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"365dde044873336525bce6496e554e0d4da68eb8","unresolved":false,"context_lines":[{"line_number":246,"context_line":""},{"line_number":247,"context_line":"        # Verify flavor is not used by other user"},{"line_number":248,"context_line":"        self.assertRaises(exceptions.BadRequest,"},{"line_number":249,"context_line":"                          self.os.servers_client.create_server,"},{"line_number":250,"context_line":"                          \u0027test\u0027, self.image_ref, flavor[\u0027id\u0027])"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    @attr(type\u003d\u0027gate\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAASn%2F%2FSdY%3D","line":249,"updated":"2013-09-07 02:49:17.000000000","message":"How about using \u0027self.create_server\u0027 instead of \u0027self.os.servers_client.create_server\u0027 here?","commit_id":"32b1e6cf9c4be69b335d62919c7d2476dec679a1"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"2afaabd1c2f6049816d82a8cae92be63fadaee25","unresolved":false,"context_lines":[{"line_number":246,"context_line":""},{"line_number":247,"context_line":"        # Verify flavor is not used by other user"},{"line_number":248,"context_line":"        self.assertRaises(exceptions.BadRequest,"},{"line_number":249,"context_line":"                          self.os.servers_client.create_server,"},{"line_number":250,"context_line":"                          \u0027test\u0027, self.image_ref, flavor[\u0027id\u0027])"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    @attr(type\u003d\u0027gate\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAS3%2F%2F7GE%3D","line":249,"in_reply_to":"AAAASn%2F%2FSdY%3D","updated":"2013-09-17 06:06:16.000000000","message":"The server creation is expected to fail here.","commit_id":"32b1e6cf9c4be69b335d62919c7d2476dec679a1"},{"author":{"_account_id":8205,"name":"Mh Raies","email":"raiesmh08@gmail.com","username":"raiesmh08"},"change_message_id":"c2a9ff3e8fe32deb0538f614757f470a85c94de4","unresolved":false,"context_lines":[{"line_number":249,"context_line":"                          self.os.servers_client.create_server,"},{"line_number":250,"context_line":"                          \u0027test\u0027, self.image_ref, flavor[\u0027id\u0027])"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    @attr(type\u003d\u0027gate\u0027)"},{"line_number":253,"context_line":"    def test_list_public_flavor_with_other_user(self):"},{"line_number":254,"context_line":"        # Create a Flavor with public access."},{"line_number":255,"context_line":"        # Try to List/Get flavor with another user"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAS3%2F%2F7FQ%3D","line":252,"updated":"2013-09-17 06:13:31.000000000","message":"type should be \"smoke\" instead \"gate\"","commit_id":"32b1e6cf9c4be69b335d62919c7d2476dec679a1"}],"tempest/scenario/test_user_scope.py":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"5c4e4336bcacb08fbe4f96835a67cca9ba06746e","unresolved":false,"context_lines":[{"line_number":16,"context_line":"#    under the License."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from tempest.common.utils.data_utils import rand_name"},{"line_number":19,"context_line":"from tempest import exceptions"},{"line_number":20,"context_line":"from tempest.openstack.common import log as logging"},{"line_number":21,"context_line":"from tempest.scenario import manager"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAASn%2F%2F5yw%3D","line":19,"updated":"2013-08-28 07:07:39.000000000","message":"This \u0027exceptions\u0027 is not used.","commit_id":"f40d3ca9252f6f3d87e92396a22e17fa21133c89"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"5916e8275a0060865805bae1c2e4abdb21645eec","unresolved":false,"context_lines":[{"line_number":16,"context_line":"#    under the License."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from tempest.common.utils.data_utils import rand_name"},{"line_number":19,"context_line":"from tempest import exceptions"},{"line_number":20,"context_line":"from tempest.openstack.common import log as logging"},{"line_number":21,"context_line":"from tempest.scenario import manager"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAASn%2F%2F5ls%3D","line":19,"in_reply_to":"AAAASn%2F%2F5yw%3D","updated":"2013-08-28 08:23:15.000000000","message":"You are right, thanks.\nwill remove.","commit_id":"f40d3ca9252f6f3d87e92396a22e17fa21133c89"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"5c4e4336bcacb08fbe4f96835a67cca9ba06746e","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        flavor \u003d client.flavors.create(name, ram, vcpus, disk,"},{"line_number":49,"context_line":"                                       is_public\u003d\"False\")"},{"line_number":50,"context_line":"        self.assertEqual(flavor.name, name)"},{"line_number":51,"context_line":"        self.addCleanup(client.flavors.delete, flavor.id)"},{"line_number":52,"context_line":"        LOG.debug(\"Created flavor (name: %s, id: %s)\", name, flavor.id)"},{"line_number":53,"context_line":"        return flavor.id"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAASn%2F%2F5ys%3D","line":51,"updated":"2013-08-28 07:07:39.000000000","message":"Why don\u0027t you use \u0027set_resource()\u0027?","commit_id":"f40d3ca9252f6f3d87e92396a22e17fa21133c89"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"0124f925ada3941ac237f72496236c70c93c51b0","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        flavor \u003d client.flavors.create(name, ram, vcpus, disk,"},{"line_number":49,"context_line":"                                       is_public\u003d\"False\")"},{"line_number":50,"context_line":"        self.assertEqual(flavor.name, name)"},{"line_number":51,"context_line":"        self.addCleanup(client.flavors.delete, flavor.id)"},{"line_number":52,"context_line":"        LOG.debug(\"Created flavor (name: %s, id: %s)\", name, flavor.id)"},{"line_number":53,"context_line":"        return flavor.id"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAASn%2F%2F1GA%3D","line":51,"in_reply_to":"AAAASn%2F%2F5lU%3D","updated":"2013-08-29 02:52:45.000000000","message":"After reconsidering your point, I feel the issue is that the Flavor class of novaclient does not have delete() method.\nThen, I am proposing the delete() method: https://review.openstack.org/#/c/44204/\n\nThank you very much for good point!","commit_id":"f40d3ca9252f6f3d87e92396a22e17fa21133c89"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"2e526a2c332e777d855db25ee42ec491c59181c9","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        flavor \u003d client.flavors.create(name, ram, vcpus, disk,"},{"line_number":49,"context_line":"                                       is_public\u003d\"False\")"},{"line_number":50,"context_line":"        self.assertEqual(flavor.name, name)"},{"line_number":51,"context_line":"        self.addCleanup(client.flavors.delete, flavor.id)"},{"line_number":52,"context_line":"        LOG.debug(\"Created flavor (name: %s, id: %s)\", name, flavor.id)"},{"line_number":53,"context_line":"        return flavor.id"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAASn%2F%2F5lU%3D","line":51,"in_reply_to":"AAAASn%2F%2F5mE%3D","updated":"2013-08-28 08:24:40.000000000","message":"OK, I got it. Thanks.","commit_id":"f40d3ca9252f6f3d87e92396a22e17fa21133c89"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"5916e8275a0060865805bae1c2e4abdb21645eec","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        flavor \u003d client.flavors.create(name, ram, vcpus, disk,"},{"line_number":49,"context_line":"                                       is_public\u003d\"False\")"},{"line_number":50,"context_line":"        self.assertEqual(flavor.name, name)"},{"line_number":51,"context_line":"        self.addCleanup(client.flavors.delete, flavor.id)"},{"line_number":52,"context_line":"        LOG.debug(\"Created flavor (name: %s, id: %s)\", name, flavor.id)"},{"line_number":53,"context_line":"        return flavor.id"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAASn%2F%2F5mE%3D","line":51,"in_reply_to":"AAAASn%2F%2F5ys%3D","updated":"2013-08-28 08:23:15.000000000","message":"because flavor(Flavor class) does not have delete(), and an error happens when cleanup if using  use \u0027set_resource()\u0027.","commit_id":"f40d3ca9252f6f3d87e92396a22e17fa21133c89"},{"author":{"_account_id":7872,"name":"Marc Koderer","email":"marc@koderer.com","username":"mkoderer"},"change_message_id":"3cd96fe362a1f8882fefe9323d567a9f9ceaa032","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        self.public_image \u003d self.config.compute.image_ref"},{"line_number":57,"context_line":"        self.public_flavor \u003d self.config.compute.flavor_ref"},{"line_number":58,"context_line":"        self.private_image \u003d self._create_private_image()"},{"line_number":59,"context_line":"        self.private_flavor \u003d self._create_private_flavor()"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        # Verify an admin user can use private image/flavor"},{"line_number":62,"context_line":"        client \u003d self.admin_compute_client"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAASn%2F%2F4cw%3D","line":59,"updated":"2013-08-28 13:35:15.000000000","message":"Why do you need to put those variables in the self. context? For me it looks like usual local variables.","commit_id":"446b8f679df9b2b77e0ef130f5b206c87f9293ef"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"664b9b582a81c6cab77d0bffab4bdb0578a1354e","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        self.public_image \u003d self.config.compute.image_ref"},{"line_number":57,"context_line":"        self.public_flavor \u003d self.config.compute.flavor_ref"},{"line_number":58,"context_line":"        self.private_image \u003d self._create_private_image()"},{"line_number":59,"context_line":"        self.private_flavor \u003d self._create_private_flavor()"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        # Verify an admin user can use private image/flavor"},{"line_number":62,"context_line":"        client \u003d self.admin_compute_client"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAASn%2F%2F1YQ%3D","line":59,"in_reply_to":"AAAASn%2F%2F4cw%3D","updated":"2013-08-29 01:24:04.000000000","message":"Good point, thanks. I will change them to local variables.","commit_id":"446b8f679df9b2b77e0ef130f5b206c87f9293ef"}]}
