]> review.fuel-infra Code Review - openstack-build/cinder-build.git/log
openstack-build/cinder-build.git
10 years agoPackaging Juno b3.
Thomas Goirand [Sat, 20 Sep 2014 08:20:42 +0000 (16:20 +0800)]
Packaging Juno b3.

10 years agoMerge tag '2014.2_b3' into debian/juno
Thomas Goirand [Sat, 20 Sep 2014 08:20:25 +0000 (16:20 +0800)]
Merge tag '2014.2_b3' into debian/juno

Cinder juno-3 milestone (2014.2.b3)

10 years agoAdded python-passlib as dependency of python-cinder (Closes: #755178).
Thomas Goirand [Wed, 10 Sep 2014 11:54:05 +0000 (19:54 +0800)]
Added python-passlib as dependency of python-cinder (Closes: #755178).

10 years agoMerge "Add Fujitsu ETERNUS DX support"
Jenkins [Thu, 4 Sep 2014 10:12:28 +0000 (10:12 +0000)]
Merge "Add Fujitsu ETERNUS DX support"

10 years agoMerge "Fixed typo from 'the the' to 'the'"
Jenkins [Wed, 3 Sep 2014 16:39:00 +0000 (16:39 +0000)]
Merge "Fixed typo from 'the the' to 'the'"

10 years agoFixed typo from 'the the' to 'the'
kshimamu [Fri, 29 Aug 2014 22:44:06 +0000 (15:44 -0700)]
Fixed typo from 'the the' to 'the'

Change-Id: Ie06db86113c94749ec0c9e2355a94de8833c8d31

10 years agoSupport Volume Backup Quota
ling-yun [Sat, 2 Aug 2014 06:43:35 +0000 (14:43 +0800)]
Support Volume Backup Quota

Since quota take volumes, snapshots and gigabytes into account, it also
needs to take backup into account.
1. Backup create API is not admin interface, users of projects could
create any number of backups.
2. If some evil users create many more big backups to exhaust the free
space of backup storage-backend, it would cause cinder-backup in the state
of rejecting service.
Based on these two points, I think it is necessary to support volume
backup quota.

blueprint support-volume-backup-quota

Change-Id: Idd24ad2e8a5507bf18e90bd5fad59a4af1c158c6

10 years agoMerge "Volume Replication implementation for IBM Storwize/SVC"
Jenkins [Tue, 2 Sep 2014 05:02:53 +0000 (05:02 +0000)]
Merge "Volume Replication implementation for IBM Storwize/SVC"

10 years agoMerge "Update oslo policy and its dependencies"
Jenkins [Mon, 1 Sep 2014 19:49:46 +0000 (19:49 +0000)]
Merge "Update oslo policy and its dependencies"

10 years agoVolume Replication implementation for IBM Storwize/SVC
TaoBai [Sun, 17 Aug 2014 19:13:48 +0000 (22:13 +0300)]
Volume Replication implementation for IBM Storwize/SVC

Adds replication support to the IBM Storwize/SVC driver.
Supports IBM SVC stretched Cluster mode.

DocImpact

Change-Id: Id82623518c3508ad637f77d08699ffebcb44921e

10 years agoMerge "Add Cisco FC Zoning plugin to the FC ZoneManager"
Jenkins [Mon, 1 Sep 2014 09:08:05 +0000 (09:08 +0000)]
Merge "Add Cisco FC Zoning plugin to the FC ZoneManager"

10 years agoAdd Fujitsu ETERNUS DX support
Jun Ishizaki [Tue, 5 Aug 2014 01:21:45 +0000 (10:21 +0900)]
Add Fujitsu ETERNUS DX support

 This driver had them correspond to FUJITSU ETERNUS DX.
 This driver supports ETERNUS DX S2 and the S3 series.

 The driver runs volume operations by communicating with the backend
 FUJITSU storage. It uses a CIM client in Python called PyWBEM to perform
 CIM operations over HTTP.

  Support protocols
  -Fibre Channel
  -iSCSI

  Support functions
  -create/delete volume
  -create/delete snapshot
  -attach/detach volume
  -list snapshots
  -create volume from snapshot
  -create volume from image
  -create volume from volume
  -create image from volume
  -extend volume
  -volume migration(host assisted)

driver-cert result
   fc : https://bugs.launchpad.net/cinder/+bug/1359467
   iscsi : https://bugs.launchpad.net/cinder/+bug/1359569

Change-Id: I7fe26dafae2f2db9130e020a34af73d0eb7ac719
Implements: blueprint fujitsu-dx-volume-driver

10 years agoMerge "Pool-aware Scheduler Support"
Jenkins [Mon, 1 Sep 2014 06:44:23 +0000 (06:44 +0000)]
Merge "Pool-aware Scheduler Support"

10 years agoMerge "Sync latest strutils from oslo-incubator"
Jenkins [Mon, 1 Sep 2014 05:50:56 +0000 (05:50 +0000)]
Merge "Sync latest strutils from oslo-incubator"

10 years agoPool-aware Scheduler Support
Zhiteng Huang [Sat, 23 Aug 2014 18:32:57 +0000 (18:32 +0000)]
Pool-aware Scheduler Support

This change introduces pool-aware scheduler to address the need for
supporting multiple pools from one storage controller.

Terminology
-----------
Pool - A logical concept to describe a set of storage resource that
can be used to serve core Cinder requests, e.g. volumes/snapshots.
This notion is almost identical to Cinder Volume Backend, for it
has simliar attributes (capacity, capability).  The main difference
is Pool couldn't exist on its own, it must reside in a Volume
Backend.  One Volume Backend can have mulitple Pools but Pools
don't have sub-Pools (meaning even they have, sub-Pools don't get
to exposed to Cinder, yet).  Pool has a unique name in backend
namespace, which means Volume Backend can't have two pools using
same name.
Legacy Volume - Volumes that were created prior pools are introduced.
There are several corner cases where legacy volumes could cause
issues, especially for those drivers used to do pools internally
(e.g. 3Par, NetApp).  Please refer to 'Limitation/Known Issues' for
details.

Design
------
The workflow in this change is simple:
 1) Volume Backends reports how many pools and what those pools
 look like and are capable of to scheduler;
 2) When request comes in, scheduler picks a pool that fits the need
 most to serve the request, it passes the request to the backend
 where the target pool resides in;
 3) Volume driver gets the message and let the target pool to serve
 the request as scheduler instructed.

To support placing resources (volume/snapshot) onto a pool, these
pieces in Cinder currently are missing:
1. Volume Backends reporting capacity/capabilities at pool level;
2. Scheduler filtering/weighing based on pool capacity/capability
and placing volumes/snapshots to a pool of certain backend;
3. Record which pool a resource is located on a backend and passes
between scheduler and volume backend.

The missing piece 1 is solved by a) updating the format of
periodical volume stats message to adopt pool stats; b) altering
manager/driver to collect and report pool stats.  Below is an example
of the updated report message that contains 2 pools:

    capability = {
        'volume_backend_name': 'Local iSCSI', #\
        'vendor_name': 'OpenStack',           #  backend level
        'driver_version': '1.0',              #  mandatory/fixed
        'storage_protocol': 'iSCSI',          #- stats&capabilities

        'active_volumes': 10,                 #\
        'IOPS_provisioned': 30000,            #  optional custom
        'fancy_capability_1': 'eat',          #  stats & capabilities
        'fancy_capability_2': 'drink',        #/

        'pools': [
            {'pool_name': '1st pool',         #\
             'total_capacity_gb': 500,        #  mandatory stats for
             'free_capacity_gb': 230,         #  pools
             'allocated_capacity_gb': 270,    # |
             'QoS_support': 'False',          # |
             'reserved_percentage': 0,        #/

             'dying_disks': 100,              #\
             'super_hero_1': 'spider-man',    #  optional custom
             'super_hero_2': 'flash',         #  stats & capabilities
             'super_hero_3': 'neoncat'        #/
             },
            {'pool_name': '2nd pool',
             'total_capacity_gb': 1024,
             'free_capacity_gb': 1024,
             'allocated_capacity_gb': 0,
             'QoS_support': 'False',
             'reserved_percentage': 0,

             'dying_disks': 200,
             'super_hero_1': 'superman',
             'super_hero_2': ' ',
             'super_hero_2': 'Hulk',
             }
        ]
    }

Notice that there are now two levels of mandatory/fixed stats &
capabilities that every volume driver should report.

The scheduler change is mostly done in scheduler/host_manager.py:
* HostState adds a list element to hold PoolState(s) (a HostState sub-
class).  Each PoolState can be treated like a HostState since it has
as much information as HostState and also share the same structure.
HostState.update_capabilities()/update_from_volume_capability() are
changed to handle both legacy and new report messages.
* HostManager.get_all_host_states() now returns a PoolState iterator
that includes all pools scheduler tracks.  To filters and weighers,
PoolState() and HostState() are identical, thus there is no need to
change filters and weighers since they are dealing with same kind of
information and exact same data strucuture as before.  What filter
and weigher deals with looks like this:
    # Before this change
      HostState() for Backend 1
         ...
      HostState() for Backend N
    # After this change
      PoolState() for Backend 1 Pool 1
         ...
      PoolState() for Backend 1 Pool N

        ...

      PoolState() for Backend N Pool 1
         ...
      PoolState() for Backend N Pool N

With this change, filter scheduler will pick a pool@host instead of a
host.

Now that we are able to report and decide at pool level, the 3rd
missing piece is easy to fix.  Just like how multi-backend
volume service is supported, we encoded pool name into 'host' field
of Volume table.  The 'host' field is now 'host@backend#pool'. Notice
that this change doesn't mean that cinder-volume service will have to
subscribe to multiple RPC channels.  There is no need to mess with
message queue subscription at all because we did a little trick when
determining RPC target in VolumeRPCAPI: correct host info like
'host@backend' is extracted from 'host@backend#pool' before sending
RPC messages.  Therefore, once scheduler decides which pool on a
backend shall serve a request, it updates 'host' field of the volume
record in DB to be like 'host@backend#pool', but it still sends RPC
message to 'host@backend' which cinder-volume is listening to.

Simliar action is done when creating backups for volumes.  host@backend
is extracted from volume['host'] so that correct backup service can be
picked.

Other changes are done in this patch:

* Change get_volume_stats() in ISCSIVolumeDriver/ISERDriver to include
pool stats, and change default total/free_capacity_gb from 'infinite'
to 0.
* Add logic in volume manager init_host() to detect legacy volumes and
try to update host info for them if driver is able to provide pool info.
* Add get_pool() driver API to return the pool name of given volume,
this help volume manager to handle legacy volumes, especially for those
backends already support pooling internally (e.g. 3Par, NetApp).
* Implement get_pool() for LVM driver to return volume backend name as
pool name.
* Add extract_host() helper function in cinder/volume/utils.py to help
handle cases where there is needs to extract 'host', 'backend' or
'pool' information from volume['host'].
* Add append_host() helper function in cinder/volume/utils.py to help
concatenate host and pool string into one for volume['host'] field.

Limitation/Known Issues
-----------------------
* The term 'host' in Cinder used to refer to 'backend', and it was
consistent from the view of end users/admins to Cinder internals.
Now that pool is exposed to Cinder scheduler, scheduler starts treating
different pools on same backend as different hosts.  Therefore, we have
to expose pool to admin at least, because migrating volume now has to
include pool in 'host' parameter in order to work.  As for end users,
the whole 'host' of volume equals storage backend idea works well for
them, so they can decide the policy of migration when retyping volumes,
or choose to create new volume on same or different host as/from
existing volumes.  Now it's *not* easy to hide pool from end user and
make retype or affinity filter work like before.  This change has a
speical code path for legacy volumes, to allow (potential) migration
between pools even migration_policy is set to 'never'.  But not every
driver has magic to move volumes to one pool to another at minimum
cost.  The inconsistency behavior between drivers (same command may
take totally different time to finish), which could be very confusing.

* Drivers want to support pools need to update, but they should work
just like they used to without any change except:
 - creating volume using same/different host hints with legacy volumes
 may NOT work as expected, because 'hostA' is considered different
 from 'hostA#pool0' and 'hostA#pool1'.  But legacy volume on 'hostA'
 might actually resides in pool0, only the driver has this knowledge.
 - retyping legacy volume issue as mentioned above.

Ultimate solution for all these corner cases is to update Cinder DB
to add 'pool' info for legacy volumes.  The problem is only the driver
knows such info, that is why we add a new driver API get_pool() to
so that volume manager is able to learn pool info from driver and
update host field of legacy volumes in DB.

User-Visible Change
-------------------
DocImpact
For managing and migrating volumes, now user needs to provide pool
information as part of host string. For example:
  cinder manage --source-name X --name newX host@backend#POOL
  cinder migrate UUID host@backend#POOL

implement blueprint: pool-aware-cinder-scheduler

Change-Id: Id8eacb8baeb56558aa3d9de19402e2075822b7b4

10 years agoMerge "Add retype method to xiv/ds8k driver interface."
Jenkins [Sun, 31 Aug 2014 16:22:45 +0000 (16:22 +0000)]
Merge "Add retype method to xiv/ds8k driver interface."

10 years agoMerge "VMware: Disable suds caching"
Jenkins [Sun, 31 Aug 2014 16:22:37 +0000 (16:22 +0000)]
Merge "VMware: Disable suds caching"

10 years agoMerge "VMware: Handle exceptions raised by image update"
Jenkins [Sun, 31 Aug 2014 16:22:33 +0000 (16:22 +0000)]
Merge "VMware: Handle exceptions raised by image update"

10 years agoAdd QoS support to IBM Storwize driver
Vincent Hou [Wed, 23 Jul 2014 04:06:38 +0000 (00:06 -0400)]
Add QoS support to IBM Storwize driver

IBM Storwize driver can be enabled with QoS support by setting the parameter
I/O throttling rate, which caps the amount of I/O.

This patch add the QoS configuration to the methods of create_volume,
create_volume_from_snapshot, create_cloned_volume and retype.

The QoS for IBM Storwize storage can be configured in 3 ways:
* Add the key "qos:IOThrottling" into a QoS spec and associate this QoS
spec with a volume type.
* Add the key "qos:IOThrottling" into the extra spec of a volume type.
* Add a metadata with the key "qos:IOThrottling".

Change-Id: I7c5c6726a61efad6a8ada9c5dcc31a9382ec79f9
implements-blueprint: cinder-storwize-driver-qos

10 years agoMerge "Driver for Fusion-io ioControl Hybrid array"
Jenkins [Sun, 31 Aug 2014 09:34:04 +0000 (09:34 +0000)]
Merge "Driver for Fusion-io ioControl Hybrid array"

10 years agoMerge "Typo"
Jenkins [Sun, 31 Aug 2014 08:32:35 +0000 (08:32 +0000)]
Merge "Typo"

10 years agoDriver for Fusion-io ioControl Hybrid array
Ed Balduf [Wed, 7 May 2014 19:04:14 +0000 (13:04 -0600)]
Driver for Fusion-io ioControl Hybrid array

Standard Cinder driver for iSCSI target array.
Uses REST API of the ioControl array.
Implements Quality of Service through the 5 Policies avaliable on the array.
Add Apache License block
Test results: https://bugs.launchpad.net/cinder/+bug/1317248

Change-Id: I27fdaedb9f75629a6af625f4e1c7d3f89a8cbb48
Implements: blueprint fusion-io-iocontrol-driver

10 years agoMerge "Ignore pylint error 'hashlib' has no shaxxx member"
Jenkins [Sat, 30 Aug 2014 15:43:22 +0000 (15:43 +0000)]
Merge "Ignore pylint error 'hashlib' has no shaxxx member"

10 years agoMerge "Introduce Hitachi storage volume driver"
Jenkins [Sat, 30 Aug 2014 09:36:33 +0000 (09:36 +0000)]
Merge "Introduce Hitachi storage volume driver"

10 years agoAdd Cisco FC Zoning plugin to the FC ZoneManager
John McDonough [Wed, 2 Apr 2014 22:47:06 +0000 (18:47 -0400)]
Add Cisco FC Zoning plugin to the FC ZoneManager

The Cisco FC Zoning plugin allows for the automated creation,
deletion and modification of zones in zonesets.  The Cisco
FC zoning plugin supports both basic and enhanced zoning and
supports vsans.

Implements: blueprint cisco-fc-zone-driver
Change-Id: Icf176b6f46f1b1662f0a99ffaa226789661f611e

10 years agoMerge "Pass an empty context to the notifier"
Jenkins [Fri, 29 Aug 2014 17:09:17 +0000 (17:09 +0000)]
Merge "Pass an empty context to the notifier"

10 years agoTypo
Gerard Garcia [Fri, 29 Aug 2014 16:35:39 +0000 (18:35 +0200)]
Typo

Change-Id: I24871e34c04b3f35bf3c5ba6c4df935ddf3f8c5f

10 years agoIgnore pylint error 'hashlib' has no shaxxx member
Xing Yang [Fri, 29 Aug 2014 04:09:28 +0000 (00:09 -0400)]
Ignore pylint error 'hashlib' has no shaxxx member

The following pylint error was found:

cinder/backup/drivers/swift.py:486: [E1101, SwiftBackupDriver.backup]
Module 'hashlib' has no 'sha256' member

Affected patch:
https://review.openstack.org/#/c/110068/

A similar pylint error "Module 'hashlib' has no 'sha224' member"
was also generated.

However, both 'sha256' and 'sha224' are functions in 'hashlib'.  So
these errors should be ignored.

Change-Id: I84690813b6c6a15e661e27acdf97149996951978

10 years agoUpdate oslo policy and its dependencies
Julien Danjou [Wed, 5 Mar 2014 16:24:54 +0000 (17:24 +0100)]
Update oslo policy and its dependencies

This updates to commit 95a3b40004f88c096a9943ce41907eab0d4dae7a the
policy module and its dependencies:
- excutils
- fileutils
- policy

2b966f9 Fix deletion of cached file for policy enforcer
8202a96 Merge "Make policy debug logging less verbose"
238e601 Make policy debug logging less verbose
9c88dc3 file_open: fixed docstring to refer to open() instead of file()
6c7407b fileutils: port to Python 3
fe3389e Improve help strings
33a2cee save_and_reraise_exception: make logging respect the reraise parameter
15722f1 Adds a flag to determine whether to reload the rules in policy
dacc065 Merge "Update oslo log messages with translation domains"
5d1f15a Documenting policy.json syntax
fcf517d Update oslo log messages with translation domains
b59cfd9 Merge "Allow policy.json resource vs constant check"
e038d89 Fix policy tests for parallel testing
0da5de6 Allow policy.json resource vs constant check
e4b2334 Replaces use of urlutils with six in policy module
e71cd1a Merge "Trivial: Make vertical white space after license header consistent"
8b2b0b7 Use hacking import_exceptions for gettextutils._
6d0a6c3 Correct invalid docstrings
6fa29ae Trivial: Make vertical white space after license header consistent
0d8f18b Use urlutils functions instead of urllib/urllib2
12bcdb7 Remove vim header
9ef9fec Use six.string_type instead of basestring
4bfb7a2 Apply six for metaclass
1538c80 ConfigFileNotFoundError with proper argument
477bf7a Add utils for creating tempfile
33533b0 Keystone user can't perform revoke_token
d602070 Merge "excutils: replace unicode by six.u"
2ad95e4 parameterize fileutils removal functions
d3b6e97 excutils: replace unicode by six.u
e35e166 excutils: use six.reraise to re-raise
14ba138 Merge "Fix wrong argument in openstack common policy"
64bb5e2 Fix wrong argument in openstack common policy
b7edc99 Fix missing argument bug in oslo common policy
96d1f88 Merge "BaseException.message is deprecated since Python 2.6"
f58c936 Merge "Fix policy default_rule issue"
3626b6d Fix policy default_rule issue
df3f2ba BaseException.message is deprecated since Python 2.6
7bf8ee9 Allow use of hacking 0.6.0 and enable new checks
d74ac1d Merge "Fix missing argument bug in oslo common policy"
e4ac367 Fix missing argument bug in oslo common policy
1a2df89 Enable H302 hacking check
323e465 Add conditional exception reraise
22ec8ff Make AMQP based RPC consumer threads more robust
7119e29 Enable hacking H404 test.
4246ce0 Added common code into fileutils and strutils.
21ee25f Add common code for fileutils.
6d27681 Enable H306 hacking check.
1091b4f Reduce duplicated code related to policies
a514693 Removes len() on empty sequence evaluation
fde1e15 Convert unicode for python3 portability
e700d92 Replaces standard logging with common logging
65e3d8c update OpenStack, LLC to OpenStack Foundation
547ab34 Fix Copyright Headers - Rename LLC to Foundation
9e5912f Fix pep8 E125 errors.
6d102bc Provide i18n to those messages without _()
9a8c1d7 Move nova's util.synchronized decorator to openstack common.
f182936 Merge "Revert "Add support for finer-grained policy decisions""
76751a6 Revert "Add support for finer-grained policy decisions"
8b585cb Remove an unneeded 'global'
3fc4689 Add support for finer-grained policy decisions
21b69d8 Add a 'not' operator to the policy langage
fa7dc58 Add a new policy language
8c6e7a7 Remove deprecated policy engine APIs

Change-Id: Iddca4243d312c9cd768588753af49dde068d5e4b
Co-Authored-By: Jordan Pittier <jordan.pittier@cloudwatt.com>
10 years agoMerge "Fixing 3PAR excessive FC port usage"
Jenkins [Fri, 29 Aug 2014 09:22:33 +0000 (09:22 +0000)]
Merge "Fixing 3PAR excessive FC port usage"

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 agoIntroduce Hitachi storage volume driver
Seiji Aguchi [Fri, 29 Aug 2014 02:47:35 +0000 (11:47 +0900)]
Introduce Hitachi storage volume driver

This patch introduces Hitachi storage volume driver.

Implements: blueprint hitachi-block-storage-driver

Certification test result for FC:
https://bugs.launchpad.net/cinder/+bug/1336661/+attachment/4189194/+files/FC%20tmp.pTAkWV3eWb

Certification test result for iSCSI:
https://bugs.launchpad.net/cinder/+bug/1336661/+attachment/4189195/+files/iSCSI%20tmp.1Q7C1rkzTY

Change-Id: Ie9b5df6d223b47d176c4e80fcf7e110543ce1d37
Signed-off-by: Seiji Aguchi <seiji.aguchi.tr@hitachi.com>
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 agoAdd retype method to xiv/ds8k driver interface.
Jason Ni [Wed, 27 Aug 2014 02:52:51 +0000 (05:52 +0300)]
Add retype method to xiv/ds8k driver interface.

Change-Id: I1389a3391a17c80e47aad1ed3e7209ec47333e41

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 agoFixing 3PAR excessive FC port usage
Anthony Lee [Thu, 21 Aug 2014 22:57:06 +0000 (15:57 -0700)]
Fixing 3PAR excessive FC port usage

Updating the 3PAR FC driver so that it can detect if there is
only a single FC path available.  When a single FC path is
detected only a single VLUN will be created instead of one for
every available NSP on the host.  This will prevent a host
from using extra FC ports that are not needed.  If multiple
FC paths are available all the ports will still be used.

Closes-Bug: 1360001
Change-Id: I4b2bdf12289dd255dd959675991fa9e2e0fcbd1e

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 agoSync latest strutils from oslo-incubator
Jay S. Bryant [Tue, 26 Aug 2014 16:24:54 +0000 (11:24 -0500)]
Sync latest strutils from oslo-incubator

We have had a request from Tristan Cacqueray to pull in the latest
strutils.  The request is driven by a need to get improvements in
place that make strutils.mask_password more secure.

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

Head of oslo-incubator:
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"

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

This sync pulls in the following change:

66142c34 - Make strutils.mask_password more secure

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

Change-Id: Ie51d316a30bed40996db6cd860dbb9cb173e5ac6
Partial-bug: 1345233

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 agoVMware: Disable suds caching
Vipin Balachandran [Fri, 22 Aug 2014 04:49:29 +0000 (10:19 +0530)]
VMware: Disable suds caching

The default cache implementation in suds store pickled objects in a
predictable path in /tmp which could lead to attacks. This patch
turns off suds caching to address this security issue.

Change-Id: I7daaa25a0677004e03896298e9c3026d5c33c6ac
Closes-Bug: #1341954

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 agoPass an empty context to the notifier
Flavio Percoco [Fri, 22 Aug 2014 16:33:07 +0000 (18:33 +0200)]
Pass an empty context to the notifier

The notifier API expects a context as a first parameter. During the port
to oslo.messaging, a bug was introduced here and the first argument in
the notifier call was removed. This patch puts it back.

Change-Id: Id2f47757ee4af8f8c39a8a1e6b11dcad163f5b7b
Closes-bug: #1346466

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 agoVMware: Handle exceptions raised by image update
Vipin Balachandran [Thu, 14 Aug 2014 15:06:20 +0000 (20:36 +0530)]
VMware: Handle exceptions raised by image update

Exceptions raised by glance image update are not handled while writing
to image. This results in volume being stuck in uploading state for
a long time even after image transfer failure. This patch fixes the
exception handling.

Change-Id: I7651c96968caa49c5421d68ee4dbe9e55f7f53b1
Closes-Bug: #1357239
Partial-Bug: #1269345

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"