213 Commits

Author SHA1 Message Date
Peter Wang
572b84c073 VNX: New Cinder driver in Newton
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
2016-07-08 10:19:54 +08:00
Jenkins
6f2112caa8 Merge "Deprecate defining c-vol backends in DEFAULT" 2016-07-02 20:08:42 +00:00
Jenkins
a63059db85 Merge "Implement match-set type 3PAR FC VLUN creation" 2016-07-02 19:06:01 +00:00
Patrick East
395288aae4 Deprecate defining c-vol backends in DEFAULT
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
2016-06-30 12:58:16 -07:00
chenzongliang
d32d9966b6 Huawei: Support huawei consistency group
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
2016-06-30 13:13:19 +08:00
Jenkins
742f64b560 Merge "Provide Kaminario K2 all-flash array FC driver" 2016-06-29 20:58:05 +00:00
Lakshmi Narayana
bfae22b69b Provide Kaminario K2 all-flash array FC driver
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
2016-06-29 20:25:10 +03:00
Jenkins
9c0df41251 Merge "Huawei: Support iSCSI configuration in replication feature" 2016-06-29 13:26:33 +00:00
Jenkins
483bc008f3 Merge "Adding Scaling QoS for ScaleIO driver" 2016-06-29 10:40:04 +00:00
Jenkins
6605db7e40 Merge "huawei-iscsi-multipath-support" 2016-06-29 01:58:17 +00:00
Liucheng Jiang
3c36251017 Huawei: Support iSCSI configuration in replication feature
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
2016-06-28 08:57:02 +08:00
Jenkins
3d32e22fa8 Merge "Nexenta: Add NBD driver for NexentaEdge." 2016-06-27 20:43:42 +00:00
Jenkins
2b94a6589c Merge "Volume manage/unmanage support for Eqlx driver" 2016-06-23 19:40:27 +00:00
Aleksey Ruban
ca9e590f82 Nexenta: Add NBD driver for NexentaEdge.
DocImpact
Implements: blueprint nexentaedge-ndb-driver

Change-Id: Iead87f00d75bfa93a06c7d2c1c6ab708bc5d804b
2016-06-22 12:52:54 -06:00
Matan Sabag
17d7712fd1 Adding Scaling QoS for ScaleIO driver
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
2016-06-22 04:03:29 -07:00
Jay Mehta
0912153358 Implement match-set type 3PAR FC VLUN creation
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
2016-06-21 15:30:00 -07:00
Jenkins
b0252b3420 Merge "Allow setting CG name or description to empty value" 2016-06-20 13:39:14 +00:00
GaoZqiang
a80119a533 huawei-iscsi-multipath-support
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
2016-06-20 17:43:39 +08:00
Nikesh Mahalka
7f875697e0 Provide Kaminario K2 all-flash array iSCSI driver
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
2016-06-17 07:31:55 -04:00
haobing1
e22c244106 Allow setting CG name or description to empty value
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
2016-06-17 12:24:52 +08:00
Jenkins
67f3f6d51b Merge "Compact Kilo database migrations" 2016-06-15 21:41:09 +00:00
Jenkins
39b44bf2ee Merge "Add Auth Version 3 support in Swift Backup Driver" 2016-06-12 06:46:21 +00:00
Jenkins
660c978d1b Merge "Adds ACL, IP Pool, Multipath to Datera Driver" 2016-06-11 00:59:43 +00:00
Matt Smith
c06e552fd5 Adds ACL, IP Pool, Multipath to Datera Driver
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
2016-06-10 14:47:26 -07:00
Jenkins
01fc0e6cd9 Merge "Use oslo_middleware sizelimit" 2016-06-10 10:30:47 +00:00
Jenkins
b4b8222445 Merge "List manageable volumes and snapshots" 2016-06-09 21:49:25 +00:00
Tom Barron
ed4bcc0be5 Use oslo_middleware sizelimit
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
2016-06-09 07:29:51 -04:00
rajinir
62b0acb503 Volume manage/unmanage support for Eqlx driver
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
2016-06-08 14:54:52 -05:00
Falk Reimann
c2ac7d6604 Add Auth Version 3 support in Swift Backup Driver
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
2016-06-08 10:27:11 +02:00
Jenkins
82c352649b Merge "Dell SC: Added support for failover_host failback" 2016-06-06 23:30:16 +00:00
Jenkins
9dd32fc9d5 Merge "Manage/unmanage snapshot in ScaleIO driver" 2016-06-06 14:41:18 +00:00
Sean McGinnis
10bce4b764 Compact Kilo database migrations
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
2016-06-03 08:12:14 -05:00
Tom Swanson
6cfe6e29d7 Dell SC: Added support for failover_host failback
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
2016-06-01 13:30:17 -05:00
Avishay Traeger
1574ccf2d2 List manageable volumes and snapshots
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
2016-05-29 11:06:10 +03:00
Jenkins
8996d0867d Merge "Specify a user-agent in Pure volume drivers" 2016-05-25 22:10:17 +00:00
Matan Sabag
1861ed5836 Manage/unmanage snapshot in ScaleIO driver
Add support for manage/unmanage snapshot in the ScaleIO driver.

Change-Id: I1b6ff49294977bf086213355c240640117338dab
DocImpact:
Implements: blueprint scaleio-manage-existing-snapshot
2016-05-25 00:58:13 -07:00
Patrick East
925ee611d5 Specify a user-agent in Pure volume drivers
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
2016-05-09 13:44:55 -07:00
wanghao
fca31fc95e Add ability to filter by volume_glance_metadata
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
2016-05-06 08:22:29 +08:00
Vipin Balachandran
93490b2c9e VMware: Support for paraVirtual image adapter type
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
2016-05-04 14:59:34 -07:00
Jenkins
3ec6a6b791 Merge "Remove XML API" 2016-04-22 15:29:51 +00:00
Jenkins
cd03ed0c4d Merge "init_host offload to default to true" 2016-04-21 18:12:22 +00:00
Ivan Kolodyazhny
c042a05ac3 Remove XML API
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
2016-04-21 16:05:29 +00:00
Alex Meade
622627282f init_host offload to default to true
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
2016-04-21 13:50:18 +00:00
Jenkins
53d2a27da9 Merge "Deprecate nas_ip and change this to nas_host" 2016-04-20 17:09:59 +00:00
John Griffith
3f5e040e73 Implement replicate_volume & failover on SolidFire
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
2016-04-18 09:17:24 -06:00
Yuriy Nesenenko
5f5eedec0f Deprecate nas_ip and change this to nas_host
This patch fixes a usability/discoverability problem since
the option is named "nas_ip" but isn't just for IPs.

Change-Id: I3383e586219b7f831194805d2d4230ee620c7c14
2016-04-18 15:08:11 +03:00
Jenkins
5ad5809c8c Merge "Fix Brcd lookup service to use defined southbound protocol" 2016-04-14 18:17:24 +00:00
Jenkins
8aab21f70d Merge "VMware: Support for non-default port" 2016-04-12 20:59:56 +00:00
Sean McGinnis
0bc4bb4fbc Remove deprecated ISERTgtAdm
ISERTgtAdm was deprecated in the Kilo release. It should
now be removed.

Change-Id: I143b7b2fe9f5eb254d9e6b7ce35824d1ba97d457
2016-04-11 12:46:44 -05:00
Jenkins
8899193fba Merge "Added more options while uploading volume as image" 2016-04-05 00:16:18 +00:00