)]}'
{"id":"openstack%2Fcinder~817707","triplet_id":"openstack%2Fcinder~stable%2Fwallaby~I6f7f7d19540361204d4ae3ead2bd6dcddb8fcd68","project":"openstack/cinder","branch":"stable/wallaby","topic":"bug/1947370","attention_set":{},"removed_from_attention_set":{"9535":{"account":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"last_update":"2021-11-12 07:11:25.000000000","reason":"Change was abandoned"}},"hashtags":[],"change_id":"I6f7f7d19540361204d4ae3ead2bd6dcddb8fcd68","subject":"Use file locks in connectors","status":"ABANDONED","created":"2021-11-12 07:09:09.000000000","updated":"2021-11-12 12:06:45.000000000","total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"4d9bb9ad52bf1aa9764ce6259cf162aeff21ac63","_number":817707,"virtual_id_number":817707,"owner":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"actions":{},"labels":{"Verified":{"all":[{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"}],"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":{"all":[{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"}],"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":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":2},"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"}],"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":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"}],"CC":[{"_account_id":15386,"name":"Nexenta CI","email":"openstackci@nexenta.com","username":"nexentaci","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2021-11-12 07:09:09.000000000","updated_by":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"reviewer":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"state":"REVIEWER"},{"updated":"2021-11-12 12:06:45.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"}],"messages":[{"id":"1d23bed8c67c20a1b26739cbb9184eb384ec4625","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"date":"2021-11-12 07:09:09.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"12bfbc0d6672ab12c32e740f19f4f3b9318a15f7","tag":"autogenerated:gerrit:abandon","author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"date":"2021-11-12 07:11:25.000000000","message":"Abandoned\n\nSorry, totally wrong backport.","accounts_in_message":[],"_revision_number":1},{"id":"4d9bb9ad52bf1aa9764ce6259cf162aeff21ac63","author":{"_account_id":15386,"name":"Nexenta CI","email":"openstackci@nexenta.com","username":"nexentaci","tags":["SERVICE_USER"]},"date":"2021-11-12 12:06:45.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-07-817707-1/ns5_nfs : SUCCESS in 4h 36m 31s\n* NexentaStor5_Cinder_iSCSI http://openstack.deiter.ru/aaf864307c6ff20c3b5cc1ef422b55c2/refs-changes-07-817707-1/ns5_iscsi : SUCCESS in 4h 18m 34s\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}],"current_revision_number":1,"current_revision":"0c4b2537d3daabeee4aebc494f47a3e11f7fafdc","revisions":{"0c4b2537d3daabeee4aebc494f47a3e11f7fafdc":{"kind":"REWORK","_number":1,"created":"2021-11-12 07:09:09.000000000","uploader":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"ref":"refs/changes/07/817707/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cinder","ref":"refs/changes/07/817707/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cinder refs/changes/07/817707/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cinder refs/changes/07/817707/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cinder refs/changes/07/817707/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cinder refs/changes/07/817707/1"}}},"commit":{"parents":[{"commit":"f2fe6cc115da08670e7aab39fc21b354ce55d3cd","subject":"RBD: Open RBD images read-only where possible","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder/commit/f2fe6cc115da08670e7aab39fc21b354ce55d3cd"}]}],"author":{"name":"Gorka Eguileor","email":"geguileo@redhat.com","date":"2021-10-15 12:33:57.000000000","tz":120},"committer":{"name":"whoami-rajat","email":"rajatdhasmana@gmail.com","date":"2021-11-12 07:09:02.000000000","tz":-300},"subject":"Use file locks in connectors","message":"Use file locks in connectors\n\nCurrently os-brick is using in-process locks that will only prevent concurrent\naccess to critical sections to threads within a single process.\n\nBut based on the comment from iSCSI it seems like the code assumed that\nthese were file based locks that prevented concurrent access from\nmultiple processes.\n\nMentioned iSCSI comment is being removed because it\u0027s not correct that\nour current retry mechanism will work with connect and disconnect\nconcurrency issues.\n\nThe reason why we haven\u0027t seen errors in Nova is because it runs a\nsingle process and locks will be effective.\n\nThis is probably also not an issue in some transport protocols, such as\nFC and RBD, and it wouldn\u0027t be an issue in iSCSI connections that don\u0027t\nshare targets.\n\nBut for others, such as  iSCSI with shared targets and NVMe-OF, not\nusing file locks will create race conditions in the following cases:\n\n- More than 1 cinder backend: Because we can have one backend doing a\n  detach in a create volume from image and the other an attach for an\n  offline migration.\n\n- Backup/Restore if backup and volume services are running on the same\n  host.\n\n- HCI scenarios where cinder volume and nova compute are running on the\n  same host, even if the same lock path if configured.\n\n- Glance using Cinder as backend and is running on the same node as\n  cinder-volume or cinder-backup.\n\nThe problematic race conditions happen because the disconnect will do a\nlogout of the iSCSI target once the connect call has already confirmed\nthat the session to the target exists.\n\nWe could just add the file locks to iSCSI and NVMe, but I think it\u0027s\nsafer to add it to all the connectors and then, after proper testing, we\ncan can change back the locks that can be changed, and remove or reduce\nthe critical section in others.\n\nCloses-Bug: #1947370\nChange-Id: I6f7f7d19540361204d4ae3ead2bd6dcddb8fcd68\n(cherry picked from commit 6a43669edc583f8fbcfb4c0f1c7bf6cebad9abd7)\n(cherry picked from commit 19a4820f5c4ccca10d50d08198873b1515ee257b)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder/commit/0c4b2537d3daabeee4aebc494f47a3e11f7fafdc"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder/commit/0c4b2537d3daabeee4aebc494f47a3e11f7fafdc"}]},"branch":"refs/heads/stable/wallaby"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
