)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":23081,"name":"Jeremy Zhang","email":"zhangjun_inspur@163.com","username":"jeremy.zhang"},"change_message_id":"4008267916ec9af8a786e40cd45925508c453253","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     lianghao \u003clianghao@cmss.chinamobile.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-04-27 14:59:42 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add test about server attach a volume whcih is in use"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In openstack environment,if volume multi_attach is not available,"},{"line_number":10,"context_line":"a volume only can be attached by one server."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"5ff73747_c51a80ca","line":7,"range":{"start_line":7,"start_character":38,"end_line":7,"end_character":43},"updated":"2017-04-28 03:18:03.000000000","message":"nit: whcih -\u003e which, :)","commit_id":"3f850b24874e280dad79a51c11db1b62f96dc929"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"c6324268e5a6306ff7110b7b002f5d8ce3d105a8","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     lianghao \u003clianghao@cmss.chinamobile.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-04-27 14:59:42 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add test about server attach a volume whcih is in use"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In openstack environment,if volume multi_attach is not available,"},{"line_number":10,"context_line":"a volume only can be attached by one server."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"5ff73747_05f86846","line":7,"range":{"start_line":7,"start_character":38,"end_line":7,"end_character":43},"in_reply_to":"5ff73747_c51a80ca","updated":"2017-04-28 03:25:26.000000000","message":"Done","commit_id":"3f850b24874e280dad79a51c11db1b62f96dc929"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2466b687b42e55439f12bbee8e65b54f86cf4ea7","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"1.If multiattach of a volume is false,"},{"line_number":10,"context_line":"the volume only can be attached by one server."},{"line_number":11,"context_line":"Now multiattach is support in cinder api"},{"line_number":12,"context_line":"(https://developer.openstack.org/api-ref/block-storage/v2/index.html#api-versions)"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"2.Remove create server/volume to resource_setup to reduce test time"},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":26,"id":"9f91af0f_600e8b33","line":12,"range":{"start_line":11,"start_character":0,"end_line":12,"end_character":82},"updated":"2018-01-03 20:27:05.000000000","message":"Not really, see: https://review.openstack.org/#/c/428365/","commit_id":"08e94639acaf9dac5b0c8c861a24f45deaeba77f"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"69d5f6772fd83da5f8e809cfd8d1345be924abd7","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"1.If multiattach of a volume is false,"},{"line_number":10,"context_line":"the volume only can be attached by one server."},{"line_number":11,"context_line":"Now multiattach is support in cinder api"},{"line_number":12,"context_line":"(https://developer.openstack.org/api-ref/block-storage/v2/index.html#api-versions)"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"2.Remove create server/volume to resource_setup to reduce test time"},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":26,"id":"9f91af0f_8fead872","line":12,"range":{"start_line":11,"start_character":0,"end_line":12,"end_character":82},"in_reply_to":"9f91af0f_600e8b33","updated":"2018-01-04 02:32:30.000000000","message":"Done","commit_id":"08e94639acaf9dac5b0c8c861a24f45deaeba77f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"20733a63b6283987ddc4e5020e5d0935583d1fb7","unresolved":false,"context_lines":[{"line_number":9,"context_line":"1.If multiattach of a volume is false,"},{"line_number":10,"context_line":"the volume can only be attached by one server."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"2.Remove create server/volume to resource_setup to reduce test time."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I99d724af1a2832af0a24e36bcc0ce4ab4e0cd24f"},{"line_number":15,"context_line":"Depends-On: I1a8068043159b034d700419675af87fc17e1faf5"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":29,"id":"9f91af0f_b147ac4c","line":12,"range":{"start_line":12,"start_character":1,"end_line":12,"end_character":66},"updated":"2018-01-08 20:29:03.000000000","message":"This should arguably be done in a separate follow up patch since some people might not agree with using class variables in tests (tempest historically had a lot of that and there has been an effort over the years to stop using class variables because it can make tests brittle).","commit_id":"8bd507f40af632e00ddae79c35e2cb5578092d66"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"209f2de4e8ecb47664d0161e1ced202d21129147","unresolved":false,"context_lines":[{"line_number":9,"context_line":"1.If multiattach of a volume is false,"},{"line_number":10,"context_line":"the volume can only be attached by one server."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"2.Remove create server/volume to resource_setup to reduce test time."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I99d724af1a2832af0a24e36bcc0ce4ab4e0cd24f"},{"line_number":15,"context_line":"Depends-On: I1a8068043159b034d700419675af87fc17e1faf5"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":29,"id":"5f93b717_9815ad4b","line":12,"range":{"start_line":12,"start_character":1,"end_line":12,"end_character":66},"in_reply_to":"9f91af0f_b147ac4c","updated":"2018-02-02 04:59:41.000000000","message":"+1","commit_id":"8bd507f40af632e00ddae79c35e2cb5578092d66"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"209f2de4e8ecb47664d0161e1ced202d21129147","unresolved":false,"context_lines":[{"line_number":10,"context_line":"the volume can only be attached by one server."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"2.Remove create server/volume to resource_setup to reduce test time."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I99d724af1a2832af0a24e36bcc0ce4ab4e0cd24f"},{"line_number":15,"context_line":"Depends-On: I1a8068043159b034d700419675af87fc17e1faf5"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":29,"id":"5f93b717_232f8a88","line":13,"updated":"2018-02-02 04:59:41.000000000","message":"Why not adding \"Related-Bug: #1741112\"?\nI think it could be useful to understand this addition.","commit_id":"8bd507f40af632e00ddae79c35e2cb5578092d66"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"c83ecd1e40b3c220ca2522a07aea35c77e85f531","unresolved":false,"context_lines":[{"line_number":10,"context_line":"the volume can only be attached by one server."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"2.Remove create server/volume to resource_setup to reduce test time."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I99d724af1a2832af0a24e36bcc0ce4ab4e0cd24f"},{"line_number":15,"context_line":"Depends-On: I1a8068043159b034d700419675af87fc17e1faf5"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":29,"id":"3fa0c359_540f94e0","line":13,"in_reply_to":"5f93b717_232f8a88","updated":"2018-02-07 01:02:15.000000000","message":"Hi Masayuki Igawa, thanks for your advise,done.","commit_id":"8bd507f40af632e00ddae79c35e2cb5578092d66"}],"tempest/api/compute/volumes/test_attach_volume_negative.py":[{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"4b5af5bef352aca1ec1e31e319820f180426b47e","unresolved":false,"context_lines":[{"line_number":50,"context_line":"                          self.delete_volume, self.volume[\u0027id\u0027])"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    @decorators.attr(type\u003d[\u0027negative\u0027])"},{"line_number":53,"context_line":"    @decorators.related_bug(\u00271686264\u0027, status_code\u003d500)"},{"line_number":54,"context_line":"    @decorators.idempotent_id(\u0027ee37a796-2afb-11e7-bc0f-fa163e65f5ce\u0027)"},{"line_number":55,"context_line":"    @testtools.skipIf(CONF.volume_feature_enabled.multiattach,"},{"line_number":56,"context_line":"                      \u0027Volume multiattach is available\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"5ff73747_f9c432f7","line":53,"range":{"start_line":53,"start_character":4,"end_line":53,"end_character":55},"updated":"2017-04-27 05:22:52.000000000","message":"is this needed?","commit_id":"20f741b9c9da5026182fb11c62a958b0a3c0be7d"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"de8a92a1e6f5cda59555c8dfaaa52fbaf124adce","unresolved":false,"context_lines":[{"line_number":50,"context_line":"                          self.delete_volume, self.volume[\u0027id\u0027])"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    @decorators.attr(type\u003d[\u0027negative\u0027])"},{"line_number":53,"context_line":"    @decorators.related_bug(\u00271686264\u0027, status_code\u003d500)"},{"line_number":54,"context_line":"    @decorators.idempotent_id(\u0027ee37a796-2afb-11e7-bc0f-fa163e65f5ce\u0027)"},{"line_number":55,"context_line":"    @testtools.skipIf(CONF.volume_feature_enabled.multiattach,"},{"line_number":56,"context_line":"                      \u0027Volume multiattach is available\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"5ff73747_ecd8ee7b","line":53,"range":{"start_line":53,"start_character":4,"end_line":53,"end_character":55},"in_reply_to":"5ff73747_39029a0c","updated":"2017-04-27 05:47:42.000000000","message":"oh, then this testcase won\u0027t run on gate","commit_id":"20f741b9c9da5026182fb11c62a958b0a3c0be7d"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"61e54c1eef2d1b0989b5c48e6cf7472255bbe0ce","unresolved":false,"context_lines":[{"line_number":50,"context_line":"                          self.delete_volume, self.volume[\u0027id\u0027])"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    @decorators.attr(type\u003d[\u0027negative\u0027])"},{"line_number":53,"context_line":"    @decorators.related_bug(\u00271686264\u0027, status_code\u003d500)"},{"line_number":54,"context_line":"    @decorators.idempotent_id(\u0027ee37a796-2afb-11e7-bc0f-fa163e65f5ce\u0027)"},{"line_number":55,"context_line":"    @testtools.skipIf(CONF.volume_feature_enabled.multiattach,"},{"line_number":56,"context_line":"                      \u0027Volume multiattach is available\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"5ff73747_39029a0c","line":53,"range":{"start_line":53,"start_character":4,"end_line":53,"end_character":55},"in_reply_to":"5ff73747_f9c432f7","updated":"2017-04-27 05:31:13.000000000","message":"hi zhufl,it is need.Sometimes,the exception messege is ServerFault, you can check https://bugs.launchpad.net/cinder/+bug/1686264.","commit_id":"20f741b9c9da5026182fb11c62a958b0a3c0be7d"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"4b5af5bef352aca1ec1e31e319820f180426b47e","unresolved":false,"context_lines":[{"line_number":53,"context_line":"    @decorators.related_bug(\u00271686264\u0027, status_code\u003d500)"},{"line_number":54,"context_line":"    @decorators.idempotent_id(\u0027ee37a796-2afb-11e7-bc0f-fa163e65f5ce\u0027)"},{"line_number":55,"context_line":"    @testtools.skipIf(CONF.volume_feature_enabled.multiattach,"},{"line_number":56,"context_line":"                      \u0027Volume multiattach is available\u0027)"},{"line_number":57,"context_line":"    def test_attach_volume_in_use(self):"},{"line_number":58,"context_line":"        self.attach_volume(self.server, self.volume)"},{"line_number":59,"context_line":"        # Create server2 and attach in-use volume"}],"source_content_type":"text/x-python","patch_set":10,"id":"5ff73747_d9b5f67f","line":56,"range":{"start_line":56,"start_character":30,"end_line":56,"end_character":41},"updated":"2017-04-27 05:22:52.000000000","message":"ditto","commit_id":"20f741b9c9da5026182fb11c62a958b0a3c0be7d"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"61e54c1eef2d1b0989b5c48e6cf7472255bbe0ce","unresolved":false,"context_lines":[{"line_number":53,"context_line":"    @decorators.related_bug(\u00271686264\u0027, status_code\u003d500)"},{"line_number":54,"context_line":"    @decorators.idempotent_id(\u0027ee37a796-2afb-11e7-bc0f-fa163e65f5ce\u0027)"},{"line_number":55,"context_line":"    @testtools.skipIf(CONF.volume_feature_enabled.multiattach,"},{"line_number":56,"context_line":"                      \u0027Volume multiattach is available\u0027)"},{"line_number":57,"context_line":"    def test_attach_volume_in_use(self):"},{"line_number":58,"context_line":"        self.attach_volume(self.server, self.volume)"},{"line_number":59,"context_line":"        # Create server2 and attach in-use volume"}],"source_content_type":"text/x-python","patch_set":10,"id":"5ff73747_b948ea86","line":56,"range":{"start_line":56,"start_character":30,"end_line":56,"end_character":41},"in_reply_to":"5ff73747_d9b5f67f","updated":"2017-04-27 05:31:13.000000000","message":"Done","commit_id":"20f741b9c9da5026182fb11c62a958b0a3c0be7d"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"32ad4e16b7c4a6287bb8c36ab5573639f576cef3","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    @decorators.attr(type\u003d[\u0027negative\u0027])"},{"line_number":53,"context_line":"    @decorators.idempotent_id(\u0027ee37a796-2afb-11e7-bc0f-fa163e65f5ce\u0027)"},{"line_number":54,"context_line":"    @testtools.skipIf(CONF.volume_feature_enabled.multi_attach,"},{"line_number":55,"context_line":"                      \u0027Volume multi_attach is available\u0027)"},{"line_number":56,"context_line":"    def test_attach_volume_in_use(self):"},{"line_number":57,"context_line":"        self.attach_volume(self.server, self.volume)"},{"line_number":58,"context_line":"        # Create server2 and attach in-use volume"}],"source_content_type":"text/x-python","patch_set":18,"id":"ff82abbf_bbad6b9c","line":55,"range":{"start_line":54,"start_character":0,"end_line":55,"end_character":57},"updated":"2017-11-24 08:09:01.000000000","message":"This can be removed too.\nBesides, positive testcases about multi-attach make more sense:)","commit_id":"09af77a441812e69df80b39103b49428b1d4bf3b"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"f6bb4cebb39fcc95e80b4010e6ec40320a8ab210","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    @decorators.attr(type\u003d[\u0027negative\u0027])"},{"line_number":53,"context_line":"    @decorators.idempotent_id(\u0027ee37a796-2afb-11e7-bc0f-fa163e65f5ce\u0027)"},{"line_number":54,"context_line":"    @testtools.skipIf(CONF.volume_feature_enabled.multi_attach,"},{"line_number":55,"context_line":"                      \u0027Volume multi_attach is available\u0027)"},{"line_number":56,"context_line":"    def test_attach_volume_in_use(self):"},{"line_number":57,"context_line":"        self.attach_volume(self.server, self.volume)"},{"line_number":58,"context_line":"        # Create server2 and attach in-use volume"}],"source_content_type":"text/x-python","patch_set":18,"id":"ff82abbf_bb3d6bde","line":55,"range":{"start_line":54,"start_character":0,"end_line":55,"end_character":57},"in_reply_to":"ff82abbf_bbad6b9c","updated":"2017-11-24 08:36:35.000000000","message":"Done","commit_id":"09af77a441812e69df80b39103b49428b1d4bf3b"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2466b687b42e55439f12bbee8e65b54f86cf4ea7","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    @decorators.attr(type\u003d[\u0027negative\u0027])"},{"line_number":65,"context_line":"    @decorators.idempotent_id(\u0027ee37a796-2afb-11e7-bc0f-fa163e65f5ce\u0027)"},{"line_number":66,"context_line":"    @testtools.skipIf(CONF.volume_feature_enabled.multi_attach,"},{"line_number":67,"context_line":"                      \u0027Volume multi_attach is available\u0027)"},{"line_number":68,"context_line":"    def test_attach_attached_volume_to_different_server(self):"},{"line_number":69,"context_line":"        self.attach_volume(self.server, self.volume)"}],"source_content_type":"text/x-python","patch_set":26,"id":"9f91af0f_a00c933b","line":66,"range":{"start_line":66,"start_character":50,"end_line":66,"end_character":62},"updated":"2018-01-03 20:27:05.000000000","message":"This doesn\u0027t have anything to do with this test. The volume would have to be created as multiattach\u003dTrue in order to attach it to more than one instance, and this test isn\u0027t doing that. See https://review.openstack.org/#/c/266605/","commit_id":"08e94639acaf9dac5b0c8c861a24f45deaeba77f"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"21a43656f623187e615de7393fd9abc1c658ba06","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    @decorators.attr(type\u003d[\u0027negative\u0027])"},{"line_number":65,"context_line":"    @decorators.idempotent_id(\u0027ee37a796-2afb-11e7-bc0f-fa163e65f5ce\u0027)"},{"line_number":66,"context_line":"    @testtools.skipIf(CONF.volume_feature_enabled.multi_attach,"},{"line_number":67,"context_line":"                      \u0027Volume multi_attach is available\u0027)"},{"line_number":68,"context_line":"    def test_attach_attached_volume_to_different_server(self):"},{"line_number":69,"context_line":"        self.attach_volume(self.server, self.volume)"}],"source_content_type":"text/x-python","patch_set":26,"id":"9f91af0f_efefb11b","line":66,"range":{"start_line":66,"start_character":50,"end_line":66,"end_character":62},"in_reply_to":"9f91af0f_7dad9c2f","updated":"2018-01-06 03:20:15.000000000","message":"Done","commit_id":"08e94639acaf9dac5b0c8c861a24f45deaeba77f"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"69d5f6772fd83da5f8e809cfd8d1345be924abd7","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    @decorators.attr(type\u003d[\u0027negative\u0027])"},{"line_number":65,"context_line":"    @decorators.idempotent_id(\u0027ee37a796-2afb-11e7-bc0f-fa163e65f5ce\u0027)"},{"line_number":66,"context_line":"    @testtools.skipIf(CONF.volume_feature_enabled.multi_attach,"},{"line_number":67,"context_line":"                      \u0027Volume multi_attach is available\u0027)"},{"line_number":68,"context_line":"    def test_attach_attached_volume_to_different_server(self):"},{"line_number":69,"context_line":"        self.attach_volume(self.server, self.volume)"}],"source_content_type":"text/x-python","patch_set":26,"id":"9f91af0f_af86bcda","line":66,"range":{"start_line":66,"start_character":50,"end_line":66,"end_character":62},"in_reply_to":"9f91af0f_a00c933b","updated":"2018-01-04 02:32:30.000000000","message":"If Volume multi_attach is available,the test will be fail.So I think add skip here is necessary.","commit_id":"08e94639acaf9dac5b0c8c861a24f45deaeba77f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"359576a60cc0e7b19254aed3047789ba15faba67","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    @decorators.attr(type\u003d[\u0027negative\u0027])"},{"line_number":65,"context_line":"    @decorators.idempotent_id(\u0027ee37a796-2afb-11e7-bc0f-fa163e65f5ce\u0027)"},{"line_number":66,"context_line":"    @testtools.skipIf(CONF.volume_feature_enabled.multi_attach,"},{"line_number":67,"context_line":"                      \u0027Volume multi_attach is available\u0027)"},{"line_number":68,"context_line":"    def test_attach_attached_volume_to_different_server(self):"},{"line_number":69,"context_line":"        self.attach_volume(self.server, self.volume)"}],"source_content_type":"text/x-python","patch_set":26,"id":"9f91af0f_7dad9c2f","line":66,"range":{"start_line":66,"start_character":50,"end_line":66,"end_character":62},"in_reply_to":"9f91af0f_af86bcda","updated":"2018-01-05 23:00:59.000000000","message":"No, because the volume has to be created with multiattach\u003dTrue, which this test isn\u0027t doing, so it\u0027s unrelated.","commit_id":"08e94639acaf9dac5b0c8c861a24f45deaeba77f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2466b687b42e55439f12bbee8e65b54f86cf4ea7","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        self.attach_volume(self.server, self.volume)"},{"line_number":70,"context_line":"        # Create server2 and attach in-use volume"},{"line_number":71,"context_line":"        server \u003d self.create_test_server(wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":72,"context_line":"        self.assertRaises((lib_exc.BadRequest, lib_exc.ServerFault),"},{"line_number":73,"context_line":"                          self.attach_volume, server, self.volume)"}],"source_content_type":"text/x-python","patch_set":26,"id":"9f91af0f_2c0e3f3b","line":72,"range":{"start_line":72,"start_character":55,"end_line":72,"end_character":66},"updated":"2018-01-03 20:27:05.000000000","message":"This should not be a 500 response, see bug 1741112.","commit_id":"08e94639acaf9dac5b0c8c861a24f45deaeba77f"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"69d5f6772fd83da5f8e809cfd8d1345be924abd7","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        self.attach_volume(self.server, self.volume)"},{"line_number":70,"context_line":"        # Create server2 and attach in-use volume"},{"line_number":71,"context_line":"        server \u003d self.create_test_server(wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":72,"context_line":"        self.assertRaises((lib_exc.BadRequest, lib_exc.ServerFault),"},{"line_number":73,"context_line":"                          self.attach_volume, server, self.volume)"}],"source_content_type":"text/x-python","patch_set":26,"id":"9f91af0f_cf8f8021","line":72,"range":{"start_line":72,"start_character":55,"end_line":72,"end_character":66},"in_reply_to":"9f91af0f_2c0e3f3b","updated":"2018-01-04 02:32:30.000000000","message":"Done","commit_id":"08e94639acaf9dac5b0c8c861a24f45deaeba77f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b0fe8fd36d79a5366b4962e8850d0dfa1d568b09","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        self.attach_volume(self.server, self.volume)"},{"line_number":70,"context_line":"        # Create server2 and attach in-use volume"},{"line_number":71,"context_line":"        server \u003d self.create_test_server(wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":72,"context_line":"        self.assertRaises((lib_exc.BadRequest, lib_exc.ServerFault),"},{"line_number":73,"context_line":"                          self.attach_volume, server, self.volume)"}],"source_content_type":"text/x-python","patch_set":26,"id":"9f91af0f_c08af719","line":72,"range":{"start_line":72,"start_character":55,"end_line":72,"end_character":66},"in_reply_to":"9f91af0f_2c0e3f3b","updated":"2018-01-03 20:54:01.000000000","message":"You can remove ServerFault when you depend on this change:\n\nhttps://review.openstack.org/#/c/531011/","commit_id":"08e94639acaf9dac5b0c8c861a24f45deaeba77f"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"69d5f6772fd83da5f8e809cfd8d1345be924abd7","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        self.attach_volume(self.server, self.volume)"},{"line_number":70,"context_line":"        # Create server2 and attach in-use volume"},{"line_number":71,"context_line":"        server \u003d self.create_test_server(wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":72,"context_line":"        self.assertRaises((lib_exc.BadRequest, lib_exc.ServerFault),"},{"line_number":73,"context_line":"                          self.attach_volume, server, self.volume)"}],"source_content_type":"text/x-python","patch_set":26,"id":"9f91af0f_ef92844b","line":72,"range":{"start_line":72,"start_character":55,"end_line":72,"end_character":66},"in_reply_to":"9f91af0f_c08af719","updated":"2018-01-04 02:32:30.000000000","message":"Done","commit_id":"08e94639acaf9dac5b0c8c861a24f45deaeba77f"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"3f267232a8bb20c1515c523210af96b47ef8f10c","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    def resource_setup(cls):"},{"line_number":34,"context_line":"        super(AttachVolumeNegativeTest, cls).resource_setup()"},{"line_number":35,"context_line":"        # Create a shared server for attach/detach tests"},{"line_number":36,"context_line":"        cls.server \u003d cls.create_test_server(wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":37,"context_line":"        # Create a shared volume for attach/detach tests"},{"line_number":38,"context_line":"        cls.volume \u003d cls.create_volume()"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    @decorators.attr(type\u003d[\u0027negative\u0027])"},{"line_number":41,"context_line":"    @decorators.related_bug(\u00271630783\u0027, status_code\u003d500)"}],"source_content_type":"text/x-python","patch_set":29,"id":"3fa0c359_4047e74c","line":38,"range":{"start_line":36,"start_character":0,"end_line":38,"end_character":40},"updated":"2018-02-06 06:42:53.000000000","message":"So we are using shared(among test) server and volume here and tests do attach and addCleanup detach the volume from server. This work fine for success case but if any of the addCleanup fail to detach the volume then it will cause failure to all of the tests also with error volume already attached to server. \n\nThere are 2 way to make this test simple and clean for every case\n1. if we use share server and volume among test like done in this PS then, have a teardown method which make sure self.volume is detach fine and if not then create a fresh self.volume\n\n2. keep it simple with separate server and volume for each test. same like original code.for new test also let\u0027s create new server and volume.\n\n1st option is little complex. 2nd is much easy and better. i prefer to do in 2nd way.","commit_id":"8bd507f40af632e00ddae79c35e2cb5578092d66"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"59ba998778f245be3a1059f653ba6879aea94b72","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    def resource_setup(cls):"},{"line_number":34,"context_line":"        super(AttachVolumeNegativeTest, cls).resource_setup()"},{"line_number":35,"context_line":"        # Create a shared server for attach/detach tests"},{"line_number":36,"context_line":"        cls.server \u003d cls.create_test_server(wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":37,"context_line":"        # Create a shared volume for attach/detach tests"},{"line_number":38,"context_line":"        cls.volume \u003d cls.create_volume()"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    @decorators.attr(type\u003d[\u0027negative\u0027])"},{"line_number":41,"context_line":"    @decorators.related_bug(\u00271630783\u0027, status_code\u003d500)"}],"source_content_type":"text/x-python","patch_set":29,"id":"3fa0c359_20b89b28","line":38,"range":{"start_line":36,"start_character":0,"end_line":38,"end_character":40},"in_reply_to":"3fa0c359_4047e74c","updated":"2018-02-06 06:44:24.000000000","message":"2nd option is same as what matt mentioned. if you want to share the code you can do in setUp method.","commit_id":"8bd507f40af632e00ddae79c35e2cb5578092d66"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"c83ecd1e40b3c220ca2522a07aea35c77e85f531","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    def resource_setup(cls):"},{"line_number":34,"context_line":"        super(AttachVolumeNegativeTest, cls).resource_setup()"},{"line_number":35,"context_line":"        # Create a shared server for attach/detach tests"},{"line_number":36,"context_line":"        cls.server \u003d cls.create_test_server(wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":37,"context_line":"        # Create a shared volume for attach/detach tests"},{"line_number":38,"context_line":"        cls.volume \u003d cls.create_volume()"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    @decorators.attr(type\u003d[\u0027negative\u0027])"},{"line_number":41,"context_line":"    @decorators.related_bug(\u00271630783\u0027, status_code\u003d500)"}],"source_content_type":"text/x-python","patch_set":29,"id":"3fa0c359_b4d61827","line":38,"range":{"start_line":36,"start_character":0,"end_line":38,"end_character":40},"in_reply_to":"3fa0c359_4047e74c","updated":"2018-02-07 01:02:15.000000000","message":"Hi Ghanshyam Mann,thanks for your advise,I choose second way.","commit_id":"8bd507f40af632e00ddae79c35e2cb5578092d66"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"2eda7cfee8f31a0f7dbb5eebf0aa7e6df7a6673b","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        # it\u0027s already attached. The nova/cinder validation for this differs"},{"line_number":55,"context_line":"        # depending on whether or not cinder v3.27 is being used to attach"},{"line_number":56,"context_line":"        # the volume to the instance."},{"line_number":57,"context_line":"        self.attach_volume(self.server, self.volume)"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        self.assertRaises(lib_exc.BadRequest,"},{"line_number":60,"context_line":"                          self.attach_volume, self.server, self.volume)"}],"source_content_type":"text/x-python","patch_set":29,"id":"5f93b717_88655620","line":57,"range":{"start_line":57,"start_character":0,"end_line":57,"end_character":52},"updated":"2018-02-02 09:46:11.000000000","message":"how these are working as in some of the previously run test same volume is being attached to same server. You are not cleaning the attachment anywhere in test end or in teardown. \n\neven test run in any order either test_delete_attached_volume or test_attach_attached_volume_to_same_server should fail. \n\nis it bug or week hangover to me :), let me check logs","commit_id":"8bd507f40af632e00ddae79c35e2cb5578092d66"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"3f267232a8bb20c1515c523210af96b47ef8f10c","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        # it\u0027s already attached. The nova/cinder validation for this differs"},{"line_number":55,"context_line":"        # depending on whether or not cinder v3.27 is being used to attach"},{"line_number":56,"context_line":"        # the volume to the instance."},{"line_number":57,"context_line":"        self.attach_volume(self.server, self.volume)"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        self.assertRaises(lib_exc.BadRequest,"},{"line_number":60,"context_line":"                          self.attach_volume, self.server, self.volume)"}],"source_content_type":"text/x-python","patch_set":29,"id":"3fa0c359_e0fe3304","line":57,"range":{"start_line":57,"start_character":0,"end_line":57,"end_character":52},"in_reply_to":"5f93b717_88655620","updated":"2018-02-06 06:42:53.000000000","message":"ok, so there is addCleaup for detach volume in self.attach_volume method.\n\nhttps://github.com/openstack/tempest/blob/master/tempest/api/compute/base.py#L496","commit_id":"8bd507f40af632e00ddae79c35e2cb5578092d66"}],"tempest/config.py":[{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"4b5af5bef352aca1ec1e31e319820f180426b47e","unresolved":false,"context_lines":[{"line_number":794,"context_line":"    cfg.BoolOpt(\u0027manage_snapshot\u0027,"},{"line_number":795,"context_line":"                default\u003dFalse,"},{"line_number":796,"context_line":"                help\u003d\u0027Runs Cinder manage snapshot tests\u0027),"},{"line_number":797,"context_line":"    cfg.BoolOpt(\u0027multiattach\u0027,"},{"line_number":798,"context_line":"                default\u003dFalse,"},{"line_number":799,"context_line":"                help\u003d\"Does the test environment support volume multiattach?\"),"},{"line_number":800,"context_line":"    cfg.BoolOpt(\u0027manage_volume\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"5ff73747_79b0228b","line":797,"range":{"start_line":797,"start_character":17,"end_line":797,"end_character":28},"updated":"2017-04-27 05:22:52.000000000","message":"multi-attach","commit_id":"20f741b9c9da5026182fb11c62a958b0a3c0be7d"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"61e54c1eef2d1b0989b5c48e6cf7472255bbe0ce","unresolved":false,"context_lines":[{"line_number":794,"context_line":"    cfg.BoolOpt(\u0027manage_snapshot\u0027,"},{"line_number":795,"context_line":"                default\u003dFalse,"},{"line_number":796,"context_line":"                help\u003d\u0027Runs Cinder manage snapshot tests\u0027),"},{"line_number":797,"context_line":"    cfg.BoolOpt(\u0027multiattach\u0027,"},{"line_number":798,"context_line":"                default\u003dFalse,"},{"line_number":799,"context_line":"                help\u003d\"Does the test environment support volume multiattach?\"),"},{"line_number":800,"context_line":"    cfg.BoolOpt(\u0027manage_volume\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"5ff73747_3954da20","line":797,"range":{"start_line":797,"start_character":17,"end_line":797,"end_character":28},"in_reply_to":"5ff73747_79b0228b","updated":"2017-04-27 05:31:13.000000000","message":"Done","commit_id":"20f741b9c9da5026182fb11c62a958b0a3c0be7d"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"4b5af5bef352aca1ec1e31e319820f180426b47e","unresolved":false,"context_lines":[{"line_number":796,"context_line":"                help\u003d\u0027Runs Cinder manage snapshot tests\u0027),"},{"line_number":797,"context_line":"    cfg.BoolOpt(\u0027multiattach\u0027,"},{"line_number":798,"context_line":"                default\u003dFalse,"},{"line_number":799,"context_line":"                help\u003d\"Does the test environment support volume multiattach?\"),"},{"line_number":800,"context_line":"    cfg.BoolOpt(\u0027manage_volume\u0027,"},{"line_number":801,"context_line":"                default\u003dFalse,"},{"line_number":802,"context_line":"                help\u003d\u0027Runs Cinder manage volume tests\u0027),"}],"source_content_type":"text/x-python","patch_set":10,"id":"5ff73747_59a9e621","line":799,"range":{"start_line":799,"start_character":63,"end_line":799,"end_character":74},"updated":"2017-04-27 05:22:52.000000000","message":"ditto","commit_id":"20f741b9c9da5026182fb11c62a958b0a3c0be7d"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"61e54c1eef2d1b0989b5c48e6cf7472255bbe0ce","unresolved":false,"context_lines":[{"line_number":796,"context_line":"                help\u003d\u0027Runs Cinder manage snapshot tests\u0027),"},{"line_number":797,"context_line":"    cfg.BoolOpt(\u0027multiattach\u0027,"},{"line_number":798,"context_line":"                default\u003dFalse,"},{"line_number":799,"context_line":"                help\u003d\"Does the test environment support volume multiattach?\"),"},{"line_number":800,"context_line":"    cfg.BoolOpt(\u0027manage_volume\u0027,"},{"line_number":801,"context_line":"                default\u003dFalse,"},{"line_number":802,"context_line":"                help\u003d\u0027Runs Cinder manage volume tests\u0027),"}],"source_content_type":"text/x-python","patch_set":10,"id":"5ff73747_19335e16","line":799,"range":{"start_line":799,"start_character":63,"end_line":799,"end_character":74},"in_reply_to":"5ff73747_59a9e621","updated":"2017-04-27 05:31:13.000000000","message":"Done","commit_id":"20f741b9c9da5026182fb11c62a958b0a3c0be7d"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"32ad4e16b7c4a6287bb8c36ab5573639f576cef3","unresolved":false,"context_lines":[{"line_number":794,"context_line":"    cfg.BoolOpt(\u0027manage_snapshot\u0027,"},{"line_number":795,"context_line":"                default\u003dFalse,"},{"line_number":796,"context_line":"                help\u003d\u0027Runs Cinder manage snapshot tests\u0027),"},{"line_number":797,"context_line":"    cfg.BoolOpt(\u0027multi_attach\u0027,"},{"line_number":798,"context_line":"                default\u003dFalse,"},{"line_number":799,"context_line":"                help\u003d\"Does the test environment support volume multi_attach?\"),"},{"line_number":800,"context_line":"    cfg.BoolOpt(\u0027manage_volume\u0027,"}],"source_content_type":"text/x-python","patch_set":18,"id":"ff82abbf_5b23ff56","line":797,"range":{"start_line":797,"start_character":16,"end_line":797,"end_character":31},"updated":"2017-11-24 08:09:01.000000000","message":"now this no longer needed","commit_id":"09af77a441812e69df80b39103b49428b1d4bf3b"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"f6bb4cebb39fcc95e80b4010e6ec40320a8ab210","unresolved":false,"context_lines":[{"line_number":794,"context_line":"    cfg.BoolOpt(\u0027manage_snapshot\u0027,"},{"line_number":795,"context_line":"                default\u003dFalse,"},{"line_number":796,"context_line":"                help\u003d\u0027Runs Cinder manage snapshot tests\u0027),"},{"line_number":797,"context_line":"    cfg.BoolOpt(\u0027multi_attach\u0027,"},{"line_number":798,"context_line":"                default\u003dFalse,"},{"line_number":799,"context_line":"                help\u003d\"Does the test environment support volume multi_attach?\"),"},{"line_number":800,"context_line":"    cfg.BoolOpt(\u0027manage_volume\u0027,"}],"source_content_type":"text/x-python","patch_set":18,"id":"ff82abbf_1b2c97aa","line":797,"range":{"start_line":797,"start_character":16,"end_line":797,"end_character":31},"in_reply_to":"ff82abbf_5b23ff56","updated":"2017-11-24 08:36:35.000000000","message":"Done","commit_id":"09af77a441812e69df80b39103b49428b1d4bf3b"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2466b687b42e55439f12bbee8e65b54f86cf4ea7","unresolved":false,"context_lines":[{"line_number":818,"context_line":"    cfg.BoolOpt(\u0027manage_snapshot\u0027,"},{"line_number":819,"context_line":"                default\u003dFalse,"},{"line_number":820,"context_line":"                help\u003d\u0027Runs Cinder manage snapshot tests\u0027),"},{"line_number":821,"context_line":"    cfg.BoolOpt(\u0027multi_attach\u0027,"},{"line_number":822,"context_line":"                default\u003dFalse,"},{"line_number":823,"context_line":"                help\u003d\"Does the test environment support volume multi_attach?\"),"},{"line_number":824,"context_line":"    cfg.BoolOpt(\u0027manage_volume\u0027,"},{"line_number":825,"context_line":"                default\u003dFalse,"},{"line_number":826,"context_line":"                help\u003d\u0027Runs Cinder manage volume tests\u0027),"}],"source_content_type":"text/x-python","patch_set":26,"id":"9f91af0f_20188373","line":823,"range":{"start_line":821,"start_character":4,"end_line":823,"end_character":79},"updated":"2018-01-03 20:27:05.000000000","message":"I suggest that you remove this from this test change since the test you have is good enough, and doesn\u0027t have anything to do with multiattach volumes, and shows the issue in bug 1741112.","commit_id":"08e94639acaf9dac5b0c8c861a24f45deaeba77f"}]}
