]> review.fuel-infra Code Review - openstack-build/cinder-build.git/log
openstack-build/cinder-build.git
10 years agoAdd unit test to cinder cgsnapshot api
Haiwei Xu [Wed, 17 Sep 2014 05:58:20 +0000 (14:58 +0900)]
Add unit test to cinder cgsnapshot api

This patch adds unit tests to cgsnapshot create api,
in case cgsnapshot is invalid or can not be found.

Change-Id: I6ec73b8db413e5c085f8a48830f5e1446c2d7240

10 years agoMerge "Avoid using the disk cache on volume initialisation"
Jenkins [Tue, 16 Sep 2014 14:22:14 +0000 (14:22 +0000)]
Merge "Avoid using the disk cache on volume initialisation"

10 years agoMerge "HP 3PAR configurable ssh-host-key-policy"
Jenkins [Tue, 16 Sep 2014 13:26:23 +0000 (13:26 +0000)]
Merge "HP 3PAR configurable ssh-host-key-policy"

10 years agoIBMNAS: Remove call to set r/w permissions to all
Nilesh Bhosale [Sun, 24 Aug 2014 07:36:29 +0000 (13:06 +0530)]
IBMNAS: Remove call to set r/w permissions to all

During cinder volume create operation from a volume snapshot or
from an existing volume (volume clone operation), the ibmnas
driver sets 'rw' permissions to all, which is unnecessary and
also poses security concerns.
Fixing this issue, removing the calls to set rw permissions to
all during these operations and adding a call to set 'rw'
permissions only to the owner to make sure even if umask is set
at the filesystem level, which might deny 'rw' access to the owner
we explicitely set the required permissions on the volume file.

Change-Id: I0e5ba9262a298e088f7724ddeda3537afa4b023e
Closes-Bug: #1367238

10 years agoMerge "Fix help for running specified unit tests"
Jenkins [Mon, 15 Sep 2014 08:28:25 +0000 (08:28 +0000)]
Merge "Fix help for running specified unit tests"

10 years agoMerge "Don't clear _mounted_shares list in remoteFS while updating"
Jenkins [Mon, 15 Sep 2014 04:04:13 +0000 (04:04 +0000)]
Merge "Don't clear _mounted_shares list in remoteFS while updating"

10 years agoMerge "Add reset-state function for backups"
Jenkins [Sun, 14 Sep 2014 09:16:30 +0000 (09:16 +0000)]
Merge "Add reset-state function for backups"

10 years agoMerge "VMware: Remove redundant extend disk API call"
Jenkins [Sun, 14 Sep 2014 05:21:29 +0000 (05:21 +0000)]
Merge "VMware: Remove redundant extend disk API call"

10 years agoMerge "Destroy Datera export target after detach"
Jenkins [Sun, 14 Sep 2014 05:07:45 +0000 (05:07 +0000)]
Merge "Destroy Datera export target after detach"

10 years agoMerge "EMC VNX Direct Driver Consistency Group support"
Jenkins [Sat, 13 Sep 2014 17:28:03 +0000 (17:28 +0000)]
Merge "EMC VNX Direct Driver Consistency Group support"

10 years agoMerge "coraid: fix snapshot deletion"
Jenkins [Sat, 13 Sep 2014 17:26:55 +0000 (17:26 +0000)]
Merge "coraid: fix snapshot deletion"

10 years agoMerge "Add test case for volume_types.py"
Jenkins [Sat, 13 Sep 2014 17:24:56 +0000 (17:24 +0000)]
Merge "Add test case for volume_types.py"

10 years agoMerge "fix a small typo in development.environment.rst"
Jenkins [Sat, 13 Sep 2014 17:13:54 +0000 (17:13 +0000)]
Merge "fix a small typo in development.environment.rst"

10 years agoMerge "Log an error on nfs mount failure"
Jenkins [Sat, 13 Sep 2014 15:53:05 +0000 (15:53 +0000)]
Merge "Log an error on nfs mount failure"

10 years agoMerge "Netapp drivers support for pool-aware scheduling"
Jenkins [Sat, 13 Sep 2014 15:52:56 +0000 (15:52 +0000)]
Merge "Netapp drivers support for pool-aware scheduling"

10 years agoMerge "Fixing leaking sessions in 3PAR on attach/detach"
Jenkins [Sat, 13 Sep 2014 15:44:03 +0000 (15:44 +0000)]
Merge "Fixing leaking sessions in 3PAR on attach/detach"

10 years agoMerge "Unit test for restore with different hosts"
Jenkins [Sat, 13 Sep 2014 15:43:46 +0000 (15:43 +0000)]
Merge "Unit test for restore with different hosts"

10 years agoMerge "Delete consistency group failed"
Jenkins [Sat, 13 Sep 2014 15:30:44 +0000 (15:30 +0000)]
Merge "Delete consistency group failed"

10 years agoMerge "Fixes Windows Volume Driver upload volume fails"
Jenkins [Sat, 13 Sep 2014 14:01:45 +0000 (14:01 +0000)]
Merge "Fixes Windows Volume Driver upload volume fails"

10 years agoMerge "Adds CA cert file path option for glance connections"
Jenkins [Sat, 13 Sep 2014 13:44:42 +0000 (13:44 +0000)]
Merge "Adds CA cert file path option for glance connections"

10 years agoMerge "Add filter to volume transfer REST api"
Jenkins [Sat, 13 Sep 2014 13:44:33 +0000 (13:44 +0000)]
Merge "Add filter to volume transfer REST api"

10 years agoMerge "VMware: Implement backup/restore for VMDK driver"
Jenkins [Sat, 13 Sep 2014 11:15:45 +0000 (11:15 +0000)]
Merge "VMware: Implement backup/restore for VMDK driver"

10 years agoMerge "Sync service.py and its dependencies to Cinder"
Jenkins [Sat, 13 Sep 2014 07:19:01 +0000 (07:19 +0000)]
Merge "Sync service.py and its dependencies to Cinder"

10 years agoMerge "Update oslo.config and oslo.messaging requirements"
Jenkins [Sat, 13 Sep 2014 02:28:58 +0000 (02:28 +0000)]
Merge "Update oslo.config and oslo.messaging requirements"

10 years agoNetapp drivers support for pool-aware scheduling
Clinton Knight [Fri, 15 Aug 2014 15:12:14 +0000 (11:12 -0400)]
Netapp drivers support for pool-aware scheduling

Adds pools support for all NetApp drivers: eseries, 7mode (iscsi and nfs), and
cmode (iscsi and nfs). With 7mode and cmode drivers, a pool is one-to-one with a
Ontap flexvol. With eseries, a pool is one-to-one with a dynamic disk pool.

DocImpact
Implements: blueprint pool-aware-cinder-scheduler-support-in-netapp-drivers

Change-Id: Ie6f155df7bc1ae2cd5f7fa39f1b1a0ad38075988

10 years agocoraid: fix snapshot deletion
Roman Bogorodskiy [Thu, 4 Sep 2014 10:04:59 +0000 (10:04 +0000)]
coraid: fix snapshot deletion

Currently, a request to ESM API for a snapshot deletion looks this way:

{'addr': 'cms',
 'data': {
    'repoName': repository_name,
    'lvName': snapshot_name},
 'op': 'orchStrLunMods',
 'args': 'delClSnap'}

This is correct, however, some versions of the ESM API have a bug that
prevents it from validation this valid request and it fails with:

Must define the new LV name to be assigned to the clone/clSnap.

As a workaround for this bug, provide an 'newLvName' property with a
'noop' value to make the validation pass even on buggy versions.

Fixes bug #1365417

Change-Id: I3fd7f3c6a64cac992735b098368b52b9ab21d85c

10 years agoAdd reset-state function for backups
ling-yun [Tue, 26 Aug 2014 10:39:30 +0000 (18:39 +0800)]
Add reset-state function for backups

Since there are volume reset-state function and snapshot reset-state
function, backup also needs reset-state as well.
When creating or restoring backup, it may leave the backup stuck in
creating or restoring status due to database down or rabbitmq down, etc.
Currently we could only solve these problems by restarting cinder-backup
service.

This BP is to provide another means for administrators to solve these
problems by calling backup reset state API, instead of directly
restarting cinder-backup service.

DocImpact: Support reset backup status

blueprint support-reset-state-for-backup

Change-Id: Icd677a0b48083894bcd969d5199fa91b307080de

10 years agoAdd test case for volume_types.py
Eiichi Aikawa [Fri, 12 Sep 2014 07:19:53 +0000 (16:19 +0900)]
Add test case for volume_types.py

Test coverage for volume_types.py is not enough.
Here I added some test case.

Change-Id: I3a78c87437044cb2b3697fcb7c126f4fc2422a21

10 years agoBlock sqlalchemy-migrate 0.9.2
Eric Harney [Thu, 11 Sep 2014 20:53:11 +0000 (16:53 -0400)]
Block sqlalchemy-migrate 0.9.2

Breaks unit tests.

Closes-Bug: #1368391

Change-Id: Ic814a91038800201603baf33ca40e4586944343b

10 years agoDestroy Datera export target after detach
Mike Perez [Thu, 4 Sep 2014 04:05:53 +0000 (21:05 -0700)]
Destroy Datera export target after detach

Since there is only one lun associated with each target export object in
the Datera backend, we will destroy the target export object after
detaching the volume so they don't build up. This patch also fixes some
missing values for formatted strings.

Closes-Bug: #1368381
Change-Id: Id44ac4bb385ab39af50865a295938861ca977fa3

10 years agoEMC VNX Direct Driver Consistency Group support
Xing Yang [Tue, 9 Sep 2014 22:18:21 +0000 (18:18 -0400)]
EMC VNX Direct Driver Consistency Group support

Consistency Group support is newly introduced in Juno.

This commit is to add the changes in EMC VNX Direct Driver to
support CG.

Implements: blueprint emc-vnx-direct-driver-cg-support

Change-Id: I6c30ef2609ca8a559f5635129ce6a7c960a9f0a7

10 years agoUpdate oslo.config and oslo.messaging requirements
Eric Harney [Wed, 20 Aug 2014 15:27:16 +0000 (11:27 -0400)]
Update oslo.config and oslo.messaging requirements

Need to land the sample config update with these
updates so that the global requirements update can
pass tests.

Change-Id: Iaae306f05098165d80a7398a22038b322e9f7935

10 years agoFixes Windows Volume Driver upload volume fails
Adelina Tuvenie [Fri, 5 Sep 2014 15:16:55 +0000 (18:16 +0300)]
Fixes Windows Volume Driver upload volume fails

The copy_volume_to_image requires in some cases an intermediary
conversion, which takes place in the configured image conversion
dir. If this folder is not created, the operation will fail.

This patch ensures that method will create the folder if it does
not exist.

Change-Id: I82b5e76c6d6f3114666f184672667dc3b95bab8b
Closes-Bug: #1356415

10 years agoLog an error on nfs mount failure
Alex Meade [Thu, 7 Aug 2014 14:08:36 +0000 (10:08 -0400)]
Log an error on nfs mount failure

Change from a log warning to a log error when an nfs driver
cannot mount the backend share. Add tests to ensure the error is
logged correctly.

Change-Id: Id9d51aebe349e7a4e09d1211b17efd8d47af97f5

10 years agoMerge "Fixes Cinder fails to upload volume to vhd image"
Jenkins [Wed, 10 Sep 2014 18:54:07 +0000 (18:54 +0000)]
Merge "Fixes Cinder fails to upload volume to vhd image"

10 years agoSync service.py and its dependencies to Cinder
Jay S. Bryant [Wed, 10 Sep 2014 15:18:22 +0000 (10:18 -0500)]
Sync service.py and its dependencies to Cinder

Bug 1362455 made note that our sevice.py was out of sync
from what is currently in oslo-incubator.  We have been syncing
things piece meal.  It would be good to get this code synced up.

----------------------------------------------

Head of oslo-incubator:

commit 820752a10d8277464261661ca211f2c3e7282ce0
Merge: 8ebe497 422e94b
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Sep 10 14:14:28 2014 +0000

    Merge "Switch to using pbr's autodoc capability"

-----------------------------------------------

This commit pulls in the following changes listed by file,
ordered from newest to oldest:

cinder/openstack/common/eventlet_backdoor.py
------------------------------------------------
90ae24bf Remove redundant default=None for config options
fcf517d7 Update oslo log messages with translation domains

cinder/openstack/common/jsonutils.py
------------------------------------------------
d9060f69 Check for namedtuple_as_object support before using it
ad248f66 Specify namedtuple_as_object=False when using simplejson

cinder/openstack/common/log.py
------------------------------------------------
037dee00 Set stevedore log level to WARN by default

cinder/openstack/common/loopingcall.py
------------------------------------------------
e3773930 Changes calcuation of variable delay
ab5d5f1c Use timestamp in loopingcall
bc48099a Log the function name of looping call
fb4e863c Remove deprecated LoopingCall
fcf517d7 Update oslo log messages with translation domains

cinder/openstack/common/service.py
------------------------------------------------
5f12bba4 Implement stop method in ProcessLauncher
8c00b361 Merge "Remove duplicated "caught" message"
f718e404 Remove duplicated "caught" message
356ecd4d Move notification point to a better place
e2634a75 Add missing _LI for LOG.info in service module
0150ad75 Merge "Reap child processes gracefully if greenlet thread gets killed"
53e1214c notify calling process we are ready to serve
a6fec438 Reap child processes gracefully if greenlet thread gets killed
fcf517d7 Update oslo log messages with translation domains
1e700782 Revert "service: replace eventlet event by threading"
0644073e Simplify launch method
6b4d255e Merge "service: replace eventlet event by threading"
a4f145e4 Merge "Allow configurable ProcessLauncher liveness check"

cinder/openstack/common/threadgroup.py
------------------------------------------------
5a1a0166 Make stop_timers() method public
fdc88831 Add graceful stop function to ThreadGroup.stop
5f8ace05 Merge "threadgroup: use threading rather than greenthread"
2d06d6ca Simple typo correction
4d18b57a threadgroup: use threading rather than greenthread

cinder/openstack/common/systemd.py
-------------------------------------------------
17c4e21e  Fix docstring indentation in systemd
667d1bac Fixed spelling error - occured to occurred
53e1214c notify calling process we are ready to serve

Change-Id: I163f0b80c32c3b8485d9c007fa6e4474494ba31f
Closes-bug: 1362455

10 years agoHP 3PAR configurable ssh-host-key-policy
Mark Sturdevant [Tue, 2 Sep 2014 23:25:47 +0000 (16:25 -0700)]
HP 3PAR configurable ssh-host-key-policy

Cinder added configurable SSH strict key policy (RejectPolicy)
and configurable known_hosts_file.  This patch configures the
hp3parclient (used by the 3PAR drivers) using those settings.

Change-Id: I71fa7d8be28d1cb7c0102590e03cba994b6035a0
Closes-bug: 1365697

10 years agoMerge "Add Windows SMB Volume Driver"
Jenkins [Wed, 10 Sep 2014 11:12:25 +0000 (11:12 +0000)]
Merge "Add Windows SMB Volume Driver"

10 years agoMerge "Set default pool value to system in gpfs driver"
Jenkins [Wed, 10 Sep 2014 11:12:16 +0000 (11:12 +0000)]
Merge "Set default pool value to system in gpfs driver"

10 years agoMerge "Fixed Typo - from hypens to hyphens"
Jenkins [Wed, 10 Sep 2014 09:21:15 +0000 (09:21 +0000)]
Merge "Fixed Typo - from hypens to hyphens"

10 years agoDelete consistency group failed
Xing Yang [Fri, 5 Sep 2014 21:48:00 +0000 (17:48 -0400)]
Delete consistency group failed

Delete CG failed because it compares host@backend with host@backend#pool
(in delete_consistencygroup in volume/manager.py). The fix is to call
extract_host before doing the comparison.

Another issue is about deleting a CG with no host. This will throw exception
when extract_host(group['host']) is called in delete_consistencygroup in
volume/rpcapi.py. The solution is to check the host field in consistencygroup/
api.py and delete it from db there.

Change-Id: Ife28a4f91bd8a4e123c74dac9748ee31cc7b7306
Closes-Bug: #1366205

10 years agoMerge "Netapp: fix multiple copies of cinder-volume"
Jenkins [Tue, 9 Sep 2014 15:58:13 +0000 (15:58 +0000)]
Merge "Netapp: fix multiple copies of cinder-volume"

10 years agoMerge "Add SMB Volume Driver"
Jenkins [Tue, 9 Sep 2014 15:50:37 +0000 (15:50 +0000)]
Merge "Add SMB Volume Driver"

10 years agoFixing leaking sessions in 3PAR on attach/detach
Anthony Lee [Tue, 9 Sep 2014 13:53:25 +0000 (06:53 -0700)]
Fixing leaking sessions in 3PAR on attach/detach

Fixed an issue where sessions were not being closed properly
during an attach or detach of a volume.

Closes-Bug: 1367429
Change-Id: Ic7a4ceca855111a8c8a9512fc2d99fcf6df6d79e

10 years agoAdd Windows SMB Volume Driver
Lucian Petrut [Thu, 10 Jul 2014 13:36:19 +0000 (16:36 +0300)]
Add Windows SMB Volume Driver

Introduces a volume driver which makes use of SMB shares for hosting
volumes as disk images, having a similar workflow with the other NFS
like drivers.

This driver is based on the SMB Volume driver proposed for Linux,
overriding the platform specific methods.

It includes all the features required by the Juno release.

Driver cert results:
http://paste.openstack.org/show/100600/

The online snapshot related tests have been skipped as this
feature is not supported yet.

Change-Id: Idd5964690bca618c11fd116f80dd802d6cc2f31b
Implements: blueprint windows-smbfs-volume-driver

10 years agoMerge "Fix possible race condition for accept transfer"
Jenkins [Tue, 9 Sep 2014 06:28:17 +0000 (06:28 +0000)]
Merge "Fix possible race condition for accept transfer"

10 years agoMerge "remove object in wsgi LOG.info"
Jenkins [Tue, 9 Sep 2014 02:11:01 +0000 (02:11 +0000)]
Merge "remove object in wsgi LOG.info"

10 years agoNetapp: fix multiple copies of cinder-volume
Vishvananda Ishaya [Tue, 9 Sep 2014 00:05:13 +0000 (17:05 -0700)]
Netapp: fix multiple copies of cinder-volume

Various commands were failing when running multiple copies of
cinder-volume. This is due to storing an in memory copy of the luns
which may get updated in the backend by another cinder-volume. Fix
it by attempting to refresh the list of luns if one is not found
during a request.

Change-Id: Iecd1dc5146525d7240a09f71669a3ab239c488bd
Resolves-bug: #1367044

10 years agoAdd SMB Volume Driver
Lucian Petrut [Thu, 10 Jul 2014 12:45:31 +0000 (15:45 +0300)]
Add SMB Volume Driver

Introduces a volume driver which makes use of SMB shares for
hosting volumes as disk images, having a similar workflow with the
other NFS like drivers.

The driver uses Samba in order to access the SMB shares. It takes
SMB shares information such as share path, credentials and other
mount flags from a config file of which location can be configured
in the cinder config file.

It includes all the features required by the Juno release.

Driver cert results:
http://paste.openstack.org/show/100915/

The online snapshot related tests have been skipped as this
feature is not supported yet.

Implements: blueprint smbfs-volume-driver

DocImpact

Co-Authored-By: Adelina Tuvenie <atuvenie@cloudbasesolutions.com>
Change-Id: I3b4bebf73122d5b784228af18f9b1eddfc02b643

10 years agoFix possible race condition for accept transfer
Zhiteng Huang [Sun, 7 Sep 2014 17:22:52 +0000 (10:22 -0700)]
Fix possible race condition for accept transfer

Accept transfer API workflow is currently like this:

  call volume_api.accept_transfer()
    |
    --- RPC cast to volume manager
          |
          --- volume manager calls volume driver accept_transfer()

  update volume's DB record

Given the non-blocking nature of RPC cast, what happens in volume
manager and volume driver can happen in parallel with the DB update.
If volume driver relies on original DB record to do things, then
DB record shouldn't be updated until volume driver finishes its job.

So this patch change volume RPC API accept_transfer() from cast
to call to make sure the workflow is in serialized manner.  Also
elevated the context when volume manager tries to update the DB
record when driver has done accept_transfer().

Change-Id: Ieae52e167aa02967338e0be5d78d570d682faa7a
Closes-bug: #1357432

10 years agoImported Translations from Transifex
OpenStack Proposal Bot [Mon, 8 Sep 2014 06:09:17 +0000 (06:09 +0000)]
Imported Translations from Transifex

Change-Id: I6e73820384a15740729aef1027c6cf672580a1e6

10 years agoMock glance client object in version unit tests
Rushi Agrawal [Sun, 7 Sep 2014 18:58:57 +0000 (00:28 +0530)]
Mock glance client object in version unit tests

This patch changes the glance client version unit tests
to mock the Client object completely.  Previously the
tests were ensuring the right version of the client was
returned, but that required too much knowledge of glance's
implementation and ended up breaking the tests when glance
changed the implementation details of the Client class.

The new code tests if cinder is calling the integration
point correctly for the version, rather than if glance
is correctly returning the right client; that should be
a glance test, not a cinder test.

Closes-Bug: 1366596
Change-Id: I979175e6c3b5f98076bde6d36ca52fb8b03009b8

10 years agoMerge "Deprecate the V1 API"
Jenkins [Fri, 5 Sep 2014 20:31:49 +0000 (20:31 +0000)]
Merge "Deprecate the V1 API"

10 years agoremove object in wsgi LOG.info
Zhi Kun Liu [Fri, 5 Sep 2014 08:51:30 +0000 (16:51 +0800)]
remove object in wsgi LOG.info

Method __init__ in Server class records log for wsgi server name, host
and port using its __dict__ which includes a socket object. i18n message
will deep copy each item's value in __dict__. In python2.6, deep copy
the socket object will raise "Exception RuntimeError" and can not be
caught. This makes cinder-api run into a hang loop. This patch uses the
related properties instead of __dict__ object to fix the problem.

Closes-Bug: #1365901
Change-Id: Ia6ac51f4849d369c54ac88b1587741a2d2beb40b

10 years agoDon't clear _mounted_shares list in remoteFS while updating
Andrew Kerr [Fri, 5 Sep 2014 15:28:06 +0000 (10:28 -0500)]
Don't clear _mounted_shares list in remoteFS while updating

This fix makes the updating of the _mounted_shares list in
remoteFS more of an atomic operation.  Previously this list
would be cleared, then rebuilt.  That allowed a race
condition where operations that took place during this
update would have a list of 0 shares to work with.

Change-Id: I740d8f1b87db911242326a38ff398b81c5974cea
Closes-Bug: #1366083

10 years agoAdd filter to volume transfer REST api
liyingjun [Wed, 6 Aug 2014 21:58:17 +0000 (05:58 +0800)]
Add filter to volume transfer REST api

The transfer api supports filter param,
https://github.com/openstack/cinder/blob/master/cinder/transfer/api.py#L72
But the transfer REST api didn't pass the filter params when calling get_all.

Change-Id: I1e29614a3368296571378b4a80a5cfa29b16754e
Closes-bug: 1351084

10 years agoFix help for running specified unit tests
Ivan Kolodyazhny [Fri, 5 Sep 2014 09:39:03 +0000 (12:39 +0300)]
Fix help for running specified unit tests

Change-Id: I385fcf88ae6a2e839c99ef13cd4f410ce3c0ee5f

10 years agoDeprecate the V1 API
Mike Perez [Sun, 16 Feb 2014 05:40:59 +0000 (21:40 -0800)]
Deprecate the V1 API

This gives a warning for using the V1 API in Juno and encourages users
to switch to V2 before the K release where it will be removed.

DocImpact
Implements blueprint deprecate-v1-api
Change-Id: I89eb9eb2a7819edb2a97b2ea2b5239a89124ca4d

10 years agoMerge "warn against sorting requirements"
Jenkins [Fri, 5 Sep 2014 00:12:02 +0000 (00:12 +0000)]
Merge "warn against sorting requirements"

10 years agoMerge "During a restore send the restore request to the right host"
Jenkins [Thu, 4 Sep 2014 23:40:52 +0000 (23:40 +0000)]
Merge "During a restore send the restore request to the right host"

10 years agoMerge "Add Datera driver for Cinder"
Jenkins [Thu, 4 Sep 2014 23:40:28 +0000 (23:40 +0000)]
Merge "Add Datera driver for Cinder"

10 years agoMerge "Update the HP 3PAR default persona"
Jenkins [Thu, 4 Sep 2014 20:26:11 +0000 (20:26 +0000)]
Merge "Update the HP 3PAR default persona"

10 years agoMerge "Make ssh-host-key-policy configurable"
Jenkins [Thu, 4 Sep 2014 18:48:24 +0000 (18:48 +0000)]
Merge "Make ssh-host-key-policy configurable"

10 years agoSet default pool value to system in gpfs driver
Manojkiran [Thu, 4 Sep 2014 12:33:57 +0000 (18:03 +0530)]
Set default pool value to system in gpfs driver

The configuration option gpfs_storage_pool is assigned with
default value of None. And it gets initialized with None
instead of system, where as the intention is to set the default
value as system.

This change sets default value of gpfs_storage_pool to system
instead of None.

DocImpact

Needs an update in gpfs driver documentation, as this patch
proposes a change in default value of configuration option
(gpfs_storage_pool)

Change-Id: Ib4c2a2e4593a940ae563d329fd59d2d5fe3d4520
Closes-Bug: #1365474

10 years agoFixes Cinder fails to upload volume to vhd image
Adelina Tuvenie [Thu, 4 Sep 2014 13:00:19 +0000 (16:00 +0300)]
Fixes Cinder fails to upload volume to vhd image

The method copy_volume_to_image from windows.py specifies the
wrong volume format, namely 'vpc'. In this case, the upload_volume
method from image_utils will attempt to convert the volume to vhd
which will result in an error from qemu as it does not recognize
the format.

This patch fixes this issue by using 'vhd' as a format when
uploading volumes

Change-Id: Ifa675316e19f9a795e103fd56fcdf4e3ed00aab7
Closes-Bug: #1365487

10 years agoUnit test for restore with different hosts
Vipin Balachandran [Thu, 4 Sep 2014 11:52:45 +0000 (17:22 +0530)]
Unit test for restore with different hosts

This patch adds unit test for restore API with different hosts
for backup and volume.

Change-Id: Ia38ea8f046110c4312212460e7f55ef038e18b93

10 years agoMerge "Add Fujitsu ETERNUS DX support"
Jenkins [Thu, 4 Sep 2014 10:12:28 +0000 (10:12 +0000)]
Merge "Add Fujitsu ETERNUS DX support"

10 years agoDuring a restore send the restore request to the right host
Duncan Thomas [Wed, 3 Sep 2014 18:07:14 +0000 (19:07 +0100)]
During a restore send the restore request to the right host

For restore from LVM volumes to work, the restore must be done
on the host that serves the volume, since local_path is used
in the restore code.

Change-Id: Iad1fb5588b8365a0a165754389340bca3f1830b5
Closes-Bug: #1365065

10 years agoAdd Datera driver for Cinder
Mike Perez [Thu, 3 Jul 2014 06:38:20 +0000 (23:38 -0700)]
Add Datera driver for Cinder

Initial commit of the Datera Driver using iSCSI.

Implements blueprint datera-driver
Change-Id: Idbfff71883b3f97166e8372a3818f80a37cf422c

10 years agowarn against sorting requirements
Dolph Mathews [Wed, 3 Sep 2014 16:56:31 +0000 (11:56 -0500)]
warn against sorting requirements

Change-Id: I64ae9191863564e278a35d42ec9cd743a233028e
Closes-Bug: 1365061

10 years agoMerge "Fixed typo from 'the the' to 'the'"
Jenkins [Wed, 3 Sep 2014 16:39:00 +0000 (16:39 +0000)]
Merge "Fixed typo from 'the the' to 'the'"

10 years agoVMware: Remove redundant extend disk API call
Vipin Balachandran [Wed, 20 Aug 2014 11:40:39 +0000 (17:10 +0530)]
VMware: Remove redundant extend disk API call

Extend virtual disk API is called during volume creation from image if
the image size is less than volume size. In the case of streamOptimized
and sparse vmdk images, the size of the virtual disk created from the
image can be greater than image size and equal to the volume size. For
example, streamOptimized image created from a new 1GB volume has size
69120 bytes and the size of the virtual disk created from this image
is 1GB. Therefore, relying on image size to invoke extend API might
result in VIM API fault, if the virtual disk size is same as the target
size (volume size). The fix is to read the current virtual disk size to
decide whether extend disk needs to be invoked or not.

Closes-Bug: #1301854
Change-Id: I990ac0b9aef68b3ef8b6d67188db8d44b5c29599

10 years agoVMware: Implement backup/restore for VMDK driver
Vipin Balachandran [Wed, 16 Jul 2014 15:14:09 +0000 (20:44 +0530)]
VMware: Implement backup/restore for VMDK driver

Currently, backup-create and backup-restore operations are not
supported for volumes created by the VMDK driver. This change
implements backup_volume and restore_backup APIs for VMDK driver.

DocImpact
    Added a new config option 'vmware_tmp_dir' which specifies
    the directory in Cinder host to use for storing temporary
    virtual disk files during backup/restore.

Implements: blueprint vmdk-backup
Change-Id: Ib19a699f71701c2034e77b8e6b50a8a3295a542b

10 years agoUpdate the HP 3PAR default persona
Kurt Martin [Tue, 2 Sep 2014 23:56:53 +0000 (16:56 -0700)]
Update the HP 3PAR default persona

The HP 3PAR drivers was setting the default persona to Generic.
The default should actually be Generic-ALUA for Linux based host.

DocImpact
This will require an update in the OpenStack Configuration Reference
Guide under the supported operations page for the HP 3PAR drivers.
The new default for the hp3par:persona should be '2 - Generic-ALUA'.

Change-Id: I65860a0b58f52ead0c86a0f0ab9a9ad755f76e72

10 years agoFixed Typo - from hypens to hyphens
Timothy Okwii [Fri, 29 Aug 2014 22:08:44 +0000 (15:08 -0700)]
Fixed Typo - from hypens to hyphens

Change-Id: I43930f4ffb74ed64202d77dea1b43d8823efa1dd

10 years agoFixed typo from 'the the' to 'the'
kshimamu [Fri, 29 Aug 2014 22:44:06 +0000 (15:44 -0700)]
Fixed typo from 'the the' to 'the'

Change-Id: Ie06db86113c94749ec0c9e2355a94de8833c8d31

10 years agoSupport Volume Backup Quota
ling-yun [Sat, 2 Aug 2014 06:43:35 +0000 (14:43 +0800)]
Support Volume Backup Quota

Since quota take volumes, snapshots and gigabytes into account, it also
needs to take backup into account.
1. Backup create API is not admin interface, users of projects could
create any number of backups.
2. If some evil users create many more big backups to exhaust the free
space of backup storage-backend, it would cause cinder-backup in the state
of rejecting service.
Based on these two points, I think it is necessary to support volume
backup quota.

blueprint support-volume-backup-quota

Change-Id: Idd24ad2e8a5507bf18e90bd5fad59a4af1c158c6

10 years agoMerge "Volume Replication implementation for IBM Storwize/SVC"
Jenkins [Tue, 2 Sep 2014 05:02:53 +0000 (05:02 +0000)]
Merge "Volume Replication implementation for IBM Storwize/SVC"

10 years agoMerge "Update oslo policy and its dependencies"
Jenkins [Mon, 1 Sep 2014 19:49:46 +0000 (19:49 +0000)]
Merge "Update oslo policy and its dependencies"

10 years agoVolume Replication implementation for IBM Storwize/SVC
TaoBai [Sun, 17 Aug 2014 19:13:48 +0000 (22:13 +0300)]
Volume Replication implementation for IBM Storwize/SVC

Adds replication support to the IBM Storwize/SVC driver.
Supports IBM SVC stretched Cluster mode.

DocImpact

Change-Id: Id82623518c3508ad637f77d08699ffebcb44921e

10 years agoMerge "Add Cisco FC Zoning plugin to the FC ZoneManager"
Jenkins [Mon, 1 Sep 2014 09:08:05 +0000 (09:08 +0000)]
Merge "Add Cisco FC Zoning plugin to the FC ZoneManager"

10 years agoAdd Fujitsu ETERNUS DX support
Jun Ishizaki [Tue, 5 Aug 2014 01:21:45 +0000 (10:21 +0900)]
Add Fujitsu ETERNUS DX support

 This driver had them correspond to FUJITSU ETERNUS DX.
 This driver supports ETERNUS DX S2 and the S3 series.

 The driver runs volume operations by communicating with the backend
 FUJITSU storage. It uses a CIM client in Python called PyWBEM to perform
 CIM operations over HTTP.

  Support protocols
  -Fibre Channel
  -iSCSI

  Support functions
  -create/delete volume
  -create/delete snapshot
  -attach/detach volume
  -list snapshots
  -create volume from snapshot
  -create volume from image
  -create volume from volume
  -create image from volume
  -extend volume
  -volume migration(host assisted)

driver-cert result
   fc : https://bugs.launchpad.net/cinder/+bug/1359467
   iscsi : https://bugs.launchpad.net/cinder/+bug/1359569

Change-Id: I7fe26dafae2f2db9130e020a34af73d0eb7ac719
Implements: blueprint fujitsu-dx-volume-driver

10 years agoMerge "Pool-aware Scheduler Support"
Jenkins [Mon, 1 Sep 2014 06:44:23 +0000 (06:44 +0000)]
Merge "Pool-aware Scheduler Support"

10 years agoMerge "Sync latest strutils from oslo-incubator"
Jenkins [Mon, 1 Sep 2014 05:50:56 +0000 (05:50 +0000)]
Merge "Sync latest strutils from oslo-incubator"

10 years agoPool-aware Scheduler Support
Zhiteng Huang [Sat, 23 Aug 2014 18:32:57 +0000 (18:32 +0000)]
Pool-aware Scheduler Support

This change introduces pool-aware scheduler to address the need for
supporting multiple pools from one storage controller.

Terminology
-----------
Pool - A logical concept to describe a set of storage resource that
can be used to serve core Cinder requests, e.g. volumes/snapshots.
This notion is almost identical to Cinder Volume Backend, for it
has simliar attributes (capacity, capability).  The main difference
is Pool couldn't exist on its own, it must reside in a Volume
Backend.  One Volume Backend can have mulitple Pools but Pools
don't have sub-Pools (meaning even they have, sub-Pools don't get
to exposed to Cinder, yet).  Pool has a unique name in backend
namespace, which means Volume Backend can't have two pools using
same name.
Legacy Volume - Volumes that were created prior pools are introduced.
There are several corner cases where legacy volumes could cause
issues, especially for those drivers used to do pools internally
(e.g. 3Par, NetApp).  Please refer to 'Limitation/Known Issues' for
details.

Design
------
The workflow in this change is simple:
 1) Volume Backends reports how many pools and what those pools
 look like and are capable of to scheduler;
 2) When request comes in, scheduler picks a pool that fits the need
 most to serve the request, it passes the request to the backend
 where the target pool resides in;
 3) Volume driver gets the message and let the target pool to serve
 the request as scheduler instructed.

To support placing resources (volume/snapshot) onto a pool, these
pieces in Cinder currently are missing:
1. Volume Backends reporting capacity/capabilities at pool level;
2. Scheduler filtering/weighing based on pool capacity/capability
and placing volumes/snapshots to a pool of certain backend;
3. Record which pool a resource is located on a backend and passes
between scheduler and volume backend.

The missing piece 1 is solved by a) updating the format of
periodical volume stats message to adopt pool stats; b) altering
manager/driver to collect and report pool stats.  Below is an example
of the updated report message that contains 2 pools:

    capability = {
        'volume_backend_name': 'Local iSCSI', #\
        'vendor_name': 'OpenStack',           #  backend level
        'driver_version': '1.0',              #  mandatory/fixed
        'storage_protocol': 'iSCSI',          #- stats&capabilities

        'active_volumes': 10,                 #\
        'IOPS_provisioned': 30000,            #  optional custom
        'fancy_capability_1': 'eat',          #  stats & capabilities
        'fancy_capability_2': 'drink',        #/

        'pools': [
            {'pool_name': '1st pool',         #\
             'total_capacity_gb': 500,        #  mandatory stats for
             'free_capacity_gb': 230,         #  pools
             'allocated_capacity_gb': 270,    # |
             'QoS_support': 'False',          # |
             'reserved_percentage': 0,        #/

             'dying_disks': 100,              #\
             'super_hero_1': 'spider-man',    #  optional custom
             'super_hero_2': 'flash',         #  stats & capabilities
             'super_hero_3': 'neoncat'        #/
             },
            {'pool_name': '2nd pool',
             'total_capacity_gb': 1024,
             'free_capacity_gb': 1024,
             'allocated_capacity_gb': 0,
             'QoS_support': 'False',
             'reserved_percentage': 0,

             'dying_disks': 200,
             'super_hero_1': 'superman',
             'super_hero_2': ' ',
             'super_hero_2': 'Hulk',
             }
        ]
    }

Notice that there are now two levels of mandatory/fixed stats &
capabilities that every volume driver should report.

The scheduler change is mostly done in scheduler/host_manager.py:
* HostState adds a list element to hold PoolState(s) (a HostState sub-
class).  Each PoolState can be treated like a HostState since it has
as much information as HostState and also share the same structure.
HostState.update_capabilities()/update_from_volume_capability() are
changed to handle both legacy and new report messages.
* HostManager.get_all_host_states() now returns a PoolState iterator
that includes all pools scheduler tracks.  To filters and weighers,
PoolState() and HostState() are identical, thus there is no need to
change filters and weighers since they are dealing with same kind of
information and exact same data strucuture as before.  What filter
and weigher deals with looks like this:
    # Before this change
      HostState() for Backend 1
         ...
      HostState() for Backend N
    # After this change
      PoolState() for Backend 1 Pool 1
         ...
      PoolState() for Backend 1 Pool N

        ...

      PoolState() for Backend N Pool 1
         ...
      PoolState() for Backend N Pool N

With this change, filter scheduler will pick a pool@host instead of a
host.

Now that we are able to report and decide at pool level, the 3rd
missing piece is easy to fix.  Just like how multi-backend
volume service is supported, we encoded pool name into 'host' field
of Volume table.  The 'host' field is now 'host@backend#pool'. Notice
that this change doesn't mean that cinder-volume service will have to
subscribe to multiple RPC channels.  There is no need to mess with
message queue subscription at all because we did a little trick when
determining RPC target in VolumeRPCAPI: correct host info like
'host@backend' is extracted from 'host@backend#pool' before sending
RPC messages.  Therefore, once scheduler decides which pool on a
backend shall serve a request, it updates 'host' field of the volume
record in DB to be like 'host@backend#pool', but it still sends RPC
message to 'host@backend' which cinder-volume is listening to.

Simliar action is done when creating backups for volumes.  host@backend
is extracted from volume['host'] so that correct backup service can be
picked.

Other changes are done in this patch:

* Change get_volume_stats() in ISCSIVolumeDriver/ISERDriver to include
pool stats, and change default total/free_capacity_gb from 'infinite'
to 0.
* Add logic in volume manager init_host() to detect legacy volumes and
try to update host info for them if driver is able to provide pool info.
* Add get_pool() driver API to return the pool name of given volume,
this help volume manager to handle legacy volumes, especially for those
backends already support pooling internally (e.g. 3Par, NetApp).
* Implement get_pool() for LVM driver to return volume backend name as
pool name.
* Add extract_host() helper function in cinder/volume/utils.py to help
handle cases where there is needs to extract 'host', 'backend' or
'pool' information from volume['host'].
* Add append_host() helper function in cinder/volume/utils.py to help
concatenate host and pool string into one for volume['host'] field.

Limitation/Known Issues
-----------------------
* The term 'host' in Cinder used to refer to 'backend', and it was
consistent from the view of end users/admins to Cinder internals.
Now that pool is exposed to Cinder scheduler, scheduler starts treating
different pools on same backend as different hosts.  Therefore, we have
to expose pool to admin at least, because migrating volume now has to
include pool in 'host' parameter in order to work.  As for end users,
the whole 'host' of volume equals storage backend idea works well for
them, so they can decide the policy of migration when retyping volumes,
or choose to create new volume on same or different host as/from
existing volumes.  Now it's *not* easy to hide pool from end user and
make retype or affinity filter work like before.  This change has a
speical code path for legacy volumes, to allow (potential) migration
between pools even migration_policy is set to 'never'.  But not every
driver has magic to move volumes to one pool to another at minimum
cost.  The inconsistency behavior between drivers (same command may
take totally different time to finish), which could be very confusing.

* Drivers want to support pools need to update, but they should work
just like they used to without any change except:
 - creating volume using same/different host hints with legacy volumes
 may NOT work as expected, because 'hostA' is considered different
 from 'hostA#pool0' and 'hostA#pool1'.  But legacy volume on 'hostA'
 might actually resides in pool0, only the driver has this knowledge.
 - retyping legacy volume issue as mentioned above.

Ultimate solution for all these corner cases is to update Cinder DB
to add 'pool' info for legacy volumes.  The problem is only the driver
knows such info, that is why we add a new driver API get_pool() to
so that volume manager is able to learn pool info from driver and
update host field of legacy volumes in DB.

User-Visible Change
-------------------
DocImpact
For managing and migrating volumes, now user needs to provide pool
information as part of host string. For example:
  cinder manage --source-name X --name newX host@backend#POOL
  cinder migrate UUID host@backend#POOL

implement blueprint: pool-aware-cinder-scheduler

Change-Id: Id8eacb8baeb56558aa3d9de19402e2075822b7b4

10 years agoMerge "Add retype method to xiv/ds8k driver interface."
Jenkins [Sun, 31 Aug 2014 16:22:45 +0000 (16:22 +0000)]
Merge "Add retype method to xiv/ds8k driver interface."

10 years agoMerge "VMware: Disable suds caching"
Jenkins [Sun, 31 Aug 2014 16:22:37 +0000 (16:22 +0000)]
Merge "VMware: Disable suds caching"

10 years agoMerge "VMware: Handle exceptions raised by image update"
Jenkins [Sun, 31 Aug 2014 16:22:33 +0000 (16:22 +0000)]
Merge "VMware: Handle exceptions raised by image update"

10 years agoAdd QoS support to IBM Storwize driver
Vincent Hou [Wed, 23 Jul 2014 04:06:38 +0000 (00:06 -0400)]
Add QoS support to IBM Storwize driver

IBM Storwize driver can be enabled with QoS support by setting the parameter
I/O throttling rate, which caps the amount of I/O.

This patch add the QoS configuration to the methods of create_volume,
create_volume_from_snapshot, create_cloned_volume and retype.

The QoS for IBM Storwize storage can be configured in 3 ways:
* Add the key "qos:IOThrottling" into a QoS spec and associate this QoS
spec with a volume type.
* Add the key "qos:IOThrottling" into the extra spec of a volume type.
* Add a metadata with the key "qos:IOThrottling".

Change-Id: I7c5c6726a61efad6a8ada9c5dcc31a9382ec79f9
implements-blueprint: cinder-storwize-driver-qos

10 years agoMerge "Driver for Fusion-io ioControl Hybrid array"
Jenkins [Sun, 31 Aug 2014 09:34:04 +0000 (09:34 +0000)]
Merge "Driver for Fusion-io ioControl Hybrid array"

10 years agoMerge "Typo"
Jenkins [Sun, 31 Aug 2014 08:32:35 +0000 (08:32 +0000)]
Merge "Typo"

10 years agoDriver for Fusion-io ioControl Hybrid array
Ed Balduf [Wed, 7 May 2014 19:04:14 +0000 (13:04 -0600)]
Driver for Fusion-io ioControl Hybrid array

Standard Cinder driver for iSCSI target array.
Uses REST API of the ioControl array.
Implements Quality of Service through the 5 Policies avaliable on the array.
Add Apache License block
Test results: https://bugs.launchpad.net/cinder/+bug/1317248

Change-Id: I27fdaedb9f75629a6af625f4e1c7d3f89a8cbb48
Implements: blueprint fusion-io-iocontrol-driver

10 years agoMerge "Ignore pylint error 'hashlib' has no shaxxx member"
Jenkins [Sat, 30 Aug 2014 15:43:22 +0000 (15:43 +0000)]
Merge "Ignore pylint error 'hashlib' has no shaxxx member"

10 years agoMerge "Introduce Hitachi storage volume driver"
Jenkins [Sat, 30 Aug 2014 09:36:33 +0000 (09:36 +0000)]
Merge "Introduce Hitachi storage volume driver"

10 years agoMake ssh-host-key-policy configurable
Jay S. Bryant [Thu, 14 Aug 2014 20:03:10 +0000 (15:03 -0500)]
Make ssh-host-key-policy configurable

This patch adds configuration options for ssh_hosts_key_file and
strict_ssh_host_key_policy.  You can set strict_ssh_host_key_policy
to 'True' or 'False'.  If set to false the first connection of a host
will cause it to be added to the known_hosts file.  Subsequent connections
will be enforced against the existing key.  Changes in the key are assumed
to be a Man-in-the-Middle attack so the connection is rejected.

If strict_ssh_host_key_policy is 'True' the key for the host that is
being connected to must be in the hosts_key_file.  No first connection
assumptions are made.

strict_ssh_host_key_policy is set to 'False' to keep functionality similar
to the existing functionality.

With this patch, a default of $state_path/ssh_known_hosts is used for the
known_hosts file.  Unlike the previous approach, this now requires the
user to have a known_hosts file that is writable, somewhere.  The option
is configurable if they don't want to use $state_path/ssh_known_hosts

DocImpact:  Need to document the new strict_ssh_host_key_policy as well
as the ssh_hosts_key_file.  A note should be made for drivers that may
pass a hosts_key_file via kwargs when creating an ssh pool: their file
will be loaded along with the file configured via /etc/cinder.conf.
Also worth noting, for development environments, an ssh_hosts_key_file of
/dev/null and a strict_ssh_host_key_policy setting of 'False' may be used.
Using those setting will ignore these changes.

Change-Id: Ia7a747224dbb08528f3c7a51da4cd4a6bf0eac1c
Implements-blueprint: configurable-ssh-host-key-policy

10 years agoAdd Cisco FC Zoning plugin to the FC ZoneManager
John McDonough [Wed, 2 Apr 2014 22:47:06 +0000 (18:47 -0400)]
Add Cisco FC Zoning plugin to the FC ZoneManager

The Cisco FC Zoning plugin allows for the automated creation,
deletion and modification of zones in zonesets.  The Cisco
FC zoning plugin supports both basic and enhanced zoning and
supports vsans.

Implements: blueprint cisco-fc-zone-driver
Change-Id: Icf176b6f46f1b1662f0a99ffaa226789661f611e

10 years agoMerge "Pass an empty context to the notifier"
Jenkins [Fri, 29 Aug 2014 17:09:17 +0000 (17:09 +0000)]
Merge "Pass an empty context to the notifier"

10 years agoTypo
Gerard Garcia [Fri, 29 Aug 2014 16:35:39 +0000 (18:35 +0200)]
Typo

Change-Id: I24871e34c04b3f35bf3c5ba6c4df935ddf3f8c5f

10 years agoIgnore pylint error 'hashlib' has no shaxxx member
Xing Yang [Fri, 29 Aug 2014 04:09:28 +0000 (00:09 -0400)]
Ignore pylint error 'hashlib' has no shaxxx member

The following pylint error was found:

cinder/backup/drivers/swift.py:486: [E1101, SwiftBackupDriver.backup]
Module 'hashlib' has no 'sha256' member

Affected patch:
https://review.openstack.org/#/c/110068/

A similar pylint error "Module 'hashlib' has no 'sha224' member"
was also generated.

However, both 'sha256' and 'sha224' are functions in 'hashlib'.  So
these errors should be ignored.

Change-Id: I84690813b6c6a15e661e27acdf97149996951978

10 years agoUpdate oslo policy and its dependencies
Julien Danjou [Wed, 5 Mar 2014 16:24:54 +0000 (17:24 +0100)]
Update oslo policy and its dependencies

This updates to commit 95a3b40004f88c096a9943ce41907eab0d4dae7a the
policy module and its dependencies:
- excutils
- fileutils
- policy

2b966f9 Fix deletion of cached file for policy enforcer
8202a96 Merge "Make policy debug logging less verbose"
238e601 Make policy debug logging less verbose
9c88dc3 file_open: fixed docstring to refer to open() instead of file()
6c7407b fileutils: port to Python 3
fe3389e Improve help strings
33a2cee save_and_reraise_exception: make logging respect the reraise parameter
15722f1 Adds a flag to determine whether to reload the rules in policy
dacc065 Merge "Update oslo log messages with translation domains"
5d1f15a Documenting policy.json syntax
fcf517d Update oslo log messages with translation domains
b59cfd9 Merge "Allow policy.json resource vs constant check"
e038d89 Fix policy tests for parallel testing
0da5de6 Allow policy.json resource vs constant check
e4b2334 Replaces use of urlutils with six in policy module
e71cd1a Merge "Trivial: Make vertical white space after license header consistent"
8b2b0b7 Use hacking import_exceptions for gettextutils._
6d0a6c3 Correct invalid docstrings
6fa29ae Trivial: Make vertical white space after license header consistent
0d8f18b Use urlutils functions instead of urllib/urllib2
12bcdb7 Remove vim header
9ef9fec Use six.string_type instead of basestring
4bfb7a2 Apply six for metaclass
1538c80 ConfigFileNotFoundError with proper argument
477bf7a Add utils for creating tempfile
33533b0 Keystone user can't perform revoke_token
d602070 Merge "excutils: replace unicode by six.u"
2ad95e4 parameterize fileutils removal functions
d3b6e97 excutils: replace unicode by six.u
e35e166 excutils: use six.reraise to re-raise
14ba138 Merge "Fix wrong argument in openstack common policy"
64bb5e2 Fix wrong argument in openstack common policy
b7edc99 Fix missing argument bug in oslo common policy
96d1f88 Merge "BaseException.message is deprecated since Python 2.6"
f58c936 Merge "Fix policy default_rule issue"
3626b6d Fix policy default_rule issue
df3f2ba BaseException.message is deprecated since Python 2.6
7bf8ee9 Allow use of hacking 0.6.0 and enable new checks
d74ac1d Merge "Fix missing argument bug in oslo common policy"
e4ac367 Fix missing argument bug in oslo common policy
1a2df89 Enable H302 hacking check
323e465 Add conditional exception reraise
22ec8ff Make AMQP based RPC consumer threads more robust
7119e29 Enable hacking H404 test.
4246ce0 Added common code into fileutils and strutils.
21ee25f Add common code for fileutils.
6d27681 Enable H306 hacking check.
1091b4f Reduce duplicated code related to policies
a514693 Removes len() on empty sequence evaluation
fde1e15 Convert unicode for python3 portability
e700d92 Replaces standard logging with common logging
65e3d8c update OpenStack, LLC to OpenStack Foundation
547ab34 Fix Copyright Headers - Rename LLC to Foundation
9e5912f Fix pep8 E125 errors.
6d102bc Provide i18n to those messages without _()
9a8c1d7 Move nova's util.synchronized decorator to openstack common.
f182936 Merge "Revert "Add support for finer-grained policy decisions""
76751a6 Revert "Add support for finer-grained policy decisions"
8b585cb Remove an unneeded 'global'
3fc4689 Add support for finer-grained policy decisions
21b69d8 Add a 'not' operator to the policy langage
fa7dc58 Add a new policy language
8c6e7a7 Remove deprecated policy engine APIs

Change-Id: Iddca4243d312c9cd768588753af49dde068d5e4b
Co-Authored-By: Jordan Pittier <jordan.pittier@cloudwatt.com>