Previous VNX driver implemented all array operations
in driver, which complicated the drive logic.
In this patch, we leverage a library named
storops to interact with VNX array.
New changes below:
* Consolidate VNX driver entry, both
FC and iSCSI driver use the same entry name:
volume_driver =
cinder.volume.drivers.emc.vnx.driver.EMCVNXDriver
* A new driver option is introduced:
storage_protocol = <fc|iscsi>
* some existing bugs no longer existed.
Co-authored-By: Tang Tina <tina.tang@emc.com>
Co-authored-By: Liang Ryan <ryan.liang@emc.com>
DocImpact
Implements: blueprint new-vnx-driver
Closes-bug: #1569245
Closes-bug: #1524160
Closes-bug: #1589338
Change-Id: I9f31db708b022b16debaa4f6c5a87d95e5ac2a4f
We will, in future releases, remove support for this. For
now we will log a big warning when someone uses c-vol without
an enabled_backends config set.
DocImpact: Need to document upgrade path and new
recommended config.
Implements: blueprint shared-backend-config
Change-Id: Idf0a7346ae5d5ae45f9fc05a526ef5d66b162a3f
Adding support for consistency groups in huawei driver.
supports the following interfaces:
1.create_consistencygroup
2.delete_consistencygroup
3.update_consistencygroup
4.create_cgsnapshot
5.delete_cgsnapshot
DocImpact
Implements: blueprint support-huawei-consistency-group
Change-Id: Ib35c382d1cc008f483a60da557781435dde098e1
The purpose is to provide cinder driver for
Kaminario K2 all-flash FC array. It will include the minimum
set of features required by the Newton(N) release.
run-Kaminario K2FC CI
DocImpact
Implements: blueprint kaminario-fc-cinder-driver
Co-Authored-By: Nikesh Mahalka <Nikesh.Mahalka.ctr@kaminario.com>
Co-Authored-By: Sreedhar Varma<Sreedhar.Varma.ctr@kaminario.com>
Co-Authored-By: Ido Benda<Ido.Benda@kaminario.com>
Change-Id: Ib8154c720537a86a3fa9c8f7429e27f5ee8db151
In most case, users need much more features to attach volume to VM,
such as iSCSI multipath, CHAP, etc. In Huawei cinder driver replication
feature, we need to fit the case when using iSCSI driver.
We add a new key word into replication_device, called iscsi_info. The
detail as follows:
replication_device = backend_id:huawei-replica-1,
storage_pool:pool_1,
san_address:san_url_1;san_url_2,
iscsi_default_target_ip:192.168.1.100,
san_user:admin,san_password:passwd,
iscsi_info: {Name:xxx;CHAPinfo:user#password;ALUA:1;
TargetIP:0.0.0.0;TargetPortGroup:xxx};
{Name:xxx;CHAPinfo:user#password;ALUA:1;
TargetIP:0.0.0.0;TargetPortGroup:xxx}
All key words in iscsi_info are case insensitive. The meaning of them
are the same with that in huawei_config.xml, which always used in
master array.
Change-Id: I4a0cce1858c3a8539a62e7dae6e1092d4e86707f
Closes-Bug: #1588736
Add 2 new qos keys for ScaleIO: maxIOPSperGB and maxBWperGB.
The user can specify those in order to get QoS correlated with
the volume size.
the driver will always choose the minimum between the scaling QoS
keys and the pertinent maximum limitation key: maxIOPS, maxBWS.
Change-Id: I089e1a24af7925ed9b5f4e791d4ff30c0bd418e5
DocImpact:
Implements: blueprint scaleio-scaling-qos
Creating match-set type FC VLUN, instead of host sees type.
Passing node-slot-port details while creating a VLUN.
This patch fixes dangling lun entry left when both ISCSI and FC
attaches are made on the same compute host, after removing all
attachments. Updated version number to 3.0.8.
Updated broken unit test cases.
Adding release note.
Closes-Bug: #1577993
Change-Id: I927638584093130b0e94c9cdd8074b3617baa366
Adding support for iSCSI multipath in huawei cinder driver. If enable
iSCSI multipath, when attaching volume, cinder driver will get all
useable eth ports from target storage, and return them to nova. The
params like DefaultTargetIP and TargetPortGroup in configure file will
not take effect. If iSCSI multipath is not enabled, cinder driver will
use the info like DefaultTargetIP or TargetPortGroup in config file to
get corresponding ports from target storage.
DocImpact
Implements: blueprint huawei-iscsi-multipath-support
Change-Id: I9d94c2b56073c007a7b71b46ed163326c748f0b4
The purpose is to provide cinder driver for
Kaminario K2 all-flash iSCSI array. It will include the minimum
set of features required by the Newton(N) release.
DocImpact
Implements: blueprint kaminario-iscsi-cinder-driver
Co-Authored-By: Lakshmi Narayana<Lakshmi.Narayana.ctr@kaminario.com>
Co-Authored-By: Sreedhar Varma<Sreedhar.Varma.ctr@kaminario.com>
Co-Authored-By: Ido Benda<Ido.Benda@kaminario.com>
Change-Id: Iad05e85ae512b0a97da5420cb66a08e23aa457db
This change allow API user to remove the consistency group name
or description information.
If user use the `cinder consisgroup-update consisgroup-id --name ''`
or `cinder consisgroup-update consisgroup-id --description ''`
to update the consisgroup's name or description information,
the consisgroup's name or description information will be removed.
APIImpact
Change-Id: I0d661775994d6de580f8788397f0e91e90148edd
Closes-Bug: #1572986
Reorganized the code a bit, added support for ACLs, IP Pools
and Multipath to the Datera Elastic DataFabric Storage driver
DocImpact
Implements: blueprint datera-cinder-driver-update-2.1
Change-Id: I1a3d61aaed18ac550825f4f368c16079e252437b
In Kilo, cinder.api.middleware.sizelimit was replaced by a
compatabilityshim calling in to oslo_middleware.sizelimit and a
deprecation log message was added to indicate the change to
use oslo_middleware [1]. However, the wsgi api-paste.ini file
still uses cinder.api.middleware.sizelimit.
This commit modifies api-paste.ini to use oslo_middlware.sizelimit
directly, thereby allowing removal of the compatabilty shim in
the next release.
[1] Ia99ab479cb8ef63a0db1a1208cc2501abba6132c
Change-Id: Ic0e2c401b0facdd9abe954b0531d970abf4bca22
This change will allow cinder to manage existing
volumes on Dell PS Series(Equallogic) backend and also
unmanage them.
DocImpact
Implements: blueprint eqlx-volume-manage-unmanage
Change-Id: I2a2f950e9ea3017d8c0bee8dbc025cf4f4a8eb99
Currently it is not possible in the Swift Backup Driver
used in single_user mode to connect to Swift in Auth
Version 3. The needed information user_domain,
project_domain and project are not available. This patch
adds the config parameters backup_swift_user_domain,
backup_swift_project_domain and backup_swift_project and
forwards it to the swift client in the os_options parameter.
Adds also the unit test test_backup_swift_auth_v3_single_user
for testing the new configuration parameters.
DocImpact: The config options "backup_swift_user_domain",
"backup_swift_project_domain" and "backup_swift_project"
will need to be added to the Cinder docs. The config option
"backup_swift_auth_version" should reference also version 3.
Closes-Bug: #1518213
Change-Id: Ia57c8b0522f566690a18c8d895ef7db21a558028
This compacts all database migrations up to Kilo into one
initial schema. We are currently creating, updating, dropping,
and modifying the database on installation for every change
since the beginning. This is very inefficient. This will now
limit the number of changes done to the database for new
installations.
Deployments running a pre-Kilo version will need to upgrade to
Kilo before moving to Newton or later. Since Kilo is now EOL,
this shouldn't be an issue.
Change-Id: I39939022de4d2b069f24c11913a5d54b28d7b296
The Dell SC driver did not support failover_host failback. If
failover_host is run with a target of "default" the Dell SC
driver will attempt to fail back to the original SC. If unable
to failback a volume the driver will mark the volume in error
but so long as the SC is available will eventually return control
to the original SC.
At conclusion of the failback the original volume should be
replicated to all configured replication targets and contain
the latest changes from the backend the volume was failed over
to.
This can take quite some time as replications need to be brought
up, synced, torn down and re-created in the opposite direction.
Added logging line to retype. Fixed a retype option.
Some find_volume calls fixed.
Change-Id: I5c12119ca9604ae1c4b167743f12621d2cd99075
Cinder currently has the ability to take over the management of
existing volumes and snapshots ("manage existing") and to relinquish
management of volumes and snapshots ("unmanage"). The API to manage an
existing volume takes a reference, which is a driver-specific string
that is used to identify the volume on the storage backend. This
patch adds APIs for listing volumes and snapshots available for
management to make this flow more user-friendly.
DocImpact
APIImpact
Change-Id: Iff19b5002e5bc037e28c91d104853f40eb4cb6ab
Implements: blueprint list-manage-existing
Add support for manage/unmanage snapshot in the ScaleIO driver.
Change-Id: I1b6ff49294977bf086213355c240640117338dab
DocImpact:
Implements: blueprint scaleio-manage-existing-snapshot
Previously we were just using the default user-agent that the python
requests module would send. With newer versions of the pure storage
python module you can now specify a custom one.
This will help to identify on the backend what requests are being
sent by the VolumeDriver vs other python scripts running against the
same array.
As part of this we will also remove support for the older version of
the python module. The newer versions are released and easily upgraded
to.
Change-Id: Icf8595843e38381c6704fd6a9c66b752f91337a5
Closes-Bug: #1579194
This feature allows users to more conveniently query volume details by
filtering the volume list by certain image metadata.
For example, users can query a specific bootable volume quickly
filtering by image_name or other glance metadata.
APIImpact
1. User can use glance metadata to filter volume detail in cinder api.
The query url is like this:
"volumes/detail?glance_metadata={"image_name":"xxx"}"
2. Since microversion is implemented in M, this change will add a new
version "3.4".
DocImpact
1.Operator would need to add glance_metadata to 'query_volume_filters'
option for new functionality to work.
Change-Id: I1d276d93ad5e799401b48d2234e61c28a3aaf790
Implements: blueprint support-volume-glance-metadata-query
Currently the VMDK driver does not support creating volumes
with paraVirtual adapter type. It fails the copy image to
volume operation if the image's 'vmware_adaptertype' property
is set to 'paraVirtual'. This patch adds the paraVirtual
adapter type to the list of valid adapter types to fix this.
Closes-bug: #1578399
Change-Id: I981b1737974ae1fbb3eb3fef3811bcb50030d670
Cinder XML API is not tested by Tempest about for one year.
We don't know if it works or not. It was deprecated in
Mitaka release.
Implements blueprint: remove-xml-api
APIImpact
DocImpact
UpgradeImpact
Change-Id: If98db25f1f4032725444c3959acb9aad8f869802
The backup_service_inithost_offload (introduced in
If9d9e454cdd48669db6e4b8d96f340bbb6f99fad) configuration option
is false by default. Lots of deleting backups will block the
startup of the service for longer than acceptable. We should
also default this option to True to avoid delaying startup.
UpgradeImpact
Change-Id: Ia280dba770f4509cdf80563a89738cdc058015ee
This adds the Cheesecake Replication implementation
for the SolidFire driver.
We add the necessary methods for creating a replicated volume and
performing a failover properly that updates the status of volumes
on the failover host.
We also make sure that things like delete, attach etc work in a
failed over scenario.
For SolidFire we are using the remote cluster mvip as the
backend_id, here's an example replication_device entry for
a cinder.conf:
replication_device =
backend_id:192.168.139.102,mvip:192.168.139.102,login:admin,password:admin
Note that there's an independent fix from this patch series that needs
to be applied in order for things to work properly:
https://review.openstack.org/#/c/299723/
The last remaining task is to ensure we detect and deal with a restart
when we're in a failed over state.
Change-Id: I78244da226abce2544d0c3196fccdec50bf5b8e5
This patch fixes a usability/discoverability problem since
the option is named "nas_ip" but isn't just for IPs.
Change-Id: I3383e586219b7f831194805d2d4230ee620c7c14