]> review.fuel-infra Code Review - openstack-build/cinder-build.git/log
openstack-build/cinder-build.git
9 years agoFix iscsi_write_cache setting for iscsi targets
John Griffith [Wed, 7 Jan 2015 05:47:01 +0000 (22:47 -0700)]
Fix iscsi_write_cache setting for iscsi targets

While transitioning to the new driver and target
model (change 9651f547147188645942466602c92cce06666483)
some things got lost not surprisingly.  One of those
things that wasn't migrated correctly was the
iscsi_write_cache option due to ensure_export not
being called properly on service restart.

This patch cleans up the ensure/create_export methods
and their signatures.  Most importantly esnure_export
should now actually work and check the iscsi_write_cache
settings.

While fixing this I also cleaned up the two methods
mentioned above to eliminate the unnecessary and
duplicate info in their arguments.

Closes-Bug: #1408171

Change-Id: Ibfd1feefd72c43ef316b267e9d6645f2e67e2558

9 years agoMerge "cinder-rtstool: should use acl.node_wwn"
Jenkins [Thu, 8 Jan 2015 18:41:15 +0000 (18:41 +0000)]
Merge "cinder-rtstool: should use acl.node_wwn"

9 years agoMerge "Use cinder.utils.execute directly"
Jenkins [Thu, 8 Jan 2015 18:27:26 +0000 (18:27 +0000)]
Merge "Use cinder.utils.execute directly"

9 years agoMerge "LVM: Add terminate_connection call for Target Objects"
Jenkins [Thu, 8 Jan 2015 09:18:41 +0000 (09:18 +0000)]
Merge "LVM: Add terminate_connection call for Target Objects"

9 years agoMerge "Fix drbd driver to load without 3'rd party libs"
Jenkins [Thu, 8 Jan 2015 09:13:36 +0000 (09:13 +0000)]
Merge "Fix drbd driver to load without 3'rd party libs"

9 years agoMerge "Deal with tgt already exists errors"
Jenkins [Thu, 8 Jan 2015 07:44:48 +0000 (07:44 +0000)]
Merge "Deal with tgt already exists errors"

9 years agoUse cinder.utils.execute directly
John Griffith [Wed, 7 Jan 2015 23:25:48 +0000 (16:25 -0700)]
Use cinder.utils.execute directly

When we were in the process of working on brick libs
we did quite a bit of funky stuff with setting a member
variable for each class to point to an executor that was
passed in during init.

There's no longer any reason to do this with the target drivers,
so we should simplify our lives a bit and go back to using the
good old cinder.utils wrapper.

It's also believed that the use of the member variable is
susceptible to some concurrency issue that was causing the
wrong cmd string to be executed.  We'll mark this as closing
that bug and reopen if we still see the signature in Kibana.

Change-Id: I7a5648d496d15eec5d7ac3643411198226f1ffdf
Closes-Bug: #1398078

9 years agoDeal with tgt already exists errors
John Griffith [Wed, 7 Jan 2015 22:04:07 +0000 (15:04 -0700)]
Deal with tgt already exists errors

So there's a major problem in the iscsi code (and has been
for quite some time).  The tgt show command sometimes seems
to be corrupt and the issued command is actually a tgt create.
The result is that we already have a tgt and the call raises
which then causes the operation to fail.

An example of the issue:
  Stdout: Unexpected error while running command.Command:
  sudo cinder-rootwrap /etc/cinder/rootwrap.conf tgt-admin
  --update iqn.2010-10.org.openstack:volume-f055d3c5-db7a-
  484e-9d0d-b98495439413
  Exit code: 22
  Stdout:
  Command:tgtadm -C 0 --lld iscsi --op new --mode target
  --tid 1 -T iqn.2010-10.org.openstack:volume-f055d3c5-db7a-
  484e-9d0d-b98495439413
  exited with code: 22.
  Stderr: u'tgtadm: this target already exists

What's disturbing however is that in that section of code
we're sending a --op show!!  Could be something we're
doing with our member executor?  Or maybe something to
do with the new oslo concurrency code?

Regardless, his patch intends to provide a clear marker for
ER in the case that create export fails due to the
target entry already existing.

Also this patch will enable us to go ahead and just use
the existing target rather than bomb out and fail everything.
Root cause of why we're getting a second create is still
unknown and needs addressed, but this might help in getting
more info as well as keeping things stable until we address
the root issue.

Change-Id: I0faf4d49b2d3e631b08ec1dff4361ff2376e3308
Partial-Bug: #1398078

9 years agoFix drbd driver to load without 3'rd party libs
John Griffith [Thu, 8 Jan 2015 00:21:42 +0000 (00:21 +0000)]
Fix drbd driver to load without 3'rd party libs

The new drbd driver has a couple needed 3'rd party libs
that aren't in the global requirements.  That means that
any time there's an attempt to import the driver things
blow up due to import errors.

The great thing is that the author took care of things in
unit tests by creating mocks, but we still have the problem
of the driver itself, and this causes us to be unable to do
things like genconfig.

This patch just wraps the 3'rd party libs into a try/catch
block, sets them to None if they're not on the system.

Also, move the global dbus.array variable into init and
make it a member variable.

Change-Id: I33b605fecf1709efa6124312ba58cd29ed885178
Closes-Bug: #1408483

9 years agocinder-rtstool: should use acl.node_wwn
Tomoki Sekiyama [Wed, 7 Jan 2015 22:33:51 +0000 (17:33 -0500)]
cinder-rtstool: should use acl.node_wwn

In newer version of rtslib module, NodeACL is now an object, not a
dict. Thus, acl.node_wwn must be used instead of acl['node_wwn'],
otherwise it will fail with exception.

Change-Id: I0fb53596a2a99609aa4d573f1254b3afa7d9fd91
Closes-Bug: #1408443

9 years agoLVM: Add terminate_connection call for Target Objects
Tomoki Sekiyama [Wed, 7 Jan 2015 22:39:33 +0000 (17:39 -0500)]
LVM: Add terminate_connection call for Target Objects

terminate_connection should be redirected from LVM driver to targets
object. Especially this is required in LioAdm to remove an initiator
from a target. This also fixes some mismatch of method arguments and
remove unused methods in target objects.

Change-Id: Ic42836e995bbdaad92e355b94cb2d7b45d8fdb60
Partial-Bug: #1408443

9 years agoMerge "Fix argument order in assertEqual: tests/test_glusterfs.py"
Jenkins [Wed, 7 Jan 2015 22:55:34 +0000 (22:55 +0000)]
Merge "Fix argument order in assertEqual: tests/test_glusterfs.py"

9 years agoAdd an instance-locality filter
Adrien Vergé [Fri, 5 Dec 2014 15:09:10 +0000 (16:09 +0100)]
Add an instance-locality filter

Having an instance and an attached volume on the same physical host
(i.e. data locality) can be desirable in some configurations, in order
to achieve high-performance disk I/O.

This patch adds an InstanceLocalityFilter filter that allow users to
request creation of volumes 'local' to an existing instance, without
specifying the hypervisor's hostname, and without any knowledge of the
underlying back-ends.

In order to work:
- At least one physical host should run both nova-compute and
  cinder-volume services.
- The Extended Server Attributes extension needs to be active in Nova
  (this is by default), so that the 'OS-EXT-SRV-ATTR:host' property is
  returned when requesting instance info.
- The user making the call needs to have sufficient rights for the
  property to be returned by Nova. This can be achieved either by
  changing Nova's policy.json (the 'extended_server_attributes' option),
  or by setting an account with privileged rights in Cinder conf.

For example:
  Instance 01234567-89ab-cdef is running in a hypervisor on the physical
  host 'my-host'.

  To create a 42 GB volume in a back-end hosted by 'my-host':
    cinder create --hint local_to_instance=01234567-89ab-cdef 42

Note:
  Currently it is not recommended to allow instance migrations for
  hypervisors where this hint will be used. In case of instance
  migration, a previously locally-created volume will not be
  automatically migrated. Also in case of instance migration during the
  volume's scheduling, the result is unpredictable.

DocImpact: New Cinder scheduler filter
Change-Id: Id428fa2132c1afed424443083645787ee3cb0399

9 years agoMerge "Add driver filter and evaluator for scheduler"
Jenkins [Wed, 7 Jan 2015 07:58:22 +0000 (07:58 +0000)]
Merge "Add driver filter and evaluator for scheduler"

9 years agoAdd driver filter and evaluator for scheduler
Anthony Lee [Mon, 8 Dec 2014 14:52:18 +0000 (06:52 -0800)]
Add driver filter and evaluator for scheduler

This patch adds a new filter for the cinder scheduler that
can interpret two new properties provided by backends,
'filter_function' and 'goodness_function'.  A driver can rely
on cinder.conf entries to define these properties for a backend
or the driver can generate them some other way.  An evaluator is
used by the filter to parse the properties.  The 'goodness_function'
property  is used to weigh qualified backends in case multiple ones
pass the filter. More details can be found in the spec:
https://review.openstack.org/#/c/129330/

Implements: blueprint filtering-weighing-with-driver-supplied-functions
DocImpact:  New optional backend properties in cinder.conf.
            New filter and weigher available for scheduler.
Change-Id: I38408ab49b6ed869c1faae746ee64a3bae86be58

9 years agoRemove import of private _lazy module
John Griffith [Tue, 6 Jan 2015 21:40:00 +0000 (14:40 -0700)]
Remove import of private _lazy module

New version of oslo.i18n released and some things
moved around (internal private modules in the lib).

This should be fine and shouldn't matter to us, BUT
it seems we had some hackery going on in our unit tests
that were being lazy and importing and manipulating the
private library.

This patch removes those cases and fixed up the cinder.i18n
helper method for enable_lazy to accept a bool (which is how
the libraries method works to begin with).

There were several tests in test_faults that were actually
performing and comparing translations of messages.  These
tests aren't quite working now because they had a number
of things they imported from private variables and methods
in the i18n module.  Honestly I'm not sure of the value of
testing those things here anyway, but for now I've just
added a skip to those and we can sort out long term fixes
and plans later.

Change-Id: I2ae3d9b98c107cebaf386adbdcdb3cfafee070be
Partial-Bug: #1408099

9 years agoFix argument order in assertEqual: tests/test_glusterfs.py
Bharat Kumar Kobagana [Tue, 6 Jan 2015 05:44:18 +0000 (11:14 +0530)]
Fix argument order in assertEqual: tests/test_glusterfs.py

The assertEqual in cinder/tests/test_glusterfs.py is using
incorrect argument order (observed, expected), which causes the
error message about mismatch to be reversed if the test case fails.
Change it to (expected, observed).

Change-Id: Idcd88de9c5e8a096f0ef473e92bff17e6be16814
Partial-Bug: #1259292

9 years agoMerge "Replace oslo-incubator with oslo_context"
Jenkins [Mon, 5 Jan 2015 23:27:33 +0000 (23:27 +0000)]
Merge "Replace oslo-incubator with oslo_context"

9 years agoMerge "The DRBD(manage) Cinder volume driver"
Jenkins [Mon, 5 Jan 2015 21:28:40 +0000 (21:28 +0000)]
Merge "The DRBD(manage) Cinder volume driver"

9 years agoMerge "Transition LVM Driver to use Target Objects"
Jenkins [Mon, 5 Jan 2015 21:28:07 +0000 (21:28 +0000)]
Merge "Transition LVM Driver to use Target Objects"

9 years agoThe DRBD(manage) Cinder volume driver
Philipp Marek [Thu, 18 Dec 2014 19:12:13 +0000 (20:12 +0100)]
The DRBD(manage) Cinder volume driver

This driver allows to use DRBD 9, via the DRBDmanage Dbus API,
as a Software-Defined-Storage backend.

Cert test result: https://bugs.launchpad.net/cinder/+bug/1400834

Change-Id: Ia0851ddaf405044978343f61cf22c61e7f6682c2

9 years agoMerge "Make ProphetStor drivers compliant with logging standards"
Jenkins [Mon, 5 Jan 2015 04:33:59 +0000 (04:33 +0000)]
Merge "Make ProphetStor drivers compliant with logging standards"

9 years agoMake ProphetStor drivers compliant with logging standards
rick.chen [Tue, 30 Dec 2014 04:11:18 +0000 (12:11 +0800)]
Make ProphetStor drivers compliant with logging standards

The guidelines are specified here:
http://docs.openstack.org/developer/oslo.i18n/guidelines.html

Change-Id: I9e76f3159ee6fbee2c7394aa59ac05f5904ae1cb
Partial-Bug: 1384312

9 years agoTransition LVM Driver to use Target Objects
John Griffith [Tue, 18 Nov 2014 00:46:54 +0000 (00:46 +0000)]
Transition LVM Driver to use Target Objects

This patch refactors the LVM Driver to take a
seperate Target object instead of mixing the
control and data path implementations inside the
driver itself.

It removes the volume/iscsi.py and brick/iscsis/*
files which were duplicating code and actually
very messy in terms of where calls were actually
being implemented.

Change-Id: I43190d1dac33748fe55fa00f260f32ab209be656

9 years agoMerge "Convert mox to mock: tests/test_glusterfs.py"
Jenkins [Fri, 2 Jan 2015 18:13:08 +0000 (18:13 +0000)]
Merge "Convert mox to mock: tests/test_glusterfs.py"

9 years agoReplace oslo-incubator with oslo_context
Yuriy Nesenenko [Fri, 26 Dec 2014 10:00:52 +0000 (12:00 +0200)]
Replace oslo-incubator with oslo_context

Context currently being moved out of the incubator to a standalone project.

Change-Id: I4f25ed35a88f82ee934cc35872c66d7a38256408
Closes-Bug: #1210261

9 years agoMerge "Fix 3PAR host persona mapping to match WSAPI"
Jenkins [Thu, 1 Jan 2015 02:55:08 +0000 (02:55 +0000)]
Merge "Fix 3PAR host persona mapping to match WSAPI"

9 years agoMerge "Make 3PAR drivers compliant with logging standards"
Jenkins [Wed, 31 Dec 2014 16:10:14 +0000 (16:10 +0000)]
Merge "Make 3PAR drivers compliant with logging standards"

9 years agoMerge "Fixing 3PAR connection name cache error"
Jenkins [Wed, 31 Dec 2014 08:32:44 +0000 (08:32 +0000)]
Merge "Fixing 3PAR connection name cache error"

9 years agoMerge "Fix handling of serialized data in filtering of volumes"
Jenkins [Tue, 30 Dec 2014 20:52:58 +0000 (20:52 +0000)]
Merge "Fix handling of serialized data in filtering of volumes"

9 years agoFix handling of serialized data in filtering of volumes
Valeriy Ponomaryov [Tue, 30 Dec 2014 15:51:31 +0000 (17:51 +0200)]
Fix handling of serialized data in filtering of volumes

Commit 4aaf40ba1aab4d7c347b05750d0fe21f8d1bcc68 has introduced a bug.
'ast.literal_eval(v)' throws exception 'SyntaxError' if 'v' is an expression
such as UUID '920da701-93c1-4178-9f1a-ef1c7a8a384d', 'd-', or 'd+'.
Catch the 'SyntaxError' exception in addition to 'ValueError' and
assume 'v' is a string. So the API can handle the request successfully
rather than returning a '500' error code.

Change-Id: Ib50cf3be41ae96ed1f9ef0463ced71443e59061c
Closes-Bug: #1406504

9 years agoMerge "Add a privileged user for OpenStack services"
Jenkins [Tue, 30 Dec 2014 17:00:02 +0000 (17:00 +0000)]
Merge "Add a privileged user for OpenStack services"

9 years agoConvert mox to mock: tests/test_glusterfs.py
Bharat Kumar Kobagana [Tue, 23 Dec 2014 09:20:32 +0000 (14:50 +0530)]
Convert mox to mock: tests/test_glusterfs.py

Replace mox testing library by mock in the file
cinder/tests/test_glusterfs.py

Implements: blueprint mox-to-mock-conversion
Change-Id: Ib0d36ad878613daa55b286337d61b7e7463378d3

9 years agoMerge "Add specific docs build option to tox"
Jenkins [Tue, 30 Dec 2014 12:09:30 +0000 (12:09 +0000)]
Merge "Add specific docs build option to tox"

9 years agoMerge "Add support to PureISCSIDriver for Consistency Groups"
Jenkins [Mon, 29 Dec 2014 21:16:55 +0000 (21:16 +0000)]
Merge "Add support to PureISCSIDriver for Consistency Groups"

9 years agoMerge "Mox -> Mock for test_block_device.py"
Jenkins [Mon, 29 Dec 2014 19:06:53 +0000 (19:06 +0000)]
Merge "Mox -> Mock for test_block_device.py"

9 years agoMerge "Remove check on db_exc.DBError"
Jenkins [Mon, 29 Dec 2014 19:05:46 +0000 (19:05 +0000)]
Merge "Remove check on db_exc.DBError"

9 years agoMerge "Add unit tests for NetApp do_setup methods"
Jenkins [Mon, 29 Dec 2014 18:20:01 +0000 (18:20 +0000)]
Merge "Add unit tests for NetApp do_setup methods"

9 years agoRemove check on db_exc.DBError
Ivan Kolodyazhny [Wed, 15 Oct 2014 14:40:00 +0000 (17:40 +0300)]
Remove check on db_exc.DBError

After using oslo.db >= 0.4.0 we will never get DBError Exception

Change-Id: I94d6a155df1d71658e7271ab4d55122906216a87

9 years agoAdd specific docs build option to tox
Thomas Bechtold [Thu, 21 Aug 2014 13:52:26 +0000 (15:52 +0200)]
Add specific docs build option to tox

Now the documentation can be build in a clean virtual env with "tox
-edocs".

Change-Id: I0f2752f200caa21ad0f26e53df5c2757dd94c78a

9 years agoMerge "RBD: use image_conversion_dir for image operations"
Jenkins [Mon, 29 Dec 2014 05:51:56 +0000 (05:51 +0000)]
Merge "RBD: use image_conversion_dir for image operations"

9 years agoMerge "Brick: fix bug in tgt conf for volume"
Jenkins [Mon, 29 Dec 2014 05:36:17 +0000 (05:36 +0000)]
Merge "Brick: fix bug in tgt conf for volume"

9 years agoMerge "Imported Translations from Transifex"
Jenkins [Mon, 29 Dec 2014 04:44:31 +0000 (04:44 +0000)]
Merge "Imported Translations from Transifex"

9 years agoMerge "Fix issue with passing lists in filters"
Jenkins [Sun, 28 Dec 2014 22:52:34 +0000 (22:52 +0000)]
Merge "Fix issue with passing lists in filters"

9 years agoMerge "Fix broken StorPool driver"
Jenkins [Sun, 28 Dec 2014 22:52:24 +0000 (22:52 +0000)]
Merge "Fix broken StorPool driver"

9 years agoImported Translations from Transifex
OpenStack Proposal Bot [Sun, 28 Dec 2014 06:14:09 +0000 (06:14 +0000)]
Imported Translations from Transifex

For more information about this automatic import see:
https://wiki.openstack.org/wiki/Translations/Infrastructure

Change-Id: If00e7075870d6d391bf8722766e9dde1ca861713

9 years agoAdd a privileged user for OpenStack services
Adrien Vergé [Tue, 28 Oct 2014 19:35:54 +0000 (20:35 +0100)]
Add a privileged user for OpenStack services

Currently Cinder makes all requests to other services (Nova, Swift,
etc.) with current user context. Sometimes Cinder needs privileged
rights for external queries (e.g. asking Nova where an instance is
hosted); there is no way to do it yet.

This patch adds to ability to configure an account with special rights
in the configuration ('os_privileged_user_name',
'os_privileged_user_password' and 'os_privileged_user_tenant' options).
Then, requests that need special permissions can be achieved by creating
a client(privileged_user=True).

Note: This user does not necessarily need to have an admin role
associated with it. For instance, policies can be changed to allow a
specific user (without any roles) to perform special actions.

DocImpact: New configuration options to set a privileged user account
Change-Id: I61d8a6de1c5db5ee2ecce124997f9b6447b04e47

9 years agoMerge "Sync the latest loopingcall module from oslo-incubator"
Jenkins [Fri, 26 Dec 2014 11:11:48 +0000 (11:11 +0000)]
Merge "Sync the latest loopingcall module from oslo-incubator"

9 years agoAdd support to PureISCSIDriver for Consistency Groups
Patrick East [Fri, 5 Dec 2014 02:51:06 +0000 (18:51 -0800)]
Add support to PureISCSIDriver for Consistency Groups

This change adds implementations for the required driver methods for
Consistency Groups to be supported with the PureISCSIDriver. There is a
nice direct mapping between Consistency Groups and Purity Protection
Groups which makes the implementation pretty straightforward.

Implements: blueprint pure-iscsi-consistency-group
Change-Id: I8b97947d4788a7a7ba2dfa1d2b07645eafba76ec

9 years agoMerge "Handle the volume not found case in the VMAX driver"
Jenkins [Thu, 25 Dec 2014 20:04:28 +0000 (20:04 +0000)]
Merge "Handle the volume not found case in the VMAX driver"

9 years agoMerge "Expand the description of extra_capabilities"
Jenkins [Thu, 25 Dec 2014 16:07:49 +0000 (16:07 +0000)]
Merge "Expand the description of extra_capabilities"

9 years agoExpand the description of extra_capabilities
Tom Fifield [Wed, 24 Dec 2014 14:38:32 +0000 (23:38 +0900)]
Expand the description of extra_capabilities

The existing description of extra_capabilities was a bit terse,
meaning deployers couldn't easily gauge the power of this option.
This patch expands the textual description using information from
the blueprint and original commit message, so it can be picked
up automatically by the documentation.

Change-Id: Iac2b6d8a3ce4875a8c1d9874dd7f0e4cf7c435c0
Closes-Bug: 1288044

9 years agoMerge "Brick LVM: Remove self.lv_list"
Jenkins [Wed, 24 Dec 2014 23:47:12 +0000 (23:47 +0000)]
Merge "Brick LVM: Remove self.lv_list"

9 years agoFix broken StorPool driver
John Griffith [Tue, 23 Dec 2014 00:05:01 +0000 (17:05 -0700)]
Fix broken StorPool driver

The newly added StorPool driver has a number of issues;
It imports it's own 3'rd party libs which are not in the
requirements file, it declares conf options but never registers
them, and as a result of these two things it break the ability
to generate a configuration file.

This patch adds a try_import around the import storpool calls
like we do in other drivers, and it registers the config options
properly.

We also move the api setting out of init and into the check_setup
so the service doesn't crash if somebody tries to load the driver
without the required storpool modules.

Closes-Bug: 1405023
Closes-Bug: 1405022
Closes-Bug: 1405016
Closes-Bug: 1403532

Change-Id: I61340ab7c5abcdc21dbb12cf0693da036e69e90c

9 years agoMerge "Replace the NetApp driver proxy layer with a proper factory."
Jenkins [Wed, 24 Dec 2014 04:51:23 +0000 (04:51 +0000)]
Merge "Replace the NetApp driver proxy layer with a proper factory."

9 years agoMerge "Revert "Outputs the message about failing to bind"
Jenkins [Wed, 24 Dec 2014 01:08:21 +0000 (01:08 +0000)]
Merge "Revert "Outputs the message about failing to bind"

9 years agoMerge "Sync periodic_task module from oslo-incubator"
Jenkins [Tue, 23 Dec 2014 20:42:52 +0000 (20:42 +0000)]
Merge "Sync periodic_task module from oslo-incubator"

9 years agoMerge "Sync latest imageutils from oslo-incubator"
Jenkins [Tue, 23 Dec 2014 20:41:31 +0000 (20:41 +0000)]
Merge "Sync latest imageutils from oslo-incubator"

9 years agoMerge "Sync the latest middleware module from oslo-incubator"
Jenkins [Tue, 23 Dec 2014 20:41:19 +0000 (20:41 +0000)]
Merge "Sync the latest middleware module from oslo-incubator"

9 years agoBrick LVM: Remove self.lv_list
Eric Harney [Mon, 17 Nov 2014 20:01:02 +0000 (15:01 -0500)]
Brick LVM: Remove self.lv_list

This member isn't used anywhere, and now that requests for
specific LVs are overwriting self.lv_list with a subset of
the LVs that are present, it doesn't contain coherent info
anyway.

Change-Id: I4d661869012937cc40177e53c8546d5cd7c98cd9

9 years agoRevert "Outputs the message about failing to bind
Dan Prince [Tue, 23 Dec 2014 16:56:17 +0000 (11:56 -0500)]
Revert "Outputs the message about failing to bind

This reverts commit 8b59396182ceacb704e00afe1aee040a19e2a187.

This commit broke the ability to create Iscsi targets w/
cinder-rtstool. Everything seems to be working fine except there
are issues with regards to how rtstool output is parsed in that
any output (regardless of exit status) causes the command
to be marked as failed.

Suggesting this as a quick revert until we can investigate
the proper fix for error handling with cinder-rtstool.

Change-Id: I439433571ed1d01d162f685f8441b28bd6bffa43
Closes-bug: #1405228

9 years agoReplace the NetApp driver proxy layer with a proper factory.
Clinton Knight [Fri, 12 Dec 2014 20:30:26 +0000 (15:30 -0500)]
Replace the NetApp driver proxy layer with a proper factory.

The proxy implementation required a hack in the Abstract Base
Classes project in Cinder core.  This factory implementation
removes the need for the hack.  It also improves logging, as
the actual driver object is provided to the volume manager
instead of the driver proxy.

Change-Id: I28f4798b9e799547d1696d2f135d3302b3c553fe
Closes-Bug: 1405060

9 years agoQuobyte Driver Exception Cleanup
Silvan Kaiser [Tue, 23 Dec 2014 16:35:46 +0000 (17:35 +0100)]
Quobyte Driver Exception Cleanup

Clean up deprecated vendor specific exception code in Quobyte Cinder Driver.
Removes superfluous exceptions, uses standard Cinder exceptions instead.

Change-Id: I3225915a5f90ae22093d3c590fb04fbf28fc2573
Implements: blueprint qb-drv-exception-cleanup

9 years agoMerge "Mock calls to rpm and dpkg from NetApp unit tests"
Jenkins [Tue, 23 Dec 2014 14:42:43 +0000 (14:42 +0000)]
Merge "Mock calls to rpm and dpkg from NetApp unit tests"

9 years agoMerge "NetApp E-series: Do not log passwords in requests"
Jenkins [Tue, 23 Dec 2014 13:47:58 +0000 (13:47 +0000)]
Merge "NetApp E-series: Do not log passwords in requests"

9 years agoMerge "Add error handling to _connect function in PureISCSIDriver"
Jenkins [Tue, 23 Dec 2014 08:08:03 +0000 (08:08 +0000)]
Merge "Add error handling to _connect function in PureISCSIDriver"

9 years agoHandle the volume not found case in the VMAX driver
Xing Yang [Fri, 19 Dec 2014 17:45:45 +0000 (12:45 -0500)]
Handle the volume not found case in the VMAX driver

When a volume cannot be found on the array, VMAX driver throws
an exception. This brings a volume into error_deleting state during
the volume deletion operation. This patch fixed it by returning None
when a volume cannot be found.

Closes-Bug: #1395830
Change-Id: Iad714ff6e577bc9d7cf69b8654a7eb726969279e

9 years agoFix format errors in brick/iscsi LOG messages
John Griffith [Fri, 19 Dec 2014 19:25:30 +0000 (19:25 +0000)]
Fix format errors in brick/iscsi LOG messages

Currently in cinder.brick.iscsi.iscs:LioADM.create_iscsi_target
The Log message for the exception is:
  LOG.error("%s" % e),

This rightfully results in:
  *** UnicodeError: UnicodeError(u'Message objects
      do not support str() because they may contain
      non-ascii characters. Please use unicode() or
      translate() instead.',)

In some cases this causes the Volume service to stop and
doesn't help a ton with debug. While looking at this also
noticed a number of other similar cases where invalid LOG
messages were set up.  Following the i8n guidelines here:
http://docs.openstack.org/developer/oslo.i18n/guidelines.html

Went ahead and cleaned the bulk of the LOG messages in this
file up to adhere to the guidelines as well as fixing the
UnicodeError described in the bug.

Change-Id: I33adf99ca25a2d8f869de5bfa85b4ca8429be05e

9 years agoMerge "Set iet_conf to nonexistent file in unit test"
Jenkins [Mon, 22 Dec 2014 16:25:10 +0000 (16:25 +0000)]
Merge "Set iet_conf to nonexistent file in unit test"

9 years agoMerge "Rename oslo.concurrency to oslo_concurrency"
Jenkins [Mon, 22 Dec 2014 16:19:35 +0000 (16:19 +0000)]
Merge "Rename oslo.concurrency to oslo_concurrency"

9 years agoAdd unit tests for NetApp do_setup methods
Andrew Kerr [Tue, 25 Nov 2014 20:47:01 +0000 (15:47 -0500)]
Add unit tests for NetApp do_setup methods

We need to ensure that our do_setup methods are properly calling check_flags.
This patch adds tests to that effect.  We also need to ensure that our config
documentation is accurate; this also fixes a minor issue for that.

Change-Id: I99eea59c2451fe1508bafa6ae1ed792b3d0b952e

9 years agoOutputs the message about failing to bind to IPv6
Yuriy Nesenenko [Wed, 17 Dec 2014 14:26:36 +0000 (16:26 +0200)]
Outputs the message about failing to bind to IPv6

Change-Id: I85d9bffc4f848a38fd11784e6634fd014cc43001

9 years agoNetApp E-series: Do not log passwords in requests
Alex Meade [Sun, 19 Oct 2014 18:31:55 +0000 (14:31 -0400)]
NetApp E-series: Do not log passwords in requests

Previously, requests to the backend that contained passwords were
not scrubbed prior to logging.

Closes-bug: 1383444

Change-Id: I389d5115e4a6ffbae6f0463a62015f6ac01ec2e9

9 years agoMerge "Sync request_utils module from oslo-incubator"
Jenkins [Mon, 22 Dec 2014 01:57:31 +0000 (01:57 +0000)]
Merge "Sync request_utils module from oslo-incubator"

9 years agoMerge "Make GPFS driver compliant with logging standards"
Jenkins [Sun, 21 Dec 2014 22:20:19 +0000 (22:20 +0000)]
Merge "Make GPFS driver compliant with logging standards"

9 years agoSet iet_conf to nonexistent file in unit test
John Griffith [Sat, 20 Dec 2014 00:45:16 +0000 (17:45 -0700)]
Set iet_conf to nonexistent file in unit test

The Iet test in test_iscsi isn't setup to deal with
an actual iet.conf file.  The result is that if you happen
to be on a system that has an iet.conf file the test will fail
when it gets to the os.stat check.

This patch just uses a tempdir with a bogus file name that is
set as the iet_conf option to make sure the test never runs into
a situation where the file is actually there.

Change-Id: I5c8653a17250063660ca8aa369c537cc340bc4e9
Closes-Bug: #1400780

9 years agoFix issue with passing lists in filters
Avishay Traeger [Thu, 18 Dec 2014 13:55:26 +0000 (14:55 +0100)]
Fix issue with passing lists in filters

The Cinder db code already allows searching for a value in a list,
for example, id in ['id1', 'id2', 'id3']. The problem is when we
get the value at the API it comes as a string (e.g.
"['id1', 'id2', 'id3']", and therefore the filter fails. This was
already fixed for metadata filters, so just apply it to all filters.

We do a try/except because if it really is a string, then the
literal_eval will fail because we don't pass double quotes, such as
"'string'".  The current code therefore will now cover lists and
fall back to the original behavior for strings.

Change-Id: Idfd8298401a330bb99ddcd130268fabb6ef9d162
Closes-Bug: 1403875

9 years agoMerge "Persist volume uuid on VMAX array"
Jenkins [Sun, 21 Dec 2014 06:30:01 +0000 (06:30 +0000)]
Merge "Persist volume uuid on VMAX array"

9 years agoMerge "Fixed a problem in terminate_connection in VMAX driver"
Jenkins [Sun, 21 Dec 2014 01:23:38 +0000 (01:23 +0000)]
Merge "Fixed a problem in terminate_connection in VMAX driver"

9 years agoMerge "Add a provider_id column to Volumes and Snapshots"
Jenkins [Sun, 21 Dec 2014 01:20:29 +0000 (01:20 +0000)]
Merge "Add a provider_id column to Volumes and Snapshots"

9 years agoMerge "LVM: Volume is deleted unexpectedly during volume migration"
Jenkins [Sat, 20 Dec 2014 07:04:55 +0000 (07:04 +0000)]
Merge "LVM: Volume is deleted unexpectedly during volume migration"

9 years agoMerge "Mock leaked _execute() calls in driver tests"
Jenkins [Sat, 20 Dec 2014 06:44:48 +0000 (06:44 +0000)]
Merge "Mock leaked _execute() calls in driver tests"

9 years agoMerge "Add support for Purity Protection Groups to PureISCSIDriver"
Jenkins [Sat, 20 Dec 2014 02:59:09 +0000 (02:59 +0000)]
Merge "Add support for Purity Protection Groups to PureISCSIDriver"

9 years agoMerge "encryption_id needs to be non-nullable"
Jenkins [Sat, 20 Dec 2014 02:43:11 +0000 (02:43 +0000)]
Merge "encryption_id needs to be non-nullable"

9 years agoMerge "rtstool on Ubuntu installs in /usr/local/bin"
Jenkins [Sat, 20 Dec 2014 02:42:55 +0000 (02:42 +0000)]
Merge "rtstool on Ubuntu installs in /usr/local/bin"

9 years agoMerge "Sync install_venv_common from oslo-incubator"
Jenkins [Sat, 20 Dec 2014 02:42:46 +0000 (02:42 +0000)]
Merge "Sync install_venv_common from oslo-incubator"

9 years agoRename oslo.concurrency to oslo_concurrency
Mike Perez [Fri, 19 Dec 2014 23:38:11 +0000 (15:38 -0800)]
Rename oslo.concurrency to oslo_concurrency

oslo.concurrency-0.3.0 has moved its path to oslo_concurrency,
the old path oslo.concurrency can still work but is deprecated now.

Closes-Bug: #1398656
Change-Id: I52211d7b7e1db3454c99d27042dae506adb2c41c

9 years agoAdd a provider_id column to Volumes and Snapshots
John Griffith [Fri, 19 Dec 2014 22:14:22 +0000 (15:14 -0700)]
Add a provider_id column to Volumes and Snapshots

There are a number of cases where there's some really ugly mapping
work in drivers to try and map the backend device-id to the
Cinder ID of a Volume or Snapshot.  Most drivers seem to work around this in
their own creative ways using their own mechanisms (metadata,
naming schemes etc).

It seems like it would be useful for a number of reasons however to
go ahead and add a simple column to the Volumes table that could be
used for storing a backend ID for the Volume and Snapshot.

Change-Id: Id07cdd1e03feac71ff34325d5abc68c5adc48266

9 years agoMock leaked _execute() calls in driver tests
Mike Perez [Fri, 19 Dec 2014 23:44:04 +0000 (15:44 -0800)]
Mock leaked _execute() calls in driver tests

Some drivers have _execute() calls being linked, causing tests to prompt
for password and eventual fail for time out. This prevents those
_execute calls from happening.

Closes-Bug: #1404414
Change-Id: I43a11c065799efe6f5b81dc15e1f7232c80d1070

9 years agoSync request_utils module from oslo-incubator
Jay S. Bryant [Fri, 19 Dec 2014 23:24:58 +0000 (17:24 -0600)]
Sync request_utils module from oslo-incubator

The request_utils module hasn't had a sync done since shortly
after the module was added.  This patch brings us up to date
with the latest oslo-incubator code.

This sync is needed to enable removal of the old gettextutils
and i18n code.

Current HEAD in OSLO:
---------------------
commit 36b0e8570b449129d6d474c03b02ceb62edb78df
Date:   Thu Dec 11 11:27:08 2014 +0100
We shouldn't replace `oslo-incubator` in comments

Changes being merged with this patch:
---------------------
5d40e143 - Remove code that moved to oslo.i18n
39625e18 - Set pbr 'warnerrors' option for doc build

Change-Id: Ib5b75d6ff38ff6f9571a0fdc30e854e046e66dd7

9 years agoSync periodic_task module from oslo-incubator
Jay S. Bryant [Fri, 19 Dec 2014 22:30:31 +0000 (16:30 -0600)]
Sync periodic_task module from oslo-incubator

The periodic_task module hasn't been sync'd since the middle of the
Juno release cycle.  This patch brings it up to date with the
latest oslo-incubator code.

Current HEAD in OSLO:
---------------------
commit 36b0e8570b449129d6d474c03b02ceb62edb78df
Date:   Thu Dec 11 11:27:08 2014 +0100
We shouldn't replace `oslo-incubator` in comments

Changes merged with this patch:
---------------------
5d40e143 - Remove code that moved to oslo.i18n
a3220c51 - add list_opts to all modules with configuration options

Change-Id: I0d68ba54617be550244969b7672e95158126f64a

9 years agoPersist volume uuid on VMAX array
Xing Yang [Wed, 17 Dec 2014 04:58:36 +0000 (23:58 -0500)]
Persist volume uuid on VMAX array

This change saves the volume uuid in the ElementName field of
a SMI-S volume object so that it persists on the array.

Closes-Bug: #1395903
Change-Id: I53945f2864e6cfab756afdaeb17d45dfdac38c02

9 years agoFixed a problem in terminate_connection in VMAX driver
Xing Yang [Mon, 15 Dec 2014 16:47:44 +0000 (11:47 -0500)]
Fixed a problem in terminate_connection in VMAX driver

The VMAX driver unmaps the volume from the wrong VM in
terminate_connection during live migration. This patche
fixed this problem.

Closes-Bug: #1395845
Change-Id: Ida7136165b959a9e0d7d50c240b447bf237caa6c

9 years agoSync the latest middleware module from oslo-incubator
Jay S. Bryant [Fri, 19 Dec 2014 21:06:19 +0000 (15:06 -0600)]
Sync the latest middleware module from oslo-incubator

Middleware hasn't had a sync from oslo-incubator since the
middle of the icehouse development cycle.  This sync
brings us up to date with the latest changes.

Current HEAD in OSLO:
---------------------
commit 36b0e8570b449129d6d474c03b02ceb62edb78df
Date:   Thu Dec 11 11:27:08 2014 +0100
We shouldn't replace `oslo-incubator` in comments

Changes being merged with this patch by file:
---------------------
catch_errors.py
ce8f8fa4 - Add middleware.catch_errors shim for Kilo
4504e4f4 - Remove middleware
5d40e143 - Remove code that moved to oslo.i18n
76183592 - add deprecation note to middleware
463e6916 - remove oslo log from middleware
fcf517d7 - Update oslo log messages with translation domains
fdcae242 - Middleware to catch all error in WSGI pipeline

request_id.py
4ffc4c87 - Add middleware.request_id shim for Kilo
4504e4f4 - Remove middleware
76183592 - add deprecation note to middleware

Change-Id: I572b4c186a8ba2f774ba840307b917f273c529ea

9 years agoLVM: Volume is deleted unexpectedly during volume migration
Mitsuhiro Tanino [Thu, 18 Dec 2014 14:07:24 +0000 (09:07 -0500)]
LVM: Volume is deleted unexpectedly during volume migration

When using LVMISCSIDriver, a volume is unexpectedly deleted during
volume migration operation. This problem only occurs when the
volume_group of backend A and backend B is same value such as
misconfiguration. Even if the configuration is wrong, cinder should
not delete the volume unexpectedly for user.

Closes-Bug: 1404013
Change-Id: I010be0c70589459a488cdef7cd83380eab27c61c

9 years agoRBD: use image_conversion_dir for image operations
Jon Bernard [Thu, 9 Oct 2014 18:44:38 +0000 (14:44 -0400)]
RBD: use image_conversion_dir for image operations

This patch deprecates the rbd-only 'volume_tmp_dir' from the rbd driver
in favor of image_conversion_dir for image operations.

Closes-Bug: #1375490
DocImpact: config option removal
Change-Id: I46ab21c2a90be136d1eb677fcefcc3d65c48a3c5

9 years agoSync the latest loopingcall module from oslo-incubator
Jay S. Bryant [Fri, 19 Dec 2014 20:54:54 +0000 (14:54 -0600)]
Sync the latest loopingcall module from oslo-incubator

We have not done a sync of loopingcall since its dependency
upon the old i18n module was removed.  To get that old code
removed we need to do this sync.

Current HEAD in OSLO:
---------------------
commit 36b0e8570b449129d6d474c03b02ceb62edb78df
Date:   Thu Dec 11 11:27:08 2014 +0100
We shouldn't replace `oslo-incubator` in comments

Change being merged with this patch:
---------------------
5d40e143 -  Remove code that moved to oslo.i18n

Change-Id: I2fd9cb73cf347adfb2ce203e45d5059604ed5f7a

9 years agoSync install_venv_common from oslo-incubator
Jay S. Bryant [Fri, 19 Dec 2014 20:37:45 +0000 (14:37 -0600)]
Sync install_venv_common from oslo-incubator

The install_venv_common modules hasn't had a sync done
since early in the icehouse release.  This sync brings
Cinder's version up to date with the latest code.

Current HEAD in OSLO:
---------------------
commit 36b0e8570b449129d6d474c03b02ceb62edb78df
Date:   Thu Dec 11 11:27:08 2014 +0100
We shouldn't replace `oslo-incubator` in comments

Change being merged with this patch:
---------------------
fe3389e5 - Improve help strings

Change-Id: I66fd66650a7106b8d20e4fc483dabb91184922f9

9 years agoSync latest imageutils from oslo-incubator
Jay S. Bryant [Fri, 19 Dec 2014 20:10:33 +0000 (14:10 -0600)]
Sync latest imageutils from oslo-incubator

Performing a sync as imageutils has not been updated since late
in the Icehouse release cycle.

Current HEAD in OSLO:
---------------------
commit 36b0e8570b449129d6d474c03b02ceb62edb78df
Date:   Thu Dec 11 11:27:08 2014 +0100
We shouldn't replace `oslo-incubator` in comments

Change being merged with this patch:
---------------------
b2d35eec - Use list.pop(0) to keep the code simpler

Change-Id: If15f311db093f05fc97568bdcc5f7ad8ea8abddf

9 years agortstool on Ubuntu installs in /usr/local/bin
John Griffith [Fri, 19 Dec 2014 19:32:02 +0000 (19:32 +0000)]
rtstool on Ubuntu installs in /usr/local/bin

The cinder-rtstool which is required to use LIO iscsi_helper
installs in /usr/local/bin on Ubuntu and /usr/bin on RHEL
variants.  Currently the rootwrap.conf only has /usr/bin
configured, as a result LIO can't be used on Ubuntu without
modifying the rootwrap file.

This patch just adds /usr/local/bin to the rootwrap.conf; Honestly
I'm not sure if this is good, bad or doesn't matter.  May be able
to address this via documentation, or upstream in the packaging of
cinder-rtstool instead?  Not sure what's preferred.

Change-Id: I577e10df25181c7d4ca8189b10640a8e6e39b047
Closes-Bug: #1402076