)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":18058,"name":"Lucio Seki","email":"lseki@redhat.com","username":"lseki"},"change_message_id":"2e94fc4675f2b8caa426fffdf47e5f2379ff9a6b","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"When this scenario occurrs, the SolidFire driver automatically"},{"line_number":16,"context_line":"resends the request, creating a second volume and leaving a"},{"line_number":17,"context_line":"duplicate unused. Although this doesn\u0027t affects"},{"line_number":18,"context_line":"driver functionality at first moment (the volume id from the"},{"line_number":19,"context_line":"cluster is always correctly associated to cinder provider id),"},{"line_number":20,"context_line":"further operations may hit the unused volume, leading to"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9f560f44_87b7e021","line":17,"range":{"start_line":17,"start_character":32,"end_line":17,"end_character":47},"updated":"2020-10-06 15:00:27.000000000","message":"doesn\u0027t affect","commit_id":"81a5879157f80bdb6bf98af5eaa6a222efe5030b"},{"author":{"_account_id":30555,"name":"Fernando Ferraz","display_name":"Fernando Ferraz","email":"fesilva@redhat.com","username":"fernandoperches"},"change_message_id":"d1f4d997b6d142db11085824ae422e589ed32918","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"When this scenario occurrs, the SolidFire driver automatically"},{"line_number":16,"context_line":"resends the request, creating a second volume and leaving a"},{"line_number":17,"context_line":"duplicate unused. Although this doesn\u0027t affects"},{"line_number":18,"context_line":"driver functionality at first moment (the volume id from the"},{"line_number":19,"context_line":"cluster is always correctly associated to cinder provider id),"},{"line_number":20,"context_line":"further operations may hit the unused volume, leading to"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5f681702_e5270b64","line":17,"range":{"start_line":17,"start_character":32,"end_line":17,"end_character":47},"in_reply_to":"9f560f44_87b7e021","updated":"2020-10-19 14:59:23.000000000","message":"fixed Lucio","commit_id":"81a5879157f80bdb6bf98af5eaa6a222efe5030b"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"b9c1afd871bf26de3b16bb34d1baaedcfa21bee7","unresolved":false,"context_lines":[{"line_number":18,"context_line":"driver functionality at first moment (the volume id from the"},{"line_number":19,"context_line":"cluster is always correctly associated to cinder provider id),"},{"line_number":20,"context_line":"further operations may hit the unused volume, leading to"},{"line_number":21,"context_line":"unexpeted hehavior."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"This patch fixes this issue by:"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"1f621f24_8b989cc0","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":18},"updated":"2020-11-04 20:12:14.000000000","message":"Nit: unexpected behavior","commit_id":"17d1e5163393a8c5210934ba565448ee49c6cfa7"},{"author":{"_account_id":30555,"name":"Fernando Ferraz","display_name":"Fernando Ferraz","email":"fesilva@redhat.com","username":"fernandoperches"},"change_message_id":"7abf97003f34a07e971ca0862576a58e04845890","unresolved":false,"context_lines":[{"line_number":18,"context_line":"driver functionality at first moment (the volume id from the"},{"line_number":19,"context_line":"cluster is always correctly associated to cinder provider id),"},{"line_number":20,"context_line":"further operations may hit the unused volume, leading to"},{"line_number":21,"context_line":"unexpeted hehavior."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"This patch fixes this issue by:"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"1f621f24_5fa8e875","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":18},"in_reply_to":"1f621f24_8b989cc0","updated":"2020-11-06 10:09:49.000000000","message":"fixed","commit_id":"17d1e5163393a8c5210934ba565448ee49c6cfa7"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"b9c1afd871bf26de3b16bb34d1baaedcfa21bee7","unresolved":false,"context_lines":[{"line_number":28,"context_line":"2. Adding option ´sf_volume_create_timeout´ to the SolidFire"},{"line_number":29,"context_line":"driver, to allow users to set the appropriate timeout value for"},{"line_number":30,"context_line":"their environment."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Closes-Bug: #1896112"},{"line_number":33,"context_line":"Change-Id: I4383b691a8cc4aacb046332e418aafb88ba8ba56"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"1f621f24_2b88681d","line":31,"updated":"2020-11-04 20:12:14.000000000","message":"There\u0027s one other thing you do that\u0027s not mentioned here, namely, before you make a create call to the backend, you first check to see if a volume with the requested name already exists--so even if the configured timeout is too small, you will prevent creation of a duplicate volume.  Might be worth mentioning somewhere (maybe a docs follow-up?) that if you see a bunch of \u0027Volume name [%s] already exists in SolidFire backend.\u0027 errors in the log, the sf_volume_create_timeout should be increased.","commit_id":"17d1e5163393a8c5210934ba565448ee49c6cfa7"},{"author":{"_account_id":30555,"name":"Fernando Ferraz","display_name":"Fernando Ferraz","email":"fesilva@redhat.com","username":"fernandoperches"},"change_message_id":"7abf97003f34a07e971ca0862576a58e04845890","unresolved":false,"context_lines":[{"line_number":28,"context_line":"2. Adding option ´sf_volume_create_timeout´ to the SolidFire"},{"line_number":29,"context_line":"driver, to allow users to set the appropriate timeout value for"},{"line_number":30,"context_line":"their environment."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Closes-Bug: #1896112"},{"line_number":33,"context_line":"Change-Id: I4383b691a8cc4aacb046332e418aafb88ba8ba56"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"1f621f24_1f90304e","line":31,"in_reply_to":"1f621f24_2b88681d","updated":"2020-11-06 10:09:49.000000000","message":"You are correct, I\u0027ve added the initial checking to the list in commit message. I will also add a note in SolidFire docs regarding suggesting operators to increase sf_volume_create_timeout in case of frequent \"Volume already exists\" messages. Thanks for the suggestion!","commit_id":"17d1e5163393a8c5210934ba565448ee49c6cfa7"}],"cinder/tests/unit/volume/drivers/solidfire/test_solidfire.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"d94b29880c527db759c52144ec0f98e98dea68d4","unresolved":false,"context_lines":[{"line_number":370,"context_line":"                             \u0027attributes\u0027: {\u0027uuid\u0027: f_uuid[1]},"},{"line_number":371,"context_line":"                             \u0027qos\u0027: None,"},{"line_number":372,"context_line":"                             \u0027iqn\u0027: test_name}]}}"},{"line_number":373,"context_line":"            if params and params.get(\u0027startVolumeID\u0027, None):"},{"line_number":374,"context_line":"                volumes \u003d result[\u0027result\u0027][\u0027volumes\u0027]"},{"line_number":375,"context_line":"                selected_volumes \u003d [v for v in volumes if v.get(\u0027volumeID\u0027) !\u003d"},{"line_number":376,"context_line":"                                    params[\u0027startVolumeID\u0027]]"}],"source_content_type":"text/x-python","patch_set":7,"id":"1f621f24_95f20599","line":373,"range":{"start_line":373,"start_character":52,"end_line":373,"end_character":58},"updated":"2020-11-14 18:33:56.000000000","message":"Default return from .get() is None, so this is a little redundant.","commit_id":"42c92cc407d475751bc61c98445c9c0740a71496"}],"cinder/volume/drivers/solidfire.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"446601ff249bce58252a16156347f985614dd1c1","unresolved":false,"context_lines":[{"line_number":118,"context_line":"xNotInVolumeAccessGroup \u003d \u0027xNotInVolumeAccessGroup\u0027"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"class DuplicateSfVolumeNames(exception.Duplicate):"},{"line_number":122,"context_line":"    message \u003d _(\"Detected more than one volume with name %(vol_name)s\")"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3f65232a_7293bb50","line":121,"range":{"start_line":121,"start_character":29,"end_line":121,"end_character":48},"updated":"2020-10-22 17:54:15.000000000","message":"You might consider basing this on SolidFireDriverException in the future.","commit_id":"f5aac481847e8aac76bec5339d98b7a3d28910b6"}],"releasenotes/notes/sf-fix-duplicate-volume-request-lost-adefacda1298dc62.yaml":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"b9c1afd871bf26de3b16bb34d1baaedcfa21bee7","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    the SolidFire backend successfully processes a request and creates"},{"line_number":8,"context_line":"    the volume, but fails to deliver the result back to the driver (the"},{"line_number":9,"context_line":"    response is lost). When this scenario occurs, the SolidFire driver"},{"line_number":10,"context_line":"    will retry the operation, creating a duplicate volume."}],"source_content_type":"text/x-yaml","patch_set":6,"id":"1f621f24_cb03b4b7","line":10,"range":{"start_line":10,"start_character":30,"end_line":10,"end_character":58},"updated":"2020-11-04 20:12:14.000000000","message":"maybe:\n\nwhich previously resulted in the creation of a duplicate volume.  This fix adds the ``sf_volume_create_timeout`` configuration option (default value: 60 seconds) which specifies an additional length of time that the driver will wait for the volume to become active on the backend before raising an exception.\n\n(You can adjust the wording--the key thing is to tell the operator about the new option.)","commit_id":"17d1e5163393a8c5210934ba565448ee49c6cfa7"},{"author":{"_account_id":30555,"name":"Fernando Ferraz","display_name":"Fernando Ferraz","email":"fesilva@redhat.com","username":"fernandoperches"},"change_message_id":"7abf97003f34a07e971ca0862576a58e04845890","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    the SolidFire backend successfully processes a request and creates"},{"line_number":8,"context_line":"    the volume, but fails to deliver the result back to the driver (the"},{"line_number":9,"context_line":"    response is lost). When this scenario occurs, the SolidFire driver"},{"line_number":10,"context_line":"    will retry the operation, creating a duplicate volume."}],"source_content_type":"text/x-yaml","patch_set":6,"id":"1f621f24_1fccb05f","line":10,"range":{"start_line":10,"start_character":30,"end_line":10,"end_character":58},"in_reply_to":"1f621f24_cb03b4b7","updated":"2020-11-06 10:09:49.000000000","message":"I agree, it would be nice to have the sf_volume_create_timeout option described in the release notes. Your suggestion looks great and I\u0027ve just appended it to reno :P","commit_id":"17d1e5163393a8c5210934ba565448ee49c6cfa7"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"d94b29880c527db759c52144ec0f98e98dea68d4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    NetApp SolidFire driver `Bug #1896112"},{"line_number":5,"context_line":"    \u003chttps://bugs.launchpad.net/cinder/+bug/1896112\u003e`_:"},{"line_number":6,"context_line":"    Fixes an issue that may duplicate volumes during creation, in case"},{"line_number":7,"context_line":"    the SolidFire backend successfully processes a request and creates"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"1f621f24_9547a5bc","line":4,"updated":"2020-11-14 18:33:56.000000000","message":"Our guideline is now to start with the link to the bug, then describe the change. But close enough.","commit_id":"42c92cc407d475751bc61c98445c9c0740a71496"}]}
