]> review.fuel-infra Code Review - openstack-build/cinder-build.git/log
openstack-build/cinder-build.git
9 years agoRemoved difference with upstream tag.
Thomas Goirand [Tue, 23 Dec 2014 08:21:08 +0000 (16:21 +0800)]
Removed difference with upstream tag.

9 years agoUpdated (build-)depends for this release.
Thomas Goirand [Tue, 23 Dec 2014 07:29:07 +0000 (15:29 +0800)]
Updated (build-)depends for this release.

9 years agoMerge tag '2015.1_b1' into debian/kilo
Thomas Goirand [Tue, 23 Dec 2014 07:22:54 +0000 (15:22 +0800)]
Merge tag '2015.1_b1' into debian/kilo

Cinder kilo-1 milestone (2015.1.0b1)

Conflicts:
cinder/openstack/common/processutils.py
cinder/tests/volume/drivers/netapp/test_iscsi.py
cinder/volume/drivers/netapp/iscsi.py
cinder/volume/drivers/netapp/nfs.py
etc/cinder/cinder.conf.sample

9 years agoNow packaging 2015.1_b1
Thomas Goirand [Tue, 23 Dec 2014 07:22:06 +0000 (15:22 +0800)]
Now packaging 2015.1_b1

9 years agoMerge "Remove iscsi_helper calls from base iscsi driver"
Jenkins [Thu, 18 Dec 2014 09:47:49 +0000 (09:47 +0000)]
Merge "Remove iscsi_helper calls from base iscsi driver"

9 years agoMerge "Uncouple scheduler stats from volume creation"
Jenkins [Thu, 18 Dec 2014 09:46:20 +0000 (09:46 +0000)]
Merge "Uncouple scheduler stats from volume creation"

9 years agoMerge "Update global requirements"
Jenkins [Thu, 18 Dec 2014 04:22:26 +0000 (04:22 +0000)]
Merge "Update global requirements"

9 years agoMerge "Implement Huawei SDSHypervisor driver"
Jenkins [Thu, 18 Dec 2014 04:22:17 +0000 (04:22 +0000)]
Merge "Implement Huawei SDSHypervisor driver"

9 years agoMerge "Implement Huawei SDSHypervisor connector"
Jenkins [Thu, 18 Dec 2014 04:22:07 +0000 (04:22 +0000)]
Merge "Implement Huawei SDSHypervisor connector"

9 years agoMerge "Fibrechannel and iSCSI for Violin Memory 6000 Series Arrays"
Jenkins [Thu, 18 Dec 2014 04:19:58 +0000 (04:19 +0000)]
Merge "Fibrechannel and iSCSI for Violin Memory 6000 Series Arrays"

9 years agoMerge "Add Scality SRB driver"
Jenkins [Thu, 18 Dec 2014 04:19:53 +0000 (04:19 +0000)]
Merge "Add Scality SRB driver"

9 years agoUncouple scheduler stats from volume creation
Gary W. Smith [Mon, 15 Dec 2014 22:38:26 +0000 (14:38 -0800)]
Uncouple scheduler stats from volume creation

Capture and report scheduler stats independently from volume creation.
Without this scheduler stats were not reported until the first volume
creation and were subsequently only updated each time a volume was
created.

Change-Id: Ia1a809ba10e0595e6c255fde683f7c252377ac09
Fixes-bug: 1402790
Fixes-bug: 1402806

9 years agoFibrechannel and iSCSI for Violin Memory 6000 Series Arrays
Ryan Lucio [Sat, 6 Dec 2014 11:33:27 +0000 (03:33 -0800)]
Fibrechannel and iSCSI for Violin Memory 6000 Series Arrays

This patch adds both Fibrechannel and iSCSI driver support for Violin
Memory 6000 Series All-Flash Arrays.

Certification results posted at:
https://bugs.launchpad.net/cinder/+bug/1399911

Change-Id: I9f62fe79e892cff01abdb02dbd95be8e432f8ab7
Implements: blueprint violinmemory-v6000-storage-drivers

9 years agoAdd Scality SRB driver
David Pineau [Mon, 1 Dec 2014 11:21:35 +0000 (12:21 +0100)]
Add Scality SRB driver

This patch implements the `srb-driver` blueprint. It uses a similar
approach as Ceph's RBD in the way it exposes a block device to the
system.

The driver controls the SRB Linux kernel driver through a sysfs
interface and leverages LVM for snapshot management. The native block
driver talks to Scality's storage system (or any other vendor exposing
a compatible CDMI interface) through a HTTP-based RESTful protocol.

iSCSI export to Nova is provided.

Driver cert results are provided in bug #1400327.

Implements: blueprint srb-driver
See: https://blueprints.launchpad.net/cinder/+spec/srb-driver
Related-Bug: #1400327
See: https://bugs.launchpad.net/cinder/+bug/1400327
Co-Authored-By: Nicolas Trangez <ikke@nicolast.be>
Co-Authored-By: JordanP <jordan.pittier@scality.com>
Change-Id: Id8d00df9db4004d5aeb8c0269d114ef50e0b8f8e

9 years agoUpdate volume driver for Huawei storage system
Bob-OpenStack [Mon, 24 Nov 2014 02:11:22 +0000 (18:11 -0800)]
Update volume driver for Huawei storage system

This driver is similar to the previous one, but contains
the following differences:
1. Remove smart tier support because that our product does not
   support smart tier any more. 18000 does not support smart
   tier, so this has no problem with 18000 series.
2. Update qos support implementation.
3. Add synchronization because that our tests show that when we
   create volumes or snapshots in batch in a shell script with cli
   command, our array may occur error.
Certification test result for Huawei storage drivers:
https://bugs.launchpad.net/cinder/+bug/1399038

Implements: blueprint huawei-storage-drivers
Change-Id: I69c32ef3225c23881be522eac451b8855805e35d

9 years agoImplement Huawei SDSHypervisor driver
zhangni [Fri, 5 Dec 2014 02:57:45 +0000 (10:57 +0800)]
Implement Huawei SDSHypervisor driver

It uses socket and CLI to communicate with SDSHypervisor
to perform the following:
* Create/Delete Volume
* Extend Volume
* Create/Delete Snapshot
* Create Volume from Snapshot
* Delete Volume Snapshot
* Attach/Detach Volume
* Get Volume Stats
* Clone Volume

Certification test result for Huawei SDSHypervisor:
https://bugs.launchpad.net/cinder/+bug/1368064

Implements: blueprint huawei-sdshypervisor-driver
Change-Id: Ied72c5568875eae2387cf6271f31ddc5eebcc4bb

9 years agoMerge "Fix HNAS driver confusing error message"
Jenkins [Wed, 17 Dec 2014 08:45:10 +0000 (08:45 +0000)]
Merge "Fix HNAS driver confusing error message"

9 years agoMerge "Added volume type description for volume type API"
Jenkins [Wed, 17 Dec 2014 07:59:57 +0000 (07:59 +0000)]
Merge "Added volume type description for volume type API"

9 years agoMerge "Correct default service_name for nova_catalog*_info config option"
Jenkins [Wed, 17 Dec 2014 07:08:59 +0000 (07:08 +0000)]
Merge "Correct default service_name for nova_catalog*_info config option"

9 years agoMerge "Fix 3PAR driver hang on SSH calls"
Jenkins [Wed, 17 Dec 2014 07:02:11 +0000 (07:02 +0000)]
Merge "Fix 3PAR driver hang on SSH calls"

9 years agoMerge "ZFSSA iSCSI driver should support extra specs"
Jenkins [Wed, 17 Dec 2014 04:43:33 +0000 (04:43 +0000)]
Merge "ZFSSA iSCSI driver should support extra specs"

9 years agoImplement Huawei SDSHypervisor connector
zhangni [Thu, 4 Dec 2014 08:38:18 +0000 (16:38 +0800)]
Implement Huawei SDSHypervisor connector

Huawei SDSHypervisor uses a private key-value data protocal,
so we add a new connector inherited from InitiatorConnector
and implement connect_volume and disconnect_volume.

The connector uses sds_cli cmd to implement attach/detach/querydev vol,
sds_cli will be put to a specific dir and the path is registered as a
system environment variable when sds is installed.

Change-Id: I4fa3306df982347afb5fb8e5d4d14612024b643a
Implements: blueprint huawei-sdshypervisor-driver

9 years agoAdded volume type description for volume type API
Gloria Gu [Fri, 5 Dec 2014 01:59:10 +0000 (17:59 -0800)]
Added volume type description for volume type API

- Added the following APIs and tests for volume type
* update volume type
PUT http://<openstackhost>:8776/v2/${tenant_id}/types/${vol_type_id}
body
{
    "volume_type": {
      "description":"updated_desc"
    }
}
** user can update description.
** if update description, descripiton can be empty spaces.
** description can not be None
** only admin can access this API

*get default volume type
GET http://<openstackhost>:8776/v2/${tenant_id}/types/default
** if default_volume_type is specified in cinder.conf and is valid,
the default volume type will be returned.
** if default_volume_type is not specified in cinder.conf or is not
valid, it will return 404 with a message saying default volume type
can not be found.

- Updated the following APIs and tests for volume type
* create volume type should take description as an option.
* list volume types or get one volume type will include description for
volume type if the description is not None.

- Upgraded the database cinder on table volume_types to include
the description. database upgrade/downgrade scripts and tests
are added.

- update API should send a notification to the message bus when
updating succeeds or fails.

- as of 12/5/2014, had to rebase with master which has volume type
access change, I also fixed the tests in that area in order to get
the unit tests pass.

Implements: blueprint volume-type-description
Change-Id: I3100a8f74fa1c0cc8d9293bf30e17b6ac4c72edb

9 years agoMerge "Delete default volume size 100M in drivers"
Jenkins [Wed, 17 Dec 2014 02:13:23 +0000 (02:13 +0000)]
Merge "Delete default volume size 100M in drivers"

9 years agoMerge "Added UUID as primary key for Encryption model"
Jenkins [Wed, 17 Dec 2014 02:10:55 +0000 (02:10 +0000)]
Merge "Added UUID as primary key for Encryption model"

9 years agoMerge "Add the StorPool block storage driver."
Jenkins [Tue, 16 Dec 2014 22:45:40 +0000 (22:45 +0000)]
Merge "Add the StorPool block storage driver."

9 years agoMerge "Symantec NFS cinder driver"
Jenkins [Tue, 16 Dec 2014 22:40:24 +0000 (22:40 +0000)]
Merge "Symantec NFS cinder driver"

9 years agoMerge "Remove commented out code from cinder/test.py"
Jenkins [Tue, 16 Dec 2014 22:11:50 +0000 (22:11 +0000)]
Merge "Remove commented out code from cinder/test.py"

9 years agoMerge "Add Support for Dell Storage Center"
Jenkins [Tue, 16 Dec 2014 22:06:21 +0000 (22:06 +0000)]
Merge "Add Support for Dell Storage Center"

9 years agoAdded UUID as primary key for Encryption model
Ivan Kolodyazhny [Thu, 4 Sep 2014 10:24:12 +0000 (13:24 +0300)]
Added UUID as primary key for Encryption model

volume_type_id could not be used as PK because
soft deletes are using for Encryption

Change-Id: I5c4423da4442f2458417dc3492750412a74ebe09
Closes-Bug: #1316540

9 years agoMerge "Send the notifications to the Ceilometer for backup service"
Jenkins [Tue, 16 Dec 2014 21:03:12 +0000 (21:03 +0000)]
Merge "Send the notifications to the Ceilometer for backup service"

9 years agoMerge "DB migration tests"
Jenkins [Tue, 16 Dec 2014 19:55:54 +0000 (19:55 +0000)]
Merge "DB migration tests"

9 years agoMerge "Ensure that lun_id is an int for NetApp Drivers"
Jenkins [Tue, 16 Dec 2014 19:15:13 +0000 (19:15 +0000)]
Merge "Ensure that lun_id is an int for NetApp Drivers"

9 years agoMerge "First version of Cinder driver for Quobyte USP"
Jenkins [Tue, 16 Dec 2014 18:57:46 +0000 (18:57 +0000)]
Merge "First version of Cinder driver for Quobyte USP"

9 years agoMerge "RemoteFS: Move Nova snapshot code into RemoteFSSnapDriver"
Jenkins [Tue, 16 Dec 2014 18:52:08 +0000 (18:52 +0000)]
Merge "RemoteFS: Move Nova snapshot code into RemoteFSSnapDriver"

9 years agoFix 3PAR driver hang on SSH calls
Kurt Martin [Mon, 15 Dec 2014 23:14:42 +0000 (15:14 -0800)]
Fix 3PAR driver hang on SSH calls

In removing the 3PAR driver local file locks, part of the fix included
making a new SSH connection for each call in the hp3parclient as
oppose to leaving a connection open. Older hp3parclients(3.1.1 and
later) will result in the SSH calls hanging at driver initilization time.

This patch will now check against the correct minimum hp3parclient version
and remove the need for checking of the SSH args version since the minimum
hp3parclient is now greater than 3.1.1
Closes-Bug: #1402115

Change-Id: Ic162a1a469e85fa36501d4de245fe16738d3aefa

9 years agoDelete default volume size 100M in drivers
Anton Arefiev [Mon, 15 Dec 2014 10:33:38 +0000 (12:33 +0200)]
Delete default volume size 100M in drivers

There is check: if volume size == 0 we set default value to 100M,
it uses only in tests and it's little bit confusing.Use code only
for tests in drivers is bad practice.

Also the create volume flow already won't let user to create
a volume  with size 0. So it was decided to remove this check.

Change-Id: I620ae8fff4634c60a02329f22d1a0343b27aa955

9 years agoSend the notifications to the Ceilometer for backup service
Vincent Hou [Thu, 3 Jul 2014 03:32:11 +0000 (23:32 -0400)]
Send the notifications to the Ceilometer for backup service

* Add the notification send-out for create_backup, delete_backup
  and restore_backup.
* Add the progress notification to Swift backup service.

DocImpact

Change-Id: I9835073a39aa8b2ffbec12d84147cce027ff731b
implements-bp: backup-notification

9 years agoAdd the StorPool block storage driver.
Peter Pentchev [Wed, 3 Dec 2014 12:49:23 +0000 (14:49 +0200)]
Add the StorPool block storage driver.

StorPool is distributed data storage software running on standard x86
servers.  StorPool aggregates the performance and capacity of all drives
into a shared pool of storage distributed among the servers.  Within
this storage pool the user creates thin-provisioned volumes that are
exposed to the clients as block devices.  StorPool consists of two parts
wrapped in one package - a server and a client.  The StorPool server
allows a hypervisor to act as a storage node, while the StorPool client
allows a hypervisor node to access the storage pool and act as a compute
node.  In OpenStack terms the StorPool solution allows each hypervisor
node to be both a storage and a compute node simultaneously.

To make full use of StorPool's native network communication protocol,
the Nova compute nodes will need to use the StorPool libvirt volume
attachment driver, nova.virt.libvirt.storpool.LibvirtStorPoolVolumeDriver.

DocImpact
Change-Id: I64adbca724a52771b68e4838749f8896e6e56019
Implements: blueprint storpool-block-driver

9 years agoUpdate global requirements
John Griffith [Mon, 15 Dec 2014 21:40:03 +0000 (14:40 -0700)]
Update global requirements

Manual push to sync global req.  Just need the setuptools
pin, further detail here: http://goo.gl/c9RmSE

Change-Id: I75e7c8829153e10b81d2ce5dbfca84fdde14a3ff

9 years agoRemove commented out code from cinder/test.py
Jay S. Bryant [Mon, 15 Dec 2014 21:10:51 +0000 (15:10 -0600)]
Remove commented out code from cinder/test.py

There was a line of code left from previous development that
was left commented out.  This change removes the unnecessary
line of code.

Change-Id: I8a78e051e946f4cad7ec4b26d1a590a7e97cb613

9 years agoFix HNAS driver confusing error message
Erlon R. Cruz [Thu, 11 Dec 2014 10:46:31 +0000 (08:46 -0200)]
Fix HNAS driver confusing error message

The error message shown when the parser finds a parser error
says, 'file not found' which causes confusion on the user when
he/she needs to debug the real cause o the problem. This patch fix
this by testing first if the file exist and then throwing a
proper error message.

Closes-Bug: #1402775
Change-Id: I91c7a24d5da37735787e8fc0da544c8ba8204884

9 years agoRemove iscsi_helper calls from base iscsi driver
John Griffith [Sun, 14 Dec 2014 19:02:30 +0000 (12:02 -0700)]
Remove iscsi_helper calls from base iscsi driver

There are a number of drivers that inherit from the base
iscsi driver, using the base implementation of initialize_connection
and terminate_connection.  These drivers also don't have iscsi_helper
defined.

We've kept all iscsi_helper specific code in the tgt helpers
themselves, or in the various versions of the LVM driver
which is where they belong.

Over time however there have been some iscsi_helper specific
calls that have crept in to the base volume.driver:ISCSIDriver
class.  These were LIO specific calls and as a result when a
configuration is set with multi-backend to use lioadm as the
target helper, or even if it's not used but the default iscsi_helper
is set to lioadm the initialize_connection and terminate_connection
calls will try and access the LIO specific calls and raise because
the drivers inheriting from this class don't have target_helper
members.

This went unnoticed mostly because there's no significant LIO testing
in place and there were no distros setting LIO as the default iscsi_helper,
it appears that this has changed however.

This patch moves the LIO specific calls back where they belong
and keeps the base ISCSIDriver generic.  I've also added a test
case for this in the SolidFire driver because it's impacted by
this.

Change-Id: Ibe010b62bb2518685753dd515326e56ffcc99cea
Closes-Bug: #1400804

9 years agoAdd unit test for commit 22abe9081
Matt Riedemann [Mon, 15 Dec 2014 19:23:42 +0000 (11:23 -0800)]
Add unit test for commit 22abe9081

Commit 22abe9081 fixed a bug in commit d7bd65e8e which we could have
found the first time with a simple unit test.

This change adds the unit test to cover that new error handling block.

Related-Bug: #1398078

Change-Id: I86d2fd477f3ae5590c5f079a4c806d1f50eb96d0

9 years agoMerge "Convert mox to mock: tests/compute/test_nova.py"
Jenkins [Mon, 15 Dec 2014 18:18:30 +0000 (18:18 +0000)]
Merge "Convert mox to mock: tests/compute/test_nova.py"

9 years agoAdd Support for Dell Storage Center
Tom Swanson [Wed, 3 Dec 2014 19:24:39 +0000 (13:24 -0600)]
Add Support for Dell Storage Center

This driver implements cinder FC and iSCSI volume drivers.
The file dell_storagecenter_api.py is called to interface with the
Dell Storage Center backend via a REST interface.
Dell_storagecenter_common.py is the base class implementation with
dell_storagecenter_fc.py and dell_storagecenter_iscsi.py being providing
fc and iscsi specific support respectivly.

https://bugs.launchpad.net/cinder/+bug/1398951

Implements: blueprint dell-storage-center-block-storage-driver
Change-Id: Ic483e54b40349ede20e078c6406f5bab8d7d7cc2

9 years agoEnsure that lun_id is an int for NetApp Drivers
Rushil Chugh [Tue, 18 Nov 2014 19:37:17 +0000 (14:37 -0500)]
Ensure that lun_id is an int for NetApp Drivers

Various NetApp drivers were treating the lun_id as a string
rather than an int.  This was causing attempts to mount NetApp
volumes to Hyper-V nodes to fail as they were checking an integer
type against a unicode type which would fail.

This change casts result_lun to an integer after the value has
gone through the ssh injection attack check.  This way Hyper-V
is able to verify if the found LUN is the target LUN, enabling
mounting of NetApp volumes to Hyper-V.

This change also refactors initialize_connection into some helper
methods so as to enable simpler unit testing of the patchset.

Closes-bug: 1372808

Change-Id: I308b3b2dff315ec33451fb45a30ecd53d5d4c353

9 years agoSymantec NFS cinder driver
sarat inuguri [Sun, 10 Aug 2014 19:56:38 +0000 (12:56 -0700)]
Symantec NFS cinder driver

Changes to support Symantec Storage Foundation Clustered File
System High Availability via NFS Cinder driver.

cert results at:
https://bugs.launchpad.net/cinder/+bug/1402147

implements: blueprint symantec-nfs-cinder-driver
Change-Id: Ie4b4785b7c93246147c8d9e6a172621f454301ae

9 years agoDB migration tests
Ivan Kolodyazhny [Wed, 29 Oct 2014 13:52:54 +0000 (15:52 +0200)]
DB migration tests

Refactored migration tests to use OpportunisticTestCase, removed
unused code and ``test_migrations.conf`` file.

The main feature of this approach is to create a new database with
random name for each migration test.  This will avoid migration tests of
race conditions and reduce tests intersection. After this change, database
``openstack_citest`` will be used only for initial connection to the database.

``test_migrations.conf`` file not required anymore, because we create test
database for migration test, so we no longer need to keep database credentials.

Implements blueprint: db-migration-tests
Related-bug: #1266595
Change-Id: I4febd485ff53936b636947c86773a23724e24c65

9 years agoConvert mox to mock: tests/compute/test_nova.py
Bala Gopal Raj [Fri, 12 Dec 2014 09:30:43 +0000 (04:30 -0500)]
Convert mox to mock: tests/compute/test_nova.py

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

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

9 years agoCorrect default service_name for nova_catalog*_info config option
Trung Trinh [Mon, 15 Dec 2014 06:23:34 +0000 (20:23 +1400)]
Correct default service_name for nova_catalog*_info config option

The default service_name in config option (nova_catalog_info and
nova_catalog_admin_info) was mistakenly put as 'nova'. Consequently,
it is impossible to invoke novaclient APIs from Cinder code without
changing the default value of those config options.

The correct service_name defined in Keystone's config file
"/etc/keystone/default_catalog.templates" is:
catalog.RegionOne.compute.name = Compute Service.

This change replaces 'nova' with 'Compute Service' for default value
of 'nova_catalog*_info' config options.

Change-Id: Idee3585a08efa1d6af1f4ee2b74e8cefb05cc54f
Closes-Bug: 1401800

9 years ago * Now depends on openstack-pkg-tools (>= 20~) to avoid systemd issues with
Thomas Goirand [Sun, 14 Dec 2014 09:01:29 +0000 (09:01 +0000)]
  * Now depends on openstack-pkg-tools (>= 20~) to avoid systemd issues with
    previous versions.

9 years agoNow packaging 2014.2.1
Thomas Goirand [Sun, 14 Dec 2014 08:59:34 +0000 (08:59 +0000)]
Now packaging 2014.2.1

9 years agoUpdated from global requirements
OpenStack Proposal Bot [Fri, 5 Dec 2014 00:13:38 +0000 (00:13 +0000)]
Updated from global requirements

Change-Id: I98509da729ce244ecf3c96844c0138daa8045105

9 years agoRevert "Fix Brocade FC SAN lookup MITM vulnerability"
Jay S. Bryant [Tue, 2 Dec 2014 20:35:06 +0000 (14:35 -0600)]
Revert "Fix Brocade FC SAN lookup MITM vulnerability"

This reverts commit ab4f57212683baec45d5b682bdd3952ff58249ed.

The change is being reverted as it broke the Brocade FC SAN lookup
functionality.  The change uses configuration options from
ssh_utils that are not initialized when the Brocade driver is
run causing an exception to be thrown complaining that
CONF.ssh_hosts_key_file is used before it is initialized.

The right solution is to change the Brocade driver to use ssh_utils to
make SSH connections.

Conflicts:

cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py

Change-Id: I7814c3da9c0e6fcf3143969e74304a48cafcb3d1
Closes-bug: 1398488
(cherry-picked from commit 57103807c5e7fad7276f97ac82f8704f17f4b846)

9 years agoRemove check_uptodate.sh check from tox.ini
Adam Gandelman [Thu, 4 Dec 2014 20:22:25 +0000 (12:22 -0800)]
Remove check_uptodate.sh check from tox.ini

This removes the check_uptodate.sh test from the py2* tox envs and
run_tests.sh. It also syncs the sample config one last time to document
some new options available to users running with the newer
oslo.messaging versions.

Change-Id: I6107b996d5da808c3222696a9549ee06c22f80b9
Closes-bug: #1399085

9 years agoUpdated from global requirements
OpenStack Proposal Bot [Thu, 27 Nov 2014 10:31:40 +0000 (10:31 +0000)]
Updated from global requirements

Change-Id: I2bb0ae068bd37eddd869da0ecca5bcced2991546

9 years agoVMware: Set target ESX host for backing VM clone
Vipin Balachandran [Wed, 19 Nov 2014 10:38:45 +0000 (16:08 +0530)]
VMware: Set target ESX host for backing VM clone

The backing VM corresponding to a volume is cloned during create volume
from another volume, snapshot or image. The backing VM is also cloned
during retype and backup restore. Currently, the target ESX host is
unset while calling vCenter CloneVM_Task API and hence the source ESX
host is used as the target. If the destination datastore returned by
the datastore selection logic is not accessible to the source host,
clone fails. This patch fixes the problem by setting the target ESX
host (returned by datastore selection logic) while invoking clone.

Conflicts:
        cinder/volume/drivers/vmware/vmdk.py

Closes-Bug: #1380602
Change-Id: I030d5ce6378fb70f7f98356114825abc12297687
(cherry picked from commit 9e590a6c854cec6df18630954734e4a4e0249a91)

9 years agoIBM Storwize driver: Add local variable assignment to "ctxt"
Vincent Hou [Fri, 10 Oct 2014 07:46:36 +0000 (15:46 +0800)]
IBM Storwize driver: Add local variable assignment to "ctxt"

* The method get_vdisk_params in helpers.py is missing a local variable
assignment for "ctxt", causing "UnboundLocalError: local variable
'ctxt' referenced before assignment. Adding the assignment should
resolve this issue.

* Add the unit tests coverage for get_vdisk_params.

Change-Id: I564b1ef8cd1b6504d5ac8c9af0bb11bf29767d9a
closes-bug: #1379654
(cherry picked from commit afcbfe053c9165ab84af30c8e663dfaee2a79e81)

9 years agoChange CHAP secret default length
Lucian Petrut [Fri, 14 Nov 2014 16:22:04 +0000 (18:22 +0200)]
Change CHAP secret default length

Some of the iSCSI initiators have a limit regarding the maximum
CHAP secret length. For example, the MS iSCSI Initiator
does not allow CHAP secrets longer than 16 characters, smaller
than the actual default 20 characters length.

This patch simply changes the default length to 16 characters,
value which is already used by default by some of the volume
drivers. In fact, the iSCSI specs state that: "Implementations
MUST support use of up to 128 bit random CHAP secrets".

Change-Id: I0295fabd0c0048c93e1f452077d0f5d19af9784d
Closes-Bug: #1392792
(cherry picked from commit 3e124edb5dbbd5b48bb8816e6c1b60f5a0fa03db)

9 years agoTgtAdm: Don't change CHAP username/password on live migration
Tomoki Sekiyama [Mon, 20 Oct 2014 18:32:55 +0000 (14:32 -0400)]
TgtAdm: Don't change CHAP username/password on live migration

As tgtd doesn't update CHAP username/password while the initiator is
connected, CHAP username/password must not be changed while a Nova
instance are performing live-migration; otherwise the compute node
which the instance migrates to cannot login to the volume and the
migration process is aborted.

This fixes TgtAdm implementation not to regenerate random
username/password every time initialize_connection is called.
Also, it enables CHAP auth in unit tests of TargetAdmin helpers.

Change-Id: I48729a33fada62a7c8e4fe500b1e39533d898701
Closes-Bug: #1383509
(cherry picked from commit c22038b9005070e51224f5057aac9f73cf4d0340)

9 years agoFix wrapper to work with barbicanclient 3.0.1
Brianna Poulos [Thu, 6 Nov 2014 21:07:16 +0000 (13:07 -0800)]
Fix wrapper to work with barbicanclient 3.0.1

Due to the updates to the python-barbicanclient in version 3.0.1, the cinder
barbican wrapper no longer functions.  This patch updates the cinder barbican
wrapper and test cases to work with barbicanclient 3.0.1.

Change-Id: Ibef4abd5fd9b12962420eaa5d7ebf62700171861
Closes-Bug: #1388461
(cherry picked from commit 2d52d4177ca7cf41ee8162f07e444d9b75c377dd)

9 years agoUpdate cinder.conf.sample to fix max db conn retries
Jay S. Bryant [Mon, 17 Nov 2014 19:11:03 +0000 (13:11 -0600)]
Update cinder.conf.sample to fix max db conn retries

Another external library change (oslo.db) has broken the gate
because cinder.conf.sample appears to be out of date.  The change
was just to a message string:

   Maximum number of database connection retries during
   startup. Set to -1 to specify an infinite retry count. (integer value)
   ->
   Maximum db connection retries during startup. Set to -1 to
   specify an infinite retry count. (integer value)

This patch updates cinder.conf.sample to get beyond this failure.  The
Cinder team will be talking about how to avoid these issues in the future.

Change-Id: Ia14954842d141b9bd208ce98c5a70a42b014ac45
(cherry picked from commit 969a27c56e8c69ba7420d98a0c123dce2ad16870)

9 years agoFix Brocade FC SAN lookup MITM vulnerability
Matthew Edmonds [Tue, 11 Nov 2014 21:03:23 +0000 (16:03 -0500)]
Fix Brocade FC SAN lookup MITM vulnerability

Modify the Brocade FC SAN lookup service implementation to use the
same SSH key config properties used elsewhere rather than relying on
arguments which are non-standard and never passed by the base lookup
service.

Change-Id: I0cb5141368bc9a62a4e0374026d66fc2725cfe24
Closes-Bug: 1391311
(cherry picked from commit ab4f57212683baec45d5b682bdd3952ff58249ed)

9 years agoRemove test_barbican from keymgr tests
John Griffith [Tue, 4 Nov 2014 22:34:28 +0000 (23:34 +0100)]
Remove test_barbican from keymgr tests

Unfortunately it seems we have some very poorly
written keymgr unit tests, specifically
keymgr/test_barbican.py does this:
from barbicanclient.common import auth

First problem is that from a unit test perspective
that pretty much sucks, second problem is that
barbicanclient as of version 3.0.0.0 no longer
has an "auth" module, as a result Cinderunit tests
now fail.

The test_barbican.py unit tests need to be rewritten
to mock out the client components and actually test
Cinder components where needed without relying on
the barbicanclient.

For now in order to free up the gate, remove test_barbican.py

Change-Id: Id770c87c0d622ae4c1e0d71141ffa9aed29be2ec
Partial-Bug: #1389419
(cherry picked from commit 37e4a12652c803d60c18079b735d96e5c7890f07)

9 years agoEventlet green threads not released back to pool
abhishekkekane [Tue, 21 Oct 2014 09:31:15 +0000 (02:31 -0700)]
Eventlet green threads not released back to pool

Presently, the wsgi server allows persist connections hence even after
the response is sent to the client, it doesn't close the client socket
connection.
Because of this problem, the green thread is not released back to the pool.

In order to close the client socket connection explicitly after the
response is sent and read successfully by the client, you simply have to
set keepalive to False when you create a wsgi server.

DocImpact:
Added wsgi_keep_alive option (default=True).
In order to maintain the backward compatibility, setting wsgi_keep_alive
as True by default. Recommended is set it to False.

Conflicts:
        cinder/wsgi.py
        etc/cinder/cinder.conf.sample

SecurityImpact

Closes-Bug: #1361360
Change-Id: Ic57b2aceb136e8626388cfe4df72b2f47cb0661c
(cherry picked from commit fc87da7eeb3451e139ee71b31095d0b9093332ce)

9 years agoUse look up service for auto zoning
Xing Yang [Thu, 9 Oct 2014 05:26:28 +0000 (01:26 -0400)]
Use look up service for auto zoning

The VMAX FC driver didn't use the look up service for auto zoning.
Instead it built initiator target map itself. However, that
requires the initiator to log into the fabric before zoning
in order to find out target WWNs.

This patch is to use the look up service to find out valid initiator
target WWNS and use that to build initiator target map. With this fix,
the initiator is no longer required to log into the fabric ahead of time.

Closes-Bug: #1379156
(cherry picked from commit 8707458a98bd1e4059939325659a7290757d972f)
Change-Id: I76e1a8a2e7d4230b851b763f7d13dd1489b69364

9 years agoCinder api service doesn't handle SIGHUP properly
Zhiteng Huang [Tue, 21 Oct 2014 09:05:50 +0000 (17:05 +0800)]
Cinder api service doesn't handle SIGHUP properly

When SIGHUP signal is sent to cinder-api service, it doesn't complete
processing of all pending requests before terminating all the
processes.

This change is a copy of Abhishek Kekane's fix for nova api.

Change-Id: I049d2aa2f3ad1fe388e00213a71f374803ed409a
Closes-Bug: #1334647
(cherry picked from commit 6c3ad4cf55c5f4cb610fb2625aed1286857b6c67)

9 years agoTruncate fail_reason to column length
Vipin Balachandran [Thu, 9 Oct 2014 14:05:46 +0000 (19:35 +0530)]
Truncate fail_reason to column length

During create_backup failure handling, backup_update fails with
DataError ("Data too long for column") if the fail_reason is
greater than 255 characters. As a result, backup status is stuck
in 'creating' state. This patch avoids the problem by truncating
fail_reason to 255 characters before update.

Closes-Bug: #1376199
Change-Id: If0d616b81d3869f7ea110caab8cf4140cf5c5c9e
(cherry picked from commit 82716b4ac836024b968c76db75be8a92ede0e226)

9 years agoVMware: Fix initialization of datastore selector
Vipin Balachandran [Mon, 13 Oct 2014 14:04:36 +0000 (19:34 +0530)]
VMware: Fix initialization of datastore selector

The WSDL URL of storage policy service is determined and a session is
created using it in do_setup(). This session is later used to initialize
the datastore selector property (ds_sel), which uses the session for all
storage policy related API calls.

After commit a8fa3ceb1e72bac2ab67f569a2ca009f995f59fd (Integrate
OSprofiler and Cinder), the properties defined in vmdk module are called
before do_setup(). As a result, the ds_sel (datastore selector) property
is initialized with a session instance containing a 'None' PBM (storage
policy service) WSDL URL. This results in failures of all storage policy
related APIs invoked using datastore selector. This patch fixes the
problem by re-initializing the property in do_setup().

Change-Id: Ibdf8b23f9e215000cf9053b81d374066fabd6851
Closes-Bug: #1380675
(cherry picked from commit 6ac6225e72bde92f66da8e92c563c140471b949b)

9 years agoNetApp fix for default host type in eseries
Navneet Singh [Fri, 23 May 2014 04:57:33 +0000 (10:27 +0530)]
NetApp fix for default host type in eseries

This fixes the issue where the default host type
provided in mapping should be high performing LnxALUA
type for eseries. It also makes it configurable in case
users want to configure a different host type.

Closes-Bug: #1365884

Change-Id: I30992ca69c25c3c02334470aae90c32731a5f3f4
(cherry picked from commit a120ede9ae3f18756db07d1d6696b9ac773b84bf)

9 years agoOpening stable/juno
Thierry Carrez [Thu, 16 Oct 2014 14:58:51 +0000 (16:58 +0200)]
Opening stable/juno

Bump version to next stable release on juno branch, and set
defaultbranch in .gitreview for convenience.

Change-Id: I9312271d24982e1d251472aabaee92a62eb38970

9 years agoMerge "Fix use of invalid variable in tgt exists check"
Jenkins [Sun, 14 Dec 2014 05:25:00 +0000 (05:25 +0000)]
Merge "Fix use of invalid variable in tgt exists check"

9 years agoMerge "FibreChannel drivers for NetApp Data ONTAP storage controllers"
Jenkins [Sun, 14 Dec 2014 02:25:48 +0000 (02:25 +0000)]
Merge "FibreChannel drivers for NetApp Data ONTAP storage controllers"

9 years agoFibreChannel drivers for NetApp Data ONTAP storage controllers
Clinton Knight [Thu, 9 Oct 2014 14:56:25 +0000 (10:56 -0400)]
FibreChannel drivers for NetApp Data ONTAP storage controllers

This patch adds FibreChannel support to NetApp's Cinder drivers
for Data ONTAP (7-mode and Cluster-mode).  The drivers make full
use of Cinder's FibreChannel zone manager.

Implements blueprint add-fibre-channel-support-to-netapp-drivers
Change-Id: Ifbda275e4a60dda144a169ef00a4ea5e548dfa03

9 years agoFirst version of Cinder driver for Quobyte USP
Silvan Kaiser [Wed, 26 Nov 2014 16:29:01 +0000 (17:29 +0100)]
First version of Cinder driver for Quobyte USP

Supported Operations are:
- Create Volume
- Delete Volume
- Attach Volume
- Detach Volume
- Extend Volume
- Create Snapshot
- Delete Snapshot
- List Snapshots
- Create Volume from Snapshot
- Create Volume from Image
- Create Volume from Volume (Clone)
- Create Image from Volume

The driver uses a file-based interface to access the configured
Quobyte volume. Therefore, the driver is similar to the existing
drivers NFS and GlusterFS.

Due to the similarities, I reused the snapshot code from the GlusterFS
driver. Gluster, thanks for that! I've kept the "Red Hat" copyright in
the header to credit you properly.

All driver functions are covered by unit tests. Snapshot tests were
taken over from test_glusterfs.py. New tests are written using "Mock"
instead of "mox".

Certification tests: https://bugs.launchpad.net/cinder/+bug/1401471

Implements: blueprint quobyte-usp-driver
Change-Id: I7ca13e28b000d7a07c2baecd5454e50be4c9640b

9 years agoFix use of invalid variable in tgt exists check
John Griffith [Wed, 3 Dec 2014 17:44:49 +0000 (10:44 -0700)]
Fix use of invalid variable in tgt exists check

I added a check for tgt already exists here:
https://review.openstack.org/#/c/138173/

But, that was wrong, the err value is never going to be
set because of the exception.  This should have inspected
the exception object and checked against it.

So this patch makes it do what it was supposed to do.

Change-Id: I8c184bf1684c8592a36f749cdcb5493f6b65e52b

9 years agoRemove an unused variable in volume/manager.py
huangtianhua [Fri, 12 Dec 2014 02:49:49 +0000 (10:49 +0800)]
Remove an unused variable in volume/manager.py

The 'old_reservations' variable defined in a exception handling block in 'retype' method is never used, this change removes it.

Change-Id: Iaf39ea31bcbd31a90b621b6f33b6aa799f425744

9 years agoMerge "Report better capacity info for a limitless 3par cpg"
Jenkins [Thu, 11 Dec 2014 05:20:29 +0000 (05:20 +0000)]
Merge "Report better capacity info for a limitless 3par cpg"

9 years agoMerge "VMware: Fix datastore selection with single host"
Jenkins [Thu, 11 Dec 2014 05:19:58 +0000 (05:19 +0000)]
Merge "VMware: Fix datastore selection with single host"

9 years agoReport better capacity info for a limitless 3par cpg
Gloria Gu [Wed, 10 Dec 2014 01:56:09 +0000 (17:56 -0800)]
Report better capacity info for a limitless 3par cpg

This change has the following improvement:

1. Uses getCPGAvailableSpace from hp3parclient to report
free_capapcity for a limitless cpg.

2. Uses cpg's SDUsage.usedMiB + UsrUsage.usedMiB + free_capacity
to calculate the total_capacity for a limitless cpg. This is the
best we can do for a limitless cpg.

Closes-Bug: #1398651
Change-Id: I62f446786360c61288a788be29d1daa6e409c7b1

9 years agoVMware: Fix datastore selection with single host
Vipin Balachandran [Wed, 10 Dec 2014 07:11:08 +0000 (12:41 +0530)]
VMware: Fix datastore selection with single host

Currently, the select_datastore method is called with an empty list of
ESX hosts. This causes the method to retrieve all the hosts in vCenter
as candidates for selecting a datastore. The reference to a retrieved
host is stored in attribute 'obj'. Some of the future bug fixes will
need to invoke this method with reference to a single ESX host. Such
invocations will fail with attribute error: 'val instance has no
attribute 'obj''. This patch fixes the attribute error.

Closes-Bug: #1401052
Change-Id: Ib4f48d2ebfbfa3a9ce6a402300d41351548932ef

9 years agoMerge "Use pbr entry_points to setup the cinder scripts"
Jenkins [Wed, 10 Dec 2014 05:33:02 +0000 (05:33 +0000)]
Merge "Use pbr entry_points to setup the cinder scripts"

9 years agoMerge "Improve testing of cinder/utils.py"
Jenkins [Tue, 9 Dec 2014 21:31:37 +0000 (21:31 +0000)]
Merge "Improve testing of cinder/utils.py"

9 years agoMerge "Fix _get_disk_of_partition edgecase in utils"
Jenkins [Tue, 9 Dec 2014 21:31:00 +0000 (21:31 +0000)]
Merge "Fix _get_disk_of_partition edgecase in utils"

9 years agoAdd support for backup encryption metadata
Brianna Poulos [Fri, 29 Aug 2014 21:19:29 +0000 (17:19 -0400)]
Add support for backup encryption metadata

This modification allows the encryption key UUID field, which
has been added to the volume table, to remain valid when encrypted
volumes are backed up and then restored, which enables the restored
volume to be accessible and encrypted.  This is related to patch
https://review.openstack.org/#/c/39573/, except that it uses the
backup metadata support recently added in patch
https://review.openstack.org/#/c/51900/ rather than modifying the
backup api.

Change-Id: Ib91f8275271e6bd4f2d9e17499d16ec13bca2b84
Implements: blueprint backup-support-for-encrypted-volumes
DocImpact

9 years agoRemoteFS: Move Nova snapshot code into RemoteFSSnapDriver
Eric Harney [Mon, 8 Dec 2014 17:50:33 +0000 (12:50 -0500)]
RemoteFS: Move Nova snapshot code into RemoteFSSnapDriver

Implements bp: remotefs-snaps

Change-Id: I2e92322ff9c80de123dc281f790a7c2a89c4d62e

9 years agoImplementing the use of _L’x’/i18n markers
Mike Mason [Thu, 4 Dec 2014 09:17:57 +0000 (09:17 +0000)]
Implementing the use of _L’x’/i18n markers

Placing the _Lx markers back into the code. No other cleaner solution has
has been implemented. Patches will be submitted in a series of sub
directories and in a fashion that is manageable.
eighth commit of this kind
This is the last run through to pick up the ones that were missed

Change-Id: Ifd9d647175a840939bf01fa3bcecfa6384965e3b
Closes-Bug: #1384312

9 years agoMerge "Updated from global requirements"
Jenkins [Mon, 8 Dec 2014 23:46:14 +0000 (23:46 +0000)]
Merge "Updated from global requirements"

9 years agoMerge "Fixes intermittent NFS driver mount failure"
Jenkins [Mon, 8 Dec 2014 22:41:04 +0000 (22:41 +0000)]
Merge "Fixes intermittent NFS driver mount failure"

9 years agoMerge "Inherit RequestContext from oslo"
Jenkins [Mon, 8 Dec 2014 21:44:40 +0000 (21:44 +0000)]
Merge "Inherit RequestContext from oslo"

9 years agoMerge "NetApp fix vol migration unusability"
Jenkins [Mon, 8 Dec 2014 19:12:36 +0000 (19:12 +0000)]
Merge "NetApp fix vol migration unusability"

9 years agoMerge "Fix 3PAR driver attach error when host name missing"
Jenkins [Mon, 8 Dec 2014 17:46:59 +0000 (17:46 +0000)]
Merge "Fix 3PAR driver attach error when host name missing"

9 years agoFixes intermittent NFS driver mount failure
Tom Barron [Wed, 26 Nov 2014 21:01:14 +0000 (16:01 -0500)]
Fixes intermittent NFS driver mount failure

During cinder volume driver initialization, NFS drivers often
fail to mount the NFS share backing their volumes, complaining
that the share in question is 'busy or already mounted'.

This commit introduces a retry loop around the ensure_mounted()
call inside set_nas_security_options() so that if there is contention
between volume process and backup process mounting the same share
the driver will not be stopped from loading.

Change-Id: I672433c1c31f420e5dcdbe565db3bb29af3abe7b
Closes-bug: 1395823

9 years agoUpdated from global requirements
OpenStack Proposal Bot [Mon, 8 Dec 2014 16:17:14 +0000 (16:17 +0000)]
Updated from global requirements

Change-Id: I305473aa6a64ea685a7e23aace3c91df983e8fb5

9 years agoUse pbr entry_points to setup the cinder scripts
Thang Pham [Fri, 20 Jun 2014 04:30:36 +0000 (00:30 -0400)]
Use pbr entry_points to setup the cinder scripts

The following patch changes how cinder scripts are
installed and unit tested. This patch moves all the
cinder scripts from bin into cinder/cmd and creates
entry_points for those scripts in setup.cfg. When
cinder is installed, these scripts will be installed
under /usr/local/bin by pbr.

DocImpact: 'host' config option for multiple-storage backends
in cinder.conf is renamed to 'backend_host' in order to avoid
a naming conflict with the 'host' to locate redis
Change-Id: If82cf0c58d765bf79dbf721ca95c10a468940cab
Implements: blueprint unit-test-cases-for-cinder-scripts

9 years agoMerge "Fix a clone volume problem in VMAX driver"
Jenkins [Mon, 8 Dec 2014 05:32:21 +0000 (05:32 +0000)]
Merge "Fix a clone volume problem in VMAX driver"

9 years agoZFSSA iSCSI driver should support extra specs
Juan Zuluaga [Thu, 13 Nov 2014 15:46:37 +0000 (10:46 -0500)]
ZFSSA iSCSI driver should support extra specs

Support for extra specs at volume creation time,
would allow more flexibility to create custom volumes.
The following scoped keys are supported:
-zfssa:volblocksize
-zfssa:sparse
-zfssa:compression
-zfssa:logbias

Closes-Bug: #1379403
DocImpact

Change-Id: I8768d07f19147dc2544bebc0dbf3392313838e8f

9 years agoMerge "Allow HostState to handle empty capabilities"
Jenkins [Sun, 7 Dec 2014 19:44:07 +0000 (19:44 +0000)]
Merge "Allow HostState to handle empty capabilities"

9 years agoMerge "Improve unit tests for cinder/volume/utils.py"
Jenkins [Sun, 7 Dec 2014 19:39:28 +0000 (19:39 +0000)]
Merge "Improve unit tests for cinder/volume/utils.py"