)]}'
{"novaclient/tests/functional/base.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"5faf386075c63ff150cfd30111029999847e03ef","unresolved":false,"context_lines":[{"line_number":375,"context_line":""},{"line_number":376,"context_line":"    def name_generate(self):"},{"line_number":377,"context_line":"        \"\"\"Generate randomized name for some entity.\"\"\""},{"line_number":378,"context_line":"        return \"%(prefix)s-%(test_case)s-%(test_name)s\" % {"},{"line_number":379,"context_line":"            \"prefix\": uuidutils.generate_uuid()[:8],"},{"line_number":380,"context_line":"            \"test_case\": self.__class__.__name__,"},{"line_number":381,"context_line":"            \"test_name\": self.id().rsplit(\".\", 1)[-1]"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f1d235d_6a7cdcb4","line":378,"updated":"2017-07-03 15:17:34.000000000","message":"I have to wonder if it would be a good idea to preserve the original prefix parameter.  In several places, it seems to be notating API microversion being hit, which might also help in the debugging effort.  Just a thought…","commit_id":"efa3f618a79855ae0a04b8c4bd34019aac3d9d81"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"413084eb8b36d5da6e48c02379e31afa979635ca","unresolved":false,"context_lines":[{"line_number":375,"context_line":""},{"line_number":376,"context_line":"    def name_generate(self):"},{"line_number":377,"context_line":"        \"\"\"Generate randomized name for some entity.\"\"\""},{"line_number":378,"context_line":"        return \"%(prefix)s-%(test_case)s-%(test_name)s\" % {"},{"line_number":379,"context_line":"            \"prefix\": uuidutils.generate_uuid()[:8],"},{"line_number":380,"context_line":"            \"test_case\": self.__class__.__name__,"},{"line_number":381,"context_line":"            \"test_name\": self.id().rsplit(\".\", 1)[-1]"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f1d235d_aa20b4b1","line":378,"in_reply_to":"3f1d235d_6a7cdcb4","updated":"2017-07-03 15:19:21.000000000","message":"I had the same opinion at first look, but then realized that class names include microversion info too","commit_id":"efa3f618a79855ae0a04b8c4bd34019aac3d9d81"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"89491b5985a84036696818471952ac6c470d73b3","unresolved":false,"context_lines":[{"line_number":375,"context_line":""},{"line_number":376,"context_line":"    def name_generate(self):"},{"line_number":377,"context_line":"        \"\"\"Generate randomized name for some entity.\"\"\""},{"line_number":378,"context_line":"        return \"%(prefix)s-%(test_case)s-%(test_name)s\" % {"},{"line_number":379,"context_line":"            \"prefix\": uuidutils.generate_uuid()[:8],"},{"line_number":380,"context_line":"            \"test_case\": self.__class__.__name__,"},{"line_number":381,"context_line":"            \"test_name\": self.id().rsplit(\".\", 1)[-1]"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f1d235d_fd09d42b","line":378,"in_reply_to":"3f1d235d_aa20b4b1","updated":"2017-07-03 15:20:23.000000000","message":"Ah ha!  Good point :)","commit_id":"efa3f618a79855ae0a04b8c4bd34019aac3d9d81"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"fefb2267e47574391626912477d4eb00cf32d05e","unresolved":false,"context_lines":[{"line_number":376,"context_line":"    def name_generate(self):"},{"line_number":377,"context_line":"        \"\"\"Generate randomized name for some entity.\"\"\""},{"line_number":378,"context_line":"        return \"%(prefix)s-%(test_case)s-%(test_name)s\" % {"},{"line_number":379,"context_line":"            \"prefix\": uuidutils.generate_uuid()[:8],"},{"line_number":380,"context_line":"            \"test_case\": self.__class__.__name__,"},{"line_number":381,"context_line":"            \"test_name\": self.id().rsplit(\".\", 1)[-1]"},{"line_number":382,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":15,"id":"ff82abbf_423243a9","line":379,"range":{"start_line":379,"start_character":47,"end_line":379,"end_character":51},"updated":"2017-11-23 12:26:44.000000000","message":"what is the reason to truncate the uuid?","commit_id":"1e7d608a8967fc1f96d34035403ee88a573d862e"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"87dc794fb7c5b855b71833a8393df13bbdd93336","unresolved":false,"context_lines":[{"line_number":376,"context_line":"    def name_generate(self):"},{"line_number":377,"context_line":"        \"\"\"Generate randomized name for some entity.\"\"\""},{"line_number":378,"context_line":"        return \"%(prefix)s-%(test_case)s-%(test_name)s\" % {"},{"line_number":379,"context_line":"            \"prefix\": uuidutils.generate_uuid()[:8],"},{"line_number":380,"context_line":"            \"test_case\": self.__class__.__name__,"},{"line_number":381,"context_line":"            \"test_name\": self.id().rsplit(\".\", 1)[-1]"},{"line_number":382,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":15,"id":"ff82abbf_e481244c","line":379,"range":{"start_line":379,"start_character":47,"end_line":379,"end_character":51},"in_reply_to":"ff82abbf_423243a9","updated":"2017-11-23 12:54:22.000000000","message":"I do not remember the exact resource (the first revision was proposed long time ago), but one of resources failed while creation due to the length of the name. Complex prefix (actual prefix + class name and test name) uses too much chars. But actually, 8 chars of UUID should be enough for launching one test thousand times in parallel.","commit_id":"1e7d608a8967fc1f96d34035403ee88a573d862e"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"a85827b9d11aa63524a1204fba07d2369a9e9bda","unresolved":false,"context_lines":[{"line_number":376,"context_line":"    def name_generate(self):"},{"line_number":377,"context_line":"        \"\"\"Generate randomized name for some entity.\"\"\""},{"line_number":378,"context_line":"        return \"%(prefix)s-%(test_case)s-%(test_name)s\" % {"},{"line_number":379,"context_line":"            \"prefix\": uuidutils.generate_uuid()[:8],"},{"line_number":380,"context_line":"            \"test_case\": self.__class__.__name__,"},{"line_number":381,"context_line":"            \"test_name\": self.id().rsplit(\".\", 1)[-1]"},{"line_number":382,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":15,"id":"ff82abbf_7e6a7fb3","line":379,"range":{"start_line":379,"start_character":47,"end_line":379,"end_character":51},"in_reply_to":"ff82abbf_b37040a7","updated":"2017-11-23 16:52:40.000000000","message":"make sense. done","commit_id":"1e7d608a8967fc1f96d34035403ee88a573d862e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"1d07d04d4e9f263b7d4c0cdb39433ebb0dacf639","unresolved":false,"context_lines":[{"line_number":376,"context_line":"    def name_generate(self):"},{"line_number":377,"context_line":"        \"\"\"Generate randomized name for some entity.\"\"\""},{"line_number":378,"context_line":"        return \"%(prefix)s-%(test_case)s-%(test_name)s\" % {"},{"line_number":379,"context_line":"            \"prefix\": uuidutils.generate_uuid()[:8],"},{"line_number":380,"context_line":"            \"test_case\": self.__class__.__name__,"},{"line_number":381,"context_line":"            \"test_name\": self.id().rsplit(\".\", 1)[-1]"},{"line_number":382,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":15,"id":"ff82abbf_b37040a7","line":379,"range":{"start_line":379,"start_character":47,"end_line":379,"end_character":51},"in_reply_to":"ff82abbf_e481244c","updated":"2017-11-23 16:06:40.000000000","message":"Ohh I see now. I think it would worth a comment to help the future reader","commit_id":"1e7d608a8967fc1f96d34035403ee88a573d862e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"fefb2267e47574391626912477d4eb00cf32d05e","unresolved":false,"context_lines":[{"line_number":377,"context_line":"        \"\"\"Generate randomized name for some entity.\"\"\""},{"line_number":378,"context_line":"        return \"%(prefix)s-%(test_case)s-%(test_name)s\" % {"},{"line_number":379,"context_line":"            \"prefix\": uuidutils.generate_uuid()[:8],"},{"line_number":380,"context_line":"            \"test_case\": self.__class__.__name__,"},{"line_number":381,"context_line":"            \"test_name\": self.id().rsplit(\".\", 1)[-1]"},{"line_number":382,"context_line":"        }"},{"line_number":383,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"ff82abbf_6203c7b9","line":380,"range":{"start_line":380,"start_character":13,"end_line":380,"end_character":22},"updated":"2017-11-23 12:26:44.000000000","message":"nit: do you mean test_class?","commit_id":"1e7d608a8967fc1f96d34035403ee88a573d862e"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"a85827b9d11aa63524a1204fba07d2369a9e9bda","unresolved":false,"context_lines":[{"line_number":377,"context_line":"        \"\"\"Generate randomized name for some entity.\"\"\""},{"line_number":378,"context_line":"        return \"%(prefix)s-%(test_case)s-%(test_name)s\" % {"},{"line_number":379,"context_line":"            \"prefix\": uuidutils.generate_uuid()[:8],"},{"line_number":380,"context_line":"            \"test_case\": self.__class__.__name__,"},{"line_number":381,"context_line":"            \"test_name\": self.id().rsplit(\".\", 1)[-1]"},{"line_number":382,"context_line":"        }"},{"line_number":383,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"ff82abbf_be7007a7","line":380,"range":{"start_line":380,"start_character":13,"end_line":380,"end_character":22},"in_reply_to":"ff82abbf_6203c7b9","updated":"2017-11-23 16:52:40.000000000","message":"fixed","commit_id":"1e7d608a8967fc1f96d34035403ee88a573d862e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"fefb2267e47574391626912477d4eb00cf32d05e","unresolved":false,"context_lines":[{"line_number":522,"context_line":"    def setUp(self):"},{"line_number":523,"context_line":"        super(TenantTestBase, self).setUp()"},{"line_number":524,"context_line":"        user_name \u003d uuidutils.generate_uuid()"},{"line_number":525,"context_line":"        project_name \u003d uuidutils.generate_uuid()"},{"line_number":526,"context_line":"        password \u003d \u0027password\u0027"},{"line_number":527,"context_line":""},{"line_number":528,"context_line":"        if self.keystone.version \u003d\u003d \"v3\":"}],"source_content_type":"text/x-python","patch_set":15,"id":"ff82abbf_02bafbdc","line":525,"updated":"2017-11-23 12:26:44.000000000","message":"I guess we don\u0027t loose info as the removed COMPUTE_API_VERSION is encoded in the name of the test class","commit_id":"1e7d608a8967fc1f96d34035403ee88a573d862e"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"87dc794fb7c5b855b71833a8393df13bbdd93336","unresolved":false,"context_lines":[{"line_number":522,"context_line":"    def setUp(self):"},{"line_number":523,"context_line":"        super(TenantTestBase, self).setUp()"},{"line_number":524,"context_line":"        user_name \u003d uuidutils.generate_uuid()"},{"line_number":525,"context_line":"        project_name \u003d uuidutils.generate_uuid()"},{"line_number":526,"context_line":"        password \u003d \u0027password\u0027"},{"line_number":527,"context_line":""},{"line_number":528,"context_line":"        if self.keystone.version \u003d\u003d \"v3\":"}],"source_content_type":"text/x-python","patch_set":15,"id":"ff82abbf_24edcc24","line":525,"in_reply_to":"ff82abbf_02bafbdc","updated":"2017-11-23 12:54:22.000000000","message":"yes, right. Compute API version is included in all class names.","commit_id":"1e7d608a8967fc1f96d34035403ee88a573d862e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"1d07d04d4e9f263b7d4c0cdb39433ebb0dacf639","unresolved":false,"context_lines":[{"line_number":522,"context_line":"    def setUp(self):"},{"line_number":523,"context_line":"        super(TenantTestBase, self).setUp()"},{"line_number":524,"context_line":"        user_name \u003d uuidutils.generate_uuid()"},{"line_number":525,"context_line":"        project_name \u003d uuidutils.generate_uuid()"},{"line_number":526,"context_line":"        password \u003d \u0027password\u0027"},{"line_number":527,"context_line":""},{"line_number":528,"context_line":"        if self.keystone.version \u003d\u003d \"v3\":"}],"source_content_type":"text/x-python","patch_set":15,"id":"ff82abbf_d37384b0","line":525,"in_reply_to":"ff82abbf_24edcc24","updated":"2017-11-23 16:06:40.000000000","message":"cool","commit_id":"1e7d608a8967fc1f96d34035403ee88a573d862e"}],"novaclient/tests/functional/hooks/check_resources.py":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"58b7eb583e5cc6e1d40576dcaeaf88466559910a","unresolved":false,"context_lines":[{"line_number":22,"context_line":"        self.setUp()"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"        print(\"$ nova list --all-tenants\")"},{"line_number":25,"context_line":"        print(self.nova(\"list\", params\u003d\"--all-tenants\"))"},{"line_number":26,"context_line":"        print(\"\\n\")"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"ff82abbf_b67fa713","line":25,"range":{"start_line":25,"start_character":0,"end_line":25,"end_character":56},"updated":"2017-11-27 04:18:23.000000000","message":"Some functional tests create cinder volumes.\n(For example, tests in novaclient/tests/functional/v2/test_device_tagging.py)\nSo it had better be added to check volumes as well.","commit_id":"00ffdef3d549e331ed99e2db40629e62fefede3b"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"f6b963e0ac13c513b6b085a7a00641f3393b04d4","unresolved":false,"context_lines":[{"line_number":22,"context_line":"        self.setUp()"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"        print(\"$ nova list --all-tenants\")"},{"line_number":25,"context_line":"        print(self.nova(\"list\", params\u003d\"--all-tenants\"))"},{"line_number":26,"context_line":"        print(\"\\n\")"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"ff82abbf_2e86d014","line":25,"range":{"start_line":25,"start_character":0,"end_line":25,"end_character":56},"in_reply_to":"ff82abbf_b67fa713","updated":"2017-11-27 16:28:59.000000000","message":"That was done in a prior patch set (most recent with the cinder-specific logic was PS13), but IIRC there were some test failures.  The follow-on patch set included a comment that the cinder stuff would be handled in the future.  That seems reasonable to me, given the size of this change…","commit_id":"00ffdef3d549e331ed99e2db40629e62fefede3b"}]}
