)]}'
{"tempest/api/volume/base.py":[{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"97e270551bf8372737466d2dd096be39ae4b7a7e","unresolved":false,"context_lines":[{"line_number":161,"context_line":"                pass"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"    @classmethod"},{"line_number":164,"context_line":"    def create_server(cls, name, **kwargs):"},{"line_number":165,"context_line":"        network \u003d cls.get_tenant_network()"},{"line_number":166,"context_line":"        network_kwargs \u003d fixed_network.set_networks_kwarg(network, kwargs)"},{"line_number":167,"context_line":"        return cls.servers_client.create_server(name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_c1a538a2","side":"PARENT","line":164,"updated":"2015-08-06 10:19:33.000000000","message":"Perhaps, we shouldn\u0027t remove this method at all. I think we could just replace servers_client.create_server() with compute.create_test_server(). What do you think about it?","commit_id":"18fabce457e439cbcb392e549c818b1a1f7ece93"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"335f79f3dbb688dac5fdefb275e22f1fd4f29908","unresolved":false,"context_lines":[{"line_number":161,"context_line":"                pass"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"    @classmethod"},{"line_number":164,"context_line":"    def create_server(cls, name, **kwargs):"},{"line_number":165,"context_line":"        network \u003d cls.get_tenant_network()"},{"line_number":166,"context_line":"        network_kwargs \u003d fixed_network.set_networks_kwarg(network, kwargs)"},{"line_number":167,"context_line":"        return cls.servers_client.create_server(name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_eadb3b4d","side":"PARENT","line":164,"in_reply_to":"1a4dcd0f_6a1f596c","updated":"2015-08-07 07:14:11.000000000","message":"Keeping one wrapper per base class would be fine, we could even have a wrapper in the actual test base class, because there\u0027s nothing specific to the different base classes here.\n\nThis would be an opportunity to get rid of all the various definition of server names, by calling the create server with __name__ or something like that.","commit_id":"18fabce457e439cbcb392e549c818b1a1f7ece93"},{"author":{"_account_id":10016,"name":"Joseph Lanoux","email":"joseph.lanoux@hpe.com","username":"lanoux"},"change_message_id":"6f6f0581c0ccdbe53b02f2c8b368f6137419267c","unresolved":false,"context_lines":[{"line_number":161,"context_line":"                pass"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"    @classmethod"},{"line_number":164,"context_line":"    def create_server(cls, name, **kwargs):"},{"line_number":165,"context_line":"        network \u003d cls.get_tenant_network()"},{"line_number":166,"context_line":"        network_kwargs \u003d fixed_network.set_networks_kwarg(network, kwargs)"},{"line_number":167,"context_line":"        return cls.servers_client.create_server(name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_ea67e9e6","side":"PARENT","line":164,"in_reply_to":"1a4dcd0f_c1a538a2","updated":"2015-08-06 11:01:00.000000000","message":"This will then just become a wrapper. I know we\u0027ve done that with compute but it was just for the simplicity of the patch. I\u0027d like to remove it in compute and update the tests. In scenario, you have several create_server methods all over the place and I\u0027ll remove all of them.\nI don\u0027t see why we should keep such a wrapper.","commit_id":"18fabce457e439cbcb392e549c818b1a1f7ece93"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"dc329b6b452153426de35b03c490bd68ac8c2c69","unresolved":false,"context_lines":[{"line_number":161,"context_line":"                pass"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"    @classmethod"},{"line_number":164,"context_line":"    def create_server(cls, name, **kwargs):"},{"line_number":165,"context_line":"        network \u003d cls.get_tenant_network()"},{"line_number":166,"context_line":"        network_kwargs \u003d fixed_network.set_networks_kwarg(network, kwargs)"},{"line_number":167,"context_line":"        return cls.servers_client.create_server(name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_6a1f596c","side":"PARENT","line":164,"in_reply_to":"1a4dcd0f_ea67e9e6","updated":"2015-08-06 11:36:30.000000000","message":"When we have a wrapper, we can invoke methods in shorter manner. In particular, we will not have to invoke the get_tenant_network() method in each test, we can do this in this wrapper method. Also I would prefer to have such code in each test\n\n    srv_name \u003d data_utils.rand_name(cls.__name__ + \u0027-Instance\u0027)\n    cls.server \u003d cls.create_server(srv_name)\n\ninstead of\n\n    tenant_network \u003d cls.get_tenant_network()\n    srv_name \u003d data_utils.rand_name(cls.__name__ + \u0027-Instance\u0027)\n    cls.server, body \u003d compute.create_test_server(\n         cls.os, \n         validatable\u003dFalse,\n         tenant_network\u003dtenant_network,\n         name\u003dsrv_name, \n         wait_until\u003d\u0027ACTIVE\u0027)\n\nI don\u0027t insist on my comment, but I would like to know the opinion about it from other reviewers.","commit_id":"18fabce457e439cbcb392e549c818b1a1f7ece93"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"58f184fe3d4171320cc0cf83668bf9ee7544404b","unresolved":false,"context_lines":[{"line_number":161,"context_line":"                pass"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"    @classmethod"},{"line_number":164,"context_line":"    def create_server(cls, name, validatable\u003dFalse, **kwargs):"},{"line_number":165,"context_line":"        tenant_network \u003d cls.get_tenant_network()"},{"line_number":166,"context_line":"        server, body \u003d compute.create_test_server("},{"line_number":167,"context_line":"            cls.os,"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_f25669cd","line":164,"updated":"2015-08-14 23:04:10.000000000","message":"Rather than setting validatable\u003dFalse here, could you rebase this patch on top of I56b1b15c613edf6ea6fbe48117fb48d71c37e191?","commit_id":"7d2d2dd3447c111568cdf814084947975dc170d9"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"8d186945d220ff8dd5dce92206c1dd69cc13cfe0","unresolved":false,"context_lines":[{"line_number":163,"context_line":"    @classmethod"},{"line_number":164,"context_line":"    def create_server(cls, name, **kwargs):"},{"line_number":165,"context_line":"        tenant_network \u003d cls.get_tenant_network()"},{"line_number":166,"context_line":"        server, body \u003d compute.create_test_server("},{"line_number":167,"context_line":"            cls.os,"},{"line_number":168,"context_line":"            tenant_network\u003dtenant_network,"},{"line_number":169,"context_line":"            name\u003dname,"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_2b40fca4","line":166,"updated":"2015-08-18 10:41:30.000000000","message":"Not a big deal, but It is a little bit confused for me. According to https://github.com/openstack/tempest/blob/master/tempest/common/compute.py#L125 the order of variables should be\n\n    body, server \u003d ...","commit_id":"c43a76485f5d526d6efe47bafa7c8bf09ecf5c43"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"9c0f04a32070fb5acbd47ec66a5374ed802ebc94","unresolved":false,"context_lines":[{"line_number":163,"context_line":"    @classmethod"},{"line_number":164,"context_line":"    def create_server(cls, name, **kwargs):"},{"line_number":165,"context_line":"        tenant_network \u003d cls.get_tenant_network()"},{"line_number":166,"context_line":"        server, body \u003d compute.create_test_server("},{"line_number":167,"context_line":"            cls.os,"},{"line_number":168,"context_line":"            tenant_network\u003dtenant_network,"},{"line_number":169,"context_line":"            name\u003dname,"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_7f80be46","line":166,"in_reply_to":"da20952f_38caa9a2","updated":"2015-08-28 10:20:21.000000000","message":"afazekas, you are absolutely right that the first variable can be called as anything, but I would like to keep some consistency with https://github.com/openstack/tempest/blob/master/tempest/common/compute.py#L125. Body is the server body, server is a list with the only server body. Btw, I like \n\n    server, _ \u003d ...\n\nas well.","commit_id":"c43a76485f5d526d6efe47bafa7c8bf09ecf5c43"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"c8983f31c6dcd59f234937830f43505762a1b4e7","unresolved":false,"context_lines":[{"line_number":163,"context_line":"    @classmethod"},{"line_number":164,"context_line":"    def create_server(cls, name, **kwargs):"},{"line_number":165,"context_line":"        tenant_network \u003d cls.get_tenant_network()"},{"line_number":166,"context_line":"        server, body \u003d compute.create_test_server("},{"line_number":167,"context_line":"            cls.os,"},{"line_number":168,"context_line":"            tenant_network\u003dtenant_network,"},{"line_number":169,"context_line":"            name\u003dname,"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_38caa9a2","line":166,"in_reply_to":"fa1b9901_2b40fca4","updated":"2015-08-27 06:12:40.000000000","message":"2th arg is actually \u0027servers\u0027 and it should be replaced with \u0027_\u0027 since we are not using it.\n\nThe first arg can be called as anything.","commit_id":"c43a76485f5d526d6efe47bafa7c8bf09ecf5c43"}],"tempest/api/volume/test_volumes_negative.py":[{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"335f79f3dbb688dac5fdefb275e22f1fd4f29908","unresolved":false,"context_lines":[{"line_number":181,"context_line":"    def test_attach_volumes_with_nonexistent_volume_id(self):"},{"line_number":182,"context_line":"        srv_name \u003d data_utils.rand_name(\u0027Instance\u0027)"},{"line_number":183,"context_line":"        server \u003d self.create_server(srv_name)"},{"line_number":184,"context_line":"        self.addCleanup(self.servers_client.wait_for_server_termination,"},{"line_number":185,"context_line":"                        server[\u0027id\u0027])"},{"line_number":186,"context_line":"        self.addCleanup(self.servers_client.delete_server, server[\u0027id\u0027])"},{"line_number":187,"context_line":"        waiters.wait_for_server_status(self.servers_client, server[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_07d302d6","side":"PARENT","line":184,"updated":"2015-08-07 07:14:11.000000000","message":"Why did this line go away?","commit_id":"18fabce457e439cbcb392e549c818b1a1f7ece93"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"335f79f3dbb688dac5fdefb275e22f1fd4f29908","unresolved":false,"context_lines":[{"line_number":181,"context_line":"    @test.services(\u0027compute\u0027)"},{"line_number":182,"context_line":"    def test_attach_volumes_with_nonexistent_volume_id(self):"},{"line_number":183,"context_line":"        tenant_network \u003d self.get_tenant_network()"},{"line_number":184,"context_line":"        srv_name \u003d data_utils.rand_name(\u0027Instance\u0027)"},{"line_number":185,"context_line":"        server, body \u003d compute.create_test_server("},{"line_number":186,"context_line":"            self.os,"},{"line_number":187,"context_line":"            validatable\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_2ad36361","line":184,"updated":"2015-08-07 07:14:11.000000000","message":"This is a pretty useless name, but something to be fixed in a different patch...","commit_id":"7d1c1b73cd2dc767fe03a63a9ffaebb4cad6d1ab"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"335f79f3dbb688dac5fdefb275e22f1fd4f29908","unresolved":false,"context_lines":[{"line_number":184,"context_line":"        srv_name \u003d data_utils.rand_name(\u0027Instance\u0027)"},{"line_number":185,"context_line":"        server, body \u003d compute.create_test_server("},{"line_number":186,"context_line":"            self.os,"},{"line_number":187,"context_line":"            validatable\u003dFalse,"},{"line_number":188,"context_line":"            tenant_network\u003dtenant_network,"},{"line_number":189,"context_line":"            name\u003dsrv_name,"},{"line_number":190,"context_line":"            wait_until\u003d\u0027ACTIVE\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_4a882f71","line":187,"updated":"2015-08-07 07:14:11.000000000","message":"I think there\u0027s a bug in the create_server function, in the initial patchsets validatable defaulted to False, and then the default went away but i saw no comment about that.\nWe should default to False in there, so validatable is only specified when required. That\u0027s something for a different patch anyways.","commit_id":"7d1c1b73cd2dc767fe03a63a9ffaebb4cad6d1ab"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"a29a0aa227e6c4d05c2214fe941c73ba53f5dec7","unresolved":false,"context_lines":[{"line_number":189,"context_line":"            name\u003dsrv_name,"},{"line_number":190,"context_line":"            wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":191,"context_line":"        self.addCleanup(self.servers_client.delete_server, server[\u0027id\u0027])"},{"line_number":192,"context_line":"        waiters.wait_for_server_status(self.servers_client, server[\u0027id\u0027],"},{"line_number":193,"context_line":"                                       \u0027ACTIVE\u0027)"},{"line_number":194,"context_line":"        self.assertRaises(lib_exc.NotFound,"},{"line_number":195,"context_line":"                          self.client.attach_volume,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_a20813db","line":192,"updated":"2015-08-06 18:07:50.000000000","message":"You should remove this line. We are waiting for \"ACTIVE\" status of instance in the compute.create_test_server(...) method.","commit_id":"7d1c1b73cd2dc767fe03a63a9ffaebb4cad6d1ab"}],"tempest/api/volume/test_volumes_snapshots.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e823e519a96cee15d39c9a0cc6d1cba6d58c2972","unresolved":false,"context_lines":[{"line_number":66,"context_line":"    def test_snapshot_create_with_volume_in_use(self):"},{"line_number":67,"context_line":"        # Create a snapshot when volume status is in-use"},{"line_number":68,"context_line":"        # Create a test instance"},{"line_number":69,"context_line":"        server_name \u003d data_utils.rand_name(\u0027instance\u0027)"},{"line_number":70,"context_line":"        server \u003d self.create_server("},{"line_number":71,"context_line":"            name\u003dserver_name,"},{"line_number":72,"context_line":"            wait_until\u003d\u0027ACTIVE\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_48cfd428","line":69,"updated":"2015-09-07 06:54:04.000000000","message":"too generic name :), may be something useful can be replaced as per class or test name but that out of scope of this patch.","commit_id":"a074c018764042fbfe45ebb1506437737ede0de4"}]}
