Commit Graph

236 Commits

Author SHA1 Message Date
cccqqqlll 6fcb495c8b Add Cinder driver for TOYOU NetStor TYDS
* Supported Protocol
 - iSCSI

* Supported Feature
 - Create Volume
 - Delete Volume
 - Attach Volume
 - Detach Volume
 - Extend Volume
 - Create Snapshot
 - Delete Snapshot
 - Create Volume from Snapshot
 - Create Volume from Volume (clone)
 - Create lmage from Volume
 - Volume Migration (host assisted)

ThirdPartySystems: TOYOU TYDS CI
Implements: blueprint add-toyou-netstor-tyds-driver
Change-Id: I0a2b6e81c0440593a97c3aff2554cfdb96af77a5
2023-07-14 14:34:52 +08:00
Atsushi Kawai a92aa06e46 Hitachi: add GAD volume support
This patch adds Global-Active-Device("GAD")(*) volume support for
Hitachi VSP driver.
New properties will be added in configuration:
hbsd:topology sets to "active_active_mirror_volume" would specify a GAD
volume.
hitachi_mirror_xxx parameters would specify a secondary storage for GAD
volume.

(*) GAD is one of Hitachi storage product.
It can use volume replication to provide a HA environment for hosts
across systems and sites.

Implements: blueprint hitachi-gad-support
Change-Id: I4543cd036897b4db8b04011b808dd5af34439153
2023-02-20 05:56:27 +00:00
Zuul e6637b94fa Merge "nvmeof: Support new connection properties" 2023-02-18 19:18:20 +00:00
Atsushi Kawai 5363d21d57 Hitachi: add an option for host group name format
This patch is to add an configuration option which specifies
hostgroup(or iSCSI target) name format.

Implements: blueprint hitachi-vsp-add-hostgroup-name-format-option
Change-Id: Icf3c8dc4ba2fd96cda01d778e3a49406fec3b9db
2023-02-17 18:36:14 +00:00
Gorka Eguileor 8e9a347c0e nvmeof: Support new connection properties
The os-brick nvmeof connector supports  2 different connection
properties formats, the original one and a later one that added support
to multiple portals as well as replicated devices for a software RAID.

Targets that inherit from the nvmeof base target (spdk and nvmet)
supported the original connection properties format, but it was decided
that new features, such as multipathing, would only be added to os-brick
in the new format code path.

This patch adds support to the nvmeof target class (and specifically to
the nvmet target, though it should work for other as well) for the new
connection properties format to enable support for future features.

Support for the old connection properties has been maintained, and is
still the default, since we need an easy way to exert the old code path
in os-brick to ensure that the code still works.

Configuration option ``nvmeof_conn_info_version`` is used to select what
version of the connection properties the nvmet target should use. With
version 1 being the old format and version 2 the new format. Defaults to
the old format to preserve existing behavior.

Change-Id: If3f7f66a5cd23604cc81a6973304db9f9018fdb3
2023-02-03 14:56:19 +01:00
Zuul c9e65529d9 Merge "HPE: Cinder driver for HPE XP storage FC and iSCSI arrays" 2023-01-27 19:02:55 +00:00
Aneesh Pachilangottil 00cb2887ba NVMe-TCP volume driver for Fungible Storage
Add NVMe-TCP cinder volume driver for the Fungible Storage Cluster.

Implements: blueprint fungible-volume-driver
Change-Id: Ie3a8ef6694b1c6ac857d3314890f6b8eeef44bab
2023-01-22 23:35:04 +00:00
Atsushi Kawai 83fe53081e HPE: Cinder driver for HPE XP storage FC and iSCSI arrays
This patch adds cinder driver for HPE XP storage FC and iSCSI
arrays.

Implements: blueprint hpe-xp-fc-iscsi-cinder-driver
Change-Id: I6e4ebcb9dc67e444157aaa85fcd0239817a79136
2022-10-27 00:42:29 +00:00
Zuul 75e183b14f Merge "Hitachi: Add port scheduler" 2022-09-09 18:14:52 +00:00
Zuul cf77daf681 Merge "Add Cinder NFS driver for Dell PowerStore" 2022-07-29 17:13:33 +00:00
Zuul 4e7d338b9a Merge "Initial commit for Yadro Tatlin.UNIFIED driver" 2022-07-28 10:26:46 +00:00
Ivan Pchelintsev a5ce771687 Add Cinder NFS driver for Dell PowerStore
Implements: blueprint powerstore-nfs-driver
Co-Authored-By: Alexander Malashenko <alexander.malashenko@dell.com>
Change-Id: Ide1d002acb8e1730767b15afc0566b2bb25999ed
2022-07-28 01:27:22 -07:00
Vladislav Belogrudov 6934463943 Initial commit for Yadro Tatlin.UNIFIED driver
YADRO Cinder Driver

This commits introduces the YADRO Cinder Driver.
YADRO Cinder Driver provides iSCSI support for TATLIN.UNIFIED storages.
TATLIN.UNIFIED is a hybrid storage array with block and file access
supporting NVMe/SAS SSDs and SAS/NL-SAS/SATA HDDs designed to address
mid-range needs of enterprise. It is actively developed and maintained
by YADRO, a technology company with in-house R&D focused on designing
and developing efficient server and storage products for enterprise
workloads.

The YADRO Cinder Driver currently supports the following functionality:

Create Volume
Delete Volume
Attach Volume
Detach Volume
Extend Volume
Create Volume from Volume (clone)
Create Image from Volume
Volume Migration (host assisted)
Volume Multiattachment
Extend an Attached Volume
Thin Provisioning
Manage/Unmanage Volume
Image Cache
High Availability

Implements: blueprint yadro-tatlin-unified-driver
Co-Authored-By: Vladislav Belogrudov <v.belogrudov@yadro.com>
Change-Id: I586b79519573add80a1c34d9ba2656073852b4f7
2022-07-27 10:05:46 +03:00
Arun KV be100f18e0 Reintroduce DataCore driver
Related-Blueprint: datacore-volume-cinder-driver
Change-Id: I69228275fc36fb96c40fd219a9fb2f5d5e5b3cde
2022-07-04 10:32:23 +05:30
Atsushi Kawai a3256416ce Hitachi: Add port scheduler
This patch add a feature "Port Scheduler" for the Hitachi VSP Driver.
On Hitachi VSP storage, host groups are created and the same WWNs are
registered in all of the ports that are specified for the parameter
hitachi_compute_target_ports or for the parameter hitachi_target_ports.
For Hitachi storage devices, a maximum of 255 host groups and 255 WWNs
can be registered for one port. When volumes are attached, the upper
limit on the number of WWNs that can be registered might be
unexpectedly exceeded.

For the feature "Port scheduler", when the cinder-volume service
starts, the Fibre Channel Zone Manager obtains the WWNs of active
compute nodes and of active VMs. When volumes are attached, the WWNs
are registered in a round-robin procedure, in the same order as the
order of ports specified for the parameter hitachi_compute_target_ports
or for the parameter hitachi_target_ports.

Implements: blueprint hitachi-vsp-port-scheduler
Change-Id: I29882b806f5c799995ce209d19d3297275e5527c
2022-03-08 05:34:05 +00:00
Zuul fab51b6af0 Merge "Move nimble driver code to hpe folder" 2022-03-02 11:54:20 +00:00
Zuul 5b89039e9e Merge "Remove the need for project_id from API endpoints" 2022-02-23 15:40:46 +00:00
Alan Bishop 31b34e91e0 Remove the need for project_id from API endpoints
Inclusion of a project_id in API URLs is now optional, and no longer
required. Removing the project_id requirement facilitates supporting
Secure RBAC's notion of system scope, in which an API method is not
associated with a specific project.

The API v3 routing is enhanced to provide duplicate routes for API
methods that traditionally required a project_id in the URL:
- The existing route for which a project_id is in the URL
- A new route for when the URL does not include a project_id

To test both routes and ensure there are no regresssions, the "API
samples" functional tests include a project_id in the URLs, and the
rest of the functional tests do not include the project_id. This is
handled by changing the 'noauth' WSGI middleware to no longer add the
project_id, and adding a new 'noauth_include_project_id' middleware
filter that implements the legacy behavior.

A new microversion V3.67 is introduced, but it only serves to inform
clients whether the project_id is optional or required. When an API
node supports mv 3.67, the project_id is optional in all API requests,
even when the request specifies a earlier microversion. See the spec
Ia44f199243be8f862520d7923007e7182b32f67d for more details on this
behavior.

Note: Much of the groundwork for this is based on manila's patch
I5127e150e8a71e621890f30dba6720b3932cf583.

DocImpact
APIImpact

Implements: blueprint project-id-optional-in-urls
Change-Id: I3729cbe1902ab4dc335451d13ed921ec236fb8fd
2022-02-08 08:32:23 -08:00
Zuul 5cf395b385 Merge "Lightbits LightOS driver" 2022-02-02 04:01:32 +00:00
yuval brave beb2879793 Lightbits LightOS driver
This commit introduces the LightOS driver for cinder.
LightOS is a software-defined disaggregated clustered storage solution
running on commodity servers with commodity SSDs.
It is developed by Lightbits Labs (https://www.lightbitslabs.com)
and is actively developed and maintained.
LightOS is proprietary but the openstack drivers are
licensed under Apache v2.0.

The Cinder driver for LightOS currently supports the
 following functionality:

Create volume
Delete volume
Attach volume
Detach volume
Create image from volume
create volume from image
Live migration
Volume replication
Thin provisioning
Multi-attach
Extend volume
Create snapshot
Delete snapshot
Create volume from snapshot
Create volume from volume (clone)

This driver has been developed and has been in use for a couple
of years by Lightbits and our clients.
We have tested it extensively internally with multiple openstack
versions, including Queens, Rocky, Stein, and Train.
We have also tested it with master (19.1 xena) and we are working to
extend testing to cover additional openstack releases.

We are glad to join the openstack community and hope to get your
feedback and comments on this driver, and if it is acceptable,
to see it merged into the tree.

Signed-off-by: Yuval Brave  yuval@lightbitslabs.com

Depends-On: I2e86fa84049053b7c75421d33ad1a1af459ef4e0
Change-Id: I8e6eab23419a4e7f092bb49aa85a4aaab5a8ba38
2022-01-26 22:13:26 +02:00
Naoki Saito c4f5564d99 Add cinder volume drivers for NEC V series Storage
VStorageISCSIDriver is an iSCSI driver.
VStorageFCDriver is a Fibre Channel driver.
These drivers import Hitachi driver, and parameters are customized for
NEC.

Implements: blueprint nec-v-volume-driver
Change-Id: I7e7ebea51f8c3c80df99eb85a8327e5b8d1b63c6
2022-01-21 08:51:17 +00:00
Atsushi Kawai 4082ed3bea Hitachi: Make the parameters name variable for supporting OEM storages
This patch makes the parameters name variable for supporting OEM
storages

Change-Id: Ib5a1f7cfa0f3480dc850bf37b9ce2c988ff0f5d6
2022-01-17 06:09:28 +00:00
Ajitha Robert d67dcf42d4 Move nimble driver code to hpe folder
blueprint nimble-change-location

Change-Id: Id1f111462fc2558b90f9066387498bcb5e3217b2
2021-12-02 07:43:44 +00:00
Zuul b4102b4297 Merge "db: Remove 'db_driver' option" 2021-09-15 21:32:03 +00:00
Fernando Ferraz 2a017f5b3b NetApp ONTAP: Add storage assisted migration support
This patch adds support for storage assisted migration
(intra-cluster) to NetApp ONTAP drivers (iSCSI/FC/NFS), for the
following use cases:

1) Between pools in a same vserver and  backend/stanza. This
operation is non-disruptive on iSCSI and FC drivers.
2) Between pools in a same vserver but in a different
backend/stanza. This operation is disruptive in all cases
and requires the volume to be in `available` status.
3) Between pools in a different vserver in a different
backend/stanza. This operation is disruptive in all cases
and requires the volume to be in `available` status.

Storage assisted migration is only supported within the same
ONTAP cluster. If a migration between two different clusters is
requested, driver will automatically fallback to host assisted
migration.

Implements: blueprint ontap-storage-assisted-migration
Change-Id: Iaad87c80ae37b6c0fc5f788dc56f1f72c0ca07fa
2021-09-01 04:17:11 +00:00
Stephen Finucane 8353d6e204 db: Remove 'db_driver' option
This is a silly config option. We only have one database driver in-tree
and no plans to add more (SQLAlchemy is best in class). There's also no
way we'd be able to support out-of-tree drivers. Remove it entirely.

Change-Id: Ica3b2e8fcb079beca652e81d2230bcca82fb49d7
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2021-08-27 15:13:21 +01:00
Zuul aeabcfc3ca Merge "Update code layout and missing Zadara features" 2021-03-19 19:00:48 +00:00
Ratnakaram Rajesh 5be6226816 Update code layout and missing Zadara features
This patch changes following items of the Zadara driver:
- Changing the code layout of the Zadara driver.
- Using json format

This patch adds some missing features to the Zadara driver:
- Volume manage and unmanage
- Snapshot manage and unmanage
- List manageable volumes and snapshots
- Multiattach
- IPv6

Change-Id: I787e9e40c882e6ab252e10c239778019acb2e6c6
2021-03-18 20:22:32 +02:00
yangheng 11185189ba TOYOU: Abandon the target parameter and Report SAN driver options
Report SAN driver options:
Added configuration options(san_ip, san_ssh_port, san_login) to report on their specific "get_driver_options" method.

Abandon the target parameter:
The target parameter should not be required or used. Automatic adaptation when mapping.

This patch resolves the remaining issues with the target parameter and get_driver_options method in review [1].

[1]: https://review.opendev.org/c/openstack/cinder/+/767290

Change-Id: If127b75aac1ea6b25ec6473913410b1a7ec217d4
2021-02-18 05:41:44 +00:00
Zuul ea86de8308 Merge "Add KIOXIA KumoScale NVMeOF driver" 2021-02-12 03:46:00 +00:00
Zohar Mamedov 5b3304cfcc Add KIOXIA KumoScale NVMeOF driver
* Supported Protocol
 - NVMeOF

* Supported Feature
 - Volume Create/Delete
 - Volume Attach/Detach
 - Snapshot Create/Delete
 - Create Volume from Snapshot
 - Get Volume Stats
 - Copy Image to Volume
 - Copy Volume to Image
 - Clone Volume
 - Extend Volume

ThirdPartySystems: KIOXIA CI
Implements: blueprint kumoscale-driver
Change-Id: Ibaae35b02ccc254a8a0202ec1635f62ab18486ea
2021-02-10 15:40:17 +00:00
Zuul 876ac4e79f Merge "Add ceph iscsi volume driver" 2021-02-04 04:01:11 +00:00
Jegor van Opdorp 337248138e created s3 cinder backup driver
Co-Authored-By: Masahiro Okuri <okuri.masahiro@jp.fujitsu.com>
Change-Id: If24871ad6bf7558ae71e560141bf61ede61f81f5
Implements: blueprint support-s3-backup-driver
2021-01-28 10:56:43 -05:00
Walter A. Boring IV 56eaf475a4 Add ceph iscsi volume driver
The driver requires the new rbd-iscsi-client package, which is used
to talk to the rbd-target-api on the ceph iscsi gateway node.

The rbd-target-api is a python script meant to keep ceph iscsi gw nodes in
sync with each other, but the API is works for creating iscsi targets.
This is a new driver that makes heavy use of the ceph-iscsi project's
rbd-target-api python REST client here:
https://github.com/ceph/ceph-iscsi

The driver is a derivation of the rbd driver, and the intention is to reuse
as much of the base rbd driver as possible and just do iSCSI specific
code here.

Change-Id: Iff0e4d1137851c8f0b8ec25632d1186c2859b2fc
2021-01-28 08:22:13 -05:00
Zuul d26092348b Merge "Add Cinder driver for TOYOU ACS5000" 2021-01-22 20:42:27 +00:00
yangheng fe0822b1bc Add Cinder driver for TOYOU ACS5000
* Supported Protocol
 - iSCSI

* Supported Feature
 - Volume Create/Delete
 - Volume Attach/Detach
 - Snapshot Create/Delete
 - Create Volume from Snapshot
 - Get Volume Stats
 - Copy Image to Volume
 - Copy Volume to Image
 - Clone Volume
 - Extend Volume
 - Volume Migration

ThirdPartySystems: TOYOU ACS5000 CI
Change-Id: Ia7d2056e0a49032654812da74dac514dfac83529
Implement: blueprint toyou-acs5000-driver
2021-01-20 18:28:51 +00:00
Chris M e9d1bf8f6c Add driver for Dell EMC PowerVault ME Series
Change-Id: I0af2d5cfbbfdb384786ef0c17cf96ba8ca865ced
Implements: blueprint dellemc-me-driver
2021-01-16 23:41:45 +00:00
Ivan Kolodyazhny cddcc6e507 Delete TSM Backup driver
TSM backup driver is not supported by vendor
for a while and deprecated in Victoria release,
so it's safe to delete it now.

Change-Id: I0ab07708843fcbb64bf932667e9b79aab259f698
2020-11-03 18:53:39 +02:00
Zuul 27959daf2b Merge "Add Cinder driver for Open-E JovianDSS data storage" 2020-10-15 18:55:35 +00:00
andrei.perepiolkin e1e289ca8b Add Cinder driver for Open-E JovianDSS data storage
Added support of Open-E JovianDSS data storage.
Driver supports Open-E disaster recovery feature and cascade volume
deletion in addition to all required functions.

Implements: bp open-e-joviandss-driver

Change-Id: I72513ec2100f1f4cb7e3fdb57e69243aa01dba38
2020-10-11 17:43:58 +03:00
Zuul f154bc431f Merge "Backup: Limit number of concurent operations" 2020-08-07 17:54:37 +00:00
Zuul cb50a4c5dd Merge "Rebranding of VxFlex OS driver to PowerFlex" 2020-08-05 21:42:53 +00:00
rajinir 6c4e223705 Rebranding of VxFlex OS driver to PowerFlex
Renamed VxFlex OS driver to PowerFlex and move it to
another location. Change configuration options names
and removed deprecated ScaleIO name and related sio_
configuration options.

Change-Id: Iab5d66bbaab6533a4c1f8911e35fcd3a2cf09762
Implements: blueprint vxflexos-rebranding-driver
2020-07-27 11:49:05 -05:00
Ivan Pchelintsev 517cb6448b Add Cinder driver for Dell EMC PowerStore
* Supported Protocols
 - FC
 - iSCSI

* Supported Features
 - Volume Create/Delete
 - Volume Attach/Detach
 - Snapshot Create/Delete
 - Create Volume from Snapshot
 - Get Volume Stats
 - Copy Image to Volume
 - Copy Volume to Image
 - Clone Volume
 - Extend Volume
 - Revert Volume to Snapshot

Implements: blueprint powerstore-cinder-driver
Change-Id: Icef5b38ba39eec761c1cfa70e2a66bc28ddf4cd6
2020-07-22 22:40:09 +03:00
Kazumasa Nomura 8aaf6a68b3 Add Hitachi Block Storage Driver
This driver supports Hitachi VSP storages.
Hitachi driver was deleted once in Queens release because
we could not maintain 3rd party CI.
We restarted the cinder project and renewed a storage API.
We upload Hitachi driver based on REST API for Victoria release.

* Supported Protocol
 - FC
 - iSCSI

* Supported Feature
 - Volume Create/Delete
 - Volume Attach/Detach
 - Snapshot Create/Delete
 - Create Volume from Snapshot
 - Get Volume Stats
 - Copy Image to Volume
 - Copy Volume to Image
 - Clone Volume
 - Extend Volume
 - Manage Volume
 - Unmanage Volume

DocImpact
Implements: blueprint hitachi-storage-driver

Change-Id: I926407669a75a8c52a46e07c006aa699bae46006
2020-07-13 22:15:44 +09:00
Gorka Eguileor 30c2289c9b Backup: Limit number of concurent operations
This patch adds the backup_max_operations configuration option that
limits the number of concurrent backup and restore operations.

These operations can consume large amounts of RAM, so we should limit
them according to our system resources to avoid processes being killed
because we run out of memory.

The default is 15 concurrent operations, which could use up to 85GB
of RAM(in case of ceph which uses the maximum memory for this operation).
More details are added in the document.

Closes-Bug: #1865011
Co-authored-by: Rajat Dhasmana <rajatdhasmana@gmail.com>
Change-Id: Ica4e0cea67bc894f61a57c7898977951ce3a3633
2020-06-19 09:30:43 +02:00
Zuul 0dab916125 Merge "HPE 3PAR: Support duplicated FQDN in network" 2020-04-22 11:33:13 +00:00
traghavendra f1cb8e5d8f HPE 3PAR: Support duplicated FQDN in network
The 3PAR driver uses the FQDN of the node that is doing the
attach as an unique identifier to map the volume.

The problem is that the FQDN is not always unique, there are
environments where the same FQDN can be found in different systems, and
in those cases if both try to attach volumes the second system will
fail.

One example of this happening would be on a QA environment where you are
creating VMs and they all have names like controller-0.localdomain and
compute-0.localdomain.

This patch adds a configuration option to the 3PAR driver called
`unique_fqdn_network` to support these kind of environments.

Change-Id: I781144cbe68d6908333234a614e021365b0a6d4a
Closes-Bug: #1834695
2020-04-21 00:04:03 -07:00
wuqiongdan fdb6d28cdb Add sandstone iscsi driver.
Change-Id: I1614767c6e3f9ffcb3e4a33b29850a005b324e7b
Signed-off-by: wuqiongdan <wuqiongdan@szsandstone.com>
2020-04-09 14:14:35 +08:00
Brian Rosmaita 95c20b99c3 Revert "Remove ProphetStor Flexvisor Driver"
The driver removal policy was relaxed in January 2020 [0] to allow
unsupported drivers to remain in-tree at the discretion of the Cinder
project team.  Thus this driver, which was marked unsupported in
Train and removed early in Ussuri, is being restored.  It remains
deprecated and subject to removal should its presence affect the
gate adversely.

[0] https://docs.openstack.org/cinder/latest/drivers-all-about.html#driver-removal
git

This reverts commit cbda94022c.

Conflicts:
  cinder/volume/drivers/prophetstor/dplcommon.py
  - revised order of imports

Change-Id: I1af2b85f97ce64e4e667a844f7e2bac94b8ac7a8
Partially-implements: bp restore-unsupported-drivers
2020-04-06 08:52:14 -04:00