]> review.fuel-infra Code Review - openstack-build/cinder-build.git/log
openstack-build/cinder-build.git
10 years agoUse (# of CPUs) osapi_volume_workers by default
Matt Riedemann [Fri, 27 Jun 2014 17:57:33 +0000 (10:57 -0700)]
Use (# of CPUs) osapi_volume_workers by default

This changes the default number of cinder API workers to be equal to the
number of CPUs available on the host, rather than defaulting to 1 as it
did before.

Commit 75c96a48fc7e5dfb59d8258142b01422f81b0253 did the same thing in
Nova in Icehouse. Similar changes are being made to Glance and Trove as
well.

DocImpact: osapi_volume_workers will now be equal to the number of
           CPUs available by default if not explicitly specified
           in cinder.conf.

UpgradeImpact: Anyone upgrading to this change that does not have
           osapi_volume_workers specified in cinder.conf will now be
           running multiple API workers by default when they restart
           the cinder-api service.

Closes-Bug: #1333370

Change-Id: I8dec104800c18618e0c8422bbb93d5dc19c12876

10 years agoRestore osapi_volume_workers config option
Zhiteng Huang [Fri, 27 Jun 2014 19:38:08 +0000 (03:38 +0800)]
Restore osapi_volume_workers config option

osapi_volume_worker was introduced when enabling multi-process API
support for Cinder. However, this config option was accidentally
dropped in commit 464277220ddb800ac69562649fde62e5ca9358c4
(https://review.openstack.org/#/c/67657/20/cinder/service.py).
As a result, the value in cinder.conf wouldn't be honored.  This
change restore this config option.

Closes-bug: #1335295

Change-Id: Ib2d8532d3e6d0f48da0bc4dd6f6e64bfff8973ea

10 years agoMerge "Fix docstring for snapshots API"
Jenkins [Wed, 2 Jul 2014 14:53:01 +0000 (14:53 +0000)]
Merge "Fix docstring for snapshots API"

10 years agoMerge "Ensure rbd connect exception is properly caught"
Jenkins [Wed, 2 Jul 2014 14:51:27 +0000 (14:51 +0000)]
Merge "Ensure rbd connect exception is properly caught"

10 years agoMerge "3PAR Only remove FC Zone on last volume detach"
Jenkins [Wed, 2 Jul 2014 12:23:12 +0000 (12:23 +0000)]
Merge "3PAR Only remove FC Zone on last volume detach"

10 years agoMerge "Add optional_args to fix Volume Import failure"
Jenkins [Wed, 2 Jul 2014 08:01:27 +0000 (08:01 +0000)]
Merge "Add optional_args to fix Volume Import failure"

10 years agoMerge "Don't use ModelBase.save() inside of transaction"
Jenkins [Tue, 1 Jul 2014 10:45:28 +0000 (10:45 +0000)]
Merge "Don't use ModelBase.save() inside of transaction"

10 years agoAdd optional_args to fix Volume Import failure
Jeegn Chen [Tue, 1 Jul 2014 03:31:19 +0000 (11:31 +0800)]
Add optional_args to fix Volume Import failure

Commit 971a63bd9cf675a00bce1244ec101577b5c17cac added a new
parameter 'optional_args' to execute method of QuotaReserveTask
and QuotaCommitTask. So the new parameter should be needed where
those Tasks are used. This changed volume create task flow to
provide the new parameter. We need the samiliar change to get_flow
method in cinder/volume/flows/manager/manage_existing.py

Trigger EMC VNX CI

Change-Id: Ifed7bd146eec82ba35c2b2c19e9bacd2259ae3ed
Closes-Bug: #1334086

10 years agoMerge "Add cinder-manage cmd to update host column"
Jenkins [Tue, 1 Jul 2014 06:07:05 +0000 (06:07 +0000)]
Merge "Add cinder-manage cmd to update host column"

10 years agoMerge "Use a task subclass instead of a functor + task wrapper"
Jenkins [Tue, 1 Jul 2014 05:03:09 +0000 (05:03 +0000)]
Merge "Use a task subclass instead of a functor + task wrapper"

10 years ago3PAR Only remove FC Zone on last volume detach
Walter A. Boring IV [Fri, 27 Jun 2014 23:00:01 +0000 (16:00 -0700)]
3PAR Only remove FC Zone on last volume detach

This patch checks to make sure that we don't
include the initiator_target_map in the return
of terminate_connection if there are volumes
still attached for a particular host.  The
FibreChannel ZoneManager doesn't remove zones
if there isn't an initiator_target_map in the
return of terminate_connection.

Change-Id: I98db5adb6da38454933a6e4b78085193f1d37680
Partial-Bug: #1308318

10 years agoMerge "Sync processutils from oslo with deps"
Jenkins [Mon, 30 Jun 2014 18:18:08 +0000 (18:18 +0000)]
Merge "Sync processutils from oslo with deps"

10 years agoEnsure rbd connect exception is properly caught
Edward Hope-Morley [Sun, 29 Jun 2014 18:08:46 +0000 (19:08 +0100)]
Ensure rbd connect exception is properly caught

If the rbd driver fails to connect to Ceph the exception
was not being properly caught resulting in the volume
remaining in the 'creating' state until the corresponding
task eventually times out (on top of the time it took
for the connect to fail).

Also added config option for rados connect timeout.

DocImpact: new config option 'rados_connect_timout'
Closes-Bug: 1211839
Change-Id: I5e6eaaaf6bed3e139ff476ecf9510ebe214a83f9

10 years agoMerge "Fixes cinder volume from snapshot on Windows"
Jenkins [Mon, 30 Jun 2014 08:41:31 +0000 (08:41 +0000)]
Merge "Fixes cinder volume from snapshot on Windows"

10 years agoMerge "Fixes cinder volume create on Windows Server 2012 R2"
Jenkins [Mon, 30 Jun 2014 08:40:00 +0000 (08:40 +0000)]
Merge "Fixes cinder volume create on Windows Server 2012 R2"

10 years agoMerge "Enable hacking rule E111,E112,E113"
Jenkins [Mon, 30 Jun 2014 08:01:21 +0000 (08:01 +0000)]
Merge "Enable hacking rule E111,E112,E113"

10 years agoMerge "Bump minimum hacking version to 0.9.2"
Jenkins [Mon, 30 Jun 2014 08:01:13 +0000 (08:01 +0000)]
Merge "Bump minimum hacking version to 0.9.2"

10 years agoMerge "Adding filter options to backup list"
Jenkins [Mon, 30 Jun 2014 06:54:08 +0000 (06:54 +0000)]
Merge "Adding filter options to backup list"

10 years agoAdd cinder-manage cmd to update host column
John Griffith [Sun, 29 Jun 2014 15:06:31 +0000 (09:06 -0600)]
Add cinder-manage cmd to update host column

If you deploy Cinder as per the default using the docs,
you can't later decide to add backends using the
multi-backend functionality. The reason is that multi-backend
is implemented by appending a backend-name to the host entry.

So if you convert the config to multi-backend the hostname
for any volumes that you have created are no longer
associated with a valid volume-driver (ie you can no
longer perform operations including delete on these
volumes).

In addition, in the case of using a SAN attached backend if
one redeploys their cinder-volume service to another node
they'll have the same issue.

This patch adds a cinder-manage command that will go through
volumes that are located on a specified host and update
the host column on each of them.

Change-Id: I8758fb8ef3fccbba2a598240c42d625b997e2db6
Closes-Bug: 1320688

10 years agoMerge "Synced jsonutils from oslo-incubator"
Jenkins [Fri, 27 Jun 2014 21:46:17 +0000 (21:46 +0000)]
Merge "Synced jsonutils from oslo-incubator"

10 years agoMerge "3PAR volume manage/unmanage support"
Jenkins [Fri, 27 Jun 2014 21:39:42 +0000 (21:39 +0000)]
Merge "3PAR volume manage/unmanage support"

10 years agoMerge "Fix dropped exception for create_export in vol manager"
Jenkins [Fri, 27 Jun 2014 21:39:34 +0000 (21:39 +0000)]
Merge "Fix dropped exception for create_export in vol manager"

10 years agoSync processutils from oslo with deps
Matt Riedemann [Fri, 27 Jun 2014 16:50:56 +0000 (09:50 -0700)]
Sync processutils from oslo with deps

The main target for the sync is to pick up the get_worker_count()
method in commit 85f178489a128a04a7ee3ed44018403caa109ef0 so that we can
set osapi_volume_workers equal to the number of CPUs on the host.

Changes:

processutils
------------
85f1784 Move nova.utils.cpu_count() to processutils module
cdcc19c Mask passwords that are included in commands
8a0f567 Remove str() from LOG.* and exceptions
51778f9 Allow passing environment variables to execute()
fcf517d Update oslo log messages with translation domains
af41592 Catch OSError in processutils
f773ea2 Fix i18n problem in processutils module
8b2b0b7 Use hacking import_exceptions for gettextutils._
3b71f46 Fixed misspellings of common words
12bcdb7 Remove vim header
a4dab73 Correct execute() to check 0 in check_exit_code

importutils
-----------
1173e46 Remove ValueError when accessing sys.modules

jsonutils
---------
0d7296f Add kwargs to jsonutils.load(s) functions

log
---
109e325 Use oslo.messaging to publish log errors
de4adbc pep8: fixed multiple violations
eac71f5 Fix common.log.ContextFormatter for Python 3
d78b633 Fixes a simple spelling mistake
621d831 always log a traceback in the sys.excepthook
90ae24b Remove redundant default=None for config options
af36c2a Fix logging setup for Python 3.4
cdcc19c Mask passwords that are included in commands

strutils
--------
8a0f567 Remove str() from LOG.* and exceptions
fd18c28 Fix safe_encode(): return bytes on Python 3
302c7c8 strutils: Allow safe_{encode,decode} to take bytes as input

timeutils
---------
250cd88 Fixed a new pep8 error and a small typo

Partial-Bug: #1333370

Change-Id: I7115cb1ae341a995502ca8ba988c12e9168259e0

10 years agoSynced jsonutils from oslo-incubator
Ihar Hrachyshka [Tue, 27 May 2014 08:22:28 +0000 (10:22 +0200)]
Synced jsonutils from oslo-incubator

The sync includes change that drastically enhances performance on Python
2.6 with fresh simplejson library installed.

The latest commit in oslo-incubator:
0f4586c0076183c6356eec682c8a593648125abd

The following changes are included with this patch:
-> 18f2bc1 Enforce unicode json output for jsonutils.load[s]()
--> cinder/openstack/common/jsonutils.py

Change-Id: Ib3dc0b713ed90396919feba018772243b3b9c90f
Closes-Bug: 1314129

10 years agoMerge "Add cgroups related commands to rootwrap filters"
Jenkins [Fri, 27 Jun 2014 13:46:12 +0000 (13:46 +0000)]
Merge "Add cgroups related commands to rootwrap filters"

10 years agoEnable hacking rule E111,E112,E113
Zhiteng Huang [Fri, 27 Jun 2014 10:44:41 +0000 (18:44 +0800)]
Enable hacking rule E111,E112,E113

This change fixes all violations of E111, E112, E113 hacking rules
and enable these rules in tox.ini

Change-Id: I79b1f2f26fbbec4ad47230ca2e8a2802458a6cee

10 years agoBump minimum hacking version to 0.9.2
Zhiteng Huang [Tue, 24 Jun 2014 07:59:10 +0000 (15:59 +0800)]
Bump minimum hacking version to 0.9.2

Take advantage of newer version hacking to automate a few style checkings.
A change included this hacking update was proposed by OpenStack Proposal Bot
in earlier patch sets (before 19) but somehow it was missed in latter
proposals. (https://review.openstack.org/#/c/96206/)

Modified/New rules in 0.9.2:

Rule changes:
    * Report E129 instead of E125 for visually indented line with same indent
    * as next logical line.
    * Report E265 for space before block comment.
    * Report E713 and E714 when operators ``not in`` and ``is not`` are
    recommended (taken from hacking).
    * Report E131 instead of E121 / E126 if the hanging indent is not consistent
    within the same continuation block.  It helps when error E121 or E126 is
    in the ``ignore`` list.
    * Report E126 instead of E121 when the continuation line is hanging with
    extra indentation, even if indentation is not a multiple of 4.
    - Dropped H901,H902 as those are now in pep8 and enforced by E713 and E714
New rules:
    + H104  File contains nothing but comments
    + H305  imports not grouped correctly
    + H307  like imports should be grouped together
    + H405  multi line docstring summary not separated with an empty line
    + H904  Wrap long lines in parentheses instead of a backslash

These rules (including changed rules) are all disabled in this change if they
caues any pep8 checking failure, and will be turned on in follow-up patches
if considered useful.

Original commit message in openstack/requirements:

Hacking 0.9.1 was out for a while (hacking 0.9.0 had a minor bug in it, so its
blacklisted), and we want to start supporting projects to migrate over
to 0.9.x. Expand the upper bound to allow 0.9.x while still
supporting 0.8.x series so we keep the old version in our mirrors as to
not break anything.

Change-Id: Ifde0a550e7f9c76b0446759e9f690da2b2aafceb

10 years agoMerge "Misuse of i18n log translation to output error message"
Jenkins [Fri, 27 Jun 2014 06:01:27 +0000 (06:01 +0000)]
Merge "Misuse of i18n log translation to output error message"

10 years agoMerge "Fix BrcdFCSANlookupService to iterate multiple switches."
Jenkins [Fri, 27 Jun 2014 02:11:29 +0000 (02:11 +0000)]
Merge "Fix BrcdFCSANlookupService to iterate multiple switches."

10 years agoFix dropped exception for create_export in vol manager
Eric Harney [Thu, 10 Apr 2014 16:57:50 +0000 (12:57 -0400)]
Fix dropped exception for create_export in vol manager

If self.driver.create_export() fails, model_update is
False and this exception is therefore not logged,
causing things to break later in the execution path in
unexpected ways.

Closes-Bug: #1300148

Change-Id: I77600f3311efd71fa644adb6d65e4b19ab306203

10 years agoMisuse of i18n log translation to output error message
Mitsuhiro Tanino [Tue, 24 Jun 2014 23:40:36 +0000 (19:40 -0400)]
Misuse of i18n log translation to output error message

I found a misuse of i18n log translation for error message
in "cinder/volume/drivers/lvm.py'.

The "%s' can not be translated. In this case, the "message'
must be i18ning and then the "message" should be output
using LOG.error().

Change-Id: I4495522d337764dc28186225f4594a227ac3e555
Signed-off-by: Mitsuhiro Tanino <mitsuhiro.tanino@hds.com>
Closes-Bug: 1334334

10 years agoMerge "Add keyword argument missing at some exc.HTTPError subclass"
Jenkins [Thu, 26 Jun 2014 06:39:51 +0000 (06:39 +0000)]
Merge "Add keyword argument missing at some exc.HTTPError subclass"

10 years agoFix docstring for snapshots API
Tom Fifield [Thu, 26 Jun 2014 06:18:59 +0000 (14:18 +0800)]
Fix docstring for snapshots API

For some reason, the snapshots controller class' introductory
docstring stated that it was the volume API controller.
This patch changes it to say:
"The Snapshots API controller for the OpenStack API."

Change-Id: I8c9827939bbc7acf93282db854a40501f3fea399

10 years agoDon't use ModelBase.save() inside of transaction
ChangBo Guo(gcb) [Wed, 5 Mar 2014 09:00:58 +0000 (17:00 +0800)]
Don't use ModelBase.save() inside of transaction

'with session.begin()' makes some operations in one transaction.
session.begin() returns a transaction instance, then does some operations,
and will commit or rollback automatically before leaving the block.
ModelBase.save() always submit a commit, and that is not expected.
When we get a persistent object from database, we just modify the
object inside of block 'with session.begin()' and sqlalchemy will
update it, don't need method session.add() or ModelBase.save().

Closes-Bug: #1224429
Change-Id: I4af58e98b2783d3945d92e57680d58e7ae356a67

10 years ago3PAR volume manage/unmanage support
Anthony Lee [Fri, 20 Jun 2014 23:05:48 +0000 (16:05 -0700)]
3PAR volume manage/unmanage support

HP 3PAR support for managing and unmanaging volumes.

Partially Implements: blueprint add-export-import-volumes
Change-Id: Ibb0c34eccad4f8bb028025d055d9a59c2a3a6204

10 years agoAdd cgroups related commands to rootwrap filters
Tomoki Sekiyama [Wed, 25 Jun 2014 21:22:32 +0000 (17:22 -0400)]
Add cgroups related commands to rootwrap filters

Adds rootwrap filters to allow commands to create/setup cgroups and
to put commands into cgroups in order to limit bandwidth usage,
that are used in setup_blkio_cgroup() (volume/utils.py).

Change-Id: Id74cdd4d2fdfffb12aff8cb3b977324bb5b45173
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@hds.com>
Implements: blueprint limit-volume-copy-bandwidth

10 years agoMerge "Minor cleanups in test_volume"
Jenkins [Wed, 25 Jun 2014 20:15:51 +0000 (20:15 +0000)]
Merge "Minor cleanups in test_volume"

10 years agoMerge "I/O rate limit for volume copy with qemu-img convert"
Jenkins [Wed, 25 Jun 2014 19:00:34 +0000 (19:00 +0000)]
Merge "I/O rate limit for volume copy with qemu-img convert"

10 years agoMerge "I/O rate limit for volume copy with dd"
Jenkins [Wed, 25 Jun 2014 19:00:26 +0000 (19:00 +0000)]
Merge "I/O rate limit for volume copy with dd"

10 years agoUse a task subclass instead of a functor + task wrapper
Joshua Harlow [Wed, 25 Jun 2014 18:24:02 +0000 (11:24 -0700)]
Use a task subclass instead of a functor + task wrapper

Instead of using a functor that activates the scheduler driver
instead incorporate and use a task subclass, this avoids the less
meaningful information that is presented when a functor is used
as well as allows for a more straightforward path for future
subclassing and derivations of work.

Change-Id: Ice66e109968c28f36156edf3dd47a89f94494bb8

10 years agoFix BrcdFCSANlookupService to iterate multiple switches.
Angela Smith [Wed, 25 Jun 2014 18:22:27 +0000 (11:22 -0700)]
Fix BrcdFCSANlookupService to iterate multiple switches.

Changed close_connection to client.close_connection.
Fixed return map to key on fabric name instead of principal switch wwn.

Closes-Bug: 1303460
Change-Id: I3725c16cd416a028b85ac8ac6c0d895fd6900763

10 years agoMerge "Fixed data copy issue of volume/driver.py"
Jenkins [Wed, 25 Jun 2014 04:21:21 +0000 (04:21 +0000)]
Merge "Fixed data copy issue of volume/driver.py"

10 years agoMerge "GlusterFS: Handle deletion of snapshot with no backing file"
Jenkins [Wed, 25 Jun 2014 03:48:47 +0000 (03:48 +0000)]
Merge "GlusterFS: Handle deletion of snapshot with no backing file"

10 years agoGlusterFS: Handle deletion of snapshot with no backing file
Thang Pham [Thu, 29 May 2014 03:07:49 +0000 (23:07 -0400)]
GlusterFS: Handle deletion of snapshot with no backing file

If a glusterfs volume is in-use, nova is called to delete a
volume snapshot.  It is possible for a timeout to occur, since
cinder is polling for nova task progress.  In such case, a
GlusterfsException is thrown, but nova continues to process the
snapshot delete and commits the changes.  Cinder is not aware of
this, and the actual snapshot entry in cinder is prevented from
being deleted, since no backing file exists for the out-of-sync
snapshot.  This patch allows a snapshot with no backing file to
be deleted from cinder and updates the volume info file.

Change-Id: I83c8a7242199edbfd1897297589ac7deb42c5865
Closes-Bug: #1311182

10 years agoMerge "Remove check_volume_az_zone functor and associated passing"
Jenkins [Tue, 24 Jun 2014 09:44:29 +0000 (09:44 +0000)]
Merge "Remove check_volume_az_zone functor and associated passing"

10 years agoMerge "Fixes cinder volume from image on Windows"
Jenkins [Tue, 24 Jun 2014 08:31:57 +0000 (08:31 +0000)]
Merge "Fixes cinder volume from image on Windows"

10 years agoMerge "Make rbd driver string encoding checks consistent"
Jenkins [Tue, 24 Jun 2014 07:19:26 +0000 (07:19 +0000)]
Merge "Make rbd driver string encoding checks consistent"

10 years agoMerge "VMware:Fix params for copy-image-to-volume"
Jenkins [Tue, 24 Jun 2014 06:17:40 +0000 (06:17 +0000)]
Merge "VMware:Fix params for copy-image-to-volume"

10 years agoMerge "VMware: Optional create backing parameters"
Jenkins [Tue, 24 Jun 2014 06:17:33 +0000 (06:17 +0000)]
Merge "VMware: Optional create backing parameters"

10 years agoFixed data copy issue of volume/driver.py
Eiichi Aikawa [Mon, 19 May 2014 23:43:13 +0000 (08:43 +0900)]
Fixed data copy issue of volume/driver.py

I found data copy issue on __init__ of ISERDriver class.
Some settings for iser should be copied to iscsi's.
But iser_port value was copied not to iscsi_port but to iser_port.
This patch will fix this issue as to be copied to iscsi_port.

Change-Id: I7621e690396049aabf3ced331e633158f45067f4

10 years agoMerge "test_storwize_vdisk_copy_ops fails if green thread context switch"
Jenkins [Tue, 24 Jun 2014 03:35:30 +0000 (03:35 +0000)]
Merge "test_storwize_vdisk_copy_ops fails if green thread context switch"

10 years agoMake rbd driver string encoding checks consistent
Edward Hope-Morley [Mon, 23 Jun 2014 16:51:44 +0000 (17:51 +0100)]
Make rbd driver string encoding checks consistent

All string checks should use strutils.safe_encode()

Closes-Bug: 1333446
Change-Id: I56c9ccbcedd34c83793620561da17c47cb5f551c

10 years agoRemove check_volume_az_zone functor and associated passing
Joshua Harlow [Mon, 9 Jun 2014 23:20:31 +0000 (16:20 -0700)]
Remove check_volume_az_zone functor and associated passing

To make it easier to understand why a volume is being rejected
when its availability zone is not allowed remove the functor
that does this check and use the set of valid availability zones
as the master list of valid zones that can be used (and use this
inside the task that validates this data).

Change-Id: Ib8462dbbbc33242edbbf02a7c737746d3142d043

10 years agoMerge "glusterfs: Honor mount options when restarting cinder service"
Jenkins [Mon, 23 Jun 2014 18:40:25 +0000 (18:40 +0000)]
Merge "glusterfs: Honor mount options when restarting cinder service"

10 years agoMerge "GlusterFS: Various unit test improvements"
Jenkins [Mon, 23 Jun 2014 18:40:17 +0000 (18:40 +0000)]
Merge "GlusterFS: Various unit test improvements"

10 years agoMerge "Update _resize_volume_file() to support appropriate permissions"
Jenkins [Mon, 23 Jun 2014 18:31:12 +0000 (18:31 +0000)]
Merge "Update _resize_volume_file() to support appropriate permissions"

10 years agoMerge "GlusterFS tests: Mock out compute, don't load novaclient"
Jenkins [Mon, 23 Jun 2014 16:32:23 +0000 (16:32 +0000)]
Merge "GlusterFS tests: Mock out compute, don't load novaclient"

10 years agoMinor cleanups in test_volume
Eric Harney [Mon, 14 Apr 2014 18:27:06 +0000 (14:27 -0400)]
Minor cleanups in test_volume

Fix incorrect parameter order for mock decorators.  This
just happened to work because they were used in the same way
in test_reserve_volume_success().

Remove incorrect comments.  These seem to mix up 'error' versus
'error_deleting' for expected states -- but the assertEqual args
are sufficiently explanatory by themselves.

Change-Id: I763265b8365d3b2fcece94b14639a1bed7b6a848

10 years agoUpdate _resize_volume_file() to support appropriate permissions
Sasikanth [Mon, 23 Jun 2014 14:10:12 +0000 (19:40 +0530)]
Update _resize_volume_file() to support appropriate permissions

ibmnas driver inherits _set_rw_permissions_for_all() from nfs.py
which sets 666 to the volumes. Changes are expected to be made in
nfs.py such that it sets 600 or 660 permissions, by doing so
ibmnas driver fails performing the operation _resize_volume_file()

Adding run_as_root in resize_volume operation.

Change-Id: Iecaf111f96f93b4e24bd81edd6aa82829113b4bb
Closes-Bug: #1333252

10 years agotest_storwize_vdisk_copy_ops fails if green thread context switch
Tao Bai [Fri, 20 Jun 2014 09:56:23 +0000 (02:56 -0700)]
test_storwize_vdisk_copy_ops fails if green thread context switch

There is loopingcall(green thread)will cause _rm_vdisk_copy_op() run
twice.On the second time, the exception KeyError is not caught.

Closes-Bug: #1302670

Change-Id: I788f07c33f76693a13f0d581e687a32c6736a394

10 years agoMerge "vmware:Ignore inaccessible/inMaintenance datastore"
Jenkins [Mon, 23 Jun 2014 07:59:20 +0000 (07:59 +0000)]
Merge "vmware:Ignore inaccessible/inMaintenance datastore"

10 years agoMerge "vmware: Force chunked transfer for upload-to-image"
Jenkins [Mon, 23 Jun 2014 07:21:49 +0000 (07:21 +0000)]
Merge "vmware: Force chunked transfer for upload-to-image"

10 years agoVMware:Fix params for copy-image-to-volume
Vipin Balachandran [Thu, 5 Jun 2014 10:51:27 +0000 (16:21 +0530)]
VMware:Fix params for copy-image-to-volume

While creating a volume from stream-optimized image, the adapter type
in the image meta-data and the profile in the volume type extra spec
are ignored. This change fix those missing parameters.

Partial-Bug: #1284284
Closes-Bug: #1332482
Change-Id: I46c4755989fe61e0e654ca6daa3c3af0655071f0

10 years agoVMware: Optional create backing parameters
Vipin Balachandran [Thu, 5 Jun 2014 06:55:53 +0000 (12:25 +0530)]
VMware: Optional create backing parameters

The current create backing methods do not support specifying an adapter
type for the backing VM. These methods always create a backing VM with
a single disk and LSI logic adapter. This change adds optional parameters
to create backing methods so that a backing VM can be created without a
disk or with a specific adapter type.

Partial-Bug: #1284284
Partial-Bug: #1287185
Partial-Bug: #1287176
Change-Id: Ifff64eb2be4af1c4218e810366e25dbecdc5847f

10 years agoMerge "Attach log listeners to other engines"
Jenkins [Mon, 23 Jun 2014 05:28:35 +0000 (05:28 +0000)]
Merge "Attach log listeners to other engines"

10 years agoFixes cinder volume from snapshot on Windows
Lucian Petrut [Thu, 10 Apr 2014 01:16:07 +0000 (04:16 +0300)]
Fixes cinder volume from snapshot on Windows

When creating a volume from a snapshot on Windows, a shadow copy
volume is exported as an iSCSI disk. The issue is that this export
is readonly and cannot be mounted to instances.

As this export cannot be modified, to make the new volume usable,
the according image must be moved to a new path and imported .

Closes-Bug: #1306032

Change-Id: I3a936d30fdd7875059dc56c2681f453757c2605f

10 years agoFixes cinder volume create on Windows Server 2012 R2
Lucian Petrut [Tue, 8 Apr 2014 15:57:41 +0000 (18:57 +0300)]
Fixes cinder volume create on Windows Server 2012 R2

Windows Server 2012 R2 does not support vhd images as iSCSI disks,
requiring VHDX images. For this reason, the cinder driver fails to
create volumes. For the moment, the default format is vhd.
On WSS 2012 R2, we should use vhdx images as default.

This patch introduces vhd/vhdx related methods for both v1 and v2
wmi virtualization namespaces.

Closes-Bug: #1299150
Change-Id: I272988dc5b0e3b8129c5e4d3c79bea1c292701c8

10 years agoFixes cinder volume from image on Windows
Lucian Petrut [Tue, 1 Apr 2014 18:55:16 +0000 (21:55 +0300)]
Fixes cinder volume from image on Windows

When creating a volume from an image, after the volume is created,
qemu-img is supposed to copy the downloaded image to the volume.
This fails as the disk is enabled and is not accessible.

Also, Windows does not support using dynamic vhds as iSCSI disks
and as qemu-img cannot create fixed vhd images, there must be an
intermediate conversion before importing the disk.

In order to be able to modify an iSCSI disk, it must be disabled
first.

Closes-Bug: #1300906

Change-Id: I726b23287c5b710227288d6215538f01dfb0f979

10 years agoUse oslo-incubator module units
Eric Guo [Mon, 30 Dec 2013 11:36:49 +0000 (19:36 +0800)]
Use oslo-incubator module units

There is Cinder's version units module, that looks good. Considering
consistency with other projects like Nova, Glance, Cinder would be
better to use oslo-incubator's version.

Change-Id: I07e93e9d8a985df0f96c3e80de9c3f23bf6a0c1e

10 years agoAttach log listeners to other engines
Joshua Harlow [Sat, 21 Jun 2014 01:54:55 +0000 (18:54 -0700)]
Attach log listeners to other engines

Attach the created task/flow/engine listener to
the other usages of taskflow that exist in cinder
so that those locations can also benefit from
the same logging of state and activity.

Part of blueprint task-logging

Change-Id: I4ba7fe625a88967607adaa18d329bec56825201c

10 years agoMerge "Add genconfig tox job for sample config file generation"
Jenkins [Fri, 20 Jun 2014 22:13:59 +0000 (22:13 +0000)]
Merge "Add genconfig tox job for sample config file generation"

10 years agoMerge "Remove global conf settings from iscsi helper"
Jenkins [Fri, 20 Jun 2014 20:10:53 +0000 (20:10 +0000)]
Merge "Remove global conf settings from iscsi helper"

10 years agoMerge "Fix nfs_shares config file parsing of spaces"
Jenkins [Fri, 20 Jun 2014 19:26:11 +0000 (19:26 +0000)]
Merge "Fix nfs_shares config file parsing of spaces"

10 years agoAdding filter options to backup list
Juan Manuel Olle [Mon, 28 Apr 2014 18:09:29 +0000 (15:09 -0300)]
Adding filter options to backup list

This patch adds filter options to backup list.
Like cinder list, now cinder backup-list accept
parameters.
This blueprint is complimented with the client part

https://blueprints.launchpad.net/python-cinderclient
/+spec/add-filter-options-to-backup-list

blueprint: add-filter-options-to-backup-list

DocImpact
Change-Id: I9e095ee44a03744eb3f319323d9130a89196614e

10 years agoRemove global conf settings from iscsi helper
John Griffith [Wed, 11 Jun 2014 22:43:41 +0000 (22:43 +0000)]
Remove global conf settings from iscsi helper

This "intermediate" iscsi helper pulls all of it's
config settings from the global config.  This is fine
if you only have a single backend, but if you do
multi-backend it puts things in a bad state where some
of the backend specific settings are picked up but
others are not (for example iscsi_ip_address).

This change modifies methods like create_export in
the volume/iscsi helper to take the drivers version
of the config settings as a parameter and use those
instead of setting off of the global values.

Long term there's a lot of cleanup surrounding our
inheritance model and especially the iscsi helpers.
We can address that going forward but here we just want
to fix the bug in the safest way possible.

Change-Id: If17ec3ffb3f4ea7f95da65781885dcd613b1a807
Closes-Bug: 1325799

10 years agoAdd genconfig tox job for sample config file generation
Mathieu Gagné [Fri, 20 Jun 2014 17:19:42 +0000 (13:19 -0400)]
Add genconfig tox job for sample config file generation

Wrap generate_sample.sh in tox. This will make sure needed
dependencies are installed prior to sample config file generation.

Change-Id: I426be3416931a385f99ca5270943a0f10c60f346

10 years agoFix nfs_shares config file parsing of spaces
Mikhail Khodos [Tue, 17 Jun 2014 20:28:04 +0000 (00:28 +0400)]
Fix nfs_shares config file parsing of spaces

Driver fails in case if 'nfs_shares' file lines contain more than one
space between it's patrs. This patch fixes this.

Change-Id: I446ab23f0ae06ec9e8ad18ebc1d79c705de47e4d

10 years agoMerge "Sync the latest common db code from oslo"
Jenkins [Fri, 20 Jun 2014 16:28:22 +0000 (16:28 +0000)]
Merge "Sync the latest common db code from oslo"

10 years agoGlusterFS: Various unit test improvements
Michael Berlin [Mon, 19 May 2014 15:28:54 +0000 (17:28 +0200)]
GlusterFS: Various unit test improvements

Fixed bug that "_ensure_share_writable" was not mocked and therefore
"GlusterfsException" was thrown earlier than expected with an unexpected
error message.

To better guard against situations like this, I've added a helper method
"assertRaisesAndMessageMatches" to test for the thrown exception AND its
message.

Added "mox.VerifyAll()" where it was missing and cleaned up unused
mocks.

Fixed test for "create_volume_from_snapshot" (which actually tested
"create_cloned_volume").

Added tests for driver function "copy_volume_to_image".

Overall, code coverage for volume/drivers/glusterfs.py improved from 74%
to 82%.

Change-Id: I872eb477351c5406d07bbf5b748ebde2d878120a

10 years agovmware: Force chunked transfer for upload-to-image
Vipin Balachandran [Thu, 3 Apr 2014 06:12:55 +0000 (11:42 +0530)]
vmware: Force chunked transfer for upload-to-image

The upload-to-image operation downloads (using stream-optimized HTTP NFC
transfer) the virtual disk corresponding to the volume to a pipe from
where the glance image client reads the data for upload. Due to a recent
change in the glance image client, success in seeking the input file
object results in forgoing the chunked transfer in favor of regular
transfer. The glance image client expects an IOError if the input file
object is a pipe. Currently the pipe seek() is a NOP and this results in
upload-to-image failure. This changes fixes such failures by throwing
an IOError indicating an illegal seek.

Change-Id: I2e69fc4103559d49d2cee16ea04787a252dbf879
Closes-Bug: #1295239

10 years agoSync the latest common db code from oslo
Victor Sergeyev [Fri, 28 Feb 2014 09:20:37 +0000 (11:20 +0200)]
Sync the latest common db code from oslo

This sync brings the latest openstack/common/db code from
olso-incubator.

Changes in application code caused by API changes in openstack.common.db -
oslo.db no longer stores SQLAlchemy Engine and sessionmaker instances
globally and it's up to applications to create them. So we should add
methods for work with engine and session to Cinder.

List of changes:

54f7e7f Prevent races in opportunistic db test cases
8a0f581 Use oslotest instead of common test module
4a591ea Start ping listener also for postgresql
f0e50ed Add a warning to not use get_table for working with ForeignKeys
2fd457b Ignore migrate versioning tables in utf8 sanity check
9fed4ed Fix Keystone doc build errors with SQLAlchemy 0.9
f7705f3 Make table utf-8 charset checking be optional for DB migration
5b7e61c Dispose db connections pool on disconnect
295fcd9 Do not use the 'extend' method on a dict_items object
d1988b9 Set sql_mode callback on connect instead of checkout
a1a8280 Fix excessive logging from db.sqlalchemy.session
dc2d829 Add lockutils fixture to OpportunisticTestCase
d10f871 Adapt DB provisioning code for CI requirements
5920bed Make db utils importable without migrate
9933bdd Get mysql_sql_mode parameter from config
96a2217 Prevent incorrect usage of _wrap_db_error()
6cab37c Python3: define a __next__() method for ModelBase
20a7510 Add from_config() method to EngineFacade
7959826 db: move all options into database group
fea119e Drop special case for MySQL traditional mode, update unit tests
a584166 Make TRADITIONAL the default SQL mode
dda24eb Introduce mysql_sql_mode option, remove old warning
0b5af67 Introduce a method to set any MySQL session SQL mode
8dccc7b Handle ibm_db_sa DBDuplicateEntry integrity errors
5b9e9f4 Fix doc build errors in db.sqlalchemy
0f24d82 Fix migration.db_version when no tables
ac84a40 Update log translation domains
c0d357b Add model_query() to db.sqlalchemy.utils module
84254fc Fix a small typo in api.py
b8a676c Remove CONF.database.connection default value
86707cd Remove None for dict.get()
0545121 Fix duplicating of SQL queries in logs
fcf517d Update oslo log messages with translation domains
fa05b7c Restore the ability to load the DB backend lazily
630d395 Don't use cfg.CONF in oslo.db
ce69e7f Don't store engine instances in oslo.db
35dc1d7 py3kcompat: remove
b4f72b2 Don't raise MySQL 2013 'Lost connection' errors
271adfb Format sql in db.sqlalchemy.session docstring
0334cb3 Handle exception messages with six.text_type
eff69ce Drop dependency on log from oslo db code
7a11a04 Automatic retry db.api query if db connection lost
11f2add Clean up docstring in db.sqlalchemy.session
1b5147f Only enable MySQL TRADITIONAL mode if we're running against MySQL
39e1c5c Move db tests base.py to common code
986dafd Fix parsing of UC errors in sqlite 3.7.16+/3.8.2+
9a203e6 Use dialect rather than a particular DB API driver
1779029 Move helper DB functions to db.sqlalchemy.utils
bcf6d5e Small edits on help strings
ae01e9a Transition from migrate to alembic
70ebb19 Fix mocking of utcnow() for model datetime cols
7aa94df Add a db check for CHARSET=utf8
aff0171 Remove "vim: tabstop=4 shiftwidth=4 softtabstop=4" from headers
fa0f36f Fix database connection string is secret
8575d87 Removed copyright from empty files
d08d27f Fix the obsolete exception message
8b2b0b7 Use hacking import_exceptions for gettextutils._
9bc593e Add docstring for exception handlers of session
855644a Removal of _REPOSITORY global variable.
ea6caf9 Remove string.lowercase usage
a33989e Remove eventlet tpool from common db.api
e40903b Database hook enabling traditional mode at MySQL
f2115a0 Replace xrange in for loop with range
c802fa6 SQLAlchemy error patterns improved
1c1f199 Remove unused import
6d0a6c3 Correct invalid docstrings
135dd00 Remove start index 0 in range()
28f8fd5 Make _extra_keys a property of ModelBase
45658e2 Fix violations of H302:import only modules
bb4d7a2 Enables db2 server disconnects to be handled pessimistically
915f8ab db.sqlalchemy.session add [sql].idle_timeout
e6494c2 Use six.iteritems to make dict work on Python2/3
48cfb7b Drop dependency on processutils from oslo db code
4c47d3e Fix locking in migration tests
c2ee282 Incorporating MIT licensed code
c5a1088 Typos fix in db and periodic_task module
fb0e86a Use six.moves.configparser instead of ConfigParser
1dd4971 fix typo in db session docstring
8a01dd8 The ability to run tests at various backend
0fe4e28 Use log.warning() instead of log.warn() in oslo.db
12bcdb7 Remove vim header
4c22556 Use py3kcompat urlutils functions instead of urlparse
ca7a2ab Don't use deprecated module commands
6603e8f Remove sqlalchemy-migrate 0.7.3 patching
274c7e2 Drop dependency on lockutils from oslo db code
97d8cf4 Remove lazy loading of database backend
2251cb5 Do not name variables as builtins
3acd57c Add db2 communication error code when check the db connection
c2dcf6e Add [sql].connection as deprecated opt for db
001729d Modify SQLA session due to dispose of eventlet
4de827a Clean up db.sqla.Models.extra_keys interface
347f29e Use functools.wrap() instead of custom implementation
771d843 Move base migration test classes to common code
9721129 exception: remove
56ff3b3 Use single meta when change column type
3f2f70e Helper function to sanitize db url credentials
df3f2ba BaseException.message is deprecated since Python 2.6
c76be5b Add function drop_unique_constraint()
d4d8126 Change sqlalchemy/utils.py mode back to 644
cf41936 Move sqlalchemy migration from Nova
5758360 Raise ValueError if sort_dir is unknown
31c1995 python3: Add python3 compatibility support
3972c3f Migrate sqlalchemy utils from Nova
1a2df89 Enable H302 hacking check
3f503fa Add a monkey-patching util for sqlalchemy-migrate
7ba5f4b Don't use mixture of cfg.Opt() deprecated args
489e2b7 Ensure that DB configuration is backward compatible
7119e29 Enable hacking H404 test.
ebaa578 Enable user to configure pool_timeout
30cb47e Changed processing unique constraint name.
6d27681 Enable H306 hacking check.
444bdbc Add a slave db handle for the SQLAlchemy backend.
484a1df Enable hacking H403 test
4ff33b0 Specify database group instead of DEFAULT

Change-Id: I2c5616a1bdf38d7618e7840288c7094df6afecd4

10 years agoFix order dependency of admin metadata
Zhiteng Huang [Fri, 20 Jun 2014 03:48:28 +0000 (11:48 +0800)]
Fix order dependency of admin metadata

Some test cases in VolumeTestCase depends on the order of admin metadata
returned from db.volume_get() call, which causes jenkins test failure in
recent reviews.  This change extracts the key/value we are intertested in
and compare them with AssertDictMatch() to remove the order dependency.

Change-Id: I2719c025436304cabab54f19a6ce314842d8785b
Closes-bug: # 1332388

10 years agoGlusterFS tests: Mock out compute, don't load novaclient
Eric Harney [Thu, 19 Jun 2014 16:57:51 +0000 (12:57 -0400)]
GlusterFS tests: Mock out compute, don't load novaclient

Mock out the compute library for these tests, which prevents loading
the novaclient library.

This makes these tests more reliable, as currently the novaclient
lib interferes with our mocking of os.path.exists in these tests
in some test configurations.

This should also make the GlusterFS tests slightly more efficient
since they were previously loading the novaclient python library
but did not really need to.

Change-Id: I49e858b8536e30572b6231f209a35578460fff96

10 years agoMerge "Handle the case where az is disabled/removed"
Jenkins [Thu, 19 Jun 2014 15:11:57 +0000 (15:11 +0000)]
Merge "Handle the case where az is disabled/removed"

10 years agoMerge "Add task/flow listener support around the volume api flow"
Jenkins [Thu, 19 Jun 2014 01:32:42 +0000 (01:32 +0000)]
Merge "Add task/flow listener support around the volume api flow"

10 years agoMerge "Fix log capturing fixture"
Jenkins [Thu, 19 Jun 2014 01:32:16 +0000 (01:32 +0000)]
Merge "Fix log capturing fixture"

10 years agoMerge "Fixes an issue with 'dd' bug from Illumos repo"
Jenkins [Wed, 18 Jun 2014 21:55:13 +0000 (21:55 +0000)]
Merge "Fixes an issue with 'dd' bug from Illumos repo"

10 years agoMerge "debug level logs should not be translated"
Jenkins [Wed, 18 Jun 2014 19:51:40 +0000 (19:51 +0000)]
Merge "debug level logs should not be translated"

10 years agoMerge "Retry lvremove with ignore_suspended_devices"
Jenkins [Wed, 18 Jun 2014 19:13:28 +0000 (19:13 +0000)]
Merge "Retry lvremove with ignore_suspended_devices"

10 years agoMerge "Sync periodic_task from oslo-incubator"
Jenkins [Wed, 18 Jun 2014 19:13:21 +0000 (19:13 +0000)]
Merge "Sync periodic_task from oslo-incubator"

10 years agoMerge "Updated from global requirements"
Jenkins [Wed, 18 Jun 2014 18:58:23 +0000 (18:58 +0000)]
Merge "Updated from global requirements"

10 years agoMerge "vmware: Fixes VMDK volume incompatibility issue"
Jenkins [Wed, 18 Jun 2014 18:55:40 +0000 (18:55 +0000)]
Merge "vmware: Fixes VMDK volume incompatibility issue"

10 years agoMerge "Implement extend volume in NFS driver"
Jenkins [Wed, 18 Jun 2014 17:02:56 +0000 (17:02 +0000)]
Merge "Implement extend volume in NFS driver"

10 years agoUpdated from global requirements
OpenStack Proposal Bot [Wed, 18 Jun 2014 16:06:13 +0000 (16:06 +0000)]
Updated from global requirements

Change-Id: Ie48624c9bbdebc4e595505f28448ce91d61e5d22

10 years agoMerge "Add XML deserializer for qos_manage delete_keys API"
Jenkins [Wed, 18 Jun 2014 16:04:25 +0000 (16:04 +0000)]
Merge "Add XML deserializer for qos_manage delete_keys API"

10 years agoMerge "Remove check_{attach,detach} from volumes API"
Jenkins [Wed, 18 Jun 2014 16:04:10 +0000 (16:04 +0000)]
Merge "Remove check_{attach,detach} from volumes API"

10 years agodebug level logs should not be translated
Christian Berendt [Mon, 12 May 2014 16:28:58 +0000 (18:28 +0200)]
debug level logs should not be translated

According to the OpenStack translation policy available at
https://wiki.openstack.org/wiki/LoggingStandards debug messages
should not be translated. Like mentioned in several changes in
Nova by garyk this is to help prioritize log translation.

This patch adds a new hacking check - N319 - that ensures all
debug log messages don't have translations.

Change-Id: Id9c2715f25c8f2ea52235aba4bd1583655391584
Implements: blueprint debug-translation-removal
Closes-Bug: #1318713

10 years agoMerge "Remove unused oslo module and adjust opentstack-common.conf"
Jenkins [Wed, 18 Jun 2014 14:34:28 +0000 (14:34 +0000)]
Merge "Remove unused oslo module and adjust opentstack-common.conf"

10 years agoImplement extend volume in NFS driver
Andrew Kerr [Fri, 21 Mar 2014 14:13:58 +0000 (10:13 -0400)]
Implement extend volume in NFS driver

This fix implements the extend_volume functionality in the NFS
driver.

Change-Id: I1634fef0206b4ef12684c6c7f4851d76da579942
Closes-Bug: #1295316

10 years agoMerge "Add strip size support to rbd driver"
Jenkins [Wed, 18 Jun 2014 07:56:37 +0000 (07:56 +0000)]
Merge "Add strip size support to rbd driver"