)]}'
{"id":"openstack%2Fcinder~825106","triplet_id":"openstack%2Fcinder~stable%2Fvictoria~Iaf149dadad5791e81a3c0efd089d0ee66a1a5614","project":"openstack/cinder","branch":"stable/victoria","topic":"victoria-detach-vol-status","attention_set":{},"removed_from_attention_set":{"9535":{"account":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"last_update":"2022-02-10 17:00:18.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"Iaf149dadad5791e81a3c0efd089d0ee66a1a5614","subject":"Fix: Race between attachment and volume deletion","status":"MERGED","created":"2022-01-18 11:54:40.000000000","updated":"2022-02-10 17:16:09.000000000","submitted":"2022-02-10 17:00:18.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":3,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"825106-victoria-detach-vol-status","meta_rev_id":"d24760e1d54909e798af844e33054f26124ec4ef","_number":825106,"virtual_id_number":825106,"owner":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},{"value":0,"_account_id":32291,"name":"wushiming","email":"wushiming@yovole.com","username":"wushiming"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2022-02-10 17:00:17.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"all":[{"value":2,"date":"2022-02-06 04:57:34.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},{"value":1,"date":"2022-02-09 10:43:42.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":32291,"name":"wushiming","email":"wushiming@yovole.com","username":"wushiming"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2022-02-09 14:54:28.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"all":[{"value":0,"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},{"value":0,"_account_id":32291,"name":"wushiming","email":"wushiming@yovole.com","username":"wushiming"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2022-02-09 14:54:28.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},{"value":0,"_account_id":32291,"name":"wushiming","email":"wushiming@yovole.com","username":"wushiming"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"}],"values":{"-1":"Branch Freeze"," 0":"No Priority","+1":"Important Change","+2":"Gate Blocker Fix / Urgent Change"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":32291,"name":"wushiming","email":"wushiming@yovole.com","username":"wushiming"}],"CC":[{"_account_id":10118,"name":"IBM PowerKVM CI","email":"kvmpower@linux.vnet.ibm.com","username":"powerkvm","tags":["SERVICE_USER"]},{"_account_id":15386,"name":"Nexenta CI","email":"openstackci@nexenta.com","username":"nexentaci","tags":["SERVICE_USER"]},{"_account_id":23613,"name":"NEC Cinder CI","email":"nec-cinder-ci@istorage.jp.nec.com","username":"nec-cinder-ci","tags":["SERVICE_USER"]},{"_account_id":26537,"name":"Cloudbase Cinder SMB3 CI","email":"cinder-smb3-ci@cloudbasesolutions.com","username":"cinder_smb3_ci"},{"_account_id":28801,"name":"Cisco Cinder CI","email":"cisco-cinder-ci@cisco.com","username":"cisco-cinder-ci"},{"_account_id":31868,"name":"Open-E CI","email":"open-e-ci-joviandss@open-e.com","username":"open-e-ci-joviandss","tags":["SERVICE_USER"]},{"_account_id":32912,"name":"Pure Storage Third-Party CI","display_name":"Pure Storage Third-Party CI","email":"openstack-third-party-ci@purestorage.com","username":"purestorage-thirdparty-ci","status":"Doing CI things"},{"_account_id":34318,"name":"HPE Nimble Storage CI","display_name":"HPE Nimble Storage CI","email":"raghavendra.tilay@capgemini.com","username":"hpe-nimble"},{"_account_id":34470,"name":"Yan Tseitlin","email":"yan@lightbitslabs.com","username":"yants"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2022-01-18 14:15:20.000000000","updated_by":{"_account_id":34470,"name":"Yan Tseitlin","email":"yan@lightbitslabs.com","username":"yants"},"reviewer":{"_account_id":34470,"name":"Yan Tseitlin","email":"yan@lightbitslabs.com","username":"yants"},"state":"CC"},{"updated":"2022-01-18 14:19:02.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2022-01-18 14:43:48.000000000","updated_by":{"_account_id":26537,"name":"Cloudbase Cinder SMB3 CI","email":"cinder-smb3-ci@cloudbasesolutions.com","username":"cinder_smb3_ci"},"reviewer":{"_account_id":26537,"name":"Cloudbase Cinder SMB3 CI","email":"cinder-smb3-ci@cloudbasesolutions.com","username":"cinder_smb3_ci"},"state":"CC"},{"updated":"2022-01-18 15:36:09.000000000","updated_by":{"_account_id":34318,"name":"HPE Nimble Storage CI","display_name":"HPE Nimble Storage CI","email":"raghavendra.tilay@capgemini.com","username":"hpe-nimble"},"reviewer":{"_account_id":34318,"name":"HPE Nimble Storage CI","display_name":"HPE Nimble Storage CI","email":"raghavendra.tilay@capgemini.com","username":"hpe-nimble"},"state":"CC"},{"updated":"2022-01-18 15:54:02.000000000","updated_by":{"_account_id":10118,"name":"IBM PowerKVM CI","email":"kvmpower@linux.vnet.ibm.com","username":"powerkvm","tags":["SERVICE_USER"]},"reviewer":{"_account_id":10118,"name":"IBM PowerKVM CI","email":"kvmpower@linux.vnet.ibm.com","username":"powerkvm","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2022-01-18 19:54:51.000000000","updated_by":{"_account_id":32912,"name":"Pure Storage Third-Party CI","display_name":"Pure Storage Third-Party CI","email":"openstack-third-party-ci@purestorage.com","username":"purestorage-thirdparty-ci","status":"Doing CI things"},"reviewer":{"_account_id":32912,"name":"Pure Storage Third-Party CI","display_name":"Pure Storage Third-Party CI","email":"openstack-third-party-ci@purestorage.com","username":"purestorage-thirdparty-ci","status":"Doing CI things"},"state":"CC"},{"updated":"2022-01-18 20:50:03.000000000","updated_by":{"_account_id":28801,"name":"Cisco Cinder CI","email":"cisco-cinder-ci@cisco.com","username":"cisco-cinder-ci"},"reviewer":{"_account_id":28801,"name":"Cisco Cinder CI","email":"cisco-cinder-ci@cisco.com","username":"cisco-cinder-ci"},"state":"CC"},{"updated":"2022-01-19 00:44:46.000000000","updated_by":{"_account_id":15386,"name":"Nexenta CI","email":"openstackci@nexenta.com","username":"nexentaci","tags":["SERVICE_USER"]},"reviewer":{"_account_id":15386,"name":"Nexenta CI","email":"openstackci@nexenta.com","username":"nexentaci","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2022-01-19 14:39:57.000000000","updated_by":{"_account_id":31868,"name":"Open-E CI","email":"open-e-ci-joviandss@open-e.com","username":"open-e-ci-joviandss","tags":["SERVICE_USER"]},"reviewer":{"_account_id":31868,"name":"Open-E CI","email":"open-e-ci-joviandss@open-e.com","username":"open-e-ci-joviandss","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2022-01-22 13:16:59.000000000","updated_by":{"_account_id":23613,"name":"NEC Cinder CI","email":"nec-cinder-ci@istorage.jp.nec.com","username":"nec-cinder-ci","tags":["SERVICE_USER"]},"reviewer":{"_account_id":23613,"name":"NEC Cinder CI","email":"nec-cinder-ci@istorage.jp.nec.com","username":"nec-cinder-ci","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2022-02-06 04:57:34.000000000","updated_by":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"reviewer":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"state":"REVIEWER"},{"updated":"2022-02-09 10:43:42.000000000","updated_by":{"_account_id":32291,"name":"wushiming","email":"wushiming@yovole.com","username":"wushiming"},"reviewer":{"_account_id":32291,"name":"wushiming","email":"wushiming@yovole.com","username":"wushiming"},"state":"REVIEWER"},{"updated":"2022-02-09 14:54:28.000000000","updated_by":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"reviewer":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"state":"REVIEWER"}],"messages":[{"id":"db09ca3cbd190a7e553602af7e907b90721cf978","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"date":"2022-01-18 11:54:40.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"17c958abf30335b8608570e9b55b91d797737fcf","author":{"_account_id":34470,"name":"Yan Tseitlin","email":"yan@lightbitslabs.com","username":"yants"},"date":"2022-01-18 14:15:20.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"e754c3ec98e4b94e6a4b278276cedbe9b9e84e55","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-01-18 14:19:02.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/edcd3c4510db4b7582e44be2caceb6fe : SUCCESS in 9m 18s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/774b970480ab45259c09e97eebd4d9da : SUCCESS in 12m 26s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/6461a25aa863475494c2c1ea5fdd0a50 : SUCCESS in 13m 47s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9e82b56c9bad403eb7dd7be02b017b17 : SUCCESS in 16m 49s\n- grenade https://zuul.opendev.org/t/openstack/build/1f198048d00640279b2ed342932b3f97 : SUCCESS in 1h 02m 39s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/9461009c67ad4723b35532e4fe24716b : SUCCESS in 1h 28m 47s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/b1d5419f0e644bc88196b40e18f6d173 : SUCCESS in 58m 25s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/e403e85023c24c2bbf2f08620920309b : SUCCESS in 8m 25s\n- cinder-code-coverage https://zuul.opendev.org/t/openstack/build/0e467bab3106476d98abd89e11cb178a : SUCCESS in 15m 22s (non-voting)\n- cinder-tox-bandit-baseline https://zuul.opendev.org/t/openstack/build/135dab97fb3a42899c28446e3f7f0171 : SUCCESS in 9m 18s (non-voting)\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/f7dabc399bc645d5a508fc830bf33373 : SUCCESS in 10m 30s\n- openstack-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/5289d25e05834f55ba947f20bb0a6c1c : SUCCESS in 7m 48s\n- cinder-rally-task https://zuul.opendev.org/t/openstack/build/ae98a279be3e4a14bfe40261bf5faf8f : SUCCESS in 41m 11s (non-voting)\n- openstack-tox-pylint https://zuul.opendev.org/t/openstack/build/3349ef0a90a943099751eb3fba348182 : FAILURE in 8m 34s (non-voting)\n- cinder-plugin-ceph-tempest https://zuul.opendev.org/t/openstack/build/943c083beb754c0a863f615fec140516 : SUCCESS in 1h 19m 28s\n- cinder-plugin-ceph-tempest-mn-aa https://zuul.opendev.org/t/openstack/build/09468663267641d9a9545299bd8afe66 : FAILURE in 1h 34m 47s (non-voting)\n- cinder-tempest-plugin-lvm-lio-barbican https://zuul.opendev.org/t/openstack/build/457932dc3fc84b109e3daef3279bbc57 : SUCCESS in 1h 30m 51s\n- cinder-grenade-mn-sub-volbak https://zuul.opendev.org/t/openstack/build/da7365cda4d7477692a350c52cbe873d : SUCCESS in 1h 19m 00s\n- cinder-tempest-lvm-multibackend https://zuul.opendev.org/t/openstack/build/fe21294ece714e76b2ccec4989e1001f : SUCCESS in 1h 15m 26s (non-voting)\n- devstack-plugin-nfs-tempest-full https://zuul.opendev.org/t/openstack/build/51e370e45c0e48fabd8e5fb212214727 : SUCCESS in 1h 26m 51s (non-voting)\n- tempest-slow-py3 https://zuul.opendev.org/t/openstack/build/fd4c378a0723482d8cc68972b3467df5 : SUCCESS in 2h 15m 41s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/0e9c25ff386a4c6691f88f8727b227b3 : SUCCESS in 59m 07s","accounts_in_message":[],"_revision_number":1},{"id":"4e6f1a82cf01f717cd63baea677e71ee255d8e01","tag":"autogenerated:cloudbase-ci","author":{"_account_id":26537,"name":"Cloudbase Cinder SMB3 CI","email":"cinder-smb3-ci@cloudbasesolutions.com","username":"cinder_smb3_ci"},"date":"2022-01-18 14:43:48.000000000","message":"Patch Set 1:\n\nBuild succeeded.\n\n- cinder-iscsi http://cloudbase-ci.com/cinder/825106/1/iscsi/ : SUCCESS in 1h 10m 35s\n- cinder-smb http://cloudbase-ci.com/cinder/825106/1/smb/ : SUCCESS in 58m 41s","accounts_in_message":[],"_revision_number":1},{"id":"0d18eea4f7b59d80be0c41656348dfc7e6fce240","author":{"_account_id":34318,"name":"HPE Nimble Storage CI","display_name":"HPE Nimble Storage CI","email":"raghavendra.tilay@capgemini.com","username":"hpe-nimble"},"date":"2022-01-18 15:36:09.000000000","message":"Patch Set 1:\n\nBuild failed.\n\n- iscsi-driver-alletra-6k https://hpe-storage.github.io/alletra-6k-ci-logs/logs/06/825106/1/check/iscsi-driver-alletra-6k/84d0547/84d0547.html : FAILURE in 52m 14s","accounts_in_message":[],"_revision_number":1},{"id":"8654bcc0a40d90d03ac61382c73b48ccbaa28faa","author":{"_account_id":10118,"name":"IBM PowerKVM CI","email":"kvmpower@linux.vnet.ibm.com","username":"powerkvm","tags":["SERVICE_USER"]},"date":"2022-01-18 15:54:02.000000000","message":"Patch Set 1:\n\nBuild failed. Test completed on IBM PowerKVM platform. For rechecking only on the IBM PowerKVM CI, add a review comment with pkvm- recheck. For contact and more information, see https://wiki.openstack.org/wiki/PowerKVM\n\n- tempest-dsvm-full-focal-py3 https://oplab9.parqtec.unicamp.br/pub/ppc64el/openstack/cinder/06/825106/1/check/tempest-dsvm-full-focal-py3/d0c4bef/ : SUCCESS in 2h 32m 52s\n- devstack-plugin-ceph-dsvm-focal-py3 https://oplab9.parqtec.unicamp.br/pub/ppc64el/openstack/cinder/06/825106/1/check/devstack-plugin-ceph-dsvm-focal-py3/ec05034/ : FAILURE in 1h 28m 09s","accounts_in_message":[],"_revision_number":1},{"id":"e924c817e6ddfb872c9d13586ed7fff7b16a558b","author":{"_account_id":32912,"name":"Pure Storage Third-Party CI","display_name":"Pure Storage Third-Party CI","email":"openstack-third-party-ci@purestorage.com","username":"purestorage-thirdparty-ci","status":"Doing CI things"},"date":"2022-01-18 19:54:51.000000000","message":"Patch Set 1:\n\nBuild failed.\n\n- pure-devstack-cinder-tempest-iscsi-aio http://openstack-logs.purestorage.com/06/825106/1/thirdparty-check/pure-devstack-cinder-tempest-iscsi-aio/fe8bd0e/ : TIMED_OUT in 3h 02m 16s\n- pure-devstack-cinder-tempest-fc-aio http://openstack-logs.purestorage.com/06/825106/1/thirdparty-check/pure-devstack-cinder-tempest-fc-aio/2ffa81e/ : FAILURE in 2h 07m 37s","accounts_in_message":[],"_revision_number":1},{"id":"eb0e19aeda2add7d138b418089358cecb7bb0877","author":{"_account_id":28801,"name":"Cisco Cinder CI","email":"cisco-cinder-ci@cisco.com","username":"cisco-cinder-ci"},"date":"2022-01-18 20:50:03.000000000","message":"Patch Set 1:\n\nBuild succeeded.\n\n- dsvm-tempest-cisco-zonemanager-job http://173.39.89.136/logs/06/825106/1/check/dsvm-tempest-cisco-zonemanager-job/804c9e5/ : SUCCESS in 1h 12m 58s","accounts_in_message":[],"_revision_number":1},{"id":"d8c78330f5b45201dbd0f571a6934624a43145b2","author":{"_account_id":15386,"name":"Nexenta CI","email":"openstackci@nexenta.com","username":"nexentaci","tags":["SERVICE_USER"]},"date":"2022-01-19 00:44:46.000000000","message":"Patch Set 1:\n\nBuild succeeded. For information on how to proceed, see https://docs.openstack.org/infra/manual/developers.html\n* NexentaStor5_Cinder_NFS http://openstack.deiter.ru/aaf864307c6ff20c3b5cc1ef422b55c2/refs-changes-06-825106-1/ns5_nfs : SUCCESS in 5h 25m 46s\n* NexentaStor5_Cinder_iSCSI http://openstack.deiter.ru/aaf864307c6ff20c3b5cc1ef422b55c2/refs-changes-06-825106-1/ns5_iscsi : SUCCESS in 5h 23m 51s\n\nLeave a comment with run-nexentaci to trigger a recheck. For more information about Nexenta CI, please see https://wiki.openstack.org/wiki/ThirdPartySystems/Nexenta_CI","accounts_in_message":[],"_revision_number":1},{"id":"fdd6638f101e5b56b3de1821a23ecbacd07db824","author":{"_account_id":31868,"name":"Open-E CI","email":"open-e-ci-joviandss@open-e.com","username":"open-e-ci-joviandss","tags":["SERVICE_USER"]},"date":"2022-01-19 14:39:57.000000000","message":"Patch Set 1:\n\nBuild succeeded.\n\n- cinder-joviandss-driver-ci http://51.89.139.192/openstack/cinder/06/825106/1/ : SUCCESS in 1h 35m 56s","accounts_in_message":[],"_revision_number":1},{"id":"63d08e5255425a9985a5b522fcee6cf6470bc1a9","tag":"autogenerated:NEC_Cinder_CI","author":{"_account_id":23613,"name":"NEC Cinder CI","email":"nec-cinder-ci@istorage.jp.nec.com","username":"nec-cinder-ci","tags":["SERVICE_USER"]},"date":"2022-01-22 13:16:59.000000000","message":"Patch Set 1:\n\nBuild succeeded.\n\n- NEC-FC https://fl9-119-243-99-132.tky.mesh.ad.jp/06/825106/1/20220122191718/NEC-FC : SUCCESS in 2h 54m 59s\n- NEC-ISCSI https://fl9-119-243-99-132.tky.mesh.ad.jp/06/825106/1/20220122191718/NEC-ISCSI : SUCCESS in 2h 59m 38s","accounts_in_message":[],"_revision_number":1},{"id":"aa7128d084ca104c09d578645607f5540ba57ab8","author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"date":"2022-02-06 04:57:34.000000000","message":"Patch Set 1: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"7208d37d75f87c0e71eb375ac09705e83f82db55","author":{"_account_id":32291,"name":"wushiming","email":"wushiming@yovole.com","username":"wushiming"},"date":"2022-02-09 10:43:42.000000000","message":"Patch Set 1: Code-Review+1","accounts_in_message":[],"_revision_number":1},{"id":"aaafc27b128ac1448326505970753319fe34af6c","author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"date":"2022-02-09 14:54:28.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"526197bb5db62aa40593bc819fb77e2bb94605e9","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-02-10 14:47:48.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"0dc2aa919db759e657c70f9a8ad4e8f369680d55","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-02-10 17:00:17.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/40db407e01d54eaeb8769e27b6781a47 : SUCCESS in 8m 12s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/bd6daf73d90645cfa66a6446df4e9f9a : SUCCESS in 11m 44s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/a26495d215594e528938c74c22a1c601 : SUCCESS in 11m 07s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/16f71085bdc541b1b256bee2d882ce84 : SUCCESS in 14m 57s\n- grenade https://zuul.opendev.org/t/openstack/build/7d3751bc83e2485c97ffc06fd51f934d : SUCCESS in 1h 01m 09s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/3755c48b9a2146e5bf5124e1eb747638 : SUCCESS in 1h 16m 52s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/7af58caed1e6412fbea833d4e9e0d069 : SUCCESS in 1h 08m 29s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/1dd9ed59a8a340e3adb56178368ad6ec : SUCCESS in 8m 17s\n- cinder-grenade-mn-sub-volbak https://zuul.opendev.org/t/openstack/build/c025b5bd9d834e9ba010a475f310a097 : SUCCESS in 1h 14m 24s\n- cinder-plugin-ceph-tempest https://zuul.opendev.org/t/openstack/build/056087efa22041c8b5b26aa904c6dd59 : SUCCESS in 1h 26m 53s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/35fbc13f00344470bd7bb99cea8f67b7 : SUCCESS in 1h 07m 09s","accounts_in_message":[],"_revision_number":1},{"id":"3ddadbed19b895b0be84aea248d833d2d86ca09d","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-02-10 17:00:18.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"d24760e1d54909e798af844e33054f26124ec4ef","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-02-10 17:16:09.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/3a2028525ff543b99b1ef0b00d3d1e41 : SUCCESS in 1m 36s\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/86444dcf6b0e437a98f16cdb2f8547f0 : SUCCESS in 1m 37s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"399da0782da1c37cdda4b5e9f737b820a66c016f","revisions":{"399da0782da1c37cdda4b5e9f737b820a66c016f":{"kind":"REWORK","_number":1,"created":"2022-01-18 11:54:40.000000000","uploader":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"ref":"refs/changes/06/825106/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cinder","ref":"refs/changes/06/825106/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cinder refs/changes/06/825106/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cinder refs/changes/06/825106/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cinder refs/changes/06/825106/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cinder refs/changes/06/825106/1"}}},"commit":{"parents":[{"commit":"bc6585577ee06825dc72a82f815069cba6372fa6","subject":"Expose volume_attachments in Volume OVO","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder/commit/bc6585577ee06825dc72a82f815069cba6372fa6"}]}],"author":{"name":"Gorka Eguileor","email":"geguileo@redhat.com","date":"2021-07-21 13:20:38.000000000","tz":120},"committer":{"name":"Gorka Eguileor","email":"geguileo@redhat.com","date":"2022-01-18 11:11:31.000000000","tz":60},"subject":"Fix: Race between attachment and volume deletion","message":"Fix: Race between attachment and volume deletion\n\nThere are cases where requests to delete an attachment made by Nova can\nrace other third-party requests to delete the overall volume.\n\nThis has been observed when running cinder-csi, where it first requests\nthat Nova detaches a volume before itself requesting that the overall\nvolume is deleted once it becomes `available`.\n\nThis is a cinder race condition, and like most race conditions is not\nsimple to explain.\n\nSome context on the issue:\n\n- Cinder API uses the volume \"status\" field as a locking mechanism to\n  prevent concurrent request processing on the same volume.\n\n- Most cinder operations are asynchronous, so the API returns before the\n  operation has been completed by the cinder-volume service, but the\n  attachment operations such as creating/updating/deleting an attachment\n  are synchronous, so the API only returns to the caller after the\n  cinder-volume service has completed the operation.\n\n- Our current code **incorrectly** modifies the status of the volume\n  both on the cinder-volume and the cinder-api services on the\n  attachment delete operation.\n\nThe actual set of events that leads to the issue reported in this bug\nare:\n\n[Cinder-CSI]\n- Requests Nova to detach volume (Request R1)\n\n[Nova]\n- R1: Asks cinder-api to delete the attachment and **waits**\n\n[Cinder-API]\n- R1: Checks the status of the volume\n- R1: Sends terminate connection request (R1) to cinder-volume and\n  **waits**\n\n[Cinder-Volume]\n- R1: Ask the driver to terminate the connection\n- R1: The driver asks the backend to unmap and unexport the volume\n- R1: The last attachment is removed from the DB and the status of the\n      volume is changed in the DB to \"available\"\n\n[Cinder-CSI]\n- Checks that there are no attachments in the volume and asks Cinder to\n  delete it (Request R2)\n\n[Cinder-API]\n\n- R2: Check that the volume\u0027s status is valid. It doesn\u0027t have\n  attachments and is available, so it can be deleted.\n- R2: Tell cinder-volume to delete the volume and return immediately.\n\n[Cinder-Volume]\n- R2: Volume is deleted and DB entry is deleted\n- R1: Finish the termination of the connection\n\n[Cinder-API]\n- R1: Now that cinder-volume has finished the termination the code\n  continues\n- R1: Try to modify the volume in the DB\n- R1: DB layer raises VolumeNotFound since the volume has been deleted\n  from the DB\n- R1: VolumeNotFound is converted to HTTP 404 status code which is\n  returned to Nova\n\n[Nova]\n- R1: Cinder responds with 404 on the attachment delete request\n- R1: Nova leaves the volume as attached, since the attachment delete\n  failed\n\nAt this point the Cinder and Nova DBs are out of sync, because Nova\nthinks that the attachment is connected and Cinder has detached the\nvolume and even deleted it.\n\nHardening is also being done on the Nova side [2] to accept that the\nvolume attachment may be gone.\n\nThis patch fixes the issue mentioned above, but there is a request on\nCinder-CSI [1] to use Nova as the source of truth regarding its\nattachments that, when implemented, would also fix the issue.\n\n[1]: https://github.com/kubernetes/cloud-provider-openstack/issues/1645\n[2]: https://review.opendev.org/q/topic:%2522bug/1937084%2522+project:openstack/nova\n\nCloses-Bug: #1937084\nChange-Id: Iaf149dadad5791e81a3c0efd089d0ee66a1a5614\n(cherry picked from commit 2ec2222841f6116707fe25bdcdae6ad6c2b9beb7)\nConflicts:\n\tcinder/tests/unit/attachments/test_attachments_manager.py\n\tcinder/volume/manager.py\n(cherry picked from commit ed0be0c8fa1d26c3f366dd3d58ad4a8318695dcb)\n(cherry picked from commit 7210c914c4ee08a06e6ec00e9a861b977d794ec8)\nConflicts:\n\tcinder/db/sqlalchemy/api.py\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder/commit/399da0782da1c37cdda4b5e9f737b820a66c016f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder/commit/399da0782da1c37cdda4b5e9f737b820a66c016f"}]},"branch":"refs/heads/stable/victoria"}},"requirements":[],"submit_records":[{"status":"CLOSED","labels":[{"label":"Verified","status":"OK","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"OK","applied_by":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"}},{"label":"Workflow","status":"OK","applied_by":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"}},{"label":"Review-Priority","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Verified\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}},{"name":"Workflow","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Workflow\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}},{"name":"Code-Review","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Code-Review\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}}]}
