Fernando Ferraz 42c92cc407 NetApp SolidFire: Fix duplicate volume when API response is lost
The SolidFire driver retries API requests in case a connection
error occurrs. When network is unstable, there may be the
possibility that the SolidFire backend successfully receive
and process a create volume operation, but fail to deliver the
response back to the driver.

When this scenario occurrs, the SolidFire driver automatically
resends the request, creating a second volume and leaving a
duplicate unused. Although this doesn't affect
driver functionality at first moment (the volume id from the
cluster is always correctly associated to cinder provider id),
further operations may hit the unused volume, leading to
unexpected hehavior.

This patch fixes this issue by:

1. Checking if the volume name already exists in the
backend before trying to create it. Volume creation will
raise a exception and abort in case of a volume is found.

2. Checking for volume creation right after a read timeout is
detected, preventing invalid API calls.

3. Adding option ´sf_volume_create_timeout´ to the SolidFire
driver, to allow users to set the appropriate timeout value for
their environment.

Closes-Bug: #1896112
Change-Id: I4383b691a8cc4aacb046332e418aafb88ba8ba56
2020-11-06 06:54:47 -03:00
2020-09-16 14:05:31 +00:00
2020-11-04 21:23:42 +00:00
2020-11-03 18:53:39 +02:00
2020-10-14 08:24:13 -04:00
2020-10-14 08:24:13 -04:00
2019-04-19 19:26:48 +00:00
2017-10-10 00:46:42 +00:00
2020-08-19 15:00:35 +00:00
2012-05-03 10:48:26 -07:00
2020-10-14 08:24:13 -04:00
2020-01-22 11:44:36 +00:00
2020-02-15 14:15:18 -06:00
2020-10-14 08:24:13 -04:00
2020-04-17 14:47:10 +02:00
2020-10-14 08:24:13 -04:00

OpenStack Cinder

image

OpenStack Cinder is a storage service for an open cloud computing service.

You can learn more about Cinder at:

Getting Started

If you'd like to run from the master branch, you can clone the git repo:

git clone https://opendev.org/openstack/cinder

If you'd like to contribute, please see the information in CONTRIBUTING.rst

You can raise bugs on Launchpad

Python client

Python Cinderclient

Description
OpenStack Block Storage (Cinder)
Readme 912 MiB
Languages
Python 99.7%
Smarty 0.3%