-cinder (1:2013.2-0ubuntu1~cloud0) precise-havana; urgency=low
+cinder (1:2013.2.3-0ubuntu1~cloud0) precise-havana; urgency=medium
* New upstream release for the Ubuntu Cloud Archive.
- -- James Page <james.page@ubuntu.com> Wed, 16 Oct 2013 11:27:06 +0100
+ -- Openstack Ubuntu Testing Bot <openstack-testing-bot@ubuntu.com> Mon, 14 Apr 2014 07:09:31 -0400
+
+cinder (1:2013.2.3-0ubuntu1) saucy-proposed; urgency=medium
+
+ * Resynchronize with stable/havana (c5cdf82) (LP: #1302575):
+ - [c5cdf82] User a more accurate max_delay for reconnects
+ - [62d4e54] VMware: Fixed upload-to-image for available volume
+ - [9ff2f90] Cast the quota set values to integer before checking their validity
+ - [5b9fc5c] Raise max header size to accommodate large tokens
+ - [78d7e7a] Ensures NetApp iSCSI driver correctly compares int values for size
+ - [d043874] Don't raise MySQL 2013 'Lost connection' errors
+ - [41f043a] Add db2 communication error code when check the db connection
+ - [ed41b68] Update quota-set throw 500 error
+ - [42e2805] Delete volume transfer in volume_destroy function
+ - [24a1bd8] Catch ImageBusy exception when deleting rbd volume
+ - [69e687d] GlusterFS: Fix deadlock in volume clone
+ - [e0dca03] GlusterFS: Synchronize additional operations
+ - [018ece5] Fix volume transfer href issue
+ - [924a901] Support volume_readonly_update using XML format
+ - [e8aeb57] Hiding postgresql password in connection string
+ - [07892b1] Add valid check and unit tests on quota class
+ - [472cf25] NetApp fix for vsadmin role failure for ssc
+
+ -- Chuck Short <zulcss@ubuntu.com> Fri, 04 Apr 2014 11:25:01 -0400
+
+cinder (1:2013.2.2-0ubuntu1) saucy-proposed; urgency=low
+
+ * Resynchronize with stable/havana (67e4b38) (LP: #1284643):
+ - [ec8ce6c] rate-limiting doesn't work LP: 1259957
+ - [5228001] Cinder Migrate from NFS fails due to nfs_mount_point_base not
+ being provided LP: 1238085
+ - [ace214a] migrate_volume dest_vg existence is wrong LP: 1258203
+ - [36b7596] lvm_mirrors in volume_migration should be converted to int
+ LP: 1258133
+ - [6687331] NFS/GlusterFS drivers should validate format of configured
+ shares LP: 1267253
+ - [3d967e0] Copy image to volume iSCSI multipath doesn't work properly if
+ there are different targets associated with different portals for a
+ mulitpath device. LP: 1266048
+ - [77fade5] NetApp cinder driver reports 0 free space for the first 60
+ seconds LP: 1253660
+ - [f02d4fe] GlusterFS: allow snapshot_delete when snapshot info does not
+ exist LP: 1252864
+ - [240c81d] GlusterFS: Use correct base argument when deleting attached
+ snaps LP: 1262880
+ - [4470fdb] No notification sent deleting a volume that doesn't have a real
+ backing volume LP: 1257053
+ - [f9e1943] cinder does not handle missing volume group gracefully (stuck
+ in "creating") LP: 1242942
+ - [67e4b38] LVM brick instantiation fails on volume_migration LP: 1258128
+
+ -- Chuck Short <zulcss@ubuntu.com> Tue, 25 Feb 2014 08:57:25 -0500
+
+cinder (1:2013.2.1-0ubuntu1) saucy-proposed; urgency=low
+
+ * Resynchronize with stable/havana (eb78fee) (LP: #1262788):
+ - [d8a0cd9] GlusterFS: errors when trying to boot instance from cloned
+ volume LP: 1244238
+ - [550f439] SSC attribute netapp_mirrored is not followed LP: 1242808
+ - [0d3c303] SSC attributes netapp_compression and netapp_dedup are not
+ followed LP: 1236839
+ - [243ad85] Brick HostDriver test failure LP: 1244418
+ - [42f3e68] SSC volume filtering for extra specs can result in inconsistent
+ list LP: 1243081
+ - [2e5dc22] Broken NetAppDirect7modeISCSIDriver reports incorrect free
+ capacity, scheduler won't balance between multiple Netapp backends
+ LP: 1238967
+ - [ad05556] copy image to volume is broken for non-local volumes
+ LP: 1243980
+ - [5f7d263] check_ssh_injection not handling quoted args correctly
+ LP: 1244415
+ - [709130b] don't secure delete thin provisioned volumes or snapshots
+ LP: 1240299
+ - [986d243] invalid volume when source image virtual size is bigger than
+ the requested size LP: 1235358
+ - [df6d45f] invalid volume when source image virtual size is bigger than
+ the requested size LP: 1235358
+ - [78609c1] Properly handle volume cleanup with RBD driver LP: 1254318
+ - [0801927] KeyError from storwize driver when 'host' is not provided to
+ terminate_connection LP: 1244257
+ - [e96e33c] GlusterFS: cloned volume has incorrect permissions LP: 1254768
+ - [4529886] GlusterFS: operations that modify data require locking
+ LP: 1251425
+ - [3a58261] cinder backup should use pipe for diff transfer LP: 1244464
+ - [3591f0d] Havana cinder requires glance API V2 LP: 1252549
+ - [871d7d6] Excessive queries for API volumes/detail extensions LP: 1197612
+ - [22a7101] Ensure ThinLVM LV is active when cloning LP: 1252423
+ - [c5d4246] Excessive queries for API volumes/detail extensions LP: 1197612
+ - [395ec74] Excessive queries for API volumes/detail extensions LP: 1197612
+ - [1825386] Excessive queries for API volumes/detail extensions LP: 1197612
+ - [430f0b9] [messaging] QPID broadcast RPC requests to all servers for a
+ given topic LP: 1257293
+ - [eb78fee] Updated from global requirements
+ * debian/patches: Refresh.
+ * debian/patches/revert-stable-havana-requirements.patch: Revert
+ version bumps to dependencies in stable/havana back to what was
+ shipped with Saucy.
+
+ -- Adam Gandelman <adamg@ubuntu.com> Tue, 17 Dec 2013 20:01:13 -0800
+
+cinder (1:2013.2-0ubuntu1) saucy; urgency=low
+
+ * New upstream release (LP: #1236462).
+
+ -- Chuck Short <zulcss@ubuntu.com> Thu, 17 Oct 2013 10:00:43 -0400
cinder (1:2013.2~rc3-0ubuntu1) saucy; urgency=low
python-eventlet (>= 0.13.0),
python-glanceclient (>= 1:0.9.0),
python-greenlet (>= 0.3.2),
- python-importlib,
python-iso8601,
python-keystoneclient (>= 1:0.3.0),
python-kombu (>= 2.5.12),
python-lockfile,
python-lxml (>= 2.3),
python-migrate,
- python-mysqldb,
python-netaddr,
python-novaclient (>= 1:2.12.0),
python-oslo.config (>= 1:1.1.0),
-From fd7e9dd59ffa346bed5a11e5312f4bb1bf114ab4 Mon Sep 17 00:00:00 2001
+From 80c652d54692a7408f56b5ae4201afd4bc3519ed Mon Sep 17 00:00:00 2001
From: Dmitry Borodaenko <angdraug@gmail.com>
Date: Wed, 27 Nov 2013 14:33:00 -0800
Subject: [PATCH] Do not clone non-raw images in rbd backend
Closes-Bug: #1246219
Closes-Bug: #1247998
---
- cinder/tests/test_gpfs.py | 6 +-
- cinder/tests/test_netapp_nfs.py | 12 +-
- cinder/tests/test_rbd.py | 168 +++++++++++++++++---------
- cinder/tests/test_volume.py | 2 +-
- cinder/volume/driver.py | 7 +-
- cinder/volume/drivers/gpfs.py | 2 +-
- cinder/volume/drivers/lvm.py | 2 +-
- cinder/volume/drivers/netapp/nfs.py | 2 +-
- cinder/volume/drivers/rbd.py | 14 ++-
- cinder/volume/drivers/scality.py | 2 +-
- cinder/volume/flows/create_volume/__init__.py | 2 +-
+ cinder/tests/test_gpfs.py | 6 +-
+ cinder/tests/test_netapp_nfs.py | 12 +-
+ cinder/tests/test_rbd.py | 168 ++++++++++++++++---------
+ cinder/tests/test_volume.py | 2 +-
+ cinder/volume/driver.py | 7 +-
+ cinder/volume/drivers/gpfs.py | 2 +-
+ cinder/volume/drivers/lvm.py | 2 +-
+ cinder/volume/drivers/netapp/nfs.py | 2 +-
+ cinder/volume/drivers/rbd.py | 14 ++-
+ cinder/volume/drivers/scality.py | 2 +-
+ cinder/volume/flows/create_volume/__init__.py | 2 +-
11 files changed, 144 insertions(+), 75 deletions(-)
diff --git a/cinder/tests/test_gpfs.py b/cinder/tests/test_gpfs.py
self.assertTrue(os.path.exists(volumepath))
self.volume.delete_volume(self.context, volume['id'])
diff --git a/cinder/tests/test_netapp_nfs.py b/cinder/tests/test_netapp_nfs.py
-index 950efc8..042280e 100644
+index a8e1d7e..7c21862 100644
--- a/cinder/tests/test_netapp_nfs.py
+++ b/cinder/tests/test_netapp_nfs.py
-@@ -469,7 +469,7 @@ class NetappDirectCmodeNfsDriverTestCase(test.TestCase):
+@@ -480,7 +480,7 @@ class NetappDirectCmodeNfsDriverTestCase(test.TestCase):
drv._post_clone_image(volume)
mox.ReplayAll()
mox.VerifyAll()
def get_img_info(self, format):
-@@ -493,7 +493,7 @@ class NetappDirectCmodeNfsDriverTestCase(test.TestCase):
+@@ -504,7 +504,7 @@ class NetappDirectCmodeNfsDriverTestCase(test.TestCase):
mox.ReplayAll()
(prop, cloned) = drv. clone_image(
mox.VerifyAll()
if not cloned and not prop['provider_location']:
pass
-@@ -529,7 +529,7 @@ class NetappDirectCmodeNfsDriverTestCase(test.TestCase):
+@@ -540,7 +540,7 @@ class NetappDirectCmodeNfsDriverTestCase(test.TestCase):
mox.ReplayAll()
drv. clone_image(
mox.VerifyAll()
def test_clone_image_cloneableshare_notraw(self):
-@@ -566,7 +566,7 @@ class NetappDirectCmodeNfsDriverTestCase(test.TestCase):
+@@ -577,7 +577,7 @@ class NetappDirectCmodeNfsDriverTestCase(test.TestCase):
mox.ReplayAll()
drv. clone_image(
mox.VerifyAll()
def test_clone_image_file_not_discovered(self):
-@@ -605,7 +605,7 @@ class NetappDirectCmodeNfsDriverTestCase(test.TestCase):
+@@ -616,7 +616,7 @@ class NetappDirectCmodeNfsDriverTestCase(test.TestCase):
mox.ReplayAll()
vol_dict, result = drv. clone_image(
mox.VerifyAll()
self.assertFalse(result)
self.assertFalse(vol_dict['bootable'])
-@@ -652,7 +652,7 @@ class NetappDirectCmodeNfsDriverTestCase(test.TestCase):
+@@ -663,7 +663,7 @@ class NetappDirectCmodeNfsDriverTestCase(test.TestCase):
mox.ReplayAll()
vol_dict, result = drv. clone_image(
self.assertFalse(result)
self.assertFalse(vol_dict['bootable'])
diff --git a/cinder/tests/test_rbd.py b/cinder/tests/test_rbd.py
-index 60de09b..054bbb5 100644
+index 8242ee7..7fce74a 100644
--- a/cinder/tests/test_rbd.py
+++ b/cinder/tests/test_rbd.py
-@@ -34,6 +34,7 @@ from cinder.tests.test_volume import DriverTestCase
+@@ -35,6 +35,7 @@ from cinder.tests.test_volume import DriverTestCase
from cinder import units
from cinder.volume import configuration as conf
import cinder.volume.drivers.rbd as driver
LOG = logging.getLogger(__name__)
-@@ -247,7 +248,8 @@ class RBDTestCase(test.TestCase):
+@@ -292,7 +293,8 @@ class RBDTestCase(test.TestCase):
self.assertRaises(exception.ImageUnacceptable,
self.driver._parse_location,
loc)
def test_cloneable(self):
self.stubs.Set(self.driver, '_get_fsid', lambda: 'abc')
-@@ -264,12 +266,14 @@ class RBDTestCase(test.TestCase):
+@@ -309,12 +311,14 @@ class RBDTestCase(test.TestCase):
self.mox.ReplayAll()
def test_uncloneable_unreadable(self):
self.stubs.Set(self.driver, '_get_fsid', lambda: 'abc')
-@@ -284,7 +288,16 @@ class RBDTestCase(test.TestCase):
+@@ -329,7 +333,16 @@ class RBDTestCase(test.TestCase):
self.mox.ReplayAll()
def _copy_image(self):
@contextlib.contextmanager
-@@ -504,26 +517,37 @@ class ManagedRBDTestCase(DriverTestCase):
+@@ -549,26 +562,37 @@ class ManagedRBDTestCase(DriverTestCase):
super(ManagedRBDTestCase, self).setUp()
fake_image.stub_out_image_service(self.stubs)
self.volume.driver.set_initialized()
# creating volume testdata
db.volume_create(self.context,
{'id': volume_id,
-@@ -533,58 +557,88 @@ class ManagedRBDTestCase(DriverTestCase):
+@@ -578,58 +602,88 @@ class ManagedRBDTestCase(DriverTestCase):
'status': 'creating',
'instance_uuid': None,
'host': 'dummy'})
+ self.assertTrue(self.volume.driver.clone_image({},
+ image_id, image_id, {}))
diff --git a/cinder/tests/test_volume.py b/cinder/tests/test_volume.py
-index 4a0d475..928799f 100644
+index 6e75d1a..74f8162 100644
--- a/cinder/tests/test_volume.py
+++ b/cinder/tests/test_volume.py
-@@ -1216,7 +1216,7 @@ class VolumeTestCase(BaseVolumeTestCase):
+@@ -1345,7 +1345,7 @@ class VolumeTestCase(BaseVolumeTestCase):
def fake_fetch_to_raw(ctx, image_service, image_id, path, size=None):
pass
dst_fd, dst_path = tempfile.mkstemp()
diff --git a/cinder/volume/driver.py b/cinder/volume/driver.py
-index 21dd12b..dd2be3c 100644
+index e77f290..b04c93f 100644
--- a/cinder/volume/driver.py
+++ b/cinder/volume/driver.py
-@@ -396,7 +396,7 @@ class VolumeDriver(object):
+@@ -397,7 +397,7 @@ class VolumeDriver(object):
connector.disconnect_volume(attach_info['conn']['data'],
attach_info['device'])
"""Create a volume efficiently from an existing image.
image_location is a string whose format depends on the
-@@ -407,6 +407,11 @@ class VolumeDriver(object):
+@@ -408,6 +408,11 @@ class VolumeDriver(object):
It can be used by the driver to introspect internal
stores or registry to do an efficient image clone.
def _is_cloneable(self, image_id):
diff --git a/cinder/volume/drivers/lvm.py b/cinder/volume/drivers/lvm.py
-index 094436f..c6023eb 100644
+index 8c477c6..0fc2269 100644
--- a/cinder/volume/drivers/lvm.py
+++ b/cinder/volume/drivers/lvm.py
@@ -322,7 +322,7 @@ class LVMVolumeDriver(driver.VolumeDriver):
def backup_volume(self, context, backup, backup_service):
diff --git a/cinder/volume/drivers/netapp/nfs.py b/cinder/volume/drivers/netapp/nfs.py
-index 602a1dc..9463137 100644
+index 0b5621a..8039587 100644
--- a/cinder/volume/drivers/netapp/nfs.py
+++ b/cinder/volume/drivers/netapp/nfs.py
@@ -374,7 +374,7 @@ class NetAppNFSDriver(nfs.NfsDriver):
image_location is a string whose format depends on the
diff --git a/cinder/volume/drivers/rbd.py b/cinder/volume/drivers/rbd.py
-index 775ab16..7ed59d0 100644
+index 7f38fda..d121199 100644
--- a/cinder/volume/drivers/rbd.py
+++ b/cinder/volume/drivers/rbd.py
-@@ -706,7 +706,7 @@ class RBDDriver(driver.VolumeDriver):
+@@ -717,7 +717,7 @@ class RBDDriver(driver.VolumeDriver):
with RADOSClient(self) as client:
return client.cluster.get_fsid()
try:
fsid, pool, image, snapshot = self._parse_location(image_location)
except exception.ImageUnacceptable as e:
-@@ -718,6 +718,13 @@ class RBDDriver(driver.VolumeDriver):
+@@ -729,6 +729,13 @@ class RBDDriver(driver.VolumeDriver):
LOG.debug(reason)
return False
# check that we can read the image
try:
with RBDVolumeProxy(self, image,
-@@ -730,9 +737,10 @@ class RBDDriver(driver.VolumeDriver):
+@@ -741,9 +748,10 @@ class RBDDriver(driver.VolumeDriver):
dict(loc=image_location, err=e))
return False
image_location is a string whose format depends on the
diff --git a/cinder/volume/flows/create_volume/__init__.py b/cinder/volume/flows/create_volume/__init__.py
-index bb7acd3..e5aa371 100644
+index e77dd2c..97b3674 100644
--- a/cinder/volume/flows/create_volume/__init__.py
+++ b/cinder/volume/flows/create_volume/__init__.py
@@ -1438,7 +1438,7 @@ class CreateVolumeFromSpecTask(base.CinderTask):
# TODO(harlowja): what needs to be rolled back in the clone if this
# volume create fails?? Likely this should be a subflow or broken
--
-1.8.5.1
+1.7.9.5
+++ /dev/null
-Author: Revert new babel requirements.
-Author: Chuck Short <zulcss@ubuntu.com>
-Forwarded: No, https://review.openstack.org/#/c/48739/
-diff --git a/requirements.txt b/requirements.txt
-index 219962d..01ec2e6 100644
---- a/requirements.txt
-+++ b/requirements.txt
-@@ -2,7 +2,7 @@ pbr>=0.5.21,<1.0
- amqplib>=0.6.1
- anyjson>=0.3.3
- argparse
--Babel>=1.3
-+Babel>=0.9.6
- eventlet>=0.13.0
- greenlet>=0.3.2
- iso8601>=0.1.8
-
-diff -Naurp cinder-2013.2.rc1.orig/requirements.txt cinder-2013.2.rc1/requirements.txt
---- cinder-2013.2.rc1.orig/requirements.txt 2013-10-04 05:11:50.000000000 -0400
-+++ cinder-2013.2.rc1/requirements.txt 2013-10-04 08:33:32.072164528 -0400
-@@ -20,7 +20,7 @@ python-novaclient>=2.15.0
+Index: cinder/requirements.txt
+===================================================================
+--- cinder.orig/requirements.txt 2013-12-17 19:54:20.811733048 -0800
++++ cinder/requirements.txt 2013-12-17 20:00:20.879729788 -0800
+@@ -19,8 +19,8 @@
+ python-novaclient>=2.15.0
python-swiftclient>=1.5
Routes>=1.12.3
- six>=1.4.1
+-six>=1.4.1
-SQLAlchemy>=0.7.8,<=0.7.99
++six
+SQLAlchemy>=0.7.8,<=0.8.99
sqlalchemy-migrate>=0.7.2
stevedore>=0.10
--- /dev/null
+Author: Adam Gandelman <adamg@ubuntu.com>
+Date: Wed Dec 18 10:06:25 PST 2013
+Subject: Reverts stable/havana version bumps to requirements.txt
+
+Reverts various version bumps to dependencies in stable/havana that
+were updated in global requirements to fix gating issues and synced
+across projects.
+
+Index: cinder/requirements.txt
+===================================================================
+--- cinder.orig/requirements.txt 2013-12-18 10:11:29.047267359 -0800
++++ cinder/requirements.txt 2013-12-18 10:14:33.963265684 -0800
+@@ -2,10 +2,10 @@
+ amqplib>=0.6.1
+ anyjson>=0.3.3
+ argparse
+-Babel>=1.3
++Babel>=0.9.6
+ eventlet>=0.13.0
+ greenlet>=0.3.2
+-iso8601>=0.1.8
++iso8601>=0.1.4
+ kombu>=2.4.8
+ lockfile>=0.8
+ lxml>=2.3
fix-sqlalchemy-requirements.patch
-fix-babel-requirements.patch
-MIRA-Do-not-clone-non-raw-images-in-rbd-backend.patch
+revert-stable-havana-requirements.patch
-From 9904118c6d3d130624eaec31878649e41efd1bc2 Mon Sep 17 00:00:00 2001
+From d45516ee9ddb1132c1cf896b9b85e6fc0e616619 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?P=C3=A1draig=20Brady?= <P@draigBrady.com>
Date: Fri, 21 Sep 2012 13:33:26 +0100
Subject: [PATCH] Ensure we don't access the net when building docs
(Note, this has not been sent upstream)
---
- doc/source/conf.py | 1 -
- 1 file changed, 1 deletion(-)
+ doc/source/conf.py | 1 -
+ 1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/doc/source/conf.py b/doc/source/conf.py
-index e27d458..7a2bf1a 100644
+index 97ee288..238a922 100644
--- a/doc/source/conf.py
+++ b/doc/source/conf.py
@@ -29,7 +29,6 @@ sys.path.insert(0, os.path.abspath('./'))
-From c8b9384ccf0e9c69f35978f3abbb5e5d5638d859 Mon Sep 17 00:00:00 2001
+From 037ed59af01fabac4de2dd387a363c34417a1f3c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?P=C3=A1draig=20Brady?= <P@draigBrady.com>
Date: Wed, 24 Oct 2012 13:44:37 +0100
Subject: [PATCH] Use updated parallel install versions of epel package
so that our parallel installed egg takes precedence over the
system default module versions.
---
- bin/cinder-manage | 4 +++-
- cinder/__init__.py | 30 ++++++++++++++++++++++++++++++
- cinder/db/sqlalchemy/migration.py | 7 ++++++-
+ bin/cinder-manage | 4 +++-
+ cinder/__init__.py | 30 ++++++++++++++++++++++++++++++
+ cinder/db/sqlalchemy/migration.py | 7 ++++++-
3 files changed, 39 insertions(+), 2 deletions(-)
diff --git a/bin/cinder-manage b/bin/cinder-manage
-index 3c05d77..9474e2e 100755
+index 76afaf6..1520ad7 100755
--- a/bin/cinder-manage
+++ b/bin/cinder-manage
@@ -62,7 +62,6 @@ import sys
-From 6ed6db76f6e6b1a579d07c3db63283d444385c14 Mon Sep 17 00:00:00 2001
+From 8af4061f341f87d9301eb128512ee1b46cfa995f Mon Sep 17 00:00:00 2001
From: Eric Harney <eharney@redhat.com>
Date: Thu, 13 Jun 2013 17:50:12 -0400
Subject: [PATCH] Remove runtime dep on python-pbr, python-d2to1
Requires RPM spec to fill in REDHATCINDERVERSION.
---
- cinder/version.py | 16 +++++++++++++---
- 1 file changed, 13 insertions(+), 3 deletions(-)
+ cinder/version.py | 16 +++++++++++++---
+ 1 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/cinder/version.py b/cinder/version.py
-index ad1ebc0..b4f6fd8 100644
+index 09d1ee3..e34979f 100644
--- a/cinder/version.py
+++ b/cinder/version.py
@@ -14,12 +14,22 @@
-From bd1bfd86fbeacd893ff5d9abb969c7b0c994fbf4 Mon Sep 17 00:00:00 2001
+From e6478368cc1a3a3feecdca3def1571cda54f373c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?P=C3=A1draig=20Brady?= <P@draigBrady.com>
Date: Mon, 22 Jul 2013 03:14:27 +0100
Subject: [PATCH] Revert "Use oslo.sphinx and remove local copy of doc theme"
test-requirements.txt
---
- doc/source/_static/.gitignore | 0
- doc/source/_static/.placeholder | 0
- doc/source/_static/basic.css | 416 +++++++++++++++++++++++++++++++++++++
- doc/source/_static/default.css | 230 ++++++++++++++++++++
- doc/source/_static/jquery.tweet.js | 154 ++++++++++++++
- doc/source/_static/tweaks.css | 218 +++++++++++++++++++
- doc/source/_templates/.gitignore | 0
- doc/source/_templates/.placeholder | 0
- doc/source/_theme/layout.html | 95 +++++++++
- doc/source/_theme/theme.conf | 5 +
- doc/source/conf.py | 8 +-
- test-requirements.txt | 1 -
- 12 files changed, 1121 insertions(+), 6 deletions(-)
+ doc/source/_static/basic.css | 416 ++++++++++++++++++++++++++++++++++++
+ doc/source/_static/default.css | 230 ++++++++++++++++++++
+ doc/source/_static/jquery.tweet.js | 154 +++++++++++++
+ doc/source/_static/tweaks.css | 218 +++++++++++++++++++
+ doc/source/_theme/layout.html | 95 ++++++++
+ doc/source/_theme/theme.conf | 5 +
+ doc/source/conf.py | 8 +-
+ test-requirements.txt | 1 -
+ 8 files changed, 1121 insertions(+), 6 deletions(-)
create mode 100644 doc/source/_static/.gitignore
create mode 100644 doc/source/_static/.placeholder
create mode 100644 doc/source/_static/basic.css
+pygments_style = friendly
+
diff --git a/doc/source/conf.py b/doc/source/conf.py
-index 7a2bf1a..01bd3b4 100644
+index 238a922..58fc367 100644
--- a/doc/source/conf.py
+++ b/doc/source/conf.py
@@ -33,9 +33,7 @@ extensions = ['sphinx.ext.autodoc',
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
diff --git a/test-requirements.txt b/test-requirements.txt
-index 3d8e9bf..f83b20b 100644
+index 6159c98..9d2efbb 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
-@@ -12,4 +12,3 @@ sphinx>=1.1.2
+@@ -12,4 +12,3 @@ sphinx>=1.1.2,<1.2
python-subunit
testtools>=0.9.32
testrepository>=0.0.17
-From fd7e9dd59ffa346bed5a11e5312f4bb1bf114ab4 Mon Sep 17 00:00:00 2001
+From 80c652d54692a7408f56b5ae4201afd4bc3519ed Mon Sep 17 00:00:00 2001
From: Dmitry Borodaenko <angdraug@gmail.com>
Date: Wed, 27 Nov 2013 14:33:00 -0800
Subject: [PATCH] Do not clone non-raw images in rbd backend
Closes-Bug: #1246219
Closes-Bug: #1247998
---
- cinder/tests/test_gpfs.py | 6 +-
- cinder/tests/test_netapp_nfs.py | 12 +-
- cinder/tests/test_rbd.py | 168 +++++++++++++++++---------
- cinder/tests/test_volume.py | 2 +-
- cinder/volume/driver.py | 7 +-
- cinder/volume/drivers/gpfs.py | 2 +-
- cinder/volume/drivers/lvm.py | 2 +-
- cinder/volume/drivers/netapp/nfs.py | 2 +-
- cinder/volume/drivers/rbd.py | 14 ++-
- cinder/volume/drivers/scality.py | 2 +-
- cinder/volume/flows/create_volume/__init__.py | 2 +-
+ cinder/tests/test_gpfs.py | 6 +-
+ cinder/tests/test_netapp_nfs.py | 12 +-
+ cinder/tests/test_rbd.py | 168 ++++++++++++++++---------
+ cinder/tests/test_volume.py | 2 +-
+ cinder/volume/driver.py | 7 +-
+ cinder/volume/drivers/gpfs.py | 2 +-
+ cinder/volume/drivers/lvm.py | 2 +-
+ cinder/volume/drivers/netapp/nfs.py | 2 +-
+ cinder/volume/drivers/rbd.py | 14 ++-
+ cinder/volume/drivers/scality.py | 2 +-
+ cinder/volume/flows/create_volume/__init__.py | 2 +-
11 files changed, 144 insertions(+), 75 deletions(-)
diff --git a/cinder/tests/test_gpfs.py b/cinder/tests/test_gpfs.py
self.assertTrue(os.path.exists(volumepath))
self.volume.delete_volume(self.context, volume['id'])
diff --git a/cinder/tests/test_netapp_nfs.py b/cinder/tests/test_netapp_nfs.py
-index 950efc8..042280e 100644
+index a8e1d7e..7c21862 100644
--- a/cinder/tests/test_netapp_nfs.py
+++ b/cinder/tests/test_netapp_nfs.py
-@@ -469,7 +469,7 @@ class NetappDirectCmodeNfsDriverTestCase(test.TestCase):
+@@ -480,7 +480,7 @@ class NetappDirectCmodeNfsDriverTestCase(test.TestCase):
drv._post_clone_image(volume)
mox.ReplayAll()
mox.VerifyAll()
def get_img_info(self, format):
-@@ -493,7 +493,7 @@ class NetappDirectCmodeNfsDriverTestCase(test.TestCase):
+@@ -504,7 +504,7 @@ class NetappDirectCmodeNfsDriverTestCase(test.TestCase):
mox.ReplayAll()
(prop, cloned) = drv. clone_image(
mox.VerifyAll()
if not cloned and not prop['provider_location']:
pass
-@@ -529,7 +529,7 @@ class NetappDirectCmodeNfsDriverTestCase(test.TestCase):
+@@ -540,7 +540,7 @@ class NetappDirectCmodeNfsDriverTestCase(test.TestCase):
mox.ReplayAll()
drv. clone_image(
mox.VerifyAll()
def test_clone_image_cloneableshare_notraw(self):
-@@ -566,7 +566,7 @@ class NetappDirectCmodeNfsDriverTestCase(test.TestCase):
+@@ -577,7 +577,7 @@ class NetappDirectCmodeNfsDriverTestCase(test.TestCase):
mox.ReplayAll()
drv. clone_image(
mox.VerifyAll()
def test_clone_image_file_not_discovered(self):
-@@ -605,7 +605,7 @@ class NetappDirectCmodeNfsDriverTestCase(test.TestCase):
+@@ -616,7 +616,7 @@ class NetappDirectCmodeNfsDriverTestCase(test.TestCase):
mox.ReplayAll()
vol_dict, result = drv. clone_image(
mox.VerifyAll()
self.assertFalse(result)
self.assertFalse(vol_dict['bootable'])
-@@ -652,7 +652,7 @@ class NetappDirectCmodeNfsDriverTestCase(test.TestCase):
+@@ -663,7 +663,7 @@ class NetappDirectCmodeNfsDriverTestCase(test.TestCase):
mox.ReplayAll()
vol_dict, result = drv. clone_image(
self.assertFalse(result)
self.assertFalse(vol_dict['bootable'])
diff --git a/cinder/tests/test_rbd.py b/cinder/tests/test_rbd.py
-index 60de09b..054bbb5 100644
+index 8242ee7..7fce74a 100644
--- a/cinder/tests/test_rbd.py
+++ b/cinder/tests/test_rbd.py
-@@ -34,6 +34,7 @@ from cinder.tests.test_volume import DriverTestCase
+@@ -35,6 +35,7 @@ from cinder.tests.test_volume import DriverTestCase
from cinder import units
from cinder.volume import configuration as conf
import cinder.volume.drivers.rbd as driver
LOG = logging.getLogger(__name__)
-@@ -247,7 +248,8 @@ class RBDTestCase(test.TestCase):
+@@ -292,7 +293,8 @@ class RBDTestCase(test.TestCase):
self.assertRaises(exception.ImageUnacceptable,
self.driver._parse_location,
loc)
def test_cloneable(self):
self.stubs.Set(self.driver, '_get_fsid', lambda: 'abc')
-@@ -264,12 +266,14 @@ class RBDTestCase(test.TestCase):
+@@ -309,12 +311,14 @@ class RBDTestCase(test.TestCase):
self.mox.ReplayAll()
def test_uncloneable_unreadable(self):
self.stubs.Set(self.driver, '_get_fsid', lambda: 'abc')
-@@ -284,7 +288,16 @@ class RBDTestCase(test.TestCase):
+@@ -329,7 +333,16 @@ class RBDTestCase(test.TestCase):
self.mox.ReplayAll()
def _copy_image(self):
@contextlib.contextmanager
-@@ -504,26 +517,37 @@ class ManagedRBDTestCase(DriverTestCase):
+@@ -549,26 +562,37 @@ class ManagedRBDTestCase(DriverTestCase):
super(ManagedRBDTestCase, self).setUp()
fake_image.stub_out_image_service(self.stubs)
self.volume.driver.set_initialized()
# creating volume testdata
db.volume_create(self.context,
{'id': volume_id,
-@@ -533,58 +557,88 @@ class ManagedRBDTestCase(DriverTestCase):
+@@ -578,58 +602,88 @@ class ManagedRBDTestCase(DriverTestCase):
'status': 'creating',
'instance_uuid': None,
'host': 'dummy'})
+ self.assertTrue(self.volume.driver.clone_image({},
+ image_id, image_id, {}))
diff --git a/cinder/tests/test_volume.py b/cinder/tests/test_volume.py
-index 4a0d475..928799f 100644
+index 6e75d1a..74f8162 100644
--- a/cinder/tests/test_volume.py
+++ b/cinder/tests/test_volume.py
-@@ -1216,7 +1216,7 @@ class VolumeTestCase(BaseVolumeTestCase):
+@@ -1345,7 +1345,7 @@ class VolumeTestCase(BaseVolumeTestCase):
def fake_fetch_to_raw(ctx, image_service, image_id, path, size=None):
pass
dst_fd, dst_path = tempfile.mkstemp()
diff --git a/cinder/volume/driver.py b/cinder/volume/driver.py
-index 21dd12b..dd2be3c 100644
+index e77f290..b04c93f 100644
--- a/cinder/volume/driver.py
+++ b/cinder/volume/driver.py
-@@ -396,7 +396,7 @@ class VolumeDriver(object):
+@@ -397,7 +397,7 @@ class VolumeDriver(object):
connector.disconnect_volume(attach_info['conn']['data'],
attach_info['device'])
"""Create a volume efficiently from an existing image.
image_location is a string whose format depends on the
-@@ -407,6 +407,11 @@ class VolumeDriver(object):
+@@ -408,6 +408,11 @@ class VolumeDriver(object):
It can be used by the driver to introspect internal
stores or registry to do an efficient image clone.
def _is_cloneable(self, image_id):
diff --git a/cinder/volume/drivers/lvm.py b/cinder/volume/drivers/lvm.py
-index 094436f..c6023eb 100644
+index 8c477c6..0fc2269 100644
--- a/cinder/volume/drivers/lvm.py
+++ b/cinder/volume/drivers/lvm.py
@@ -322,7 +322,7 @@ class LVMVolumeDriver(driver.VolumeDriver):
def backup_volume(self, context, backup, backup_service):
diff --git a/cinder/volume/drivers/netapp/nfs.py b/cinder/volume/drivers/netapp/nfs.py
-index 602a1dc..9463137 100644
+index 0b5621a..8039587 100644
--- a/cinder/volume/drivers/netapp/nfs.py
+++ b/cinder/volume/drivers/netapp/nfs.py
@@ -374,7 +374,7 @@ class NetAppNFSDriver(nfs.NfsDriver):
image_location is a string whose format depends on the
diff --git a/cinder/volume/drivers/rbd.py b/cinder/volume/drivers/rbd.py
-index 775ab16..7ed59d0 100644
+index 7f38fda..d121199 100644
--- a/cinder/volume/drivers/rbd.py
+++ b/cinder/volume/drivers/rbd.py
-@@ -706,7 +706,7 @@ class RBDDriver(driver.VolumeDriver):
+@@ -717,7 +717,7 @@ class RBDDriver(driver.VolumeDriver):
with RADOSClient(self) as client:
return client.cluster.get_fsid()
try:
fsid, pool, image, snapshot = self._parse_location(image_location)
except exception.ImageUnacceptable as e:
-@@ -718,6 +718,13 @@ class RBDDriver(driver.VolumeDriver):
+@@ -729,6 +729,13 @@ class RBDDriver(driver.VolumeDriver):
LOG.debug(reason)
return False
# check that we can read the image
try:
with RBDVolumeProxy(self, image,
-@@ -730,9 +737,10 @@ class RBDDriver(driver.VolumeDriver):
+@@ -741,9 +748,10 @@ class RBDDriver(driver.VolumeDriver):
dict(loc=image_location, err=e))
return False
image_location is a string whose format depends on the
diff --git a/cinder/volume/flows/create_volume/__init__.py b/cinder/volume/flows/create_volume/__init__.py
-index bb7acd3..e5aa371 100644
+index e77dd2c..97b3674 100644
--- a/cinder/volume/flows/create_volume/__init__.py
+++ b/cinder/volume/flows/create_volume/__init__.py
@@ -1438,7 +1438,7 @@ class CreateVolumeFromSpecTask(base.CinderTask):
# TODO(harlowja): what needs to be rolled back in the clone if this
# volume create fails?? Likely this should be a subflow or broken
--
-1.8.5.1
+1.7.9.5
%global with_doc %{!?_without_doc:1}%{?_without_doc:0}
Name: openstack-cinder
-Version: 2013.2
-Release: 0.9.b3%{?dist}
+Version: 2013.2.3
+Release: 1%{?dist}
Summary: OpenStack Volume service
Group: Applications/System
License: ASL 2.0
URL: http://www.openstack.org/software/openstack-storage/
-Source0: https://launchpad.net/cinder/havana/havana-3/+download/cinder-%{version}.b3.tar.gz
+Source0: https://launchpad.net/cinder/havana/%{version}/+download/cinder-%{version}.tar.gz
Source1: cinder-dist.conf
Source2: cinder.logrotate
Source3: cinder-tgt.conf
Source20: cinder-sudoers
#
-# patches_base=2013.2.b3
+# patches_base=2013.2.3
#
Patch0001: 0001-Ensure-we-don-t-access-the-net-when-building-docs.patch
Patch0002: 0002-Use-updated-parallel-install-versions-of-epel-packag.patch
Patch0003: 0003-Remove-runtime-dep-on-python-pbr-python-d2to1.patch
Patch0004: 0004-Revert-Use-oslo.sphinx-and-remove-local-copy-of-doc-.patch
-Patch0005: MIRA-Do-not-clone-non-raw-images-in-rbd-backend.patch
BuildArch: noarch
BuildRequires: intltool
Requires: python-qpid
Requires: python-kombu
Requires: python-amqplib
-Requires: python-importlib
Requires: python-eventlet
Requires: python-greenlet
Requires: python-glanceclient >= 1:0
Requires: python-swiftclient >= 1.2
Requires: python-keystoneclient
-Requires: python-novaclient >= 2.14
+Requires: python-novaclient >= 1:2.15
Requires: python-oslo-config >= 1:1.2.0
Requires: python-six
%patch0002 -p1
%patch0003 -p1
%patch0004 -p1
-%patch0005 -p1
find . \( -name .gitignore -o -name .placeholder \) -delete
exit 0
%post
-if [ $1 -eq 1 ] ; then
- # Initial installation
- for svc in volume api scheduler; do
- /sbin/chkconfig --add openstack-cinder-$svc
- done
-fi
+for svc in volume api scheduler backup; do
+ /sbin/chkconfig --add openstack-cinder-$svc
+done
%preun
if [ $1 -eq 0 ] ; then
- for svc in volume api scheduler; do
+ for svc in volume api scheduler backup; do
/sbin/service openstack-cinder-${svc} stop > /dev/null 2>&1
/sbin/chkconfig --del openstack-cinder-${svc}
done
%postun
if [ $1 -ge 1 ] ; then
# Package upgrade, not uninstall
- for svc in volume api scheduler; do
+ for svc in volume api scheduler backup; do
/sbin/service openstack-cinder-${svc} condrestart > /dev/null 2>&1 || :
done
fi
%endif
%changelog
+* Tue Apr 15 2014 Pádraig Brady <pbrady@redhat.com> - 2013.2.3-1
+- Update to Havana stable release 3
+
+* Wed Feb 19 2014 Pádraig Brady <pbrady@redhat.com> - 2013.2.2-1
+- Update to Havana stable release 2
+
+* Tue Dec 17 2013 Eric Harney <eharney@redhat.com> - 2013.2.1-1
+- Update to Havana stable release 1
+
+* Mon Oct 28 2013 Eric Harney <eharney@redhat.com> - 2013.2-2
+- Fix GlusterFS volume driver clone operations
+
+* Thu Oct 17 2013 Eric Harney <eharney@redhat.com> - 2013.2-1
+- Update to 2013.2 (Havana)
+- Handle cinder-backup service registration/restart/removal
+
+* Wed Oct 16 2013 Eric Harney <eharney@redhat.com> - 2013.2-0.13.rc3
+- Update to Havana RC3
+
+* Tue Oct 15 2013 Eric Harney <eharney@redhat.com> - 2013.2-0.12.rc2
+- Update to Havana RC2
+
+* Tue Oct 08 2013 Eric Harney <eharney@redhat.com> - 2013.2-0.11.rc1
+- Update to Havana RC1
+- Fix python-novaclient req epoch
+
+* Mon Sep 23 2013 Eric Harney <eharney@redhat.com> - 2013.2-0.10.b3
+- Depend on python-novaclient 2.15
+
* Wed Sep 18 2013 Eric Harney <eharney@redhat.com> - 2013.2-0.9.b3
- Add cinder-dist.conf
- Tighten permissions on /var/log/cinder