)]}'
{"tempest/scenario/test_volume_boot_pattern.py":[{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"c16cc6eb380b70b8a1e19b4c0ff1acd0dad758c0","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        self.servers_client.delete_server(server[\u0027id\u0027])"},{"line_number":69,"context_line":"        waiters.wait_for_server_termination(self.servers_client, server[\u0027id\u0027])"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    def _delete_snapshot(self, snapshot):"},{"line_number":72,"context_line":"        self.snapshots_client.delete_snapshot(snapshot[\u0027id\u0027])"},{"line_number":73,"context_line":"        self.snapshots_client.wait_for_resource_deletion(snapshot[\u0027id\u0027])"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    @decorators.idempotent_id(\u0027557cd2c2-4eb8-4dce-98be-f86765ff311b\u0027)"},{"line_number":76,"context_line":"    @testtools.skipUnless(CONF.network.public_network_id,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f6a8fd7_8154e2cb","line":73,"range":{"start_line":71,"start_character":4,"end_line":73,"end_character":72},"updated":"2018-05-02 04:15:54.000000000","message":"Please use delete_snapshot from base class:\nhttps://github.com/openstack/tempest/blob/master/tempest/api/volume/base.py#L179","commit_id":"01f85cf2ab67df442a3d7e10876b894c3ccef9d3"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"6bdbbe1387837c4ee017b0036c8b6457a84b0525","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        self.servers_client.delete_server(server[\u0027id\u0027])"},{"line_number":69,"context_line":"        waiters.wait_for_server_termination(self.servers_client, server[\u0027id\u0027])"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    def _delete_snapshot(self, snapshot):"},{"line_number":72,"context_line":"        self.snapshots_client.delete_snapshot(snapshot[\u0027id\u0027])"},{"line_number":73,"context_line":"        self.snapshots_client.wait_for_resource_deletion(snapshot[\u0027id\u0027])"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    @decorators.idempotent_id(\u0027557cd2c2-4eb8-4dce-98be-f86765ff311b\u0027)"},{"line_number":76,"context_line":"    @testtools.skipUnless(CONF.network.public_network_id,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f6a8fd7_01dd3241","line":73,"range":{"start_line":71,"start_character":4,"end_line":73,"end_character":72},"in_reply_to":"9f6a8fd7_8154e2cb","updated":"2018-05-02 04:21:45.000000000","message":"Ignore this comment","commit_id":"01f85cf2ab67df442a3d7e10876b894c3ccef9d3"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"96d7da5096558176e877802fb2458a8f80230b9c","unresolved":false,"context_lines":[{"line_number":239,"context_line":"        # created from the volume snapshot."},{"line_number":240,"context_line":"        self._delete_server(instance)"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"        # Assert that the underlying volume is gone."},{"line_number":243,"context_line":"        self.volumes_client.wait_for_resource_deletion(created_volume[\u0027id\u0027])"},{"line_number":244,"context_line":"        self.assertRaises(lib_exc.NotFound, self.volumes_client.show_volume,"},{"line_number":245,"context_line":"                          created_volume[\u0027id\u0027])"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"    @decorators.idempotent_id(\u0027cb78919a-e553-4bab-b73b-10cf4d2eb125\u0027)"},{"line_number":248,"context_line":"    @testtools.skipUnless(CONF.compute_feature_enabled.attach_encrypted_volume,"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_663777e5","line":245,"range":{"start_line":242,"start_character":0,"end_line":245,"end_character":47},"updated":"2018-05-08 01:15:55.000000000","message":"To be completionist should we also add these checks to L212 to verify the comment on L209-210?","commit_id":"27400947822a9a567b0297858dc6cefbb530719d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"6c529ad8351118f09769f662191c4cf4dbe44b8c","unresolved":false,"context_lines":[{"line_number":241,"context_line":""},{"line_number":242,"context_line":"        # Assert that the underlying volume is gone."},{"line_number":243,"context_line":"        self.volumes_client.wait_for_resource_deletion(created_volume[\u0027id\u0027])"},{"line_number":244,"context_line":"        self.assertRaises(lib_exc.NotFound, self.volumes_client.show_volume,"},{"line_number":245,"context_line":"                          created_volume[\u0027id\u0027])"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"    @decorators.idempotent_id(\u0027cb78919a-e553-4bab-b73b-10cf4d2eb125\u0027)"},{"line_number":248,"context_line":"    @testtools.skipUnless(CONF.compute_feature_enabled.attach_encrypted_volume,"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_7a79bac5","line":245,"range":{"start_line":244,"start_character":0,"end_line":245,"end_character":47},"updated":"2018-05-15 09:27:29.000000000","message":"self.assertRaises(lib_exc.NotFound,.. is not needed as wait_for_resource_deletion() check the volume existence by calling show_volume() method only. It is pass if NotFound from show_volume().\n\n-https://github.com/openstack/tempest/blob/9d0a88f9a157e6378e85fd94dd435f144a01818d/tempest/lib/services/volume/v2/volumes_client.py#L175","commit_id":"27400947822a9a567b0297858dc6cefbb530719d"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"2bcd64f5cbbe8ef828c03211694fdc851fe4fc37","unresolved":false,"context_lines":[{"line_number":239,"context_line":"        # created from the volume snapshot."},{"line_number":240,"context_line":"        self._delete_server(instance)"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"        # Assert that the underlying volume is gone."},{"line_number":243,"context_line":"        self.volumes_client.wait_for_resource_deletion(created_volume[\u0027id\u0027])"},{"line_number":244,"context_line":"        self.assertRaises(lib_exc.NotFound, self.volumes_client.show_volume,"},{"line_number":245,"context_line":"                          created_volume[\u0027id\u0027])"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"    @decorators.idempotent_id(\u0027cb78919a-e553-4bab-b73b-10cf4d2eb125\u0027)"},{"line_number":248,"context_line":"    @testtools.skipUnless(CONF.compute_feature_enabled.attach_encrypted_volume,"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_e63147a4","line":245,"range":{"start_line":242,"start_character":0,"end_line":245,"end_character":47},"in_reply_to":"5f7c97a3_663777e5","updated":"2018-05-08 01:38:43.000000000","message":"We could. I\u0027m not 100% sure whether asserting the volume deletion on L211 would exercise any different functionality than this assert, and it would make the test take that much more time.","commit_id":"27400947822a9a567b0297858dc6cefbb530719d"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"7da076c80f63953325aac9c93fafc5fffcb3e2f1","unresolved":false,"context_lines":[{"line_number":239,"context_line":"        # created from the volume snapshot."},{"line_number":240,"context_line":"        self._delete_server(instance)"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"        # Assert that the underlying volume is gone."},{"line_number":243,"context_line":"        self.volumes_client.wait_for_resource_deletion(created_volume[\u0027id\u0027])"},{"line_number":244,"context_line":"        self.assertRaises(lib_exc.NotFound, self.volumes_client.show_volume,"},{"line_number":245,"context_line":"                          created_volume[\u0027id\u0027])"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"    @decorators.idempotent_id(\u0027cb78919a-e553-4bab-b73b-10cf4d2eb125\u0027)"},{"line_number":248,"context_line":"    @testtools.skipUnless(CONF.compute_feature_enabled.attach_encrypted_volume,"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_fb845060","line":245,"range":{"start_line":242,"start_character":0,"end_line":245,"end_character":47},"in_reply_to":"5f7c97a3_e63147a4","updated":"2018-05-09 21:05:39.000000000","message":"I prefer such consistency as Felipe says, but current additional check is fine for the patch scope as the commit message said. We will be able to add more check as we like, and we can see the impact by comparing the result.","commit_id":"27400947822a9a567b0297858dc6cefbb530719d"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"bd8eacacbeeaaea94f5390b29c8bdfd1771e47e4","unresolved":false,"context_lines":[{"line_number":207,"context_line":""},{"line_number":208,"context_line":"        # Delete the first server which will also delete the first image-backed"},{"line_number":209,"context_line":"        # volume."},{"line_number":210,"context_line":"        self._delete_server(instance)"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"        # Create a server from the image snapshot which has an"},{"line_number":213,"context_line":"        # \"image-defined block device mapping (BDM)\" in it, i.e. the metadata"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_fb5ecae4","side":"PARENT","line":210,"updated":"2018-08-07 21:54:43.000000000","message":"I picked an example [1] from the logstash link from mriedem and found that it is *this* delete that fails to delete the underlying volume (\u0027volume_origin\u0027) because of the existence of the snapshot created on L206.\n\nThis makes sense because the snapshot (\u0027image\u0027) depends on the original volume (\u0027volume_origin\u0027). So trying to delete \u0027volume_origin\u0027 before deleting \u0027image\u0027 will result in the error.\n\nI think we could fix this test by moving this delete to the end of the test and doing a delete and wait for the volume snapshot \u0027image\u0027 just before it. But we need to do those at the end, since they are at the root of the dependency chain.\n\n[1] http://logs.openstack.org/13/589513/1/check/neutron-tempest-multinode-full/667d528/logs/subnode-2/screen-n-cpu.txt#_Aug_07_17_17_57_939422","commit_id":"34b5503592ae2e94bad656324d656335953c563f"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"fda4333b1d88c4a0b92c9ad957d32f4eeb22e554","unresolved":false,"context_lines":[{"line_number":207,"context_line":""},{"line_number":208,"context_line":"        # Delete the first server which will also delete the first image-backed"},{"line_number":209,"context_line":"        # volume."},{"line_number":210,"context_line":"        self._delete_server(instance)"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"        # Create a server from the image snapshot which has an"},{"line_number":213,"context_line":"        # \"image-defined block device mapping (BDM)\" in it, i.e. the metadata"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_c566882a","side":"PARENT","line":210,"in_reply_to":"3f79a3b5_fb5ecae4","updated":"2018-08-08 02:39:34.000000000","message":"right. i can find now the failed volume delete by name self.__class__.__name__ + \u0027-volume-origin\u0027 used at L36 while creating this volume. \n\n- http://logs.openstack.org/13/589513/1/check/neutron-tempest-multinode-full/667d528/logs/tempest.txt.gz#_2018-08-07_17_17_37_225\n\nyeah, +1 on deleting at end of test and confirming volume_origin is gone.","commit_id":"34b5503592ae2e94bad656324d656335953c563f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e62b8f60c988da64db48b9ea0892df323000a036","unresolved":false,"context_lines":[{"line_number":236,"context_line":""},{"line_number":237,"context_line":"        # Delete the second server which should also delete the second volume"},{"line_number":238,"context_line":"        # created from the volume snapshot."},{"line_number":239,"context_line":"        # TODO(mriedem): Currently, the compute service fails to delete the"},{"line_number":240,"context_line":"        # volume it created because the volume still has the snapshot"},{"line_number":241,"context_line":"        # associated with it, and the cleanups for the volume snapshot which"},{"line_number":242,"context_line":"        # were added in create_server_snapshot above, don\u0027t run until after"},{"line_number":243,"context_line":"        # this is called. So we need to delete the volume snapshot and wait for"},{"line_number":244,"context_line":"        # it to be gone here first before deleting the server, and then we can"},{"line_number":245,"context_line":"        # also assert that the underlying volume is deleted when the server is"},{"line_number":246,"context_line":"        # deleted."},{"line_number":247,"context_line":"        self._delete_server(instance)"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"    @decorators.idempotent_id(\u0027cb78919a-e553-4bab-b73b-10cf4d2eb125\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_f7cb7a6f","side":"PARENT","line":246,"range":{"start_line":239,"start_character":8,"end_line":246,"end_character":18},"updated":"2018-08-03 17:51:33.000000000","message":"Not sure that this should have been removed because the issue still shows up:\n\nhttp://logstash.openstack.org/#dashboard/file/logstash.json?query\u003dmessage%3A%5C%22Failed%20to%20delete%20volume%5C%22%20AND%20message%3A%5C%22due%20to%5C%22%20AND%20tags%3A%5C%22screen-n-cpu.txt%5C%22\u0026from\u003d7d","commit_id":"34b5503592ae2e94bad656324d656335953c563f"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"bd8eacacbeeaaea94f5390b29c8bdfd1771e47e4","unresolved":false,"context_lines":[{"line_number":236,"context_line":""},{"line_number":237,"context_line":"        # Delete the second server which should also delete the second volume"},{"line_number":238,"context_line":"        # created from the volume snapshot."},{"line_number":239,"context_line":"        # TODO(mriedem): Currently, the compute service fails to delete the"},{"line_number":240,"context_line":"        # volume it created because the volume still has the snapshot"},{"line_number":241,"context_line":"        # associated with it, and the cleanups for the volume snapshot which"},{"line_number":242,"context_line":"        # were added in create_server_snapshot above, don\u0027t run until after"},{"line_number":243,"context_line":"        # this is called. So we need to delete the volume snapshot and wait for"},{"line_number":244,"context_line":"        # it to be gone here first before deleting the server, and then we can"},{"line_number":245,"context_line":"        # also assert that the underlying volume is deleted when the server is"},{"line_number":246,"context_line":"        # deleted."},{"line_number":247,"context_line":"        self._delete_server(instance)"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"    @decorators.idempotent_id(\u0027cb78919a-e553-4bab-b73b-10cf4d2eb125\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_dbdc2e48","side":"PARENT","line":246,"range":{"start_line":239,"start_character":8,"end_line":246,"end_character":18},"in_reply_to":"3f79a3b5_8f88df1f","updated":"2018-08-07 21:54:43.000000000","message":"Yeah, I think this comment was in the wrong place to begin with. From what I saw, the delete fail happens during the deletion of the first server, not this one. I\u0027m trying out a change that changes the order and deletes the snapshot: https://review.openstack.org/589648","commit_id":"34b5503592ae2e94bad656324d656335953c563f"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"fa9da6ca74f9f14acfd2441bf11663a2736692ae","unresolved":false,"context_lines":[{"line_number":236,"context_line":""},{"line_number":237,"context_line":"        # Delete the second server which should also delete the second volume"},{"line_number":238,"context_line":"        # created from the volume snapshot."},{"line_number":239,"context_line":"        # TODO(mriedem): Currently, the compute service fails to delete the"},{"line_number":240,"context_line":"        # volume it created because the volume still has the snapshot"},{"line_number":241,"context_line":"        # associated with it, and the cleanups for the volume snapshot which"},{"line_number":242,"context_line":"        # were added in create_server_snapshot above, don\u0027t run until after"},{"line_number":243,"context_line":"        # this is called. So we need to delete the volume snapshot and wait for"},{"line_number":244,"context_line":"        # it to be gone here first before deleting the server, and then we can"},{"line_number":245,"context_line":"        # also assert that the underlying volume is deleted when the server is"},{"line_number":246,"context_line":"        # deleted."},{"line_number":247,"context_line":"        self._delete_server(instance)"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"    @decorators.idempotent_id(\u0027cb78919a-e553-4bab-b73b-10cf4d2eb125\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_8f88df1f","side":"PARENT","line":246,"range":{"start_line":239,"start_character":8,"end_line":246,"end_character":18},"in_reply_to":"3f79a3b5_f7cb7a6f","updated":"2018-08-06 05:35:29.000000000","message":"In that case, this test should fail as we explicitly wait for volume gone. @L242 on changed code.Because snapshot is still not being deleted yet while L242 waiting for that volume to be gone. or cinder delete that volume later not in delete server request to nova.","commit_id":"34b5503592ae2e94bad656324d656335953c563f"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"bd8eacacbeeaaea94f5390b29c8bdfd1771e47e4","unresolved":false,"context_lines":[{"line_number":244,"context_line":"        # it to be gone here first before deleting the server, and then we can"},{"line_number":245,"context_line":"        # also assert that the underlying volume is deleted when the server is"},{"line_number":246,"context_line":"        # deleted."},{"line_number":247,"context_line":"        self._delete_server(instance)"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"    @decorators.idempotent_id(\u0027cb78919a-e553-4bab-b73b-10cf4d2eb125\u0027)"},{"line_number":250,"context_line":"    @testtools.skipUnless(CONF.compute_feature_enabled.attach_encrypted_volume,"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_1b95c6e4","side":"PARENT","line":247,"updated":"2018-08-07 21:54:43.000000000","message":"Whereas here, we succeed in deleting the volume created from the volume snapshot with no issue [1], and as gmann pointed out, the test passes because of the more recent assertion added:\n\n self.volumes_client.wait_for_resource_deletion(created_volume[\u0027id\u0027])\n\nIf we failed to delete the volume created from the volume snapshot, we would fail the test.\n\nThe dependency chain looks like this: \u0027volume_origin\u0027 \u003c\u003d instance1 \u003c\u003d \u0027image\u0027 volume snapshot \u003c\u003d new volume for instance2.\n\n[1] http://logs.openstack.org/13/589513/1/check/neutron-tempest-multinode-full/667d528/logs/subnode-2/screen-n-cpu.txt#_Aug_07_17_18_17_356833","commit_id":"34b5503592ae2e94bad656324d656335953c563f"}]}
