]> review.fuel-infra Code Review - openstack-build/cinder-build.git/log
openstack-build/cinder-build.git
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 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 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 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 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 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"

10 years agoFixes an issue with 'dd' bug from Illumos repo
Mikhail Khodos [Tue, 17 Jun 2014 20:01:26 +0000 (00:01 +0400)]
Fixes an issue with 'dd' bug from Illumos repo

The Illumos version of 'dd' never stops in case of count=0.
Thus 'truncate' should be used for creating a sparsed file.

Change-Id: I7a1840e2c43a27c648e5f65c2a87286311a34516

10 years agoHandle the case where az is disabled/removed
Joshua Harlow [Mon, 9 Jun 2014 22:32:17 +0000 (15:32 -0700)]
Handle the case where az is disabled/removed

Instead of retaining a local in-memory list of
availability zones that is never purged and therefore
never updates itself if availability zones are removed
we should instead cache those zones for a given period
of time (defaulting to one hour) and on cache expiry
refetch the enabled availability zones.

DocImpact: adds a new configuration that defines the
default availability zone cache expiry time in seconds.

This will enable the engine that runs the create volume
request to in a future change remove the need to have
a functor which proxies the validation logic around
availability zones.

Change-Id: I8e45845b66ba62313248ee9cbeb301a5fe54a08b

10 years agoMerge "LIO: Don't add ACL for local initiator name"
Jenkins [Mon, 16 Jun 2014 18:57:00 +0000 (18:57 +0000)]
Merge "LIO: Don't add ACL for local initiator name"

10 years agoglusterfs: Honor mount options when restarting cinder service
Deepak C Shetty [Fri, 11 Apr 2014 12:19:16 +0000 (12:19 +0000)]
glusterfs: Honor mount options when restarting cinder service

When restarting cinder service (cinder-volume specifically),
ensure that the gluster mounts are unmounted and remounted so
that any new mount options added to the shares config file
is taken effect, post service restart.

Change-Id: I9fe3442cd4899770b4c9ea4a73a7fe62967f2c64

10 years agoMerge "Made provision for providing optional arguments"
Jenkins [Mon, 16 Jun 2014 12:48:38 +0000 (12:48 +0000)]
Merge "Made provision for providing optional arguments"

10 years agoMerge "Use oslo network utils function to set tcp_keepalive"
Jenkins [Mon, 16 Jun 2014 12:08:43 +0000 (12:08 +0000)]
Merge "Use oslo network utils function to set tcp_keepalive"

10 years agoMade provision for providing optional arguments
abhishekkekane [Tue, 10 Jun 2014 06:29:20 +0000 (06:29 +0000)]
Made provision for providing optional arguments

The 'quota_committed' attribute of 'RequestContext' object is
a transient property, so it will not be saved in the taskflow
persistent storage. The updated value of 'quota_committed'
attribute will not be available while resuming/reverting the
flow, if cinder api-service is down/stopped after committing
the quota.

Since this 'quota_committed' attribute is not used anywhere
in cinder project other than in create-volume taskflow api, so
removed 'quota_committed' from RequestContext and made
provision to pass it as an optional argument which will be
passed to api-flow via create_what dictionary, in order to
make it persistent and use it as and when needed.

Change-Id: I719067a8e1824add45fb525c106642a9c0e6bb46

10 years agoRemoves unecessary call to rbd.Image
Edward Hope-Morley [Sun, 15 Jun 2014 20:30:19 +0000 (21:30 +0100)]
Removes unecessary call to rbd.Image

Removed duplicate and unprotected call to rbd.Image
in rbd driver which can result in an uncaught exception
if the rbd image no longer exists.

Also added unit test for _delete_backup_snaps()

Closes-Bug: 1323203
Change-Id: I89eedb0d0276a985b4d496093df2eee2ce067ec1

10 years agoMerge "Limit formatting routes when adding resources"
Jenkins [Sat, 14 Jun 2014 17:28:00 +0000 (17:28 +0000)]
Merge "Limit formatting routes when adding resources"

10 years agoMerge "Fix Brocade FC driver's use of the fc_fabric_names"
Jenkins [Sat, 14 Jun 2014 07:22:02 +0000 (07:22 +0000)]
Merge "Fix Brocade FC driver's use of the fc_fabric_names"

10 years agoAdd task/flow listener support around the volume api flow
Joshua Harlow [Thu, 12 Jun 2014 21:35:35 +0000 (14:35 -0700)]
Add task/flow listener support around the volume api flow

This will add in logging of what is occurring around the
actions taken by taskflow when taskflow executes the initial
create_volume workflow.

Since the oslo logging module will include the request_id of
the currently active request (per greenthread) this will make
it easier to understand and debug the actions occurring inside
taskflow's engine concept.

Part of blueprint task-logging

Change-Id: I57a6f85ecac37fc4f97033eb3b7a0dc8bd35a886

10 years agoMerge "Allow reset-state on attach and migration fields"
Jenkins [Sat, 14 Jun 2014 03:50:50 +0000 (03:50 +0000)]
Merge "Allow reset-state on attach and migration fields"

10 years agoMerge "Implements HDS-Cinder HNAS Drivers"
Jenkins [Sat, 14 Jun 2014 03:50:42 +0000 (03:50 +0000)]
Merge "Implements HDS-Cinder HNAS Drivers"

10 years agoMerge "Remove second get call to list/show volumes"
Jenkins [Fri, 13 Jun 2014 20:57:03 +0000 (20:57 +0000)]
Merge "Remove second get call to list/show volumes"

10 years agoRetry lvremove with ignore_suspended_devices
Dirk Mueller [Thu, 12 Jun 2014 22:24:23 +0000 (00:24 +0200)]
Retry lvremove with ignore_suspended_devices

A lvremove -f might leave behind suspended devices
when it is racing with udev or other processes
still accessing any of the device files. The previous
solution of using lvchange -an on the LV had the
side-effect of deactivating origin LVs alongway in
the thick volume case, which was undesired.

It turns out retrying the deactivation twice and
ignoring the suspended devices on the second iteration
avoids the hang of all LVM operations after an initial
failure.

Change-Id: I0d6fb74084d049ea184e68f2dcc4e74f400b7dbd
Closes-Bug: #1317075
Related-Bug: #1270192

10 years agoMerge "CinderException args to strings when exceptions"
Jenkins [Fri, 13 Jun 2014 03:40:12 +0000 (03:40 +0000)]
Merge "CinderException args to strings when exceptions"

10 years agoAllow reset-state on attach and migration fields
john-griffith [Wed, 16 Apr 2014 21:03:18 +0000 (15:03 -0600)]
Allow reset-state on attach and migration fields

The reset-state API call only sets that main status
column on the volume object.  There's also a method
to set attach status, however it turns out that due
to the implementation of the status validation method
in the parent class, this was impossible to use because
it only checked and accepted "status" NOT "attach_status".

This patch fixes that attach_status problem, it also implements
the ability to update the migration status.  A cinderclient change
will be needed to expose these calls as well.

DocImpact

Change-Id: I59e1bb2522f033c944fa07acf4876ca71c8c3d3f
Closes-Bug: #1308253

10 years agoMerge "Copy custom properties to image from volume"
Jenkins [Thu, 12 Jun 2014 18:29:52 +0000 (18:29 +0000)]
Merge "Copy custom properties to image from volume"

10 years agoImplements HDS-Cinder HNAS Drivers
Erlon Cruz [Mon, 24 Mar 2014 14:02:47 +0000 (11:02 -0300)]
Implements HDS-Cinder HNAS Drivers

This change introduces HDS HNAS iSCSI and NFS Drivers.

HNAS NFS certification results:
  https://gist.github.com/sombrafam/6c73cb823ce75b0538bd

HNAS iSCSI certification results:
  https://gist.github.com/sombrafam/2625987243ec91d53c7a

Change-Id: I1a16f76887cf22dcf8ce0ed1dbc0b57327a87616
Implements: blueprint hds-hnas

10 years agoMerge "hp_lefthand_rest_proxy no handler for logger during tests"
Jenkins [Thu, 12 Jun 2014 15:12:04 +0000 (15:12 +0000)]
Merge "hp_lefthand_rest_proxy no handler for logger during tests"

10 years agovmware: Fixes VMDK volume incompatibility issue
Unmesh Gurjar [Mon, 2 Jun 2014 13:14:55 +0000 (18:44 +0530)]
vmware: Fixes VMDK volume incompatibility issue

VMDK volume created in a cluster having ESXi 5.1 host has a high
hardware version i.e. 9; hence, fails when attached to instance
on an ESXi 5.0 host. This patch sets the hardware version to 8,
so that the volume can be attached to instances on any ESXi host
starting version 5.0 and above.

Change-Id: Ia750fd1183334005a834eb49be767451d87b338c
Closes-Bug: #1325586

10 years agoRemove unused oslo module and adjust opentstack-common.conf
ChangBo Guo(gcb) [Sun, 4 May 2014 02:55:58 +0000 (10:55 +0800)]
Remove unused oslo module and adjust opentstack-common.conf

The issues are detected by new change about update.py
in I68c0108304be8a315bcefe939c22019caab9bc98. This patch
doesn't depend the oslo-incubator patch.
 * remove unused module crypto
 * add missing module loopingcall in openstack-common.conf
 * sort the modules in openstack-common.conf

Change-Id: I9f0fcd3803f89a6902f92d0ea691b9ae0235f64c

10 years agoMerge "Remove Quota Exception Stack Traces from Cinder Logs"
Jenkins [Wed, 11 Jun 2014 11:22:57 +0000 (11:22 +0000)]
Merge "Remove Quota Exception Stack Traces from Cinder Logs"

10 years agoCopy custom properties to image from volume
PranaliDeore [Tue, 6 May 2014 04:04:45 +0000 (04:04 +0000)]
Copy custom properties to image from volume

Presently after copying an image to volume, all properties
of the image are getting copied properly but while creating
image back from volume, it doesn't copy custom properties
to the image.

At present in volume-glance-metadata table all the properties
of volume are stored as key and value. Because of this it is
difficult to differentiate between core and custom properties.
To overcome this, I have added a new option
'glance_core_properties' in cinder.conf. This option defines
all core properties of an image. This way, it's easy to separate
core and custom properties from the glance_volume_metadata and add
custom property to the newly created image.

For Example:
glance_core_properties = 'checksum', 'container_format',
'disk_format', 'image_name', 'image_id', 'min_disk',
'min_ram', 'name', 'size'

DocImpact: Added 'glance_core_properties' to distinguish the
core and custom properties as discussed above in cinder.conf

blueprint: restrict-uploading-volume-to-image

Change-Id: I786edbc6e54b3d06ef679a71e22676d2f88e7307

10 years agoAdd strip size support to rbd driver
Haomai Wang [Tue, 27 May 2014 06:15:21 +0000 (14:15 +0800)]
Add strip size support to rbd driver

Rbd support strip size for volume, in general, we would like to think the
default value 4M is a proper for most of users.

In the ceph side, the proper value of rbd strip size can improve performance for
the special OSD backend.

Implements blueprint add-rbd-strip-size

Change-Id: I44d89681a78bd70d8c185e3da7d58f59e6076899
Signed-off-by: Haomai Wang <haomai@unitedstack.com>
10 years agoMerge "Handle volumes no longer existing in resume delete"
Jenkins [Wed, 11 Jun 2014 04:22:12 +0000 (04:22 +0000)]
Merge "Handle volumes no longer existing in resume delete"

10 years agoMerge "3PAR volume detach with host in a host set"
Jenkins [Wed, 11 Jun 2014 02:21:59 +0000 (02:21 +0000)]
Merge "3PAR volume detach with host in a host set"

10 years agoFix log capturing fixture
Joshua Harlow [Tue, 10 Jun 2014 02:02:42 +0000 (19:02 -0700)]
Fix log capturing fixture

Instead of nuking the unit test logs capture them according
to how tempest (and oslotest) capture them so that the tests
when ran locally provide the full logging output instead of
a miniaturized version.

This adds in the following environment variables which can
be used to control testr captured logging:

- OS_LOG_CAPTURE (turns on log capturing so that the testr
  repository will have log output, at a INFO level)
- OS_DEBUG (changes the captured logging level from INFO
  to DEBUG, only useful when OS_LOG_CAPTURE is enabled)

It also creates a lambda that is used to test whether an
environment is enabled (avoiding recreating the same set
of checks in multiple places).

Change-Id: I63d9a1b7fc6e7591fd6309cf68d9269117c023a6

10 years agoFix Brocade FC driver's use of the fc_fabric_names
Walter A. Boring IV [Tue, 10 Jun 2014 20:40:36 +0000 (13:40 -0700)]
Fix Brocade FC driver's use of the fc_fabric_names

The Brocade Fibre Channel Zone Manager driver wasn't
stripping out whitespace in the fc_fabric_names
prior to using them.  This would cause breakage later on
in the driver.

Change-Id: I6d16a35026fdd2f30a92f9dff16435a6c39b699a
Closes-Bug: 1328681

10 years agoLIO: Don't add ACL for local initiator name
Eric Harney [Tue, 10 Jun 2014 15:25:01 +0000 (11:25 -0400)]
LIO: Don't add ACL for local initiator name

Currently cinder-rtstool requires /etc/iscsi/initiatorname.iscsi
to be present in order to create a LUN/ACL/portal successfully.
However, this is not required since Cinder will create the
required ACLs dynamically at attach time as well.

Removing this path means that iscsi-initiator-utils no longer
needs to be installed locally when using a remote Nova compute
node.

Closes-Bug: 1328580

Change-Id: Ieb5e28e3f81987ab8518b861fff885f371969a56

10 years agoMerge "NetApp NFS: Do not reference dst_img_local before assignment"
Jenkins [Tue, 10 Jun 2014 06:42:56 +0000 (06:42 +0000)]
Merge "NetApp NFS: Do not reference dst_img_local before assignment"

10 years agoMerge "Make begin_detaching fail if volume not "in-use""
Jenkins [Tue, 10 Jun 2014 01:48:24 +0000 (01:48 +0000)]
Merge "Make begin_detaching fail if volume not "in-use""

10 years agoMerge "Fixed the comment spelling error - voumes to volumes"
Jenkins [Mon, 9 Jun 2014 08:05:53 +0000 (08:05 +0000)]
Merge "Fixed the comment spelling error - voumes to volumes"

10 years agoMerge "Ensure flushing of IO prior to removing FC device"
Jenkins [Sun, 8 Jun 2014 21:42:08 +0000 (21:42 +0000)]
Merge "Ensure flushing of IO prior to removing FC device"

10 years agoDelete image on upload-to-image failure
Vipin Balachandran [Wed, 30 Apr 2014 12:00:57 +0000 (17:30 +0530)]
Delete image on upload-to-image failure

On upload-to-image failure before initiating the data transfer or during
data transfer, the source volume status is restored properly whereas the
image created remains in queued or saving state. This change deletes the
image during such failures.

Change-Id: I0aa64798d2bc5bf19b79dd3b88dcd107ff369c42
Closes-Bug: #1298042

10 years agoMerge "Use os.urandom in volume transfer"
Jenkins [Thu, 5 Jun 2014 19:30:50 +0000 (19:30 +0000)]
Merge "Use os.urandom in volume transfer"

10 years agoEnsure flushing of IO prior to removing FC device
Walter A. Boring IV [Wed, 4 Jun 2014 22:22:08 +0000 (15:22 -0700)]
Ensure flushing of IO prior to removing FC device

This patch flushes IO for each SCSI device that
brick removes from the system.  The patch also
flushes a multipath device prior to removing
each underlying LUN associated with the
multipath device.   We were seeing kernel
IO errors in the syslog without calling flush
on the block device, during a detach for a
multipath FibreChannel copy image to volume
action.

Change-Id: I2fae3dccd4fcab22c8f59dcd297581ee9577b779
Closes-Bug: 1318950

10 years agoMerge "Add support for z/VM driver."
Jenkins [Thu, 5 Jun 2014 13:46:52 +0000 (13:46 +0000)]
Merge "Add support for z/VM driver."

10 years agoFixed the comment spelling error - voumes to volumes
Inhye Park [Mon, 2 Jun 2014 07:38:37 +0000 (16:38 +0900)]
Fixed the comment spelling error - voumes to volumes

Closes-bug: #1325481
Change-Id: I38a1d9df98c709d3ca173fa61315ad3f7ca9ffdc

10 years agoRemove Quota Exception Stack Traces from Cinder Logs
Rahul Verma [Tue, 3 Jun 2014 22:26:48 +0000 (15:26 -0700)]
Remove Quota Exception Stack Traces from Cinder Logs

Added an if clause to the Cinder API FaultWrapper so that
a warning is printed rather than an error and stack trace
if an exception of type QuotaError is thrown.

Closes-Bug: 1324294
Change-Id: If91db0f443afc212af3893e27dd36f19b15c43bf

10 years agoUse os.urandom in volume transfer
Ollie Leahy [Fri, 30 May 2014 11:57:02 +0000 (11:57 +0000)]
Use os.urandom in volume transfer

This patch replaces a call to random.random() with a call to
os.urandom(), which generates a higher quality random number.

Closes-Bug: #1319643

Change-Id: Ifaa2216d4905f5286884629beac52b25249d621f

10 years agoRemove check_{attach,detach} from volumes API
Nikola Dipanov [Fri, 25 Apr 2014 16:39:43 +0000 (18:39 +0200)]
Remove check_{attach,detach} from volumes API

These methods are not called from anywhere and are likely just a relic
from splitting Cinder out from Nova. Moreover their usage from the API
should really be discouraged as they are inherently racy (the result is
immediately outdated since it is not atomic with anything that might
follow).

Partial-bug: #1302774
Change-Id: I5d79b22b2a1d3c9be429a13d094328fc2075fcd2

10 years agoMake begin_detaching fail if volume not "in-use"
Nikola Dipanov [Fri, 25 Apr 2014 11:38:31 +0000 (13:38 +0200)]
Make begin_detaching fail if volume not "in-use"

Like it's counterpart from Nova's volume-attach functionality standpoint
- reserve_volume, begin_detaching should fail if the volume is not in
  the correct state to be detached. This will prevent nova from
attempting to check and then detach, which is inherently racy.

Change-Id: Ie87eb0c9aea068affc94032ab2e53a91888d272a
Partial-bug: #1302774

10 years agohp_lefthand_rest_proxy no handler for logger during tests
Mark Sturdevant [Fri, 30 May 2014 20:19:04 +0000 (13:19 -0700)]
hp_lefthand_rest_proxy no handler for logger during tests

Create the proxy during do_setup() instead of __init__()
so that the logger is ready for an import error during tests.

Closes-Bug: #1325116
Change-Id: I88145d97df5d746e92bc8302bf516ca9eaa05d00

10 years agoMerge "NetApp fix eseries concurrent vol map failure"
Jenkins [Sat, 31 May 2014 19:35:18 +0000 (19:35 +0000)]
Merge "NetApp fix eseries concurrent vol map failure"

10 years agoMerge "Add exception handling for copy_volume_to_image()"
Jenkins [Sat, 31 May 2014 07:47:01 +0000 (07:47 +0000)]
Merge "Add exception handling for copy_volume_to_image()"

10 years agoMerge "Fix a message format error in migration cleanup"
Jenkins [Sat, 31 May 2014 07:46:53 +0000 (07:46 +0000)]
Merge "Fix a message format error in migration cleanup"

10 years ago3PAR volume detach with host in a host set
Mark Sturdevant [Tue, 27 May 2014 21:49:34 +0000 (14:49 -0700)]
3PAR volume detach with host in a host set

When deleting the last VLUN for a host, try to
delete the host.  If the host is in a host set
this will fail.  When that happens, log a nice
message including the reason, but don't fail
or hang the delete VLUN.  Leave hosts in host
sets.

Closes-Bug: #1317134

Change-Id: Ie3f8f94c05a6a318de866598f9e9c4c5d84926f4

10 years agoUpdate cinder.conf
John Griffith [Fri, 30 May 2014 15:59:52 +0000 (15:59 +0000)]
Update cinder.conf

This is mostly just a sanity check, we're revmoving
this whole check from the gate, but we've had
conflicting versions of the truth here and I'm trying
to figure out why.

This patch is a fresh run of generate_sample, which differs
from https://review.openstack.org/#/c/96784/

Change-Id: Ia2d6ca01beb1d2c42084100990129dadbb32b22c

10 years agoSync periodic_task from oslo-incubator
Matt Riedemann [Thu, 29 May 2014 15:45:55 +0000 (08:45 -0700)]
Sync periodic_task from oslo-incubator

This is more or less to get commit c63fd5a from oslo into the core
projects which have several periodic tasks.  Cinder has periodic tasks
to sync up volume state with the server and they don't have specific
spacing values set which can lead to non-deterministic spacing of when
the tasks run.

Note that this does not include the gettextutils and log dependencies
since there are not functional changes in those modules needed for the
periodic_task changes synced in *and* more importantly, the changes
to gettextutils and log require pervasive changes to cinder which
should happen when cinder integrates with the oslo-i18n library for
blueprint i18n--messages.

Further note that this does not include jsonutils due to some
issues introduced with a change for python 2.6 that impacts how strings
are encoded with simplejson. The details for that issue are in bug
1314129.  The jsonutils changes are not related to the periodic_task
changes being synced in so the dependency is not functionally required.

cinder.db.base.Base is also updated otherwise multiple inheritance
involving that class will not work, which impacts all of the classes
that extend cinder.manager.Manager which extends both cinder.db.Base
and PeriodicTasks, and commit 47c9d60 adds attributes to the __init__
for PeriodicTasks.  Nova had the same change with commit 5ae97ea.

Changes:

c63fd5a Make unspecified periodic spaced tasks run on default interval
f0dd798 Remove rendundant parentheses of cfg help strings
fcf517d Update oslo log messages with translation domains
051b9f3 Refactor unnecessary arithmetic ops in periodic_task
674cdaf Refactor if logic in periodic_task
b6b82c5 Use timestamp in periodic tasks
47c9d60 Don't share periodic_task instance data in a class attr
8b2b0b7 Use hacking import_exceptions for gettextutils._
c5a1088 Typos fix in db and periodic_task module
12bcdb7 Remove vim header

Related-Bug: #1319232

Change-Id: I13e8ac83bcd9e60a8eb05ed9cdfea00b9e5fb398

10 years agoRemove second get call to list/show volumes
John Griffith [Thu, 29 May 2014 18:18:12 +0000 (18:18 +0000)]
Remove second get call to list/show volumes

Recently it was observed that with large numbers of volumes
that things like "cinder list" could take extremely long to
return.

For example, running cinder list on a system with 1000 volumes took
greater than 30 seconds to return.  It turns out that the cause of
this is the addition of visible admin_metadata.

There's two problems with this:
1. The original patch probably shouldn't have gone in
   data is either admin data or it's not, selectively picking
   pieces of admin data out to provide to the user just creates
   complications and introduces confusion.
2. The REAL issue here is that since the standar gets are made
   with the standard user context, the add_visible_admin_metadata
   would go through and do an elevated context get on every single
   volume individually.  This is what caused the horrible performance
   issue on cinder list with large numbers of volumes.

Running as admin, or removing the second call drops this down to about 3
seconds for the same 1000 volume list.

This patch removes the secondary admin context get_call.  Instead where
we expect to do display the visible admin_meta, we pass in a flag
requesting that the volume object we're getting has the appropriate
metadata.  This way we can elevate the context if needed and avoid
iterating through the gets again.

This patch also cleans up the get_visible_admin_meta methods, and
consolidates both V1 and V2 to use the utils method.

Change-Id: I3fb7aefb7d8a5664b0a3fb3958f509b5cd621320
Closes-Bug: 1317606

10 years agoFix a message format error in migration cleanup
Juan Manuel Olle [Thu, 22 May 2014 13:24:36 +0000 (10:24 -0300)]
Fix a message format error in migration cleanup

In some situations, the volume migration failed. After the cleanup
begin, code was trying to format a string value as an int,
this caused "copy_error = True" not being invoked, resulted
in UnboundLocalError exception.

Change-Id: I445394cc06fe221804901e8014d60e870f0fe2f7
Closes-Bug: #1290317

10 years agoMerge "Use error instead of warning to log mount exc"
Jenkins [Thu, 29 May 2014 15:57:27 +0000 (15:57 +0000)]
Merge "Use error instead of warning to log mount exc"

10 years agoMerge "Ensure metadata is saved before updating volume status"
Jenkins [Thu, 29 May 2014 13:38:18 +0000 (13:38 +0000)]
Merge "Ensure metadata is saved before updating volume status"

10 years agoAdd support for z/VM driver.
Yi Chun, Huang [Thu, 29 May 2014 10:10:50 +0000 (06:10 -0400)]
Add support for z/VM driver.

Add 'FCP' into connection_info in initialize_connection
in order to support IBM z/VM hypervisors. This change only
because z/VM need FCP(fibre channel port) info while other
platform don't need it. It will not have side effect
to other platforms since they can safely ignore it.

Change-Id: Ib2d72969608a84a7a200b96da3eefb3ccc13a096
Closes-Bug: #1323993