]> review.fuel-infra Code Review - openstack-build/cinder-build.git/log
openstack-build/cinder-build.git
10 years agoMerge "XtremIO cinder iSCSI & FC volume drivers for Juno"
Jenkins [Fri, 29 Aug 2014 09:14:44 +0000 (09:14 +0000)]
Merge "XtremIO cinder iSCSI & FC volume drivers for Juno"

10 years agoMerge "Have task/flow logging go to a separate log file"
Jenkins [Fri, 29 Aug 2014 03:56:50 +0000 (03:56 +0000)]
Merge "Have task/flow logging go to a separate log file"

10 years agoMerge "Consistency Groups"
Jenkins [Fri, 29 Aug 2014 01:33:45 +0000 (01:33 +0000)]
Merge "Consistency Groups"

10 years agoMerge "Fixes terminate_connection live migration issue"
Jenkins [Thu, 28 Aug 2014 14:39:23 +0000 (14:39 +0000)]
Merge "Fixes terminate_connection live migration issue"

10 years agoMerge "Create RemoteFSSnapDriver class"
Jenkins [Thu, 28 Aug 2014 03:30:08 +0000 (03:30 +0000)]
Merge "Create RemoteFSSnapDriver class"

10 years agoMerge "GlusterFS: Use image_utils for tempfile creation"
Jenkins [Wed, 27 Aug 2014 15:05:19 +0000 (15:05 +0000)]
Merge "GlusterFS: Use image_utils for tempfile creation"

10 years agoXtremIO cinder iSCSI & FC volume drivers for Juno
Shay Halsband [Sun, 6 Jul 2014 13:01:06 +0000 (16:01 +0300)]
XtremIO cinder iSCSI & FC volume drivers for Juno

XtremIO Direct Driver has been contributed to Juno release.
support all minimum required features by Juno for both iSCSI and FibreChannel
Certificate Test Results
    https://bugs.launchpad.net/cinder/+bug/1336844

Implements: blueprint xtremio-cinder-volume-driver

Change-Id: I93ade3064532ec60662e92c56e5fefd4035a0d5b

10 years agoConsistency Groups
Xing Yang [Wed, 27 Aug 2014 03:53:34 +0000 (23:53 -0400)]
Consistency Groups

This patch enables Consistency Groups support in Cinder.
It will be implemented for snapshots for CGs in phase 1.

Design
------------------------------------------------
The workflow is as follows:

1) Create a CG, specifying all volume types that can be supported by this
CG. The scheduler chooses a backend that supports all specified volume types.
The CG will be empty when it is first created.   Backend needs to report
consistencygroup_support = True.  Volume type can have the following in
extra specs: {'capabilities:consistencygroup_support': '<is> True'}.
If consistencygroup_support is not in volume type extra specs, it will be
added to filter_properties by the scheduler to make sure that the scheduler
will select the backend which reports consistency group support capability.

Create CG CLI:
cinder consisgroup-create --volume-type type1,type2 mycg1

This will add a CG entry in the new consistencygroups table.

2) After the CG is created, create a new volume and add to the CG.
Repeat until all volumes are created for the CG.

Create volume CLI (with CG):
cinder create --volume-type type1 --consisgroup-id <CG uuid> 10

This will add a consistencygroup_id foreign key in the new volume
entry in the db.

3) Create a snapshot of the CG (cgsnapshot).

Create cgsnapshot CLI:
cinder cgsnapshot-create <CG uuid>

This will add a cgsnapshot entry in the new cgsnapshots table, create
snapshot for each volume in the CG, and add a cgsnapshot_id foreign key
in each newly created snapshot entry in the db.

DocImpact
Implements: blueprint consistency-groups

Change-Id: Ic105698aaad86ee30ef57ecf5107c224fdadf724

10 years agoFixes terminate_connection live migration issue
Alessandro Pilotti [Tue, 26 Aug 2014 21:38:43 +0000 (00:38 +0300)]
Fixes terminate_connection live migration issue

Reverts the changes to cinder/volume/manager.py added in
commit b868ae707f9ecbe254101e21d9d7ffa0b05b17d1 as calling
remove_export in terminate_connection causes Nova live
migration to fail when volumes are attached.

Change-Id: I38f3db336db22bb096a8855bcbbfeba16e517b80
Closes-Bug: #1361738

10 years agoMerge "Add Oracle ZFS Storage Appliance ISCSI Driver"
Jenkins [Wed, 27 Aug 2014 00:54:29 +0000 (00:54 +0000)]
Merge "Add Oracle ZFS Storage Appliance ISCSI Driver"

10 years agoSync latest processutils from oslo-incubator
Jay S. Bryant [Tue, 26 Aug 2014 15:32:52 +0000 (10:32 -0500)]
Sync latest processutils from oslo-incubator

This sync is primarily being done to pull in commit
63c99a0f so that passwords are masked in exception and
error messages.

------------------------------------------------

oslo-incubator head:

commit 80a08a413fb0f23a056eca2d273b167f0a09bab6
Merge: 83c4098 d73f3b1
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Aug 25 14:32:36 2014 +0000

    Merge "Remove unused/mutable default args"

-----------------------------------------------

The sync pulls in the following changes (newest to oldest):

63c99a0f - Mask passwords in exceptions and error messages
e184dd36 - Fix exception message in openstack.common.processutils.execute
d6b55fb2 - Remove `processutils` dependency on `log`

-----------------------------------------------

Change-Id: Ia92aab76fa83d01c5fbf6f9d31df2463fc26ba5c
Partial-bug: 1343604

10 years agoMerge "Adds volume replication methods to xiv/ds8k driver interface."
Jenkins [Tue, 26 Aug 2014 05:17:10 +0000 (05:17 +0000)]
Merge "Adds volume replication methods to xiv/ds8k driver interface."

10 years agoMerge "Mock processutils.execute properly in test_ibmnas"
Jenkins [Tue, 26 Aug 2014 02:14:03 +0000 (02:14 +0000)]
Merge "Mock processutils.execute properly in test_ibmnas"

10 years agoMerge "Allow backup-to-swift to take swift URL from service catalogue"
Jenkins [Mon, 25 Aug 2014 19:00:33 +0000 (19:00 +0000)]
Merge "Allow backup-to-swift to take swift URL from service catalogue"

10 years agoMock processutils.execute properly in test_ibmnas
Jay S. Bryant [Mon, 25 Aug 2014 18:09:14 +0000 (13:09 -0500)]
Mock processutils.execute properly in test_ibmnas

test_delete_snapfiles and test_delete_snapfiles_nas_gpfs were
not properly mocking out cinder.openstack.common.processutils.execute .
This was causing the unittests to prompt for a sudo password during
unit test on some systems.

This change mocks out processutils.execute to return what is expected
for this test case.

Change-Id: I67f26cfd3157813758de7785157a21ebe5230833
Closes-bug: 1361287

10 years agoAdds volume replication methods to xiv/ds8k driver interface.
Jason Ni [Mon, 25 Aug 2014 05:14:54 +0000 (08:14 +0300)]
Adds volume replication methods to xiv/ds8k driver interface.

Change-Id: I99add7e562d7b5e8f14b186f7c705209af27f6a2

10 years agoMerge "EMC VMAX Driver Juno Update"
Jenkins [Mon, 25 Aug 2014 01:53:32 +0000 (01:53 +0000)]
Merge "EMC VMAX Driver Juno Update"

10 years agoAdd Oracle ZFS Storage Appliance ISCSI Driver
Juan Zuluaga [Thu, 10 Jul 2014 17:15:27 +0000 (13:15 -0400)]
Add Oracle ZFS Storage Appliance ISCSI Driver

ZFSSA ISCSI Driver is designed for ZFS Storage Appliance product
line (ZS3-2, ZS3-4, ZS3-ES, 7420 and 7320).
It uses REST API to communicate out of band with the storage controller
to perform the following:
* Create/Delete Volume
* Extend Volume
* Create/Delete Snapshot
* Create Volume from Snapshot
* Delete Volume Snapshot
* Attach/Detach Volume
* Get Volume Stats
* Clone Volume

Update cinder.conf.sample to include ZFS Storage Appliance
properties.

Certification test results:
https://bugs.launchpad.net/cinder/+bug/1356075

Change-Id: I2925c3e8cbe6f9d7a81ca70fcac7709714f07962
Implements: blueprint oracle-zfssa-cinder-driver

10 years agoMerge "Extending IBMNAS driver to support NFS based GPFS storage system"
Jenkins [Sun, 24 Aug 2014 16:37:31 +0000 (16:37 +0000)]
Merge "Extending IBMNAS driver to support NFS based GPFS storage system"

10 years agoMerge "Add support in Cinder for volume replication - driver approach"
Jenkins [Sun, 24 Aug 2014 07:46:29 +0000 (07:46 +0000)]
Merge "Add support in Cinder for volume replication - driver approach"

10 years agoMerge "Integrate OSprofiler and Cinder"
Jenkins [Sat, 23 Aug 2014 19:06:01 +0000 (19:06 +0000)]
Merge "Integrate OSprofiler and Cinder"

10 years agoAdd support in Cinder for volume replication - driver approach
Ronen Kat [Sat, 26 Jul 2014 14:06:52 +0000 (17:06 +0300)]
Add support in Cinder for volume replication - driver approach

This is take #2 for managing replicaiton in Cinder.

This patch provides the foundation in Cinder to make volume
replication available to the cloud admin. It makes Cinder aware
of volume replicas, and allows the cloud admin to define storage
policies (volume types) that will enable replication.

In this version Cinder delegates most the work on replication
to the driver itself.

This includes:
1. Driver exposes replication capabilities via volume type convention.
2. Extend volume table to include columns to support replicaion.
3. Create replicas in the driver, making it transparant to Cinder.
4. Volume manager code to handle API, updates to create_volume to
   support creating test replicas.
5. Driver methods to expose per replication functions

Cinder-specs available at https://review.openstack.org/#/c/98308/

Volume replication use-case: Simplified disaster recovery
The OpenStack cloud is deployed across two metro distance data centers.
Storage backends are available in both data ceneters. The backends
are managed by either a single Cinder host or two, depending on the
storage backend requirements.
Storage admin configures the Cinder volume driver to support
replication.
Cloud admin creates a volume type "replicated" with extra-specs:
   capabilities:replication="<is> True"
Every volume created in type "replicated" has a copy on both
backends.
In case of data center failure in first data center, the cloud admin
promotes the replica, and redeploy the VMs - they will now run on
a host in the secondary data center using the storage on the
secondary data center.

Implements: blueprint volume-replication
DocImpact

Change-Id: I964852f08b500400a27bff99e5200386e00643c9

10 years agoEMC VMAX Driver Juno Update
Xing Yang [Thu, 3 Jul 2014 21:50:45 +0000 (17:50 -0400)]
EMC VMAX Driver Juno Update

This driver is an enhancement from the EMC SMI-S driver.
In Juno, VNX support will be removed from this driver.
Moving forward, this driver will support VMAX only.

The following features are added for VMAX:

* Extend volume
* Create volume from snapshot
* Dynamically creating masking views, storage groups,
  and initiator groups
* Striped volumes
* FAST policies

Tempest test results from CI system:
  https://bugs.launchpad.net/cinder/+bug/1337840

Change-Id: I01aaf1041d32351a8dc12c509f387e2d120074a3
Implements: blueprint emc-vmax-driver-juno-update

10 years agoFix duplicate teardown to allow tox upgrade
John Griffith [Fri, 22 Aug 2014 17:52:36 +0000 (11:52 -0600)]
Fix duplicate teardown to allow tox upgrade

When trying to use tox 1.7.2 we run into a second
tearDown call being made in the test as opposed to
just using Super's version of it.

This removes that call and seems to get everything
working under tox 1.7.2

Change-Id: I0a2674b7c1ba9589cab5e3b76777fce23b6601ad
Partial-Bug: 1348818

10 years agoMerge "Revert test_rootwrap_filter to avoid python2.6 test failure"
Jenkins [Thu, 21 Aug 2014 22:16:50 +0000 (22:16 +0000)]
Merge "Revert test_rootwrap_filter to avoid python2.6 test failure"

10 years agoMerge "Modify error code compatible with Mac OS."
Jenkins [Thu, 21 Aug 2014 21:30:05 +0000 (21:30 +0000)]
Merge "Modify error code compatible with Mac OS."

10 years agoRevert test_rootwrap_filter to avoid python2.6 test failure
Tomoki Sekiyama [Thu, 21 Aug 2014 15:13:54 +0000 (11:13 -0400)]
Revert test_rootwrap_filter to avoid python2.6 test failure

With oslo.rootwrap 1.3.0.0a1 which has a bug #1340792, that some filter
rules are dependent on its evaluation order, test_rootwrap_filter randomly
fail for a patch adding to etc/cinder/rootwrap.d/volume.filters with
python2.6, as evaluation order is randomly changes.

The bug in oslo.rootwrap is fixed in master branch, but is not yet
released and not available in CI. So this until new oslo.rootwrap is
released, this patch reverts the unit test to avoid to block reviews.

Change-Id: If86b6689ae36aa8810aad5b694ed43dfec1fd0c6

10 years agoMerge "Fix variable name in api/v<n>/snapshot.py"
Jenkins [Thu, 21 Aug 2014 08:26:26 +0000 (08:26 +0000)]
Merge "Fix variable name in api/v<n>/snapshot.py"

10 years agoAllow backup-to-swift to take swift URL from service catalogue
Ollie Leahy [Wed, 20 Aug 2014 17:31:36 +0000 (17:31 +0000)]
Allow backup-to-swift to take swift URL from service catalogue

Since the swift URL is usually in the service catalogue, there is
no need to configure it explicitly.

It can still be set explicitly where manual override is desired.

Change-Id: Ia6c08289b532faed3f6e718d4bbcc1f91978db21

10 years agoMerge "Honor volume:get policy"
Jenkins [Thu, 21 Aug 2014 05:13:00 +0000 (05:13 +0000)]
Merge "Honor volume:get policy"

10 years agoIntegrate OSprofiler and Cinder
Boris Pavlovic [Sun, 29 Jun 2014 16:03:28 +0000 (20:03 +0400)]
Integrate OSprofiler and Cinder

*) Add osprofiler wsgi middleware
This middleware is used for 2 things:
1) It checks that person who want to trace is trusted and knows
secret HMAC key.
2) It start tracing in case of proper trace headers
and add first wsgi trace point, with info about HTTP request
*) Add initialization of osprofiler at start of serivce
Set's olso.messaging notifer instance (to send notifications to Ceilometer)

*) Fix fake notifier

NOTE to test this:

You should put to localrc:

  RECLONE=no

  CEILOMETER_NOTIFICATION_TOPICS=notifications,profiler

  ENABLED_SERVICES+=,ceilometer-acompute,ceilometer-acentral,ceilometer-anotification,ceilometer-collector
  ENABLED_SERVICES+=,ceilometer-alarm-evaluator,ceilometer-alarm-notifier
  ENABLED_SERVICES+=,ceilometer-api

You should use python-cinderclient with this patch:

  https://review.openstack.org/#/c/103359/

Run any command with --profile SECRET_KEY

  $ cinder --profile SECRET_KEY create 1
  # it will print <Trace ID>

Get pretty HTML with traces:

  $ osprofiler trace show --html <Profile ID>

note that osprofiler should be run from admin user name & tenant.

Change-Id: Ic3ce587946eaa7e6b19cf35a2cc905ae5de29dd3

10 years agoFix variable name in api/v<n>/snapshot.py
John Griffith [Wed, 20 Aug 2014 19:12:09 +0000 (13:12 -0600)]
Fix variable name in api/v<n>/snapshot.py

Noticed in a recent bug fix that the when the show
method was copy/pasted at some point the variable name
vol was not updated.

Silly annoyance, but thought I'd go ahead and replace vol
with snapshot to make the variable name reflect what's
actually in use here.

Change-Id: I137ecc4987258450e93195cfed5e128063b92914

10 years agoMerge "Cache snapshots in request for extension"
Jenkins [Wed, 20 Aug 2014 18:57:39 +0000 (18:57 +0000)]
Merge "Cache snapshots in request for extension"

10 years agoMerge "Ignore No value passed for parameter 'dml' message"
Jenkins [Wed, 20 Aug 2014 17:49:17 +0000 (17:49 +0000)]
Merge "Ignore No value passed for parameter 'dml' message"

10 years agoHonor volume:get policy
Zhiteng Huang [Tue, 19 Aug 2014 14:27:26 +0000 (22:27 +0800)]
Honor volume:get policy

The fix for bug 1356368 hard-coded a policy check (same as
rule:admin_or_owner) for volume:get.  While in most cases this is
what people want, it'd be good we honor policy setting.

Note that before commit 0505bb268942534ad5d6ecd5e34a4d9b0e7f5c04,
DB query volume_get() actually acted as the policy checker for
volume:get, and it raised VolumeNotFound if context.project_id didn't
match volume['project_id'].  The check_policy() in volume:get didn't
get a chance to raise PolicyNotAuthorized exception.  So in this
change we keep the same behavor.

Change-Id: If43cec5cce977b9220296709b4e243b35b06ecd5
Related-bug: #1356368

10 years agoMerge "Remove redundant temporary_chown from IetAdm"
Jenkins [Wed, 20 Aug 2014 15:16:32 +0000 (15:16 +0000)]
Merge "Remove redundant temporary_chown from IetAdm"

10 years agoExtending IBMNAS driver to support NFS based GPFS storage system
Sasikanth [Thu, 10 Jul 2014 12:27:16 +0000 (17:57 +0530)]
Extending IBMNAS driver to support NFS based GPFS storage system

- Adds support for hardware platform "NAS based on IBM GPFS
  deployments".
- This will enable IBM GPFS-NFS based storage systems to be used
  as a backend in OpenStack environments.

Driver certification test results:
  https://bugs.launchpad.net/cinder/+bug/1358590

DocImpact

Needs an update in ibmnas driver documentation as this change
proposes a new configuration option (ibmnas_platform_type)
to cinder.conf

Change-Id: I09098341ca1948775166883e9b2290061fa6ed37
Implements: blueprint add-gpfs-nas-to-ibmnas

10 years agoGlusterFS: Use image_utils for tempfile creation
Csaba Henk [Sat, 16 Aug 2014 15:49:00 +0000 (16:49 +0100)]
GlusterFS: Use image_utils for tempfile creation

Besides the aesthetical aspect of replacing ad-hoc code
with an utility function, it's more correct
to perform image conversions in CONF.image_conversion_dir,
which is taken care by the image_utils.temporary_file()
context guard.

Change-Id: Ied5607156f0ab1f1f8cfc889d5b57f3486d6b407

10 years agoModify error code compatible with Mac OS.
Rick Chen [Tue, 19 Aug 2014 16:12:23 +0000 (00:12 +0800)]
Modify error code compatible with Mac OS.

Mac OS builtin python errno object has no
attribute 'ENAVAIL'.
Changed
  errno.ENAVAIL --> errno.ENODATA
Another when backend storage service not ready, the
error code "ENAVAIL" change to "ENOPROTOOPT".

Change-Id: I0c41dfe44a4dea02329ff21df881f4c133fe6099
Closes-Bug: 1357010

10 years agoCache snapshots in request for extension
Vishvananda Ishaya [Tue, 19 Aug 2014 23:59:02 +0000 (16:59 -0700)]
Cache snapshots in request for extension

The extended snapshots extension makes a separate db request for
snapshots which is horribly inefficent. In addition it causes an
issue when using all_tenants=1, because the second request doesn't
pass in the filter. Fix this by caching the snapshot in the request
object like we do for volumes and retrieve the cached object in the
extension.

Change-Id: Ia943438c8d48accb7f62c43f07642c3da2fe34ab
Resolves-bug: #1358960

10 years agoMerge "Rewrite ionice command filter using ChainingRegExpFilter"
Jenkins [Tue, 19 Aug 2014 22:00:43 +0000 (22:00 +0000)]
Merge "Rewrite ionice command filter using ChainingRegExpFilter"

10 years agoMerge "Failed to initialize connection"
Jenkins [Tue, 19 Aug 2014 20:38:55 +0000 (20:38 +0000)]
Merge "Failed to initialize connection"

10 years agoRemove redundant temporary_chown from IetAdm
Jon Bernard [Mon, 18 Aug 2014 20:58:30 +0000 (16:58 -0400)]
Remove redundant temporary_chown from IetAdm

I may have missed something but it appears this routine is effectively
the same as temporary_chown defined in utils.py.  It seems reasonable to
use that one instead.

Change-Id: I1de4a49797e50246b323dc460c07e2eec727b3bb

10 years agoMerge "Mock out image source file in image_utils tests"
Jenkins [Tue, 19 Aug 2014 19:11:10 +0000 (19:11 +0000)]
Merge "Mock out image source file in image_utils tests"

10 years agoFailed to initialize connection
Rick Chen [Sat, 16 Aug 2014 06:46:16 +0000 (14:46 +0800)]
Failed to initialize connection

Failed to initialize connection when the storage server heavy loading.
Changed related on:
  dpl_iscsi and dpl_fc
    initialize_connection
    terminate_connection

When storage server busy, the request api will receive httplib response
code accepted and the response body include event uuid. The operation
request use the event uuid to comfirm the job is completed or not.

Change-Id: I4ad8283d355d6b53390e69123ed7b3ed873d4c4e
Closes-Bug: 1357635

10 years agoMock out image source file in image_utils tests
John Griffith [Sat, 16 Aug 2014 00:18:33 +0000 (18:18 -0600)]
Mock out image source file in image_utils tests

Change 202ebc2d987c86984ba9cf8e8e36c32899baaa3b
added some metrics gathering around time to fetch
and convert images.  To do this it uses os.stat,
and when it was written and tested on Linux everything
was cool.

Turns out however there were a few more methods that needed
mocks for the stat command.  This patch adds them.

Also, it was pointed out that for this specific set of tests
we don't actually need to set the class stat_results, mock
will just work for us here since we're not checking an explicit
value.  So this patch also removes those class decl's from
previous methods as they're not needed and we should keep
things consistent.

Change-Id: I31e85694bd167c08a585594b2675dc7232429e05

10 years agoMerge "Prevent tenant viewing volumes owed by another"
Jenkins [Tue, 19 Aug 2014 06:24:20 +0000 (06:24 +0000)]
Merge "Prevent tenant viewing volumes owed by another"

10 years agoMerge "Imported Translations from Transifex"
Jenkins [Tue, 19 Aug 2014 05:46:39 +0000 (05:46 +0000)]
Merge "Imported Translations from Transifex"

10 years agoMerge "Adds barbican keymgr wrapper"
Jenkins [Tue, 19 Aug 2014 05:44:40 +0000 (05:44 +0000)]
Merge "Adds barbican keymgr wrapper"

10 years agoMerge "Provide a quick way to run flake8"
Jenkins [Tue, 19 Aug 2014 05:44:10 +0000 (05:44 +0000)]
Merge "Provide a quick way to run flake8"

10 years agoMerge "Fix exception handling in PureISCSIDriver"
Jenkins [Tue, 19 Aug 2014 00:45:19 +0000 (00:45 +0000)]
Merge "Fix exception handling in PureISCSIDriver"

10 years agoMerge "HP 3PAR manage_existing with volume-type support"
Jenkins [Tue, 19 Aug 2014 00:44:20 +0000 (00:44 +0000)]
Merge "HP 3PAR manage_existing with volume-type support"

10 years agoProvide a quick way to run flake8
John Griffith [Mon, 18 Aug 2014 21:52:29 +0000 (15:52 -0600)]
Provide a quick way to run flake8

"run_tests.sh -p" always checks every file for errors even though you
have probably only changed a handful. This patch adds "run_tests.sh -8"
which only checks the files that were modified in the HEAD commit or
the current working tree.

Copied from Matthew's work in Nova here:
  https://review.openstack.org/#/c/110746/15

Change-Id: I84f6a522da5352a703caa59975643043ec1911fe
Co-Authored-By: Matthew Gilliard <matthew.gilliard@gmail.com>
10 years agoIgnore No value passed for parameter 'dml' message
Ivan Kolodyazhny [Mon, 18 Aug 2014 19:24:15 +0000 (22:24 +0300)]
Ignore No value passed for parameter 'dml' message

There are a lot false positive PyLint errors on
DB migrations for table update method

Change-Id: Id033a1f5af04cde4d8bd888e01bfcc48e656a252

10 years agoMerge "Change the froce delete volume flage to True"
Jenkins [Mon, 18 Aug 2014 19:12:33 +0000 (19:12 +0000)]
Merge "Change the froce delete volume flage to True"

10 years agoMerge "Fix LOG string formatting in image_utils"
Jenkins [Mon, 18 Aug 2014 18:22:35 +0000 (18:22 +0000)]
Merge "Fix LOG string formatting in image_utils"

10 years agoCreate RemoteFSSnapDriver class
Eric Harney [Wed, 9 Jul 2014 20:22:05 +0000 (16:22 -0400)]
Create RemoteFSSnapDriver class

Move RemoteFSDriver into its own file.

Refactor pieces needed for qcow2 snapshots into a class.

Also add self.SHARE_FORMAT_REGEX.

Implements bp: remotefs-snaps

Change-Id: I8f9eaed125f4b916b835a63b04239058e34492a9

10 years agoAdds barbican keymgr wrapper
Brianna Poulos [Wed, 2 Jul 2014 20:43:51 +0000 (16:43 -0400)]
Adds barbican keymgr wrapper

Adds a barbican keymgr wrapper to the key manager interface in
cinder.  This allows barbican to be configured as the key manager
for encryption keys in cinder.  The wrapper translates calls from
the existing key manager interface to python-barbicanclient.

There are two new configuration variables: encryption_auth_url
(the authentication URL for the encryption service) and
encryption_api_url (the api URL for the encryption service).

Change-Id: Ifd0d9b073d7f1c3c92d318c20a080b253008b50c
Implements: blueprint encryption-with-barbican
DocImpact

10 years agoMerge "VMware: Update default task_poll_interval value"
Jenkins [Mon, 18 Aug 2014 11:38:32 +0000 (11:38 +0000)]
Merge "VMware: Update default task_poll_interval value"

10 years agoMerge "Add iSCSI Target objects as independent objects"
Jenkins [Mon, 18 Aug 2014 07:26:04 +0000 (07:26 +0000)]
Merge "Add iSCSI Target objects as independent objects"

10 years agoMerge "fix atom link in XML Version API"
Jenkins [Mon, 18 Aug 2014 07:07:00 +0000 (07:07 +0000)]
Merge "fix atom link in XML Version API"

10 years agoImported Translations from Transifex
OpenStack Proposal Bot [Mon, 18 Aug 2014 06:07:42 +0000 (06:07 +0000)]
Imported Translations from Transifex

Change-Id: Ife372e61181d68ef2073d77e6af5d9db8563bf26

10 years agoMerge "Catch vol not found in SolidFire transfer"
Jenkins [Mon, 18 Aug 2014 02:41:34 +0000 (02:41 +0000)]
Merge "Catch vol not found in SolidFire transfer"

10 years agoMerge "Catch DBDuplicateEntry instead of IntegrityError"
Jenkins [Sun, 17 Aug 2014 20:01:33 +0000 (20:01 +0000)]
Merge "Catch DBDuplicateEntry instead of IntegrityError"

10 years agoMerge "Put result in quotes"
Jenkins [Sun, 17 Aug 2014 19:57:34 +0000 (19:57 +0000)]
Merge "Put result in quotes"

10 years agoCatch vol not found in SolidFire transfer
John Griffith [Fri, 15 Aug 2014 23:26:15 +0000 (17:26 -0600)]
Catch vol not found in SolidFire transfer

The accept_transfer call in SolidFire wasn't catching
the volume_not found exception like it should be (and
like other methods do).

This patch just adds a check for volume is None on the
get_volume call during accept_transfer and raises an
appropriate exception if we run into that case.

While we're at it, add some more detail to the "NotFound"
error messages to include the driver operation as per
request of reviewers.

Change-Id: Ie6b56953028865eb06ebdaae3416339b8a371351
Closes-Bug: #1357261

10 years agoFix LOG string formatting in image_utils
John Griffith [Sat, 16 Aug 2014 15:11:54 +0000 (15:11 +0000)]
Fix LOG string formatting in image_utils

My recent change to report stats on image fetch and
conversion used an incorrectly formatted log message.
The result is Trace messages with Key errors in the c-vol
log files.

This change fixes those messages and gets rid of the key error
exception messages in the Logs.

Change-Id: Id8377dd7761d93fd854f5f7871c997418c6e4554
Closes-Bug: 1357726

10 years agoChange the froce delete volume flage to True
Rick Chen [Sat, 16 Aug 2014 03:56:01 +0000 (11:56 +0800)]
Change the froce delete volume flage to True

The ProphetStor storage volume unable to remove if this has
assignee on other service or application. We make sure the volume
created by the cinder, and the cinder has the privileges to delete
volume.

Change-Id: I06fa7097f4c2320c346e286b0e0fc73ada1c7f8e
Closes-Bug: 1357629

10 years agoMerge "Update ref used for notifications"
Jenkins [Sat, 16 Aug 2014 15:34:13 +0000 (15:34 +0000)]
Merge "Update ref used for notifications"

10 years agoMerge "Use abstract class for the backup driver interface"
Jenkins [Sat, 16 Aug 2014 07:04:23 +0000 (07:04 +0000)]
Merge "Use abstract class for the backup driver interface"

10 years agoMerge "Ignore HTTP_PROXY during test requests"
Jenkins [Sat, 16 Aug 2014 04:48:35 +0000 (04:48 +0000)]
Merge "Ignore HTTP_PROXY during test requests"

10 years agoMerge "Fixes wrong usage of mock.assert_not_called()"
Jenkins [Sat, 16 Aug 2014 04:47:42 +0000 (04:47 +0000)]
Merge "Fixes wrong usage of mock.assert_not_called()"

10 years agoUpdate ref used for notifications
John Griffith [Tue, 29 Jul 2014 13:37:07 +0000 (07:37 -0600)]
Update ref used for notifications

When we update a volume status in the db, we need to
use the newly updated volume-ref object in the following
notification method call.  Otherwise we're sending a
notification message with the old/outdated status
information.

Change-Id: I4d92b340cf5e20aaa885377dfb6bd6fc4ed87d69
Closes-Bug: #1349808

10 years agoHP 3PAR manage_existing with volume-type support
Mark Sturdevant [Wed, 13 Aug 2014 00:18:54 +0000 (17:18 -0700)]
HP 3PAR manage_existing with volume-type support

Make manage_existing() modify and tune the volume based
on the volume-type.  Leverages retype() code.

Partially Implements: blueprint add-export-import-volumes

Change-Id: I2923596a6f2299788a7182fb86a5dfc897436302

10 years agoAdd iSCSI Target objects as independent objects
John Griffith [Thu, 10 Jul 2014 00:00:31 +0000 (00:00 +0000)]
Add iSCSI Target objects as independent objects

This patch is a step in decoupling the target
methods and the Volume Driver's Control methods.

This adds the targets directory and the new target objects
that we use with the exception of IET (follow up for that later).
TgtAdm and LIO drivers have been tested with the new LVM object.

All existing drivers are still able to be specified and use the
same objects and code-path they were using previously.  New
connector objects are only used when specifying the new driver.

Next step will be mapping current ref LVM driver to the new
LVM object and target model and working on the unit-tests.

After that mark the "old" methods and objects as deprecated
and we can then begin working on some other improvements.

Partial-Bug: #1329139

Change-Id: Iaa55e31e3dadc7dcb58112302c3807a8f92bcada

10 years agoMerge "Implement import/export for SolidFire Driver"
Jenkins [Fri, 15 Aug 2014 18:59:39 +0000 (18:59 +0000)]
Merge "Implement import/export for SolidFire Driver"

10 years agoRewrite ionice command filter using ChainingRegExpFilter
Tomoki Sekiyama [Wed, 25 Jun 2014 20:50:18 +0000 (16:50 -0400)]
Rewrite ionice command filter using ChainingRegExpFilter

Currently, the ionice command prepended to a dd command is allowed by three
rootwrap RegExpFilter's that cover 3 arguments patterns. However, this
doesn't support if either 'iflag=direct' or 'oflag=direct' is omitted.
Because of this problem, deletion of volumes may fail if volume_clear_ionice
is set, as 'iflag=direct' is omitted.

This commit fixes this problem by replacing the filters with
ChainingRegExpFilter's, which allow to execute ionice to be combined with the
other allowed commands, including 'dd'.

Originally '-c[0-3]( -n[0-7])?' was allowed as an ionice option, but it is
invalid to specify -n[0-7] in a single option (for example, when '-c2 -n7'
is specified, ionice causes an error "invalid class argument: '2 -n7'").
In this patch, 2 filters are provided to cover the case only with -c option
and the case with both -c and -n options.

Change-Id: Ia074bf3244b7f010bd9e3b5e46c3152c1848f3d3
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@hds.com>
Closes-Bug: 1334422

10 years agoUse abstract class for the backup driver interface
Marc Koderer [Tue, 22 Jul 2014 11:53:45 +0000 (13:53 +0200)]
Use abstract class for the backup driver interface

Instead of using NotImplementedError exceptions to define the interface
it's better to use python abc class [1]. The advantage that it fails
faster if a class doesn't implement the needed interface.
See also [2].

[1]: http://legacy.python.org/dev/peps/pep-3119/
[2]: http://dbader.org/blog/abstract-base-classes-in-python

Change-Id: I625a73f70ac5c6ca68ee38a70c98d999454a817e
Partial-Bug: #1346797

10 years agoPut result in quotes
Joshua Harlow [Fri, 15 Aug 2014 00:02:32 +0000 (17:02 -0700)]
Put result in quotes

When a result is the empty string is is hard/confusing
to look at the logs and determine what the task result
was, to avoid this put the result in quotes so that it
is clear in the log message what is the result and what
is not.

Change-Id: I6f9c30e30999dcd8d7f0df26f8066d9f392fe1b9

10 years agoFix exception handling in PureISCSIDriver
Victor A. Ying [Thu, 14 Aug 2014 22:03:58 +0000 (15:03 -0700)]
Fix exception handling in PureISCSIDriver

PureISCSIDriver had some error logging messages that make use of empty
replacement fields "{}" in strings on which the .format() method is
called, as allowed in Python 2.7+. Python 2.6 requires explicitly
naming or enumerating fields, i.e., "{}" must be replaced with "{0}".
This change fixes this so PureISCSIDriver is Python 2.6 compatible.

PureISCSIDriver.terminate_connection() also changed to catch
errors raised by _get_host_name(). Exception handling generally changed
to be more correct.

This change also adds testing of these code path to the unit tests,
to make sure it's actually correct.

Change-Id: I84179a8bc59dcf5593664ab11c90b07c451fd360
Closes-Bug: 1357004

10 years agoMerge "Fix unit test test_import_record_with_verify"
Jenkins [Thu, 14 Aug 2014 20:21:10 +0000 (20:21 +0000)]
Merge "Fix unit test test_import_record_with_verify"

10 years agoMerge "Sync latest oslo-incubator log for debug fixes"
Jenkins [Thu, 14 Aug 2014 17:09:37 +0000 (17:09 +0000)]
Merge "Sync latest oslo-incubator log for debug fixes"

10 years agoCatch DBDuplicateEntry instead of IntegrityError
Ivan Kolodyazhny [Mon, 4 Aug 2014 15:16:10 +0000 (18:16 +0300)]
Catch DBDuplicateEntry instead of IntegrityError

'iscsi_target_create_safe' method didn't catch DB exceptions
correct.

Need to catch both db_exc.DBError and db_exc.DBDuplicateEntry
due to current oslo.db limitations: it doesn't handle correct
DBDuplicateEntry with different SQLite versions

Related-Bug: #1187367

Change-Id: Ie412ecabd3cbcac301340c82b4275adb7a7206c3

10 years agoMerge "Enable import group hacking rule"
Jenkins [Thu, 14 Aug 2014 07:59:47 +0000 (07:59 +0000)]
Merge "Enable import group hacking rule"

10 years agoMerge "VMware: Check snapshot and rename backing"
Jenkins [Thu, 14 Aug 2014 06:26:40 +0000 (06:26 +0000)]
Merge "VMware: Check snapshot and rename backing"

10 years agoEnable import group hacking rule
Zhiteng Huang [Fri, 27 Jun 2014 10:32:01 +0000 (18:32 +0800)]
Enable import group hacking rule

This change enables H305, H307 included in newly updated hacking 0.9
all violations are fixed.

H305, H307 will check if imports are grouped in stdlib, 3rd libs and
OpenStack components.

Change-Id: I612cae64982450a9be5207dbe26a2b52da49dac6

10 years agoMerge "Actually encode the SolidFire json dump result"
Jenkins [Thu, 14 Aug 2014 04:40:59 +0000 (04:40 +0000)]
Merge "Actually encode the SolidFire json dump result"

10 years agoMerge "Enable F402 checks and fix violations"
Jenkins [Thu, 14 Aug 2014 01:03:10 +0000 (01:03 +0000)]
Merge "Enable F402 checks and fix violations"

10 years agoActually encode the SolidFire json dump result
John Griffith [Wed, 13 Aug 2014 21:25:49 +0000 (15:25 -0600)]
Actually encode the SolidFire json dump result

The SolidFire driver intends to do a encode on the json data to utf-8,
unfortunatly it's not really doing anything because the syntax of the
calls is wrong.

This patch changes things to actually perform the encoding.

Change-Id: I2bc94ed1fdc1dd5f9a6371ae5f63a955f213bc15
Closes-Bug: #1355622

10 years agoSync latest oslo-incubator log for debug fixes
Jay S. Bryant [Wed, 13 Aug 2014 17:16:49 +0000 (12:16 -0500)]
Sync latest oslo-incubator log for debug fixes

This patch pulls in the changes in openstack/common/log.py that
fix the problems that popped up after we removed _() from
around LOG.debug messages.  The change in log ensures that any
text that is not of six.text_type is converted to six.text_type.

Current HEAD in OSLO:
---------------------
commit 759bd8791ec6a4b0e89f649a4179d177530e7536
Merge: 71d072f 631f880
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Aug 13 13:37:27 2014 +0000

Merge "Set keystonemiddleware and routes.middleware to log on WARN level"
---------------------

Additional changes being merged (newest to oldest):
---------------------
759bd879 -
Merge "Set keystonemiddleware and routes.middleware to log on WARN level
71d072f1 -
Merge "Except socket.error if syslog isn't running"
37c00918 -
Add unicode coercion of logged messages to ContextFormatter
66144135 -
Correct coercion of logged message to unicode
1188d88a -
Except socket.error if syslog isn't running
ac995bec -
Fix E126 pep8 errors

Note that this change required an update to config.sample due to change
759bd879 -  Merge "Set keystonemiddleware and routes.middleware to log
on WARN level"

Change-Id: I4b849981c65300b327076d68fbf8601d46ec61f0
Closes-Bug: 1348244

10 years agoMerge "Make manage.py usable"
Jenkins [Wed, 13 Aug 2014 19:30:28 +0000 (19:30 +0000)]
Merge "Make manage.py usable"

10 years agoMerge "Fix bad indentation in netapp and san.hp volume drivers"
Jenkins [Wed, 13 Aug 2014 18:38:24 +0000 (18:38 +0000)]
Merge "Fix bad indentation in netapp and san.hp volume drivers"

10 years agoMerge "Add timer info for copy operations"
Jenkins [Wed, 13 Aug 2014 18:37:55 +0000 (18:37 +0000)]
Merge "Add timer info for copy operations"

10 years agoEnable F402 checks and fix violations
Zhiteng Huang [Wed, 30 Jul 2014 04:44:05 +0000 (12:44 +0800)]
Enable F402 checks and fix violations

This change enables F402 hacking check and fixes all violations found.

[F402] import module from line N shadowed by loop variable

Basically this rule tries to avoid loop variables using the same name as
imported module, for example:

    from cinder import volume
    ...

    for volume in volumes:
        ...

Change-Id: Ie3010616ca87fda113d452fe684e6cff3d5fd978

10 years agoPrevent tenant viewing volumes owed by another
git-harry [Wed, 13 Aug 2014 13:22:49 +0000 (14:22 +0100)]
Prevent tenant viewing volumes owed by another

Bug introduced by 0505bb268942534ad5d6ecd5e34a4d9b0e7f5c04 allows any
tenant to get the details of a volume belonging to any other tenant
if the UUID is known.

This commit allows only the tenant or an admin to get a volume.

Change-Id: I0268d374f7529d89068dcbf3c1cb9ab3d60d4115
Closes-Bug: #1356368

10 years agoVMware: Check snapshot and rename backing
Vipin Balachandran [Fri, 8 Aug 2014 05:23:02 +0000 (10:53 +0530)]
VMware: Check snapshot and rename backing

This patch adds methods for: a) checking existence of backing VM snapshots;
and b) rename backing.

Change-Id: Iede168e28d9569a5a3331479c8096c3cca5140e9
Partial-Bug: #1275682
Implements: blueprint vmdk-backup

10 years agoFix bad indentation in netapp and san.hp volume drivers
Danny Al-Gaaf [Wed, 13 Aug 2014 07:49:06 +0000 (09:49 +0200)]
Fix bad indentation in netapp and san.hp volume drivers

Closes-Bug: #1356223

Change-Id: I4e9fb3c6b3e098998f41e266b2cfc51a4af1fc65
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
10 years agoIgnore HTTP_PROXY during test requests
Angus Lees [Wed, 13 Aug 2014 02:13:48 +0000 (12:13 +1000)]
Ignore HTTP_PROXY during test requests

urllib2 follows http_proxy/HTTP_PROXY by default.  If a (non-local)
proxy is set and a test tries to connect to localhost:$port, it will
instead attempt to connect to $port on the proxy and (presumably) fail.

This change forces the two tests that failed in the presence of
HTTP_PROXY to connect directly.

Change-Id: Ia12c91b356f0ccebf874933ff459aa2faa190655

10 years agoIssue one SQL statement per execute() call
Angus Lees [Wed, 13 Aug 2014 01:59:18 +0000 (11:59 +1000)]
Issue one SQL statement per execute() call

Some sqlalchemy drivers don't support multiple SQL statements in a
single execute() call.  The sqlalchemy author has confirmed that one
statement per execute() is the intended API.

Change-Id: I527780765371dcc9645a721d60ed9ac67ddde29f

10 years agoMerge "Add ProphetStor DPL Storage server volume driver for Cinder"
Jenkins [Tue, 12 Aug 2014 19:15:29 +0000 (19:15 +0000)]
Merge "Add ProphetStor DPL Storage server volume driver for Cinder"