)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7872,"name":"Marc Koderer","email":"marc@koderer.com","username":"mkoderer"},"change_message_id":"8b7ea0b4a0ccc6ae233388838c724e6b7213cc21","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"add some negative tests for attach volumes"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"add two negative tests for attach volumes API."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"The one is to attach volume to an instance"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"AAAATn%2F%2Feyc%3D","line":9,"updated":"2013-11-05 02:17:48.000000000","message":"Pls have a look to https://wiki.openstack.org/wiki/GitCommitMessages:\n\n- Subsequent lines should be wrapped at 72 characters","commit_id":"cb01f4e8c55afe4372f393ddb8536dab11eb4723"}],"tempest/api/volume/test_volumes_negative.py":[{"author":{"_account_id":7872,"name":"Marc Koderer","email":"marc@koderer.com","username":"mkoderer"},"change_message_id":"6c7f9e15aff5595a8fce0e70ee4f7c0f7eb83b04","unresolved":false,"context_lines":[{"line_number":145,"context_line":"                          self.mountpoint)"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":148,"context_line":"    def test_attach_volumes_with_server_id_and_host_name(self):"},{"line_number":149,"context_line":"        #Should not be able to attach volumes simultaneously with"},{"line_number":150,"context_line":"        #server id and host name"},{"line_number":151,"context_line":"        srv_name \u003d rand_name(\u0027Instance-\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2F0%2BM%3D","line":148,"updated":"2013-10-28 11:35:04.000000000","message":"I agree to YangLei, please be more precise what is the negative part of this test.","commit_id":"9a44ccd205324e9848309ad4d57bf9d32d20a731"},{"author":{"_account_id":6983,"name":"YangLei","email":"iamhappg@aliyun.com","username":"YangLei"},"change_message_id":"cee31174375e6e9414c68945bbc2090200ce3bb6","unresolved":false,"context_lines":[{"line_number":145,"context_line":"                          self.mountpoint)"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":148,"context_line":"    def test_attach_volumes_with_server_id_and_host_name(self):"},{"line_number":149,"context_line":"        #Should not be able to attach volumes simultaneously with"},{"line_number":150,"context_line":"        #server id and host name"},{"line_number":151,"context_line":"        srv_name \u003d rand_name(\u0027Instance-\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATH%2F%2FN%2Bc%3D","line":148,"updated":"2013-10-21 08:31:17.000000000","message":"We had better to add some negative information in the function name of this test.","commit_id":"9a44ccd205324e9848309ad4d57bf9d32d20a731"},{"author":{"_account_id":8286,"name":"zhangyanzi","email":"yanzi.zhang@samsung.com","username":"zhangyanzi"},"change_message_id":"14714f462db7f914d4d99017aa7884f326181c8f","unresolved":false,"context_lines":[{"line_number":145,"context_line":"                          self.mountpoint)"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":148,"context_line":"    def test_attach_volumes_with_server_id_and_host_name(self):"},{"line_number":149,"context_line":"        #Should not be able to attach volumes simultaneously with"},{"line_number":150,"context_line":"        #server id and host name"},{"line_number":151,"context_line":"        srv_name \u003d rand_name(\u0027Instance-\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATH%2F%2FLAE%3D","line":148,"in_reply_to":"AAAATH%2F%2FN%2Bc%3D","updated":"2013-10-22 01:20:04.000000000","message":"The negative information is simultaneously with server id and host name.","commit_id":"9a44ccd205324e9848309ad4d57bf9d32d20a731"},{"author":{"_account_id":8286,"name":"zhangyanzi","email":"yanzi.zhang@samsung.com","username":"zhangyanzi"},"change_message_id":"985f100a8ede37c8c6b3a069a5c593834b00419a","unresolved":false,"context_lines":[{"line_number":145,"context_line":"                          self.mountpoint)"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":148,"context_line":"    def test_attach_volumes_with_server_id_and_host_name(self):"},{"line_number":149,"context_line":"        #Should not be able to attach volumes simultaneously with"},{"line_number":150,"context_line":"        #server id and host name"},{"line_number":151,"context_line":"        srv_name \u003d rand_name(\u0027Instance-\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2FygU%3D","line":148,"in_reply_to":"AAAATn%2F%2F0%2BM%3D","updated":"2013-10-29 02:33:58.000000000","message":"hi Marc,YangLei:\nI will change the function name to test_attach_volumes_with_server_id_and_host_name_together Finally. Thanks","commit_id":"9a44ccd205324e9848309ad4d57bf9d32d20a731"},{"author":{"_account_id":7872,"name":"Marc Koderer","email":"marc@koderer.com","username":"mkoderer"},"change_message_id":"6c7f9e15aff5595a8fce0e70ee4f7c0f7eb83b04","unresolved":false,"context_lines":[{"line_number":147,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":148,"context_line":"    def test_attach_volumes_with_server_id_and_host_name(self):"},{"line_number":149,"context_line":"        #Should not be able to attach volumes simultaneously with"},{"line_number":150,"context_line":"        #server id and host name"},{"line_number":151,"context_line":"        srv_name \u003d rand_name(\u0027Instance-\u0027)"},{"line_number":152,"context_line":"        resp_vm, server \u003d self.servers_client.create_server(srv_name,"},{"line_number":153,"context_line":"                                                            self.image_ref,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2F1Ak%3D","line":150,"updated":"2013-10-28 11:35:04.000000000","message":"Why host name? This field doesn\u0027t exist in the api definition. Is this the purpose of the test? Please be more concrete why and what you want to test.","commit_id":"9a44ccd205324e9848309ad4d57bf9d32d20a731"},{"author":{"_account_id":8286,"name":"zhangyanzi","email":"yanzi.zhang@samsung.com","username":"zhangyanzi"},"change_message_id":"985f100a8ede37c8c6b3a069a5c593834b00419a","unresolved":false,"context_lines":[{"line_number":147,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":148,"context_line":"    def test_attach_volumes_with_server_id_and_host_name(self):"},{"line_number":149,"context_line":"        #Should not be able to attach volumes simultaneously with"},{"line_number":150,"context_line":"        #server id and host name"},{"line_number":151,"context_line":"        srv_name \u003d rand_name(\u0027Instance-\u0027)"},{"line_number":152,"context_line":"        resp_vm, server \u003d self.servers_client.create_server(srv_name,"},{"line_number":153,"context_line":"                                                            self.image_ref,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2Fydw%3D","line":150,"in_reply_to":"AAAATn%2F%2F02I%3D","updated":"2013-10-29 02:33:58.000000000","message":"Thanks, I will do it.","commit_id":"9a44ccd205324e9848309ad4d57bf9d32d20a731"},{"author":{"_account_id":7872,"name":"Marc Koderer","email":"marc@koderer.com","username":"mkoderer"},"change_message_id":"3e7f2293ba28f8c05db53b0b73bbafdb6ebaaeec","unresolved":false,"context_lines":[{"line_number":147,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":148,"context_line":"    def test_attach_volumes_with_server_id_and_host_name(self):"},{"line_number":149,"context_line":"        #Should not be able to attach volumes simultaneously with"},{"line_number":150,"context_line":"        #server id and host name"},{"line_number":151,"context_line":"        srv_name \u003d rand_name(\u0027Instance-\u0027)"},{"line_number":152,"context_line":"        resp_vm, server \u003d self.servers_client.create_server(srv_name,"},{"line_number":153,"context_line":"                                                            self.image_ref,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2F02I%3D","line":150,"in_reply_to":"AAAATn%2F%2F1Ak%3D","updated":"2013-10-28 12:27:04.000000000","message":"Ok after checking the cinder code I understand now what is the purpose of this test. Maybe you can rephrase it to be more clearer. And please add a \"space\"at the beginning of a comment like \"# Should..\"","commit_id":"9a44ccd205324e9848309ad4d57bf9d32d20a731"},{"author":{"_account_id":7872,"name":"Marc Koderer","email":"marc@koderer.com","username":"mkoderer"},"change_message_id":"6c7f9e15aff5595a8fce0e70ee4f7c0f7eb83b04","unresolved":false,"context_lines":[{"line_number":165,"context_line":"                          self.volume[\u0027id\u0027],"},{"line_number":166,"context_line":"                          server[\u0027id\u0027],"},{"line_number":167,"context_line":"                          self.mountpoint,"},{"line_number":168,"context_line":"                          host_name\u003dstr(uuid.uuid4()))"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":171,"context_line":"    def test_attach_volumes_with_invalid_mode(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2F0%2F8%3D","line":168,"updated":"2013-10-28 11:35:04.000000000","message":"shouldn\u0027t this be a rand_name instead of a uuid?","commit_id":"9a44ccd205324e9848309ad4d57bf9d32d20a731"},{"author":{"_account_id":8286,"name":"zhangyanzi","email":"yanzi.zhang@samsung.com","username":"zhangyanzi"},"change_message_id":"985f100a8ede37c8c6b3a069a5c593834b00419a","unresolved":false,"context_lines":[{"line_number":165,"context_line":"                          self.volume[\u0027id\u0027],"},{"line_number":166,"context_line":"                          server[\u0027id\u0027],"},{"line_number":167,"context_line":"                          self.mountpoint,"},{"line_number":168,"context_line":"                          host_name\u003dstr(uuid.uuid4()))"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":171,"context_line":"    def test_attach_volumes_with_invalid_mode(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2Fyds%3D","line":168,"in_reply_to":"AAAATn%2F%2F0%2F8%3D","updated":"2013-10-29 02:33:58.000000000","message":"OK,I will change it to a rand_name,thanks :)","commit_id":"9a44ccd205324e9848309ad4d57bf9d32d20a731"},{"author":{"_account_id":7872,"name":"Marc Koderer","email":"marc@koderer.com","username":"mkoderer"},"change_message_id":"6c7f9e15aff5595a8fce0e70ee4f7c0f7eb83b04","unresolved":false,"context_lines":[{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":171,"context_line":"    def test_attach_volumes_with_invalid_mode(self):"},{"line_number":172,"context_line":"        #Should not be able to attach volumes with invalid mode"},{"line_number":173,"context_line":"        srv_name \u003d rand_name(\u0027Instance-\u0027)"},{"line_number":174,"context_line":"        resp_vm, server \u003d self.servers_client.create_server(srv_name,"},{"line_number":175,"context_line":"                                                            self.image_ref,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2F0%2FA%3D","line":172,"updated":"2013-10-28 11:35:04.000000000","message":"Same here, why mode? What mode?","commit_id":"9a44ccd205324e9848309ad4d57bf9d32d20a731"},{"author":{"_account_id":7872,"name":"Marc Koderer","email":"marc@koderer.com","username":"mkoderer"},"change_message_id":"3e7f2293ba28f8c05db53b0b73bbafdb6ebaaeec","unresolved":false,"context_lines":[{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":171,"context_line":"    def test_attach_volumes_with_invalid_mode(self):"},{"line_number":172,"context_line":"        #Should not be able to attach volumes with invalid mode"},{"line_number":173,"context_line":"        srv_name \u003d rand_name(\u0027Instance-\u0027)"},{"line_number":174,"context_line":"        resp_vm, server \u003d self.servers_client.create_server(srv_name,"},{"line_number":175,"context_line":"                                                            self.image_ref,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2F02w%3D","line":172,"in_reply_to":"AAAATn%2F%2F0%2FA%3D","updated":"2013-10-28 12:27:04.000000000","message":"Ok, so mode is there but it isn\u0027t a uuid.","commit_id":"9a44ccd205324e9848309ad4d57bf9d32d20a731"},{"author":{"_account_id":8286,"name":"zhangyanzi","email":"yanzi.zhang@samsung.com","username":"zhangyanzi"},"change_message_id":"985f100a8ede37c8c6b3a069a5c593834b00419a","unresolved":false,"context_lines":[{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":171,"context_line":"    def test_attach_volumes_with_invalid_mode(self):"},{"line_number":172,"context_line":"        #Should not be able to attach volumes with invalid mode"},{"line_number":173,"context_line":"        srv_name \u003d rand_name(\u0027Instance-\u0027)"},{"line_number":174,"context_line":"        resp_vm, server \u003d self.servers_client.create_server(srv_name,"},{"line_number":175,"context_line":"                                                            self.image_ref,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2FydQ%3D","line":172,"in_reply_to":"AAAATn%2F%2F02w%3D","updated":"2013-10-29 02:33:58.000000000","message":"Thanks Marc,I will change it.","commit_id":"9a44ccd205324e9848309ad4d57bf9d32d20a731"},{"author":{"_account_id":7872,"name":"Marc Koderer","email":"marc@koderer.com","username":"mkoderer"},"change_message_id":"6c7f9e15aff5595a8fce0e70ee4f7c0f7eb83b04","unresolved":false,"context_lines":[{"line_number":187,"context_line":"                          self.volume[\u0027id\u0027],"},{"line_number":188,"context_line":"                          server[\u0027id\u0027],"},{"line_number":189,"context_line":"                          self.mountpoint,"},{"line_number":190,"context_line":"                          mode\u003dstr(uuid.uuid4()))"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":193,"context_line":"    def test_detach_volumes_with_invalid_volume_id(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2F0%2BQ%3D","line":190,"updated":"2013-10-28 11:35:04.000000000","message":"Is it a uuid?","commit_id":"9a44ccd205324e9848309ad4d57bf9d32d20a731"},{"author":{"_account_id":8641,"name":"DennyZhang","email":"filebat.mark@gmail.com","username":"dennyzhang"},"change_message_id":"2f2389aca64fffc9fbd127df9407317bbafc90fb","unresolved":false,"context_lines":[{"line_number":145,"context_line":"                          self.mountpoint)"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":148,"context_line":"    def test_attach_volumes_with_server_id_and_host_name_together(self):"},{"line_number":149,"context_line":"        # Should not be able to attach volume to an instance and a host"},{"line_number":150,"context_line":"        # simultaneously."},{"line_number":151,"context_line":"        srv_name \u003d rand_name(\u0027Instance-\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2FjXw%3D","line":148,"updated":"2013-11-01 14:10:26.000000000","message":"Rename the function for test_attach_volumes_with_both_serverid_and_hostname?","commit_id":"dac92d5384a943fac909954709f4f602a23dc06f"},{"author":{"_account_id":6796,"name":"Giulio Fidente","email":"gfidente@redhat.com","username":"gfidente"},"change_message_id":"a37391282886c4674edcf71dd9b3d0da3ebe0410","unresolved":false,"context_lines":[{"line_number":155,"context_line":"        self.addCleanup(self.servers_client.delete_server, server[\u0027id\u0027])"},{"line_number":156,"context_line":"        self.servers_client.wait_for_server_status(server[\u0027id\u0027], \u0027ACTIVE\u0027)"},{"line_number":157,"context_line":"        v_name \u003d rand_name(\u0027Volume-\u0027)"},{"line_number":158,"context_line":"        resp_vol, volume \u003d self.client.create_volume(size\u003d1,"},{"line_number":159,"context_line":"                                                     display_name\u003dv_name,"},{"line_number":160,"context_line":"                                                     metadata\u003d{})"},{"line_number":161,"context_line":"        self.addCleanup(self.client.delete_volume, volume[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F%2FIRk%3D","line":158,"updated":"2013-11-14 03:24:54.000000000","message":"you already have a volume in self from setUpClass","commit_id":"ca258b9723a6c789fa0675b1625b30f4d903a234"},{"author":{"_account_id":8286,"name":"zhangyanzi","email":"yanzi.zhang@samsung.com","username":"zhangyanzi"},"change_message_id":"3e1a623bf1e990ec368408455e11ff95b8ae09cd","unresolved":false,"context_lines":[{"line_number":155,"context_line":"        self.addCleanup(self.servers_client.delete_server, server[\u0027id\u0027])"},{"line_number":156,"context_line":"        self.servers_client.wait_for_server_status(server[\u0027id\u0027], \u0027ACTIVE\u0027)"},{"line_number":157,"context_line":"        v_name \u003d rand_name(\u0027Volume-\u0027)"},{"line_number":158,"context_line":"        resp_vol, volume \u003d self.client.create_volume(size\u003d1,"},{"line_number":159,"context_line":"                                                     display_name\u003dv_name,"},{"line_number":160,"context_line":"                                                     metadata\u003d{})"},{"line_number":161,"context_line":"        self.addCleanup(self.client.delete_volume, volume[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F%2FHLc%3D","line":158,"in_reply_to":"AAAATn%2F%2FIRk%3D","updated":"2013-11-14 10:05:49.000000000","message":"Thanks Giulio, I will change it.","commit_id":"ca258b9723a6c789fa0675b1625b30f4d903a234"},{"author":{"_account_id":6796,"name":"Giulio Fidente","email":"gfidente@redhat.com","username":"gfidente"},"change_message_id":"a37391282886c4674edcf71dd9b3d0da3ebe0410","unresolved":false,"context_lines":[{"line_number":161,"context_line":"        self.addCleanup(self.client.delete_volume, volume[\u0027id\u0027])"},{"line_number":162,"context_line":"        self.client.wait_for_volume_status(volume[\u0027id\u0027], \u0027available\u0027)"},{"line_number":163,"context_line":"        v_host \u003d rand_name(\u0027Host-\u0027)"},{"line_number":164,"context_line":"        self.assertRaises(exceptions.BadRequest,"},{"line_number":165,"context_line":"                          self.client.attach_volume,"},{"line_number":166,"context_line":"                          self.volume[\u0027id\u0027],"},{"line_number":167,"context_line":"                          server[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F%2FIQ0%3D","line":164,"updated":"2013-11-14 03:24:54.000000000","message":"actually for this to be effective you\u0027d have to launch 2 servers or assume it will raise BadRequest when also server[\u0027id\u0027] is randomically generated (as v_host)","commit_id":"ca258b9723a6c789fa0675b1625b30f4d903a234"},{"author":{"_account_id":8286,"name":"zhangyanzi","email":"yanzi.zhang@samsung.com","username":"zhangyanzi"},"change_message_id":"37ceec8c120a7c8b91cde5177a3a0f614a77fc81","unresolved":false,"context_lines":[{"line_number":161,"context_line":"        self.addCleanup(self.client.delete_volume, volume[\u0027id\u0027])"},{"line_number":162,"context_line":"        self.client.wait_for_volume_status(volume[\u0027id\u0027], \u0027available\u0027)"},{"line_number":163,"context_line":"        v_host \u003d rand_name(\u0027Host-\u0027)"},{"line_number":164,"context_line":"        self.assertRaises(exceptions.BadRequest,"},{"line_number":165,"context_line":"                          self.client.attach_volume,"},{"line_number":166,"context_line":"                          self.volume[\u0027id\u0027],"},{"line_number":167,"context_line":"                          server[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F%2FDwc%3D","line":164,"in_reply_to":"AAAATn%2F%2FGjM%3D","updated":"2013-11-15 01:55:30.000000000","message":"Thanks Giulio.\r\nI read the code again, it only need a valid and existent volume,\r\nit does not need existent server[\u0027id\u0027] and hostname, \r\nso i can give str(uuid.uuid4()) as server[\u0027id\u0027] and rand_name(\u0027Host-\u0027) as host_name.","commit_id":"ca258b9723a6c789fa0675b1625b30f4d903a234"},{"author":{"_account_id":6796,"name":"Giulio Fidente","email":"gfidente@redhat.com","username":"gfidente"},"change_message_id":"c5496440ebec66559259950d5e31eab8bf61c4cd","unresolved":false,"context_lines":[{"line_number":161,"context_line":"        self.addCleanup(self.client.delete_volume, volume[\u0027id\u0027])"},{"line_number":162,"context_line":"        self.client.wait_for_volume_status(volume[\u0027id\u0027], \u0027available\u0027)"},{"line_number":163,"context_line":"        v_host \u003d rand_name(\u0027Host-\u0027)"},{"line_number":164,"context_line":"        self.assertRaises(exceptions.BadRequest,"},{"line_number":165,"context_line":"                          self.client.attach_volume,"},{"line_number":166,"context_line":"                          self.volume[\u0027id\u0027],"},{"line_number":167,"context_line":"                          server[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F%2FGjM%3D","line":164,"in_reply_to":"AAAATn%2F%2FHJw%3D","updated":"2013-11-14 11:58:47.000000000","message":"because you may want to pass a valid host_name as well as a valid server[\u0027id\u0027] in which case you need to create two distinguished servers OR just pass nonexitent values (for both serverid and hostname) assuming it\u0027ll return BadRequest without the need to create any new server","commit_id":"ca258b9723a6c789fa0675b1625b30f4d903a234"},{"author":{"_account_id":8286,"name":"zhangyanzi","email":"yanzi.zhang@samsung.com","username":"zhangyanzi"},"change_message_id":"3e1a623bf1e990ec368408455e11ff95b8ae09cd","unresolved":false,"context_lines":[{"line_number":161,"context_line":"        self.addCleanup(self.client.delete_volume, volume[\u0027id\u0027])"},{"line_number":162,"context_line":"        self.client.wait_for_volume_status(volume[\u0027id\u0027], \u0027available\u0027)"},{"line_number":163,"context_line":"        v_host \u003d rand_name(\u0027Host-\u0027)"},{"line_number":164,"context_line":"        self.assertRaises(exceptions.BadRequest,"},{"line_number":165,"context_line":"                          self.client.attach_volume,"},{"line_number":166,"context_line":"                          self.volume[\u0027id\u0027],"},{"line_number":167,"context_line":"                          server[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F%2FHJw%3D","line":164,"in_reply_to":"AAAATn%2F%2FIQ0%3D","updated":"2013-11-14 10:05:49.000000000","message":"Hi Giulio:\n1.The line 157 to 162 is not needed at all.\n2.I do not understand your advice, why need 2 servers?\n   In this test, only need one server and one volume, when attach         \n   volume with serverid and hostname simultaneously, it will raise\n   BadRequest","commit_id":"ca258b9723a6c789fa0675b1625b30f4d903a234"},{"author":{"_account_id":6796,"name":"Giulio Fidente","email":"gfidente@redhat.com","username":"gfidente"},"change_message_id":"a37391282886c4674edcf71dd9b3d0da3ebe0410","unresolved":false,"context_lines":[{"line_number":168,"context_line":"                          self.mountpoint,"},{"line_number":169,"context_line":"                          host_name\u003dv_host)"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":172,"context_line":"    def test_attach_volumes_with_invalid_mode(self):"},{"line_number":173,"context_line":"        # Should not be able to attach volumes with invalid mode"},{"line_number":174,"context_line":"        # Attaching mode should be \u0027rw\u0027 or \u0027ro\u0027."}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F%2FIQw%3D","line":171,"updated":"2013-11-14 03:24:54.000000000","message":"please remove the \u0027gate\u0027 tag and mark this as \u0027slow\u0027 as it needs to spawn a server and it is just a negative","commit_id":"ca258b9723a6c789fa0675b1625b30f4d903a234"},{"author":{"_account_id":6796,"name":"Giulio Fidente","email":"gfidente@redhat.com","username":"gfidente"},"change_message_id":"c5496440ebec66559259950d5e31eab8bf61c4cd","unresolved":false,"context_lines":[{"line_number":168,"context_line":"                          self.mountpoint,"},{"line_number":169,"context_line":"                          host_name\u003dv_host)"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":172,"context_line":"    def test_attach_volumes_with_invalid_mode(self):"},{"line_number":173,"context_line":"        # Should not be able to attach volumes with invalid mode"},{"line_number":174,"context_line":"        # Attaching mode should be \u0027rw\u0027 or \u0027ro\u0027."}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F%2FGhI%3D","line":171,"in_reply_to":"AAAATn%2F%2FHHM%3D","updated":"2013-11-14 11:58:47.000000000","message":"yeah I think so, mostly I\u0027m concerned about creating new servers for simple negative tests which would increase the gate running time ... we still ensure slow tests are executed periodically via the \"all\" tox job","commit_id":"ca258b9723a6c789fa0675b1625b30f4d903a234"},{"author":{"_account_id":8286,"name":"zhangyanzi","email":"yanzi.zhang@samsung.com","username":"zhangyanzi"},"change_message_id":"3e1a623bf1e990ec368408455e11ff95b8ae09cd","unresolved":false,"context_lines":[{"line_number":168,"context_line":"                          self.mountpoint,"},{"line_number":169,"context_line":"                          host_name\u003dv_host)"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":172,"context_line":"    def test_attach_volumes_with_invalid_mode(self):"},{"line_number":173,"context_line":"        # Should not be able to attach volumes with invalid mode"},{"line_number":174,"context_line":"        # Attaching mode should be \u0027rw\u0027 or \u0027ro\u0027."}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F%2FHHM%3D","line":171,"in_reply_to":"AAAATn%2F%2FIQw%3D","updated":"2013-11-14 10:05:49.000000000","message":"is the test above also needed to change \"@attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])\"?","commit_id":"ca258b9723a6c789fa0675b1625b30f4d903a234"},{"author":{"_account_id":6796,"name":"Giulio Fidente","email":"gfidente@redhat.com","username":"gfidente"},"change_message_id":"a37391282886c4674edcf71dd9b3d0da3ebe0410","unresolved":false,"context_lines":[{"line_number":179,"context_line":"        self.addCleanup(self.servers_client.delete_server, server[\u0027id\u0027])"},{"line_number":180,"context_line":"        self.servers_client.wait_for_server_status(server[\u0027id\u0027], \u0027ACTIVE\u0027)"},{"line_number":181,"context_line":"        v_name \u003d rand_name(\u0027Volume-\u0027)"},{"line_number":182,"context_line":"        resp_vol, volume \u003d self.client.create_volume(size\u003d1,"},{"line_number":183,"context_line":"                                                     display_name\u003dv_name,"},{"line_number":184,"context_line":"                                                     metadata\u003d{})"},{"line_number":185,"context_line":"        self.addCleanup(self.client.delete_volume, volume[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F%2FIQs%3D","line":182,"updated":"2013-11-14 03:24:54.000000000","message":"you already have a volume in self from setUpClass","commit_id":"ca258b9723a6c789fa0675b1625b30f4d903a234"},{"author":{"_account_id":8286,"name":"zhangyanzi","email":"yanzi.zhang@samsung.com","username":"zhangyanzi"},"change_message_id":"3e1a623bf1e990ec368408455e11ff95b8ae09cd","unresolved":false,"context_lines":[{"line_number":179,"context_line":"        self.addCleanup(self.servers_client.delete_server, server[\u0027id\u0027])"},{"line_number":180,"context_line":"        self.servers_client.wait_for_server_status(server[\u0027id\u0027], \u0027ACTIVE\u0027)"},{"line_number":181,"context_line":"        v_name \u003d rand_name(\u0027Volume-\u0027)"},{"line_number":182,"context_line":"        resp_vol, volume \u003d self.client.create_volume(size\u003d1,"},{"line_number":183,"context_line":"                                                     display_name\u003dv_name,"},{"line_number":184,"context_line":"                                                     metadata\u003d{})"},{"line_number":185,"context_line":"        self.addCleanup(self.client.delete_volume, volume[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F%2FHLg%3D","line":182,"in_reply_to":"AAAATn%2F%2FIQs%3D","updated":"2013-11-14 10:05:49.000000000","message":"Thanks Giulio, I will change it.","commit_id":"ca258b9723a6c789fa0675b1625b30f4d903a234"},{"author":{"_account_id":7139,"name":"Zhi Kun Liu","username":"zhikunliu","inactive":true},"change_message_id":"5e63b882663ce6ce135310f41f22dc4a4e98f3c2","unresolved":false,"context_lines":[{"line_number":147,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":148,"context_line":"    def test_attach_volumes_with_both_serverid_and_hostname(self):"},{"line_number":149,"context_line":"        # Should not be able to attach volume to an instance and a host"},{"line_number":150,"context_line":"        # simultaneously."},{"line_number":151,"context_line":"        server_id \u003d str(uuid.uuid4())"},{"line_number":152,"context_line":"        v_host \u003d rand_name(\u0027Host-\u0027)"},{"line_number":153,"context_line":"        self.assertRaises(exceptions.BadRequest,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATn%2F%2BssI%3D","line":150,"updated":"2013-11-21 11:52:37.000000000","message":"This test looks weird as using invalid serverid and invalid hostname to run tests, but the check point is not that.  instance id and hostname belong to same server or not?\nCould you please write a detail comment to help understand the tests?","commit_id":"d57f25ab776115faaff156b6d815c6118edcaf3a"}]}
