)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"33d9a50f275876bea9be0b77f76d9169577c63fc","unresolved":true,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2021-12-08 18:11:46 +0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Delete bogus attachments."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"One can create attachments to a server via Cinder api."},{"line_number":10,"context_line":"So volume can have multiple attachments with"},{"line_number":11,"context_line":"the same server made via Cinder and Nova apis."},{"line_number":12,"context_line":"Nova doesn\u0027t know about attachments created via"},{"line_number":13,"context_line":"Cinder api and doesn\u0027t think that volume attached to server."},{"line_number":14,"context_line":"After volume was attached and detached via"},{"line_number":15,"context_line":"Nova api, a volume still has bogus"},{"line_number":16,"context_line":"attachments to the server and is \u0027in-use\u0027."},{"line_number":17,"context_line":"Volume cannot be deleted."},{"line_number":18,"context_line":"Patch makes volume dettachment to delete all attachments"},{"line_number":19,"context_line":"with the same server."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Closes-Bug: 1953538"},{"line_number":22,"context_line":"Change-Id: I96f9be0461986cd013d8484f40adbca05196979a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"198a22d3_a56130e8","line":19,"range":{"start_line":8,"start_character":0,"end_line":19,"end_character":21},"updated":"2021-12-08 15:21:21.000000000","message":"Why can\u0027t you just delete such volume attachments in Cinder in that case?\n\nhttps://docs.openstack.org/api-ref/block-storage/v3/index.html?expanded\u003ddelete-attachment-detail#attachments-attachments\n\nhttps://docs.openstack.org/python-openstackclient/latest/cli/command-objects/volume-attachment.html#volume-attachment-delete\n\nNova shouldn\u0027t randomly DELETE volume attachments from Cinder just because we don\u0027t know about them IMHO.","commit_id":"9a838c2c41fa79ad24cf66e484af4bbf28eaddfe"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"fab36833f94b32a728246851896e067622cc38d1","unresolved":true,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2021-12-08 18:11:46 +0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Delete bogus attachments."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"One can create attachments to a server via Cinder api."},{"line_number":10,"context_line":"So volume can have multiple attachments with"},{"line_number":11,"context_line":"the same server made via Cinder and Nova apis."},{"line_number":12,"context_line":"Nova doesn\u0027t know about attachments created via"},{"line_number":13,"context_line":"Cinder api and doesn\u0027t think that volume attached to server."},{"line_number":14,"context_line":"After volume was attached and detached via"},{"line_number":15,"context_line":"Nova api, a volume still has bogus"},{"line_number":16,"context_line":"attachments to the server and is \u0027in-use\u0027."},{"line_number":17,"context_line":"Volume cannot be deleted."},{"line_number":18,"context_line":"Patch makes volume dettachment to delete all attachments"},{"line_number":19,"context_line":"with the same server."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Closes-Bug: 1953538"},{"line_number":22,"context_line":"Change-Id: I96f9be0461986cd013d8484f40adbca05196979a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"ac9a0005_de6f63cb","line":19,"range":{"start_line":8,"start_character":0,"end_line":19,"end_character":21},"in_reply_to":"0663e5d3_cd33ee02","updated":"2021-12-08 16:03:22.000000000","message":"I disagree, from a Nova point of view once we\u0027ve deleted the volume attachment we know about in Cinder *and* our own block device mapping record the volume is detached. IOW when our own os-volume_attachments API returns a 404 for the instance and volume.\n\nIf other services like Heat also need other volume attachments created out of band of Nova to also be deleted from Cinder for them to be happy that the device is detached well that\u0027s on them.\n\nI\u0027d also suggest that it\u0027s on the operators in the environment to understand who or what is creating these duplicate volume attachment records in Cinder.","commit_id":"9a838c2c41fa79ad24cf66e484af4bbf28eaddfe"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"18991a8f5f0cc149b7dc5369aee2859e92df489e","unresolved":true,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2021-12-08 18:11:46 +0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Delete bogus attachments."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"One can create attachments to a server via Cinder api."},{"line_number":10,"context_line":"So volume can have multiple attachments with"},{"line_number":11,"context_line":"the same server made via Cinder and Nova apis."},{"line_number":12,"context_line":"Nova doesn\u0027t know about attachments created via"},{"line_number":13,"context_line":"Cinder api and doesn\u0027t think that volume attached to server."},{"line_number":14,"context_line":"After volume was attached and detached via"},{"line_number":15,"context_line":"Nova api, a volume still has bogus"},{"line_number":16,"context_line":"attachments to the server and is \u0027in-use\u0027."},{"line_number":17,"context_line":"Volume cannot be deleted."},{"line_number":18,"context_line":"Patch makes volume dettachment to delete all attachments"},{"line_number":19,"context_line":"with the same server."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Closes-Bug: 1953538"},{"line_number":22,"context_line":"Change-Id: I96f9be0461986cd013d8484f40adbca05196979a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"0663e5d3_cd33ee02","line":19,"range":{"start_line":8,"start_character":0,"end_line":19,"end_character":21},"in_reply_to":"198a22d3_a56130e8","updated":"2021-12-08 15:51:30.000000000","message":"Yes, it\u0027s possible and doable to delete attachments manually via Cinder api.\nWhen our tasks are automated, e.g. via Heat, it\u0027s not easy to cleanup bogus attachments. Bogus attachments are not real - it\u0027s just records in Cinder DB. So if user wishes to detach a volume from a server it\u0027s reasonable to do real detachment and if remain some weird attachments regarding the server and the volume IMHO it\u0027s OK to cleanup.","commit_id":"9a838c2c41fa79ad24cf66e484af4bbf28eaddfe"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"2a1776d892e58f8a4bbf29b85b9268d52894f6a6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"0087bc01_ceefe488","updated":"2021-12-09 17:01:13.000000000","message":"recheck","commit_id":"e83183f554b12a51ce9bdea76bc8b66760d839e3"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"adba593b34a16da7005725eb144436842c42bc4f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"8e2230b8_fea2bdd9","updated":"2021-12-09 18:58:29.000000000","message":"recheck","commit_id":"e83183f554b12a51ce9bdea76bc8b66760d839e3"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"1cbd8fb1e052fdac6b8b0611529a48923198ad70","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"36fdf66a_657c1c04","updated":"2021-12-13 10:34:07.000000000","message":"recheck","commit_id":"8a3cb6e6d07ffadb4f3b863c05d03b426291d646"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"f6c2053e0f80701aec7a3859deac248f524bd98a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"50ca8819_0225e0a3","updated":"2021-12-10 16:27:13.000000000","message":"recheck","commit_id":"8a3cb6e6d07ffadb4f3b863c05d03b426291d646"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"6e6b4ca412219658c04c8d448ffc6e321c1e936c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"678fc5bf_6cb13db8","updated":"2021-12-10 18:07:06.000000000","message":"recheck","commit_id":"8a3cb6e6d07ffadb4f3b863c05d03b426291d646"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"b3e8cd2084f80c6e362dbd8c971134186084da1e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"e3f8dbb2_561ab69a","updated":"2021-12-13 08:47:07.000000000","message":"recheck","commit_id":"8a3cb6e6d07ffadb4f3b863c05d03b426291d646"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"9cd37adecf51ccc4a5d44aa4bb75bf07804cb3c6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"eec646ac_1e1cf152","updated":"2021-12-10 14:40:52.000000000","message":"recheck","commit_id":"8a3cb6e6d07ffadb4f3b863c05d03b426291d646"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"c5242980c4ef214a079a52aa475e6ec8f3784eb8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"46929678_b2110d68","updated":"2021-12-14 14:51:51.000000000","message":"recheck","commit_id":"e19df0efeb761171e95a59662d74c9e9c262885b"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"fa5cf37c212eb12b016830d31ea345e64f2af7eb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"4806a0ee_1fa5b292","updated":"2021-12-14 18:06:43.000000000","message":"recheck","commit_id":"d5593f2fa1114f21955e422232d48e52fbd68456"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"7efca6287125eb8ce1066cb15f3326afe640454f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"5a230d1d_83556b86","updated":"2021-12-15 03:46:36.000000000","message":"recheck","commit_id":"d5593f2fa1114f21955e422232d48e52fbd68456"}],"nova/api/openstack/compute/volumes.py":[{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"4b17e24d0dc17574869883883bac660181ce9e92","unresolved":true,"context_lines":[{"line_number":561,"context_line":""},{"line_number":562,"context_line":"        try:"},{"line_number":563,"context_line":"            self.compute_api.detach_volume(context, instance, volume)"},{"line_number":564,"context_line":"            self._delete_bogus_attachments(context, volume_id, instance.uuid)"},{"line_number":565,"context_line":"        except exception.InvalidVolume as e:"},{"line_number":566,"context_line":"            raise exc.HTTPBadRequest(explanation\u003de.format_message())"},{"line_number":567,"context_line":"        except exception.InvalidInput as e:"}],"source_content_type":"text/x-python","patch_set":5,"id":"37ac16d8_8b83880a","line":564,"range":{"start_line":564,"start_character":0,"end_line":564,"end_character":77},"updated":"2021-12-08 17:30:20.000000000","message":"FWIW compute_api.detach_volume makes an async request down to the computes so doing this here in the API like this is nuking our volume attachment in Cinder before it\u0027s actually detached from the instance on the compute causing various failures: \n\nhttps://538d239f2353a6ac4bc2-4e7b2e69a2914bf326001f07747bad73.ssl.cf1.rackcdn.com/820935/5/check/tempest-integrated-compute/801bcb5/testr_results.html","commit_id":"9a838c2c41fa79ad24cf66e484af4bbf28eaddfe"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"17dfbd0e74dbaab6d6462e04bcbe4e72969df45a","unresolved":true,"context_lines":[{"line_number":561,"context_line":""},{"line_number":562,"context_line":"        try:"},{"line_number":563,"context_line":"            self.compute_api.detach_volume(context, instance, volume)"},{"line_number":564,"context_line":"            self._delete_bogus_attachments(context, volume_id, instance.uuid)"},{"line_number":565,"context_line":"        except exception.InvalidVolume as e:"},{"line_number":566,"context_line":"            raise exc.HTTPBadRequest(explanation\u003de.format_message())"},{"line_number":567,"context_line":"        except exception.InvalidInput as e:"}],"source_content_type":"text/x-python","patch_set":5,"id":"e700d380_cbb40d83","line":564,"range":{"start_line":564,"start_character":0,"end_line":564,"end_character":77},"in_reply_to":"2f9ecfca_63f8ba52","updated":"2021-12-08 17:57:27.000000000","message":"Yes and my apologies as I appreciate you\u0027ve spent time and effort on this only to be told it\u0027s not required.\n\nIf you find that Nova had previously created these bogus attachments then please raise a bug and we can help track down and fix that underlying bug.","commit_id":"9a838c2c41fa79ad24cf66e484af4bbf28eaddfe"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"19405a2378dbdb3d15461e0c9029d8e3ef312d2a","unresolved":true,"context_lines":[{"line_number":561,"context_line":""},{"line_number":562,"context_line":"        try:"},{"line_number":563,"context_line":"            self.compute_api.detach_volume(context, instance, volume)"},{"line_number":564,"context_line":"            self._delete_bogus_attachments(context, volume_id, instance.uuid)"},{"line_number":565,"context_line":"        except exception.InvalidVolume as e:"},{"line_number":566,"context_line":"            raise exc.HTTPBadRequest(explanation\u003de.format_message())"},{"line_number":567,"context_line":"        except exception.InvalidInput as e:"}],"source_content_type":"text/x-python","patch_set":5,"id":"2f9ecfca_63f8ba52","line":564,"range":{"start_line":564,"start_character":0,"end_line":564,"end_character":77},"in_reply_to":"37ac16d8_8b83880a","updated":"2021-12-08 17:51:40.000000000","message":"Lee, Thank a lot.\nYour advice is really helpful.\nI suppose I should remove attachments via Cinder api after server gracefully detached volume.","commit_id":"9a838c2c41fa79ad24cf66e484af4bbf28eaddfe"}]}
