nova/nova
Stanislaw Pitucha 2c1524866a Improve external lock implementation
Remove a number of limitations from the external locks.
- They can be nested now
- They do not need external cleanup in case of failures
- They do not rely on lockfile or greenlet internal implementation

New implementation is based on fcntl locks and any crashing process
will drop the lock. It does not have to rely on any cleanup code or
handling exceptions. Because no cleanup is needed, a number of tests
have been removed.
This implementation is not portable outside of POSIX/BSD/SVR4 systems.

Fcntl locks should work correctly with NFS mounts.

Locks are cleaned up after the tests finish running via run_tests.sh,
even though it's not strictly needed.

This change requires eventlet >= 0.9.17.

bp improve-external-locking

Change-Id: Idf5424c04645f25097733848a007b150145b0b27
2012-08-04 12:52:50 +01:00
..
CA Clean up crypto.py 2012-01-18 21:56:14 -08:00
api Remove unused imports 2012-08-02 14:07:06 -07:00
auth Remove deprecated auth code 2012-07-09 23:30:21 -07:00
cert Change base rpc version to 1.0 in compute rpcapi. 2012-07-12 16:10:37 -04:00
cloudpipe Fix cloudpipe keypair creation. Add pipelib tests 2012-07-19 16:46:43 +02:00
common Switch to common logging. 2012-07-02 15:57:09 -05:00
compat Merge "fix restructuredtext formatting in docstrings that show up in the developer guide" 2012-03-07 01:34:42 +00:00
compute Remove unused variables 2012-08-03 17:56:22 -04:00
console Fixes console/vmrc_manager.py import error 2012-07-25 14:43:39 +08:00
consoleauth Change base rpc version to 1.0 in compute rpcapi. 2012-07-12 16:10:37 -04:00
db Fix a comment typo in db api 2012-08-02 21:34:30 +08:00
image Fix traceback when using s3. 2012-08-01 13:09:58 -05:00
ipv6 Fix OpenStack Capitalization 2012-03-15 16:10:53 -07:00
locale Imported Translations from Launchpad 2012-05-20 23:04:49 +00:00
network Update usage of 'ip' to handle more return codes 2012-08-02 13:28:06 -05:00
objectstore Add s3_listen and s3_listen_port options. 2012-05-16 09:26:49 -04:00
openstack Use function registration for policy checks 2012-08-02 13:26:27 -05:00
rootwrap Move rootwrap filters definition to config files 2012-06-22 15:35:23 +02:00
scheduler Merge "Partially revert "Remove unused scheduler functions"" 2012-08-04 01:58:47 +00:00
testing Remove unused testing.fake 2012-07-18 14:04:37 -07:00
tests Improve external lock implementation 2012-08-04 12:52:50 +01:00
virt Merge "fix unmounting of LXC containers" 2012-08-04 03:50:11 +00:00
vnc Switch to common logging. 2012-07-02 15:57:09 -05:00
volume Fix failed iscsi tgt delete errors with new tgtadm 2012-08-01 14:10:03 +00:00
__init__.py Allow file logging config 2012-02-17 11:24:32 -06:00
block_device.py EC2 DescribeImages reports correct rootDeviceType 2012-07-17 18:29:22 +01:00
context.py Check instance lock in compute/api 2012-08-02 10:20:27 -07:00
crypto.py Switch to common logging. 2012-07-02 15:57:09 -05:00
exception.py Check instance lock in compute/api 2012-08-02 10:20:27 -07:00
flags.py Deprecate root_helper in favor of rootwrap_config 2012-08-01 15:32:37 +02:00
manager.py Add the plugin framework from common; use and test. 2012-07-15 16:25:26 -05:00
notifications.py Implements notifications for more instance changes 2012-07-27 11:35:31 -04:00
policy.py Use function registration for policy checks 2012-08-02 13:26:27 -05:00
quota.py Switch to common logging. 2012-07-02 15:57:09 -05:00
service.py Improve external lock implementation 2012-08-04 12:52:50 +01:00
test.py Remove unused imports 2012-08-02 14:07:06 -07:00
utils.py Improve external lock implementation 2012-08-04 12:52:50 +01:00
version.py Open Folsom 2012-03-20 08:17:40 +01:00
wsgi.py Switch to common logging. 2012-07-02 15:57:09 -05:00