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
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
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
This patch adds cinder driver for HPE XP storage FC and iSCSI
arrays.
Implements: blueprint hpe-xp-fc-iscsi-cinder-driver
Change-Id: I6e4ebcb9dc67e444157aaa85fcd0239817a79136
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
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
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
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
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
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
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>
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
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
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
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
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
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
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
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
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
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