This is a similar issue as seen in
https://bugs.launchpad.net/cinder/+bug/1375382
The list of devices returned by driver.get_all_block_devices() in
_disconnect_volume_multipath_iscsi will potentially contain broken
symlinks as the SCSI devices have been deleted from calling
self._linuxscsi.remove_multipath_device(device_realpath) right before
_disconnect_volume_multipath_iscsi but the udev rule for the symlink
may not yet have completed.
Adding in a check to os.path.exists() will ensure that we will not
consider the broken symlinks as an “in use” device.
Change-Id: I79c9627e9b47127d3765fcec5b7e3bacef179630
Closes-Bug: #1375946
All initiators defined in zfssa_initiator property would be
added to the group.
Also fixed some typos related to initiators error messages.
Change-Id: Iec6c90702e5aafa153b4a7f1e429974ac450afc0
Closes-Bug: #1369750
The list of devices returned by driver.get_all_block_devices() will
sometimes contain broken symlinks as the SCSI device has been deleted
but the udev rule for the symlink has not yet completed.
Adding in a check to os.path.exists() will ensure that we will not
consider the broken symlinks as an “in use” device.
Change-Id: Ibb869e10976f894f9e18e9edec6739c2c3bea68c
Closes-Bug: #1375382
* Currently for Storwzie driver, if the new type does not have QoS
configurations, the old QoS configurations remain in the volume after
retyping it. It should be retyped into a volume with empty QoS for the
Storwize driver.
* Refactor three dicts into one for better maintainance of the QoS keys
for Storwize driver.
DocImpact
Change-Id: I2b2801a4ef72ef02c11392ed00b56f5263a8a7e4
Closes-Bug: #1368595
vCenter server escapes special characters in the folder name using URL
encoding and returns back the encoded string while querying. This causes
the check for folder existence to return false. Therefore, folder
creation is reattempted which eventually fails. This patch fixes the
problem by decoding the folder name returned by vCenter before
comparison.
Change-Id: I40aa6f42ea0d85fbfcb40970c55b20e13ea46522
Closes-Bug: #1356794
cinder-volume exits with an exception while accessing a None
object during retry of create session failure.
Closes-Bug: #1374585
Change-Id: I1d8dd034e9c6eb7568cf6f243a203df7de1777da
It appears that an update to keystone middleware earlier today
added options for memcache_secret_key, memcache_pool_dead_retry,
memcache_pool_maxsize, memcache_pool_socket_timeout,
memcache_pool_unused_timeout, memcache_pool_conn_get_timeout and
memcache_use_advanced_pool. The commit that added these options
was: a7beb50b38be5c3dd4c44d68ad79d1bb206dab6b - "Add an optional
advanced pool of memcached clients".
This has once again caused the check_uptodate.sh script to fail.
This patch updates cinder.sample.conf .
Change-Id: Ibcf19ccc81a56a9a3e795022e3e07bc061fa9401
Closes-bug: 1374154
During attach to a nova instance, the backing VM corresponding to the
volume is relocated only if the nova instance's ESX host cannot access
the backing's current datastore. The storage profile is ignored and
the volume's virtual disk might end up in a non-compliant datastore.
This patch fixes the problem by checking storage profile compliance of
the current datastore.
Change-Id: I3865654e219c05dcec3aaab07c4cee0658fe181e
Closes-Bug: #1301348
Exception.SnapshotNotFound exception should be passed snapshot_id
parameter, but the test case didn't pass it when raising this
exception.
Change-Id: Ic9b8cf7b647933b847a9602752ca87d141cda09e
When first request command detach the volume, but the back-end
storage state is in-processing or busy. Next retry command will
got the error code that describe the volume already detached.
Change-Id: If340980ab2dcc844398254ff368ca6b78ca40ff6
Closes-Bug: 1373317
It used none as volume type to create replication. Storwize Driver
did not check whether it's none.
Change to use new type to create replication.
Closes-bug: #1369815
Change-Id: I78501e1d3558bd6c3e6e1abb0c312cec7d11efd4
There was a bug in WSGIService in the way that it was
checking the osapi_volume_workers option. It was using
getattr() to see if the option was set, if not it was supposed
to set the value to processutils.get_worker_count(). This,
however, never happened because getattr interpreted the default
'None' value to be a value. So, on any system with no value set
the self.workers < 1 check would be hit and a warning would be
output.
Nova had changed their approach to this option to avoid this
problem. This patch pulls Nova's approach into Cinder for
consistency. Cinder will now use processutils.get_worker_count()
if no option is set in /etc/cinder/cinder.conf and when the user sets
osapi_volume_workers to 0. A negative value will cause an
InvalidInput exception to be thrown.
Unittests have been added for this functionality.
Change-Id: I4ec2fdd0d19195cccffd63cdd1af1b9ca9884c7d
Closes-bug: #1367454
The XenAPI driver does not have known users and does not meet
the minimum requirements for Cinder drivers.
This patch removes the driver from the tree.
Closes-bug: 1372836
Change-Id: I2123b2d52180bbdffe90c458f115c67f50dfd5e9
Added required spaces in between two words for log messages.
cinder/volume/drivers/huawei/huawei_t.py validate_connector method.
cinder/transfer/api.py accept method.
cinder/brick/initiator/linuxscsi.py flush_device_io method.
Closes-Bug: #1372788
Change-Id: Ia0ab72d930c1b9099dd2796032b7b2b0b857bad5
The commit message and the actual default say the default value for
ssh_host_key_file is $state_path/ssh_known_hosts, but the
config.conf.sample and the config opts help say it is
"$state_path/known_hosts".
Fix the help and config.conf.sample to match the actual default.
Closes-Bug: 1372765
Change-Id: I51a2918155a27afcf48eda01f32774ce0d346d06
When FilterScheduler was first introduced into Cinder, drivers were
required for the first time to report capacity. Some drivers preferred
to report 'infinite' or 'unknown' capacity because they were doing
thin-provisioning or the total capacity kept increasing. Now that we
have better support for thin-provisioning and we do find unrealistic
capacity couldn't do us any good in making optimal scheduling decision,
because 'infinite' and 'unknown' would always have the highest weight
when the weight multiplier is positive, which in most cases it is.
Drivers are expected to avoid sending 'infinite' 'unknown' capacity
anymore, instead, should report an actual real number for total/free
capacity.
This fix doesn't fix the driver, instead a small tweak is added to
CapacityWeigher in order to downgrade those drivers who report
'infinite' or 'unknown' as free capacity. In particular, those who
report 'infinite'/'unknown' free capacity will be adjusted to be the
one has lowest weight, no matter in 'spreading' (weight multiplier>0)
or 'stacking' (weight multiplier<0) mode.
DocImpact
Change-Id: Ied087386a1a2f43e6a77499a817d5c637ef448f6
Partial-bug: #1350638
Based on review comments in https://review.openstack.org/118771 it's
apparent that Cinder is quite a ways from Py3K support, and
developers are not expected to run the py33 tox env. Rather than add
more envs for later Python interpreter versions which will be
equally broken, just remove it for now.
Change-Id: I2bcc345bb62c0e08677fbf70b722b6a841650e53
This patch adds unit tests to cgsnapshot create api,
in case cgsnapshot is invalid or can not be found.
Change-Id: I6ec73b8db413e5c085f8a48830f5e1446c2d7240