)]}'
{"tempest/api/compute/admin/test_volume_swap.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d075cce3d1cc55b521aae1c93459cb248b277d11","unresolved":false,"context_lines":[{"line_number":89,"context_line":"    @decorators.attr(type\u003d\u0027slow\u0027)"},{"line_number":90,"context_line":"    @decorators.idempotent_id(\u00271769f00d-a693-4d67-a631-6a3496773813\u0027)"},{"line_number":91,"context_line":"    @utils.services(\u0027volume\u0027)"},{"line_number":92,"context_line":"    def test_volume_swap(self):"},{"line_number":93,"context_line":"        # Create two volumes."},{"line_number":94,"context_line":"        # NOTE(gmann): Volumes are created before server creation so that"},{"line_number":95,"context_line":"        # volumes cleanup can happen successfully irrespective of which volume"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_e5a9af8e","line":92,"range":{"start_line":92,"start_character":0,"end_line":92,"end_character":31},"updated":"2018-09-20 09:14:46.000000000","message":"i feel not to make this also instead we can optimize this test by doing one time swap.","commit_id":"74e3a99375259fffe2ba998ec21416fd25d3d35b"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d075cce3d1cc55b521aae1c93459cb248b277d11","unresolved":false,"context_lines":[{"line_number":115,"context_line":"        self.assertEqual(1, len(vol_attachments))"},{"line_number":116,"context_line":"        self.assertIn(volume2[\u0027id\u0027], vol_attachments[0][\u0027volumeId\u0027])"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        # Swap volume from \"volume2\" to \"volume1\""},{"line_number":119,"context_line":"        self.admin_servers_client.update_attached_volume("},{"line_number":120,"context_line":"            server[\u0027id\u0027], volume2[\u0027id\u0027], volumeId\u003dvolume1[\u0027id\u0027])"},{"line_number":121,"context_line":"        waiters.wait_for_volume_resource_status(self.volumes_client,"},{"line_number":122,"context_line":"                                                volume2[\u0027id\u0027], \u0027available\u0027)"},{"line_number":123,"context_line":"        waiters.wait_for_volume_resource_status(self.volumes_client,"},{"line_number":124,"context_line":"                                                volume1[\u0027id\u0027], \u0027in-use\u0027)"},{"line_number":125,"context_line":"        self.wait_for_server_volume_swap(server[\u0027id\u0027], volume2[\u0027id\u0027],"},{"line_number":126,"context_line":"                                         volume1[\u0027id\u0027])"},{"line_number":127,"context_line":"        # Verify \"volume1\" is attached to the server"},{"line_number":128,"context_line":"        vol_attachments \u003d self.servers_client.list_volume_attachments("},{"line_number":129,"context_line":"            server[\u0027id\u0027])[\u0027volumeAttachments\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_c5a033f6","line":126,"range":{"start_line":118,"start_character":0,"end_line":126,"end_character":55},"updated":"2018-09-20 09:14:46.000000000","message":"how about modifying this tests to remove the second swap call ?\n\nnext test test_volume_swap_with_multiattach does not seems to be so slow (not listed in ethercal) where only single call to swap is tested.","commit_id":"74e3a99375259fffe2ba998ec21416fd25d3d35b"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"fc0656407eef1ef08ffb49755a4d53f06da98aa2","unresolved":false,"context_lines":[{"line_number":115,"context_line":"        self.assertEqual(1, len(vol_attachments))"},{"line_number":116,"context_line":"        self.assertIn(volume2[\u0027id\u0027], vol_attachments[0][\u0027volumeId\u0027])"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        # Swap volume from \"volume2\" to \"volume1\""},{"line_number":119,"context_line":"        self.admin_servers_client.update_attached_volume("},{"line_number":120,"context_line":"            server[\u0027id\u0027], volume2[\u0027id\u0027], volumeId\u003dvolume1[\u0027id\u0027])"},{"line_number":121,"context_line":"        waiters.wait_for_volume_resource_status(self.volumes_client,"},{"line_number":122,"context_line":"                                                volume2[\u0027id\u0027], \u0027available\u0027)"},{"line_number":123,"context_line":"        waiters.wait_for_volume_resource_status(self.volumes_client,"},{"line_number":124,"context_line":"                                                volume1[\u0027id\u0027], \u0027in-use\u0027)"},{"line_number":125,"context_line":"        self.wait_for_server_volume_swap(server[\u0027id\u0027], volume2[\u0027id\u0027],"},{"line_number":126,"context_line":"                                         volume1[\u0027id\u0027])"},{"line_number":127,"context_line":"        # Verify \"volume1\" is attached to the server"},{"line_number":128,"context_line":"        vol_attachments \u003d self.servers_client.list_volume_attachments("},{"line_number":129,"context_line":"            server[\u0027id\u0027])[\u0027volumeAttachments\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_30783129","line":126,"range":{"start_line":118,"start_character":0,"end_line":126,"end_character":55},"in_reply_to":"3f79a3b5_b9367e01","updated":"2018-09-21 02:58:41.000000000","message":"i see. in that case let\u0027s keep it same way of doing it swap twice. Now I remember 1 bug from NTT when they were doing the second swap. This is good coverage even uncommon scenario.","commit_id":"74e3a99375259fffe2ba998ec21416fd25d3d35b"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8fdc9d9a1669ade4a27185d9e6406fc8e9318609","unresolved":false,"context_lines":[{"line_number":115,"context_line":"        self.assertEqual(1, len(vol_attachments))"},{"line_number":116,"context_line":"        self.assertIn(volume2[\u0027id\u0027], vol_attachments[0][\u0027volumeId\u0027])"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        # Swap volume from \"volume2\" to \"volume1\""},{"line_number":119,"context_line":"        self.admin_servers_client.update_attached_volume("},{"line_number":120,"context_line":"            server[\u0027id\u0027], volume2[\u0027id\u0027], volumeId\u003dvolume1[\u0027id\u0027])"},{"line_number":121,"context_line":"        waiters.wait_for_volume_resource_status(self.volumes_client,"},{"line_number":122,"context_line":"                                                volume2[\u0027id\u0027], \u0027available\u0027)"},{"line_number":123,"context_line":"        waiters.wait_for_volume_resource_status(self.volumes_client,"},{"line_number":124,"context_line":"                                                volume1[\u0027id\u0027], \u0027in-use\u0027)"},{"line_number":125,"context_line":"        self.wait_for_server_volume_swap(server[\u0027id\u0027], volume2[\u0027id\u0027],"},{"line_number":126,"context_line":"                                         volume1[\u0027id\u0027])"},{"line_number":127,"context_line":"        # Verify \"volume1\" is attached to the server"},{"line_number":128,"context_line":"        vol_attachments \u003d self.servers_client.list_volume_attachments("},{"line_number":129,"context_line":"            server[\u0027id\u0027])[\u0027volumeAttachments\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_b9367e01","line":126,"range":{"start_line":118,"start_character":0,"end_line":126,"end_character":55},"in_reply_to":"3f79a3b5_c5a033f6","updated":"2018-09-20 13:19:09.000000000","message":"Well, I assume that was added for a reason, to make sure the first swap isn\u0027t breaking something that prevents a second swap. I don\u0027t know really. But swapping volumes directly in the compute API is uncommon as noted in the comment above, so it seems fine to leave this wrinkle as long as we mark the test slow. It\u0027s not a big deal to me either way, whatever you want, but I\u0027d split it out of this change if you want to redo the logic.","commit_id":"74e3a99375259fffe2ba998ec21416fd25d3d35b"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d075cce3d1cc55b521aae1c93459cb248b277d11","unresolved":false,"context_lines":[{"line_number":148,"context_line":"    @decorators.attr(type\u003d\u0027slow\u0027)"},{"line_number":149,"context_line":"    @decorators.idempotent_id(\u0027e8f8f9d1-d7b7-4cd2-8213-ab85ef697b6e\u0027)"},{"line_number":150,"context_line":"    @utils.services(\u0027volume\u0027)"},{"line_number":151,"context_line":"    def test_volume_swap_with_multiattach(self):"},{"line_number":152,"context_line":"        # Create two volumes."},{"line_number":153,"context_line":"        # NOTE(gmann): Volumes are created before server creation so that"},{"line_number":154,"context_line":"        # volumes cleanup can happen successfully irrespective of which volume"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_85dc7b74","line":151,"range":{"start_line":151,"start_character":0,"end_line":151,"end_character":48},"updated":"2018-09-20 09:14:46.000000000","message":"this seems not so slow at least not listed in https://ethercalc.openstack.org/dorupfz6s9qt","commit_id":"74e3a99375259fffe2ba998ec21416fd25d3d35b"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8fdc9d9a1669ade4a27185d9e6406fc8e9318609","unresolved":false,"context_lines":[{"line_number":148,"context_line":"    @decorators.attr(type\u003d\u0027slow\u0027)"},{"line_number":149,"context_line":"    @decorators.idempotent_id(\u0027e8f8f9d1-d7b7-4cd2-8213-ab85ef697b6e\u0027)"},{"line_number":150,"context_line":"    @utils.services(\u0027volume\u0027)"},{"line_number":151,"context_line":"    def test_volume_swap_with_multiattach(self):"},{"line_number":152,"context_line":"        # Create two volumes."},{"line_number":153,"context_line":"        # NOTE(gmann): Volumes are created before server creation so that"},{"line_number":154,"context_line":"        # volumes cleanup can happen successfully irrespective of which volume"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_191d3272","line":151,"range":{"start_line":151,"start_character":0,"end_line":151,"end_character":48},"in_reply_to":"3f79a3b5_85dc7b74","updated":"2018-09-20 13:19:09.000000000","message":"I marked this slow more because of how uncommon this scenario is","commit_id":"74e3a99375259fffe2ba998ec21416fd25d3d35b"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"7656f2445572f6abc46bdf127cec02244b4d7b64","unresolved":false,"context_lines":[{"line_number":148,"context_line":"    @decorators.attr(type\u003d\u0027slow\u0027)"},{"line_number":149,"context_line":"    @decorators.idempotent_id(\u0027e8f8f9d1-d7b7-4cd2-8213-ab85ef697b6e\u0027)"},{"line_number":150,"context_line":"    @utils.services(\u0027volume\u0027)"},{"line_number":151,"context_line":"    def test_volume_swap_with_multiattach(self):"},{"line_number":152,"context_line":"        # Create two volumes."},{"line_number":153,"context_line":"        # NOTE(gmann): Volumes are created before server creation so that"},{"line_number":154,"context_line":"        # volumes cleanup can happen successfully irrespective of which volume"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_85f9db80","line":151,"range":{"start_line":151,"start_character":0,"end_line":151,"end_character":48},"in_reply_to":"3f79a3b5_85dc7b74","updated":"2018-09-20 09:27:11.000000000","message":"compute.admin.test_volume_swap.TestMultiAttachVolumeSwap.test_volume_swap_with_multiattach [122.587879s] ... ok","commit_id":"74e3a99375259fffe2ba998ec21416fd25d3d35b"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d075cce3d1cc55b521aae1c93459cb248b277d11","unresolved":false,"context_lines":[{"line_number":156,"context_line":"        volume1 \u003d self.create_volume(multiattach\u003dTrue)"},{"line_number":157,"context_line":"        volume2 \u003d self.create_volume(multiattach\u003dTrue)"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"        # Boot server1"},{"line_number":160,"context_line":"        server1 \u003d self.create_test_server(wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":161,"context_line":"        # Attach volume1 to server1"},{"line_number":162,"context_line":"        self.attach_volume(server1, volume1)"},{"line_number":163,"context_line":"        # Boot server2"},{"line_number":164,"context_line":"        server2 \u003d self.create_test_server(wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":165,"context_line":"        # Attach volume1 to server2"},{"line_number":166,"context_line":"        self.attach_volume(server2, volume1)"},{"line_number":167,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_85979b90","line":164,"range":{"start_line":159,"start_character":0,"end_line":164,"end_character":62},"updated":"2018-09-20 09:14:46.000000000","message":"we can optimize the run time here by waiting for both server status to ACTIVE in parallel.","commit_id":"74e3a99375259fffe2ba998ec21416fd25d3d35b"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8fdc9d9a1669ade4a27185d9e6406fc8e9318609","unresolved":false,"context_lines":[{"line_number":156,"context_line":"        volume1 \u003d self.create_volume(multiattach\u003dTrue)"},{"line_number":157,"context_line":"        volume2 \u003d self.create_volume(multiattach\u003dTrue)"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"        # Boot server1"},{"line_number":160,"context_line":"        server1 \u003d self.create_test_server(wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":161,"context_line":"        # Attach volume1 to server1"},{"line_number":162,"context_line":"        self.attach_volume(server1, volume1)"},{"line_number":163,"context_line":"        # Boot server2"},{"line_number":164,"context_line":"        server2 \u003d self.create_test_server(wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":165,"context_line":"        # Attach volume1 to server2"},{"line_number":166,"context_line":"        self.attach_volume(server2, volume1)"},{"line_number":167,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_790d463c","line":164,"range":{"start_line":159,"start_character":0,"end_line":164,"end_character":62},"in_reply_to":"3f79a3b5_85979b90","updated":"2018-09-20 13:19:09.000000000","message":"Sure, but I\u0027d prefer to do that in a follow up so it doesn\u0027t clutter up this change.","commit_id":"74e3a99375259fffe2ba998ec21416fd25d3d35b"}],"tempest/api/compute/volumes/test_attach_volume.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d075cce3d1cc55b521aae1c93459cb248b277d11","unresolved":false,"context_lines":[{"line_number":220,"context_line":"                server, validation_resources)"},{"line_number":221,"context_line":"            self.assertEqual(number_of_volumes, counted_volumes)"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    # NOTE(mriedem): Marked as slow since this is an uncommon scenario until"},{"line_number":224,"context_line":"    # attach/detach root volume is supported in nova, and it\u0027s slow."},{"line_number":225,"context_line":"    @decorators.attr(type\u003d\u0027slow\u0027)"},{"line_number":226,"context_line":"    @decorators.idempotent_id(\u002713a940b6-3474-4c3c-b03f-29b89112bfee\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_c5235357","line":223,"range":{"start_line":223,"start_character":53,"end_line":223,"end_character":70},"updated":"2018-09-20 09:14:46.000000000","message":"yeah, i agree that this is uncommon scenario. shelve itself not so common i think.","commit_id":"74e3a99375259fffe2ba998ec21416fd25d3d35b"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8fdc9d9a1669ade4a27185d9e6406fc8e9318609","unresolved":false,"context_lines":[{"line_number":220,"context_line":"                server, validation_resources)"},{"line_number":221,"context_line":"            self.assertEqual(number_of_volumes, counted_volumes)"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    # NOTE(mriedem): Marked as slow since this is an uncommon scenario until"},{"line_number":224,"context_line":"    # attach/detach root volume is supported in nova, and it\u0027s slow."},{"line_number":225,"context_line":"    @decorators.attr(type\u003d\u0027slow\u0027)"},{"line_number":226,"context_line":"    @decorators.idempotent_id(\u002713a940b6-3474-4c3c-b03f-29b89112bfee\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_f962b615","line":223,"range":{"start_line":223,"start_character":53,"end_line":223,"end_character":70},"in_reply_to":"3f79a3b5_c5235357","updated":"2018-09-20 13:19:09.000000000","message":"Shelve is fine. It\u0027s attaching a volume to a shelved server that is uncommon, and that capability was added specifically for detaching and attaching the root volume in a volume-backed instance, which is not yet supported in nova:\n\nhttps://review.openstack.org/#/c/600628/","commit_id":"74e3a99375259fffe2ba998ec21416fd25d3d35b"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"f17a9ed69798a4738c5f8e9a35de341f6b7e88da","unresolved":false,"context_lines":[{"line_number":221,"context_line":"            self.assertEqual(number_of_volumes, counted_volumes)"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    # NOTE(mriedem): Marked as slow since this is an uncommon scenario until"},{"line_number":224,"context_line":"    # attach/detach root volume is supported in nova, and it\u0027s slow."},{"line_number":225,"context_line":"    @decorators.attr(type\u003d\u0027slow\u0027)"},{"line_number":226,"context_line":"    @decorators.idempotent_id(\u002713a940b6-3474-4c3c-b03f-29b89112bfee\u0027)"},{"line_number":227,"context_line":"    def test_attach_volume_shelved_or_offload_server(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_643e082a","line":224,"range":{"start_line":224,"start_character":6,"end_line":224,"end_character":44},"updated":"2018-09-20 03:31:12.000000000","message":"I don\u0027t catch what does this mean? Why \"attach/detach root volume\" is relative to this testcase?","commit_id":"74e3a99375259fffe2ba998ec21416fd25d3d35b"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8fdc9d9a1669ade4a27185d9e6406fc8e9318609","unresolved":false,"context_lines":[{"line_number":221,"context_line":"            self.assertEqual(number_of_volumes, counted_volumes)"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    # NOTE(mriedem): Marked as slow since this is an uncommon scenario until"},{"line_number":224,"context_line":"    # attach/detach root volume is supported in nova, and it\u0027s slow."},{"line_number":225,"context_line":"    @decorators.attr(type\u003d\u0027slow\u0027)"},{"line_number":226,"context_line":"    @decorators.idempotent_id(\u002713a940b6-3474-4c3c-b03f-29b89112bfee\u0027)"},{"line_number":227,"context_line":"    def test_attach_volume_shelved_or_offload_server(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_7976a6da","line":224,"range":{"start_line":224,"start_character":6,"end_line":224,"end_character":44},"in_reply_to":"3f79a3b5_643e082a","updated":"2018-09-20 13:19:09.000000000","message":"See above.","commit_id":"74e3a99375259fffe2ba998ec21416fd25d3d35b"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d075cce3d1cc55b521aae1c93459cb248b277d11","unresolved":false,"context_lines":[{"line_number":249,"context_line":"        self.assertIsNotNone(volume_attachment[\u0027device\u0027])"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"    @decorators.idempotent_id(\u0027b54e86dd-a070-49c4-9c07-59ae6dae15aa\u0027)"},{"line_number":252,"context_line":"    def test_detach_volume_shelved_or_offload_server(self):"},{"line_number":253,"context_line":"        # Count number of volumes on instance, shelve"},{"line_number":254,"context_line":"        # server and attach pre-created volume to shelved server"},{"line_number":255,"context_line":"        server, validation_resources \u003d self._create_server()"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_c50a73cf","line":252,"range":{"start_line":252,"start_character":8,"end_line":252,"end_character":52},"updated":"2018-09-20 09:14:46.000000000","message":"I am wondering this test did not came up as slow even this tests doing one extra operation of detach_volume than above test.\n\nI think we should make this also as slow","commit_id":"74e3a99375259fffe2ba998ec21416fd25d3d35b"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"fc0656407eef1ef08ffb49755a4d53f06da98aa2","unresolved":false,"context_lines":[{"line_number":249,"context_line":"        self.assertIsNotNone(volume_attachment[\u0027device\u0027])"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"    @decorators.idempotent_id(\u0027b54e86dd-a070-49c4-9c07-59ae6dae15aa\u0027)"},{"line_number":252,"context_line":"    def test_detach_volume_shelved_or_offload_server(self):"},{"line_number":253,"context_line":"        # Count number of volumes on instance, shelve"},{"line_number":254,"context_line":"        # server and attach pre-created volume to shelved server"},{"line_number":255,"context_line":"        server, validation_resources \u003d self._create_server()"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_d071bd0e","line":252,"range":{"start_line":252,"start_character":8,"end_line":252,"end_character":52},"in_reply_to":"3f79a3b5_940d8736","updated":"2018-09-21 02:58:41.000000000","message":"+1,","commit_id":"74e3a99375259fffe2ba998ec21416fd25d3d35b"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8fdc9d9a1669ade4a27185d9e6406fc8e9318609","unresolved":false,"context_lines":[{"line_number":249,"context_line":"        self.assertIsNotNone(volume_attachment[\u0027device\u0027])"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"    @decorators.idempotent_id(\u0027b54e86dd-a070-49c4-9c07-59ae6dae15aa\u0027)"},{"line_number":252,"context_line":"    def test_detach_volume_shelved_or_offload_server(self):"},{"line_number":253,"context_line":"        # Count number of volumes on instance, shelve"},{"line_number":254,"context_line":"        # server and attach pre-created volume to shelved server"},{"line_number":255,"context_line":"        server, validation_resources \u003d self._create_server()"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_940d8736","line":252,"range":{"start_line":252,"start_character":8,"end_line":252,"end_character":52},"in_reply_to":"3f79a3b5_c50a73cf","updated":"2018-09-20 13:19:09.000000000","message":"It\u0027s detaching from a shelved offloaded server, so the detach in nova-api is just calling cinder to delete the volume attachment, there is nothing happening on nova-compute with os-brick because the instance isn\u0027t on a host. Therefore the detach isn\u0027t really adding much time to this.\n\nIt\u0027s still uncommon as noted above, so I\u0027ll mark it slow.","commit_id":"74e3a99375259fffe2ba998ec21416fd25d3d35b"}]}
