]> review.fuel-infra Code Review - openstack-build/cinder-build.git/log
openstack-build/cinder-build.git
9 years agoMerge "Return volume name from backup_restore"
Jenkins [Sun, 16 Aug 2015 21:59:44 +0000 (21:59 +0000)]
Merge "Return volume name from backup_restore"

9 years agoMerge "Make X-IO volume driver wait for delete volume to complete"
Jenkins [Sun, 16 Aug 2015 21:01:42 +0000 (21:01 +0000)]
Merge "Make X-IO volume driver wait for delete volume to complete"

9 years agoMerge "Small clean up in volume object"
Jenkins [Sun, 16 Aug 2015 05:29:14 +0000 (05:29 +0000)]
Merge "Small clean up in volume object"

9 years agoMerge "Reduced file size to prevent timeout"
Jenkins [Sat, 15 Aug 2015 20:39:25 +0000 (20:39 +0000)]
Merge "Reduced file size to prevent timeout"

9 years agoMerge "Validate string, integer limit for input parameter"
Jenkins [Sat, 15 Aug 2015 03:02:12 +0000 (03:02 +0000)]
Merge "Validate string, integer limit for input parameter"

9 years agoMerge "Remove RetypeVD class, fix NFS driver retype"
Jenkins [Sat, 15 Aug 2015 02:58:51 +0000 (02:58 +0000)]
Merge "Remove RetypeVD class, fix NFS driver retype"

9 years agoMerge "Updated from global requirements"
Jenkins [Sat, 15 Aug 2015 02:58:35 +0000 (02:58 +0000)]
Merge "Updated from global requirements"

9 years agoMerge "On Volume list only retrieve needed data from DB"
Jenkins [Fri, 14 Aug 2015 23:32:29 +0000 (23:32 +0000)]
Merge "On Volume list only retrieve needed data from DB"

9 years agoMerge "Don't use context.elevated to get volume"
Jenkins [Fri, 14 Aug 2015 22:55:39 +0000 (22:55 +0000)]
Merge "Don't use context.elevated to get volume"

9 years agoMerge "Validate name and description string"
Jenkins [Fri, 14 Aug 2015 22:11:49 +0000 (22:11 +0000)]
Merge "Validate name and description string"

9 years agoMerge "Update SolidFire driver to pass newer flake8"
Jenkins [Fri, 14 Aug 2015 22:11:35 +0000 (22:11 +0000)]
Merge "Update SolidFire driver to pass newer flake8"

9 years agoMerge "3PAR: Adding performance metrics to volume status"
Jenkins [Fri, 14 Aug 2015 22:11:20 +0000 (22:11 +0000)]
Merge "3PAR: Adding performance metrics to volume status"

9 years agoMerge "Switch Pure volume drivers to use Snapshot Objects"
Jenkins [Fri, 14 Aug 2015 21:58:57 +0000 (21:58 +0000)]
Merge "Switch Pure volume drivers to use Snapshot Objects"

9 years agoMake X-IO volume driver wait for delete volume to complete
Richard Hedlind [Thu, 6 Aug 2015 04:52:35 +0000 (22:52 -0600)]
Make X-IO volume driver wait for delete volume to complete

Add a check to make sure the volume has been deleted from
the backend storage before returning from delete_volume.

Change-Id: Icc662de476fcb21ff2f7ca6aa69e46c434214d7e
Closes-Bug: #1482044

9 years agoReduced file size to prevent timeout
Jacob Gregor [Thu, 13 Aug 2015 20:31:16 +0000 (15:31 -0500)]
Reduced file size to prevent timeout

We currently have a test system that appears to be I/O constrained
and is hitting timeouts. Rather than mocking out the file copy, we
decided to reduce the file size in order to avoid timeouts. This way
we are not changing the way these test cases work, but we are reducing
the time required to run each test case. This patch will help improve
check and gate performance as well.

Change-Id: I04cf9d6dbdaebb8944a38ffa34d1e2e1b27e2552
Closes-bug: 1480361

9 years agoMerge "Handle missing temp volume and snapshot during cleanup"
Jenkins [Fri, 14 Aug 2015 20:14:29 +0000 (20:14 +0000)]
Merge "Handle missing temp volume and snapshot during cleanup"

9 years agoMerge "GPFS volume encryption-at-rest support"
Jenkins [Fri, 14 Aug 2015 20:02:12 +0000 (20:02 +0000)]
Merge "GPFS volume encryption-at-rest support"

9 years agoUpdate SolidFire driver to pass newer flake8
John Griffith [Fri, 14 Aug 2015 19:03:21 +0000 (13:03 -0600)]
Update SolidFire driver to pass newer flake8

Just an easy update of some things that newer versions of
flake8 complains about.

I've updated my env to flake8 2.1.0, and figured might as
well fix these up rather ignore them.  pep8 is 1.5.6 and pyflakes
is at 0.8.1

Change-Id: I6d22fe95b67acddcece283e6dca6fe980904bfed

9 years agoMerge "Enable cinder-manage to remove services"
Jenkins [Fri, 14 Aug 2015 18:09:30 +0000 (18:09 +0000)]
Merge "Enable cinder-manage to remove services"

9 years agoMerge "Fix Python 3 issues in Windows tests"
Jenkins [Fri, 14 Aug 2015 17:03:14 +0000 (17:03 +0000)]
Merge "Fix Python 3 issues in Windows tests"

9 years agoMerge "Prevent creating encrypted volume with image"
Jenkins [Fri, 14 Aug 2015 17:00:41 +0000 (17:00 +0000)]
Merge "Prevent creating encrypted volume with image"

9 years ago3PAR: Adding performance metrics to volume status
Joseph Vokt [Fri, 10 Jul 2015 20:10:40 +0000 (13:10 -0700)]
3PAR: Adding performance metrics to volume status

If one storage backend has high load while another has lower load,
when a user/admin creates a volume, the current evaluator/scheduler
may place the volume on the backend with higher load. In many cases,
the evaluator/scheduler should place that volume on the backend
with the lowest load for load balancing purposes. In general, for load
balancing virtual volume placement, an evaluator/scheduler needs
access to performance metrics (e.g. IOPS throughput, bandwidth,
latency, IO size) to measure load, but Cinder drivers don't generally
report those metrics.

Although these performance metrics are available from the 3PAR CLI,
they are currently inaccesible in the evaluator/scheduler. The
proposed changes add these metrics to the volume status report and
thus make them accesible by the evaluator/scheduler.

In cinder/volume/drivers/san/hp/hp_3par_common.py, uses the 3PAR
client method HP3parClient.getCPGStatData to get performance metrics,
and adds new fields in the output of HP3PARCommon.get_volume_stats
corresponding to the performance metrics: IOPS throughput, bandwidth,
latency, io_size, queue_length, and avg_busy_perc. These metrics are
taken by averaging samples taken once per day for the last week.

In cinder/tests/unit/test_hp3par.py, adds unit tests in
TestHP3PARFCDriver.test_get_volume_stats and in
TestHP3PARISCSIDriver.test_get_volume_stats.

Closes-bug: #1482741

Change-Id: If9e7b5ffd100489af6537f7dab970d89a6d70851

9 years agoMerge "Fix missing parameters in driver CG interface"
Jenkins [Fri, 14 Aug 2015 16:46:05 +0000 (16:46 +0000)]
Merge "Fix missing parameters in driver CG interface"

9 years agoMerge "Add multipath support to 3PAR iSCSI driver"
Jenkins [Fri, 14 Aug 2015 16:14:40 +0000 (16:14 +0000)]
Merge "Add multipath support to 3PAR iSCSI driver"

9 years agoMerge "Set default policy for "volume:get""
Jenkins [Fri, 14 Aug 2015 16:08:59 +0000 (16:08 +0000)]
Merge "Set default policy for "volume:get""

9 years agoDon't use context.elevated to get volume
Kuo-tung Kao [Tue, 28 Jul 2015 09:44:57 +0000 (17:44 +0800)]
Don't use context.elevated to get volume

Original Problem:
=================
Since the metadata(readonly and attached_mode) is stored in admin metadata,
normal user need `run context.elevated` to retrieves admin metadata.
The above way will bring a side effect. Normal user can also get
any volume which the user shouldn't access when the user knows the UUID.

Solution:
=========
Use context instead of context.elevated to get volume.
And add admin metadata to it.
Based on cinder-meetup-summer-2015 conclusion, we use the solution.
The solution will need extra database connection.

Change-Id: I06f21e7578b65a59c0fe4d3afe0e882ed73c4725
Closes-Bug: #1477625

9 years agoEnable cinder-manage to remove services
Kendall Nelson [Mon, 20 Jul 2015 20:06:21 +0000 (15:06 -0500)]
Enable cinder-manage to remove services

These changes are to enable cinder-manage to remove old services
from the database like nova does. All that is being added is the remove
method to manage.py and tests to cover this new method in test_cmd.py.
The command will remove the binary from the list of running services
in the db that can be viewed via "cinder-manage service list". NOTE:
Active and restarted services will re-populate the DB with their current
status automatically.

To use this new command, the user types "cinder-manage service remove
<binary> <host>" and the service will be removed.

DocImpact

Change-Id: I3bcec824d3c5f65fdd187459428025993a2010a0
Implements-blueprint: add-cinder-service-removal

9 years agoMerge "VNX driver needs extra params for create cg from src"
Jenkins [Fri, 14 Aug 2015 11:02:16 +0000 (11:02 +0000)]
Merge "VNX driver needs extra params for create cg from src"

9 years agoMerge "LVM Thin Provisioning auto-detect"
Jenkins [Fri, 14 Aug 2015 09:19:42 +0000 (09:19 +0000)]
Merge "LVM Thin Provisioning auto-detect"

9 years agoUpdated from global requirements
OpenStack Proposal Bot [Fri, 14 Aug 2015 09:14:34 +0000 (09:14 +0000)]
Updated from global requirements

Change-Id: I2e23700feb4dbba88f2de48624a401ac1c087463

9 years agoSmall clean up in volume object
Xinyuan Huang [Fri, 14 Aug 2015 08:50:05 +0000 (16:50 +0800)]
Small clean up in volume object

This call of __init__() is unnecessary.

Change-Id: I1513d4c392ef773d990a3b3f339fe87622a8c5b5

9 years agoOn Volume list only retrieve needed data from DB
Gorka Eguileor [Wed, 12 Aug 2015 17:09:53 +0000 (19:09 +0200)]
On Volume list only retrieve needed data from DB

Currently when there is no limit set on a volume list query we retrieve
all volumes and then limit them locally using osapi_max_limit.  Similar
thing happens when we are using the marker for next pages, we get all
volumes from that marker until the last volume and then limit it
locally.

We should be limiting it on the DB side so we only retrieve the data we
are actually going to return to the API caller.

This patch always limits the data retrieved from the DB and for the
offset to keep working as it was before we need to do the offset on the
DB side as well.

For reference some tests were performed:

On a deployment with 60,000 volumes, 370,000 volume_metadata items and
240,000 volume_glance_metadata items in cinder db.  Before the patch
this will use nearly 10G memory.  With the patch we will just use about
500M.

Co-Authored-By: wangxiyuan <wangxiyuan@huawei.com>
Closes-bug:#1483165i
Change-Id: Ie903e546074fe118299e8e1acfb9c88c8a10d78c

9 years agoMerge "Remove unused fake objects in vmdk test module"
Jenkins [Fri, 14 Aug 2015 05:19:39 +0000 (05:19 +0000)]
Merge "Remove unused fake objects in vmdk test module"

9 years agoMerge "VMware: Set virtual disk UUID to volume ID"
Jenkins [Fri, 14 Aug 2015 05:19:28 +0000 (05:19 +0000)]
Merge "VMware: Set virtual disk UUID to volume ID"

9 years agoMerge "VMware: Add volume ID in vCenter's volume config"
Jenkins [Fri, 14 Aug 2015 05:19:16 +0000 (05:19 +0000)]
Merge "VMware: Add volume ID in vCenter's volume config"

9 years agoMerge "Add objects.register_all() to cinder-all command"
Jenkins [Fri, 14 Aug 2015 05:05:46 +0000 (05:05 +0000)]
Merge "Add objects.register_all() to cinder-all command"

9 years agoReturn volume name from backup_restore
lisali [Thu, 9 Jul 2015 05:57:45 +0000 (13:57 +0800)]
Return volume name from backup_restore

Currently volume id and backup id are returned, the change is
to return volume_name also, which is consistent in style with
cinder backup-create.

The related change in python-cinderclient is
https://review.openstack.org/#/c/199846/

APIImpact
It will return additional info "volume_name": volume name when
restoring backup.

Change-Id: I9f5d8ded993fcf1d351d4c65b6806929693b15d6
Closes-Bug: #1472493

9 years agoMerge "Use Requests HTTP library and URL safe names"
Jenkins [Fri, 14 Aug 2015 01:50:38 +0000 (01:50 +0000)]
Merge "Use Requests HTTP library and URL safe names"

9 years agoMerge "Don't return Exception when volume is detached"
Jenkins [Fri, 14 Aug 2015 00:48:00 +0000 (00:48 +0000)]
Merge "Don't return Exception when volume is detached"

9 years agoSwitch Pure volume drivers to use Snapshot Objects
Patrick East [Tue, 11 Aug 2015 21:48:51 +0000 (14:48 -0700)]
Switch Pure volume drivers to use Snapshot Objects

Some consistency group operations require looking up snapshot objects
and returning them. Now that we have Snapshot objects we should be using
those.

Change-Id: Ib4ff7fa3f7d768abb33e3b9436f7e64a3cd81f4c
Closes-Bug: #1458126

9 years agoMerge "Clean up volume_types logging"
Jenkins [Thu, 13 Aug 2015 17:06:14 +0000 (17:06 +0000)]
Merge "Clean up volume_types logging"

9 years agoDon't return Exception when volume is detached
Walter A. Boring IV [Wed, 12 Aug 2015 21:00:54 +0000 (14:00 -0700)]
Don't return Exception when volume is detached

This patch changes the way we handle volume detach
attempts when the attachment_id is already detached
and/or when the volume has no attachments.  We now
handle this the same way we do with deleting volumes
that don't exist.  We return success.

This patch also takes care to make sure we safely reset
the volume status to what it should be depending on if
there are other attachments.  If the attachment_id is
passed in and that attachment is detached, but there are
other attachments, we want to make sure that the volume is
left in an in-use state, not available.

Change-Id: I11b7c45bb6570ce11e13e487cf1136ca2551036b
Closes-Bug: #1484194
Related-Bug: #1476806

9 years agoMerge "Fix RestURL to storage backend in Huawei driver"
Jenkins [Thu, 13 Aug 2015 16:13:54 +0000 (16:13 +0000)]
Merge "Fix RestURL to storage backend in Huawei driver"

9 years agoMerge "Attach snapshot - driver only"
Jenkins [Thu, 13 Aug 2015 16:06:10 +0000 (16:06 +0000)]
Merge "Attach snapshot - driver only"

9 years agoMerge "Add oslo.vmware into test-requirements"
Jenkins [Thu, 13 Aug 2015 15:44:27 +0000 (15:44 +0000)]
Merge "Add oslo.vmware into test-requirements"

9 years agoUse Requests HTTP library and URL safe names
nikeshm [Tue, 11 Aug 2015 14:02:44 +0000 (19:32 +0530)]
Use Requests HTTP library and URL safe names

Use Requests HTTP library instead of urllib, and also use URL safe
resource names to communicate to the DotHill array.

Change-Id: If20bca9f375269cf652ef367c1b70eb061f57337
Closes-Bug: #1461718
Co-Authored-By: Lakshman <lakshminarayanat@vedams.com>
9 years agoRemove RetypeVD class, fix NFS driver retype
Eric Harney [Tue, 28 Jul 2015 14:19:07 +0000 (10:19 -0400)]
Remove RetypeVD class, fix NFS driver retype

retype() only exists in the deprecated VolumeDriver() class
and not BaseVD.  This means that drivers inheriting from *VD
hit attribute errors when trying to call driver.retype().

The thinking here is that RetypeVD isn't really necessary,
since all drivers must implement some version of the retype
method (even if it's a no-op with just a standard return code).

Therefore, just rely on this being in the base driver class(es)
rather than making it a separate abc class.

Closes-Bug: #1478987
Related-Bug: #1471807

Change-Id: Ie0c6f23caf68080a05a10cc7ad245878a057fb02

9 years agoFix Python 3 issues in Windows tests
Victor Stinner [Tue, 30 Jun 2015 15:06:30 +0000 (17:06 +0200)]
Fix Python 3 issues in Windows tests

* Replace __builtin__ with six.moves.builtins
* tox.ini: add the following tests to Python 3.4

  - cinder.tests.unit.windows.test_smbfs
  - cinder.tests.unit.windows.test_vhdutils
  - cinder.tests.unit.windows.test_windows
  - cinder.tests.unit.windows.test_windows_remotefs
  - cinder.tests.unit.windows.test_windows_utils

This change requires the Python 3 fixes in os-brick.

Blueprint cinder-python3
Change-Id: I1ffa65745923459e993e81d8a95a39e19c1bd1e4

9 years agoAdd objects.register_all() to cinder-all command
Michal Dulko [Thu, 13 Aug 2015 12:45:15 +0000 (14:45 +0200)]
Add objects.register_all() to cinder-all command

In cmd/all.py registration of objects was missing. This caused running
cinder-all command to raise exceptions about unknown objects. Following
commit fixes this problem.

Closes-Bug: 1484533
Change-Id: Id7686bc801aaea30c1f7f24209044311656fa4cd

9 years agoGPFS volume encryption-at-rest support
Sasikanth [Thu, 25 Jun 2015 10:32:29 +0000 (16:02 +0530)]
GPFS volume encryption-at-rest support

This patch extends the capability of gpfs driver to support volume encryption
at rest using GPFS Native Encryption feature (https://ibm.biz/BdXPBm).

This includes:
1. Verification of configured gpfs backend to support encryption at rest.
2. Driver exposes gpfs_encryption_rest capability via volume type convention.

Usage - Cloud admin creates a volume type "encrypted" with extra-specs
  gpfs_encryption_rest=True
Every volume created using type "encrypted", the volumes will be encrypted
at rest.

DocImpact

Needs an update in gpfs driver documentation, as this patch introduces
encrypted backend support.

Change-Id: I83949ca51668834ecbce52e90527cf06f95bd001
Implements: blueprint gpfs-volume-encryption-rest

9 years agoVMware: Set virtual disk UUID to volume ID
Vipin Balachandran [Mon, 27 Jul 2015 07:57:46 +0000 (13:27 +0530)]
VMware: Set virtual disk UUID to volume ID

The symlinks in /dev/disk/by-id/ (in a Linux guest OS running in VMware
ESX based Nova instance) use UUID of virtual disk as the SCSI device ID
when disk.EnableUUID is set to True in the virtual machine configuration
file. This patch sets the UUID of virtual disk corresponding to a Cinder
volume (at the time of volume creation) to volume ID so that end-users
(of Nova instance) can identify the device corresponding to an attached
volume in the guest using /dev/disk/by-id symlink.

For example, given a Cinder volume with ID = xyz, user can identify the
device corresponding to the volume in instance's guest using the symlink
/dev/disk/by-id/scsi-xyz provided disk.EnableUUID is set to True in the
instance's virtual machine configuration file (in ESX).

Note: If the UUID of the virtual disk corresponding to a volume is unset
at the time of volume creation, a random UUID will be used.

Closes-Bug: #1475738
Change-Id: I8f9d210083010b25833a7b108ae135417c72fd09

9 years agoMerge "Update snap-quota to unlimited in Nimble driver"
Jenkins [Thu, 13 Aug 2015 00:15:40 +0000 (00:15 +0000)]
Merge "Update snap-quota to unlimited in Nimble driver"

9 years agoAdd oslo.vmware into test-requirements
Jay S Bryant [Wed, 12 Aug 2015 20:31:05 +0000 (15:31 -0500)]
Add oslo.vmware into test-requirements

run_tests.sh is currently broken due to the commit that made
installing oslo.vmware optional: e67adc385ce6997249fbf70e9402264f758fc6f4

There are test cases that require oslo.vmware and the change made in the
commit for tox doesn't cover the case where run_tests.sh is used.  Without
including oslo.vmware in the test-requirements file there are a number of
test cases that fail without the library installed.

This patch resolves the issue by move oslo.vmware over to the
test-requirements file.

Change-Id: I2ffd21a23552e39bdb220c4aaa0c5e372c52f7ce

9 years agoAdd multipath support to 3PAR iSCSI driver
Anthony Lee [Wed, 29 Jul 2015 23:22:54 +0000 (16:22 -0700)]
Add multipath support to 3PAR iSCSI driver

Adds multipath support to the 3PAR iSCSI driver.

target portals, iqns and luns will be returned if multipath
is being used.

Also adds a new function 3par common that allows finding
of all existing VLUNs.

Implements: blueprint 3par-iscsi-multipath-support
Change-Id: I6b17cc9057eaf726b6a31921fd8a141c5a430d52

9 years agoMerge "Add unit test cases for the capacity scheduler"
Jenkins [Wed, 12 Aug 2015 17:33:53 +0000 (17:33 +0000)]
Merge "Add unit test cases for the capacity scheduler"

9 years agoLVM Thin Provisioning auto-detect
Eric Harney [Mon, 16 Jun 2014 19:43:51 +0000 (15:43 -0400)]
LVM Thin Provisioning auto-detect

Add the ability to set lvm_type=auto, which will
enable thin provisioning if the system supports it,
and the configured volume group either:
a) has a pool LV with the expected name or
b) has no LVs

This, along with thin-provisioning accounting, will
give a path to move toward thin LVM as the default.

DocImpact: new value 'auto' for option 'lvm_type'

Partial-Bug: #1472803

Change-Id: Idfc1cd749bfd7aec659ab8e80629cc506cd9797a

9 years agoRemove unused fake objects in vmdk test module
Vipin Balachandran [Wed, 12 Aug 2015 10:47:55 +0000 (16:17 +0530)]
Remove unused fake objects in vmdk test module

Patch to remove unused fake objects in the vmdk unit
test module.

Change-Id: I15f4ed1c028bc01558a2f5bf39d9fb294afd52bf

9 years agoVMware: Add volume ID in vCenter's volume config
Vipin Balachandran [Mon, 22 Jun 2015 14:26:09 +0000 (19:56 +0530)]
VMware: Add volume ID in vCenter's volume config

HP data protector's backup of vCenter inventory is failing
for 'in-use' Cinder volumes because the vmdk is attached
to two VMs (Nova instance and the backing VM corresponding
to Cinder volume). The solution is to skip the backing VM
during data protector's backup.

This patch adds key 'cinder.volume.id' with value set to
volume UUID in volume's vCenter config file so that other
vCenter solutions can uniquely identify Cinder volumes.

Closes-Bug: #1484012
Change-Id: I08a5f1a39def14f164ab3ca08a480310ce0b79ca

9 years agoMerge "Fix argument order for assertEqual in tests"
Jenkins [Tue, 11 Aug 2015 22:59:38 +0000 (22:59 +0000)]
Merge "Fix argument order for assertEqual in tests"

9 years agoMerge "Corrected order of parameters in docstring"
Jenkins [Tue, 11 Aug 2015 22:59:26 +0000 (22:59 +0000)]
Merge "Corrected order of parameters in docstring"

9 years agoAdd unit test cases for the capacity scheduler
James Carey [Thu, 6 Aug 2015 04:11:27 +0000 (04:11 +0000)]
Add unit test cases for the capacity scheduler

Add unit tests for the capacity weigher for cases where the host
has 'infinite' or 'unknown' capacities.

Note that while the new test cases follow the correct parameter
ordering for assertEqual, the other test cases will be fixed
in a separate patch.

Change-Id: I5ab20443563c253b561f328aedca4fd2f62b8d47

9 years agoFix argument order for assertEqual in tests
Skyler Berg [Tue, 4 Aug 2015 21:44:58 +0000 (14:44 -0700)]
Fix argument order for assertEqual in tests

Some tests incorrectly use the order assertEqual(observed, expected)
instead of the correct order, assertEqual(expected, observed). This
patch corrects this issue.

Change-Id: I4683b80451d3e4576443c4472a01460b24633d04
Closes-Bug: #1259292

9 years agoMerge "Fix order of parms in assertEqual for scheduler ut"
Jenkins [Tue, 11 Aug 2015 16:22:31 +0000 (16:22 +0000)]
Merge "Fix order of parms in assertEqual for scheduler ut"

9 years agoMerge "ConsistencyGroup Object"
Jenkins [Tue, 11 Aug 2015 05:57:54 +0000 (05:57 +0000)]
Merge "ConsistencyGroup Object"

9 years agoFix order of parms in assertEqual for scheduler ut
James Carey [Thu, 6 Aug 2015 05:13:15 +0000 (05:13 +0000)]
Fix order of parms in assertEqual for scheduler ut

When assertEqual is used it should be assertEqual(expected, observed).
Constant values are always the expected.  This patch makes them the
first parameter and fixes some other non-constant cases.

Closes-Bug: #1482373
Change-Id: Iec771d35d1005434281f9efd8bed8d53134abc7f

9 years agoMerge "Update authorization actions for services API"
Jenkins [Tue, 11 Aug 2015 04:14:07 +0000 (04:14 +0000)]
Merge "Update authorization actions for services API"

9 years agoMerge "NetApp SSC job will be run periodically"
Jenkins [Tue, 11 Aug 2015 04:13:56 +0000 (04:13 +0000)]
Merge "NetApp SSC job will be run periodically"

9 years agoMerge "Remove unused context parameter"
Jenkins [Tue, 11 Aug 2015 04:13:45 +0000 (04:13 +0000)]
Merge "Remove unused context parameter"

9 years agoVNX driver needs extra params for create cg from src
Tina [Fri, 7 Aug 2015 04:33:03 +0000 (00:33 -0400)]
VNX driver needs extra params for create cg from src

The cinder manager is passing 2 additional parameters (source_cg and
source_vols) to create_consistencygroup_from_src of driver. VNX
driver needs to add these 2 parameters.

Change-Id: Ibf1ac8955238a27c82b32e1aa728f1efacd71273
Closes-Bug: #1482571

9 years agoMerge "Revert "Revert First version of Cinder driver for Quobyte""
Jenkins [Tue, 11 Aug 2015 01:29:27 +0000 (01:29 +0000)]
Merge "Revert "Revert First version of Cinder driver for Quobyte""

9 years agoPrevent creating encrypted volume with image
lisali [Fri, 7 Aug 2015 06:35:27 +0000 (14:35 +0800)]
Prevent creating encrypted volume with image

When creating an encrypted volume with a unencrypted image,
cinder just copies the unencrypted data to the volume,
which keeps unencrypted data in the volume.
But when booting/attaching the volume to Nova, it thinks
encrypted data on the volume. As a result, Nova reads
the data incorrectly.

The fix is to prevent such action. Later, we can
implement to write encrypted data in encrypted volumes
when creating from unencrypted image.

Change-Id: I0af8318222cee023451c38812bf83cdb4086faae
Closes-bug: #1482464

9 years agoMerge "mark oslo.vmware as optional dependency"
Jenkins [Mon, 10 Aug 2015 21:14:32 +0000 (21:14 +0000)]
Merge "mark oslo.vmware as optional dependency"

9 years agoMerge "Updated from global requirements"
Jenkins [Mon, 10 Aug 2015 17:03:10 +0000 (17:03 +0000)]
Merge "Updated from global requirements"

9 years agoMerge "Add discard to connection properties"
Jenkins [Mon, 10 Aug 2015 17:02:59 +0000 (17:02 +0000)]
Merge "Add discard to connection properties"

9 years agoMerge "Remove StorPool Driver"
Jenkins [Mon, 10 Aug 2015 17:02:38 +0000 (17:02 +0000)]
Merge "Remove StorPool Driver"

9 years agoMerge "RBD: use user-configured value for chunk size"
Jenkins [Mon, 10 Aug 2015 16:04:41 +0000 (16:04 +0000)]
Merge "RBD: use user-configured value for chunk size"

9 years agoMerge "Validate 'is_public' when creating volume type"
Jenkins [Mon, 10 Aug 2015 16:00:33 +0000 (16:00 +0000)]
Merge "Validate 'is_public' when creating volume type"

9 years agomark oslo.vmware as optional dependency
Matthew Edmonds [Fri, 17 Jul 2015 20:42:35 +0000 (16:42 -0400)]
mark oslo.vmware as optional dependency

Driver-specific requirements are not hard requirements, since the
choice of drivers is up to the operator. The oslo.vmware module is
herein moved out of requirements.txt and instead listed as an optional
dependency using the extras functionality in setup.cfg.

A check is added to the vmdk driver to gracefully handle import errors
if the vmdk driver is used and oslo.vmware is not found.

Change-Id: I9b00edc38f0700304a1a164f0679a734f8701ebe
Closes-Bug: #1475739

9 years agoMerge "Remove bad tests for the VMAX driver"
Jenkins [Mon, 10 Aug 2015 11:29:23 +0000 (11:29 +0000)]
Merge "Remove bad tests for the VMAX driver"

9 years agoConsistencyGroup Object
Michal Dulko [Tue, 21 Jul 2015 08:32:01 +0000 (10:32 +0200)]
ConsistencyGroup Object

This patch adds VersionedObjects abstraction layer to
consistency groups.

Change-Id: I3febb95bb2b3dd8f10da4f01ffa705e39cb20520
Partial-Implements: blueprint cinder-objects
Co-Authored-by: Daniel Tadrzak <daniel.tadrzak@intel.com>
Co-Authored-by: Michal Dulko <michal.dulko@intel.com>
9 years agoValidate string, integer limit for input parameter
PranaliDeore [Wed, 17 Jun 2015 11:49:24 +0000 (04:49 -0700)]
Validate string, integer limit for input parameter

1. Below apis will return 500 error code on passing name or description
   parameters with more than 255 characters:
   a. consisgroup-create
   b. consisgroup-update
   c. cgsnapshot-create
   d. quota-class-update
   e. quota-update
   f. qos-create
   g. volume-manage
   h. volume-transfer

2. Below apis will return 500 error code on passing 'hard_limit' value
   greater than mysql INT type:
   a. quota-class-update
   b. quota-update
   c. encryption-type-create

3. Below apis accept name as string with whitespaces:
   a. consisgroup-create
   b. cgsnapshot-create
   c. qos-create
   d. volume-transfer

4. Type-key api will return 500 error code on passing key or value with
   more than 255 characters.

Added new method
1. validate_name_and_description() in
   cinder.api.openstack.wsgi.Controller to validate length of name and
   description and returned 400 if it exceeds the limit and removing
   leading or trailing whitespaces and string containing only
   whitespaces.
2. validate_string_length() in cinder.api.openstack.wsgi.Controller to
   validate length of string and returned 400 if it exceeds the limit.
3. validate_integer() method in cinder.utils to validate integer
   limit and returned 400 if limit exceeds.

APIImpact
1. For all above apis 400 response will be returned.
2. Earlier it was possible to pass only whitespaces or leading-trailing
   spaces to 'name' parameters and 'key' while updating key-value in
   type-key api.
   Now it will raise 400 error if only whitespaces are passed and will
   remove leading-trailing spaces if present in other cases.

Closes-Bug: 1466351
Closes-Bug: 1463379
Closes-Bug: 1465967
Change-Id: I0c0029d61ba2b293b579d1afffec0bdf062b22a8

9 years agoValidate name and description string
PranaliDeore [Mon, 11 May 2015 11:00:01 +0000 (04:00 -0700)]
Validate name and description string

If you pass name or description parameters with more than 255
characters to create and update apis of volume and snapshot
and create api of backup, then it returns 500 error code.

Added new method validate_name_and_description() in
cinder.api.openstack.wsgi.Controllera to validate string limit and
returned 400 if limit exceeds and also removing leading or trailing
whitespaces and string containing only whitespaces.

APIImpact
1. For all above APIs 400 response will be returned.
2. Earlier it was possible to pass only whitespaces or leading-trailing
   spaces to 'name' parameter.
   Now it will raise 400 error if only whitespaces are passed and will
   remove leading-trailing spaces if present in other cases.

Closes-Bug: 1454244
Change-Id: Iaf7159e816f69fd776a09828c3bc1d27fc9fdcdb

9 years agoMerge "Tests: Fix os.path.exists mock (emc_vnxdirect)"
Jenkins [Mon, 10 Aug 2015 08:17:34 +0000 (08:17 +0000)]
Merge "Tests: Fix os.path.exists mock (emc_vnxdirect)"

9 years agoHandle missing temp volume and snapshot during cleanup
Xing Yang [Mon, 10 Aug 2015 02:41:21 +0000 (22:41 -0400)]
Handle missing temp volume and snapshot during cleanup

When backup service is started, we try to clean up temp volumes
and snapshots in previously failed backups. If the temp volume
or snapshot is already deleted, we will get VolumeNotFound or
SnapshotNotFound exceptions. These exceptions should be handled.
Also temp_volume_id and temp_snapshot_id should be set to None
after they are deleted.

Change-Id: Ia20834bcc89040364bce71fc66c32c1777a5ac11
Closes-Bug: #1484774

9 years agoUpdated from global requirements
OpenStack Proposal Bot [Mon, 10 Aug 2015 02:09:10 +0000 (02:09 +0000)]
Updated from global requirements

Change-Id: I25a1f5b137358c4d53c0d26c5d56a8f38c626eb8

9 years agoMerge "Remove incorrect URLs from jenkins.rst"
Jenkins [Mon, 10 Aug 2015 01:36:11 +0000 (01:36 +0000)]
Merge "Remove incorrect URLs from jenkins.rst"

9 years agoMerge "Fixing notify message of manage_existing flow"
Jenkins [Mon, 10 Aug 2015 01:35:04 +0000 (01:35 +0000)]
Merge "Fixing notify message of manage_existing flow"

9 years agoMerge "Fix volume limit exceeded exception"
Jenkins [Mon, 10 Aug 2015 01:04:21 +0000 (01:04 +0000)]
Merge "Fix volume limit exceeded exception"

9 years agoMerge "Port Tintri driver to ABC driver model"
Jenkins [Mon, 10 Aug 2015 01:04:10 +0000 (01:04 +0000)]
Merge "Port Tintri driver to ABC driver model"

9 years agoMerge "Fix Python 3 issues in Hitachi HNAS tests"
Jenkins [Mon, 10 Aug 2015 01:04:00 +0000 (01:04 +0000)]
Merge "Fix Python 3 issues in Hitachi HNAS tests"

9 years agoMerge "Port remotefs driver to Python 3"
Jenkins [Mon, 10 Aug 2015 01:03:49 +0000 (01:03 +0000)]
Merge "Port remotefs driver to Python 3"

9 years agoMerge "Change default of option volume_driver to LVMVolumeDriver"
Jenkins [Mon, 10 Aug 2015 01:03:38 +0000 (01:03 +0000)]
Merge "Change default of option volume_driver to LVMVolumeDriver"

9 years agoMerge "Port IBM driver to Python 3"
Jenkins [Mon, 10 Aug 2015 01:03:28 +0000 (01:03 +0000)]
Merge "Port IBM driver to Python 3"

9 years agoMerge "VNX driver needs to return snapshot objects"
Jenkins [Mon, 10 Aug 2015 00:59:17 +0000 (00:59 +0000)]
Merge "VNX driver needs to return snapshot objects"

9 years agoValidate 'is_public' when creating volume type
liyingjun [Wed, 29 Jul 2015 01:42:00 +0000 (09:42 +0800)]
Validate 'is_public' when creating volume type

is_public should be checked when creating volume type, otherwise DBError
will be raised in cinder-api, and the user will receive a 500 Internal
server error.

Change-Id: Id0695fbb05613f3655a7af5b5ab10e08ed5e606b
Closes-bug: #1479170

9 years agoRemove StorPool Driver
Mike Perez [Mon, 10 Aug 2015 00:40:25 +0000 (17:40 -0700)]
Remove StorPool Driver

CI has been disabled since July 31st due to false failure reports, and
no sign from the maintainers to fix things.

Change-Id: Ife07a5f5933274a04f88967abfc02e57ebea576c

9 years agoIgnore InsecureReq warning in SolidFire Driver
John Griffith [Sun, 9 Aug 2015 16:00:51 +0000 (10:00 -0600)]
Ignore InsecureReq warning in SolidFire Driver

The python requests package logs the use of Insecure as
a warning.  Currently the use of http vs https is a
configurable option, and for those that use http, the
log files include a Warning message for every single
request to the SolidFire Cluster.

In our case we're explicitly providing the
option to use http instead of https, so we can safely
ignore this message and remove it from the logs.

Change-Id: I746b5f7d7351ef594bf0004ec76458fc1a633031

9 years agoMerge "Add connector object to create_export"
Jenkins [Sat, 8 Aug 2015 21:02:01 +0000 (21:02 +0000)]
Merge "Add connector object to create_export"

9 years agoAttach snapshot - driver only
Xing Yang [Fri, 7 Aug 2015 18:49:30 +0000 (14:49 -0400)]
Attach snapshot - driver only

This patch is a continuation of adding support for
non-disruptive backup. It provides a more efficient way
to backup an attached volume by creating a temp snapshot.
Since this is used internally for backup, the attach
snapshot interface is added in the driver only. For
drivers not implementing the attach snapshot interface,
backup will still be done using a volume.

Partial-implements blueprint non-disruptive-backup
Change-Id: I3649ef1d7c8a18f9d6ed0543d463354273d5f62a

9 years agoMerge "Snap copy feature for EMC VNX Cinder driver"
Jenkins [Sat, 8 Aug 2015 01:07:16 +0000 (01:07 +0000)]
Merge "Snap copy feature for EMC VNX Cinder driver"