[openstack-nova/el6-havana] Update to stable/havana 2013.2.1 release
Xavier Queralt Mateu
xqueralt at fedoraproject.org
Tue Dec 17 09:37:34 UTC 2013
commit e9a0d53f3920b710860866f001dd031fad331d8d
Author: Xavier Queralt <xqueralt at redhat.com>
Date: Tue Dec 17 10:28:04 2013 +0100
Update to stable/havana 2013.2.1 release
.gitignore | 1 +
...e-don-t-access-the-net-when-building-docs.patch | 2 +-
0002-remove-runtime-dep-on-python-pbr.patch | 2 +-
...oslo.sphinx-and-remove-local-copy-of-doc-.patch | 1336 --------------------
...-parallel-install-versions-of-epel-packag.patch | 41 +-
...ass-volume_api-to-get_encryption_metadata.patch | 113 --
...move-unnecessary-steps-for-cold-snapshots.patch | 347 +++++
0005-remove-the-s-option-on-qemu-img-convert.patch | 45 -
0006-ensure-we-don-t-boot-oversized-images.patch | 451 -------
openstack-nova.spec | 39 +-
sources | 2 +-
11 files changed, 380 insertions(+), 1999 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 441ce36..8397f9e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -18,3 +18,4 @@
/nova-2013.2.rc1.tar.gz
/nova-2013.2.rc2.tar.gz
/nova-2013.2.tar.gz
+/nova-2013.2.1.tar.gz
diff --git a/0001-Ensure-we-don-t-access-the-net-when-building-docs.patch b/0001-Ensure-we-don-t-access-the-net-when-building-docs.patch
index 6d0026d..3499f88 100644
--- a/0001-Ensure-we-don-t-access-the-net-when-building-docs.patch
+++ b/0001-Ensure-we-don-t-access-the-net-when-building-docs.patch
@@ -1,4 +1,4 @@
-From 7e9809c1d7ffbf3610b64dfeccb6484f79476884 Mon Sep 17 00:00:00 2001
+From 6a90694b54aa7f2327fec8956e738e652242434d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?P=C3=A1draig=20Brady?= <pbrady at redhat.com>
Date: Fri, 6 Jan 2012 12:16:34 +0000
Subject: [PATCH] Ensure we don't access the net when building docs
diff --git a/0002-remove-runtime-dep-on-python-pbr.patch b/0002-remove-runtime-dep-on-python-pbr.patch
index 4bf5fca..4132054 100644
--- a/0002-remove-runtime-dep-on-python-pbr.patch
+++ b/0002-remove-runtime-dep-on-python-pbr.patch
@@ -1,4 +1,4 @@
-From 6752d363a16a3eee4a8f90938f031bf6d599dce2 Mon Sep 17 00:00:00 2001
+From a890fb400a5098ce380bf387a782e83cbe857de1 Mon Sep 17 00:00:00 2001
From: Nikola Dipanov <ndipanov at redhat.com>
Date: Fri, 14 Jun 2013 11:29:50 +0200
Subject: [PATCH] remove runtime dep on python-pbr
diff --git a/openstack-nova-newdeps.patch b/0003-Use-updated-parallel-install-versions-of-epel-packag.patch
similarity index 52%
rename from openstack-nova-newdeps.patch
rename to 0003-Use-updated-parallel-install-versions-of-epel-packag.patch
index e672beb..d5b3f34 100644
--- a/openstack-nova-newdeps.patch
+++ b/0003-Use-updated-parallel-install-versions-of-epel-packag.patch
@@ -1,16 +1,17 @@
-From 17ce490483d8da9cb2ff859c07ff88f809e335d3 Mon Sep 17 00:00:00 2001
-From: Nikola Dipanov <ndipanov at redhat.com>
-Date: Mon, 10 Jun 2013 10:24:55 +0200
-Subject: [PATCH] openstack-nova-new-deps
+From 7ac546b1ce85357afecaccbdbdaab7eaeac46787 Mon Sep 17 00:00:00 2001
+From: Xavier Queralt <xqueralt at redhat.com>
+Date: Mon, 16 Dec 2013 12:33:13 +0100
+Subject: [PATCH] Use updated parallel install versions of epel package
-Change-Id: I06793fee68ef2847899aa712d3f10aa2fd3887e9
+Use SQLAlchemy >= 0.7.8 WebOb >= 1.2 Routes >= 1.12.3 PasteDeploy >= 1.5.0
+and depend on the parallel installable versions of these packages to satisfy
+those requirements.
---
- nova/__init__.py | 30 ++++++++++++++++++++++++++++++
- nova/db/sqlalchemy/migration.py | 8 +++++++-
- 2 files changed, 37 insertions(+), 1 deletion(-)
+ nova/__init__.py | 31 +++++++++++++++++++++++++++++++
+ 1 file changed, 31 insertions(+)
diff --git a/nova/__init__.py b/nova/__init__.py
-index e21bdd7..ee3e322 100644
+index e21bdd7..992d6de 100644
--- a/nova/__init__.py
+++ b/nova/__init__.py
@@ -24,3 +24,34 @@
@@ -48,25 +49,3 @@ index e21bdd7..ee3e322 100644
+# TODO: See can we get pkg_resources to do the right thing directly
+import paste
+paste.__path__.insert(0, paste.__path__.pop(-1))
-diff --git a/nova/db/sqlalchemy/migration.py b/nova/db/sqlalchemy/migration.py
-index 14758ab..a9727e3 100644
---- a/nova/db/sqlalchemy/migration.py
-+++ b/nova/db/sqlalchemy/migration.py
-@@ -52,7 +52,13 @@ if (not hasattr(migrate, '__version__') or
-
-
- # NOTE(jkoelker) Delay importing migrate until we are patched
--from migrate import exceptions as versioning_exceptions
-+try:
-+ # Try the more specific path first (migrate <= 0.6)
-+ from migrate.versioning import exceptions as versioning_exceptions
-+except ImportError:
-+ # Use the newer path (migrate >= 0.7)
-+ from migrate import exceptions as versioning_exceptions
-+
- from migrate.versioning import api as versioning_api
- from migrate.versioning.repository import Repository
-
---
-1.7.9.5
-
diff --git a/0004-Remove-unnecessary-steps-for-cold-snapshots.patch b/0004-Remove-unnecessary-steps-for-cold-snapshots.patch
new file mode 100644
index 0000000..20c9255
--- /dev/null
+++ b/0004-Remove-unnecessary-steps-for-cold-snapshots.patch
@@ -0,0 +1,347 @@
+From 1c0ecb318049e451eb8e1f6a012dfd144e51d53a Mon Sep 17 00:00:00 2001
+From: Vladan Popovic <vpopovic at redhat.com>
+Date: Thu, 17 Oct 2013 07:41:20 -0400
+Subject: [PATCH] Remove unnecessary steps for cold snapshots
+
+Up until now when we created cold snapshots we were stopping the
+instance, create an internal snapshot, extract the snapshot to a file
+and then delete the internal snapshot before bringing up the instance.
+
+If the instance is shut down, there's no concurrent writer, so the image
+can be directly extracted without taking an internal snapshot first,
+because the snapshot and the current state are the same.
+
+In this patch the creation and deletion of the internal snapshot are
+removed to eliminate the extra steps and optimize the creation of
+snapshots a bit.
+
+Closes-Bug: #1242819
+Closes-Bug: #1247185
+
+Change-Id: I429fa2e1e26aea321eecbf14edd11263fff525ae
+(cherry picked from commit 8c985874c7885f31871204d3f83ce547fefc5fb6)
+
+Conflicts:
+ nova/virt/libvirt/imagebackend.py
+---
+ nova/tests/virt/libvirt/fake_imagebackend.py | 4 +-
+ nova/tests/virt/libvirt/fake_libvirt_utils.py | 10 +---
+ nova/tests/virt/libvirt/test_libvirt.py | 4 +-
+ nova/virt/libvirt/driver.py | 6 +--
+ nova/virt/libvirt/imagebackend.py | 66 ++++-----------------------
+ nova/virt/libvirt/utils.py | 33 ++------------
+ 6 files changed, 18 insertions(+), 105 deletions(-)
+
+diff --git a/nova/tests/virt/libvirt/fake_imagebackend.py b/nova/tests/virt/libvirt/fake_imagebackend.py
+index 23672dc..96600d6 100644
+--- a/nova/tests/virt/libvirt/fake_imagebackend.py
++++ b/nova/tests/virt/libvirt/fake_imagebackend.py
+@@ -54,7 +54,7 @@ class Backend(object):
+
+ return FakeImage(instance, name)
+
+- def snapshot(self, path, name, image_type=''):
++ def snapshot(self, path, image_type=''):
+ #NOTE(bfilippov): this is done in favor for
+ # snapshot tests in test_libvirt.LibvirtConnTestCase
+- return imagebackend.Backend(True).snapshot(path, name, image_type)
++ return imagebackend.Backend(True).snapshot(path, image_type)
+diff --git a/nova/tests/virt/libvirt/fake_libvirt_utils.py b/nova/tests/virt/libvirt/fake_libvirt_utils.py
+index 4799837..1872922 100644
+--- a/nova/tests/virt/libvirt/fake_libvirt_utils.py
++++ b/nova/tests/virt/libvirt/fake_libvirt_utils.py
+@@ -138,15 +138,7 @@ def chown(path, owner):
+ pass
+
+
+-def create_snapshot(disk_path, snapshot_name):
+- pass
+-
+-
+-def delete_snapshot(disk_path, snapshot_name):
+- pass
+-
+-
+-def extract_snapshot(disk_path, source_fmt, snapshot_name, out_path, dest_fmt):
++def extract_snapshot(disk_path, source_fmt, out_path, dest_fmt):
+ files[out_path] = ''
+
+
+diff --git a/nova/tests/virt/libvirt/test_libvirt.py b/nova/tests/virt/libvirt/test_libvirt.py
+index 6410be3..358662b 100644
+--- a/nova/tests/virt/libvirt/test_libvirt.py
++++ b/nova/tests/virt/libvirt/test_libvirt.py
+@@ -6262,12 +6262,12 @@ disk size: 4.4M''', ''))
+ def _do_test_extract_snapshot(self, dest_format='raw', out_format='raw'):
+ self.mox.StubOutWithMock(utils, 'execute')
+ utils.execute('qemu-img', 'convert', '-f', 'qcow2', '-O', out_format,
+- '-s', 'snap1', '/path/to/disk/image', '/extracted/snap')
++ '/path/to/disk/image', '/extracted/snap')
+
+ # Start test
+ self.mox.ReplayAll()
+ libvirt_utils.extract_snapshot('/path/to/disk/image', 'qcow2',
+- 'snap1', '/extracted/snap', dest_format)
++ '/extracted/snap', dest_format)
+
+ def test_extract_snapshot_raw(self):
+ self._do_test_extract_snapshot()
+diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py
+index 5c05307..077c79b 100644
+--- a/nova/virt/libvirt/driver.py
++++ b/nova/virt/libvirt/driver.py
+@@ -1372,7 +1372,6 @@ class LibvirtDriver(driver.ComputeDriver):
+ virt_dom.managedSave(0)
+
+ snapshot_backend = self.image_backend.snapshot(disk_path,
+- snapshot_name,
+ image_type=source_format)
+
+ if live_snapshot:
+@@ -1381,7 +1380,6 @@ class LibvirtDriver(driver.ComputeDriver):
+ else:
+ LOG.info(_("Beginning cold snapshot process"),
+ instance=instance)
+- snapshot_backend.snapshot_create()
+
+ update_task_state(task_state=task_states.IMAGE_PENDING_UPLOAD)
+ snapshot_directory = CONF.libvirt_snapshots_directory
+@@ -1398,8 +1396,6 @@ class LibvirtDriver(driver.ComputeDriver):
+ else:
+ snapshot_backend.snapshot_extract(out_path, image_format)
+ finally:
+- if not live_snapshot:
+- snapshot_backend.snapshot_delete()
+ new_dom = None
+ # NOTE(dkang): because previous managedSave is not called
+ # for LXC, _create_domain must not be called.
+@@ -1492,7 +1488,7 @@ class LibvirtDriver(driver.ComputeDriver):
+
+ # Convert the delta (CoW) image with a backing file to a flat
+ # image with no backing file.
+- libvirt_utils.extract_snapshot(disk_delta, 'qcow2', None,
++ libvirt_utils.extract_snapshot(disk_delta, 'qcow2',
+ out_path, image_format)
+
+ def _volume_snapshot_update_status(self, context, snapshot_id, status):
+diff --git a/nova/virt/libvirt/imagebackend.py b/nova/virt/libvirt/imagebackend.py
+index e900789..57c1910 100644
+--- a/nova/virt/libvirt/imagebackend.py
++++ b/nova/virt/libvirt/imagebackend.py
+@@ -223,25 +223,17 @@ class Image(object):
+ 'size': size})
+ raise exception.InstanceTypeDiskTooSmall()
+
+- def snapshot_create(self):
+- raise NotImplementedError()
+-
+ def snapshot_extract(self, target, out_format):
+ raise NotImplementedError()
+
+- def snapshot_delete(self):
+- raise NotImplementedError()
+-
+
+ class Raw(Image):
+- def __init__(self, instance=None, disk_name=None, path=None,
+- snapshot_name=None):
++ def __init__(self, instance=None, disk_name=None, path=None):
+ super(Raw, self).__init__("file", "raw", is_block_dev=False)
+
+ self.path = (path or
+ os.path.join(libvirt_utils.get_instance_path(instance),
+ disk_name))
+- self.snapshot_name = snapshot_name
+ self.preallocate = CONF.preallocate_images != 'none'
+ self.correct_format()
+
+@@ -271,25 +263,17 @@ class Raw(Image):
+ copy_raw_image(base, self.path, size)
+ self.correct_format()
+
+- def snapshot_create(self):
+- pass
+-
+ def snapshot_extract(self, target, out_format):
+ images.convert_image(self.path, target, out_format)
+
+- def snapshot_delete(self):
+- pass
+-
+
+ class Qcow2(Image):
+- def __init__(self, instance=None, disk_name=None, path=None,
+- snapshot_name=None):
++ def __init__(self, instance=None, disk_name=None, path=None):
+ super(Qcow2, self).__init__("file", "qcow2", is_block_dev=False)
+
+ self.path = (path or
+ os.path.join(libvirt_utils.get_instance_path(instance),
+ disk_name))
+- self.snapshot_name = snapshot_name
+ self.preallocate = CONF.preallocate_images != 'none'
+
+ def create_image(self, prepare_template, base, size, *args, **kwargs):
+@@ -336,25 +320,18 @@ class Qcow2(Image):
+ with fileutils.remove_path_on_error(self.path):
+ copy_qcow2_image(base, self.path, size)
+
+- def snapshot_create(self):
+- libvirt_utils.create_snapshot(self.path, self.snapshot_name)
+-
+ def snapshot_extract(self, target, out_format):
+ libvirt_utils.extract_snapshot(self.path, 'qcow2',
+- self.snapshot_name, target,
++ target,
+ out_format)
+
+- def snapshot_delete(self):
+- libvirt_utils.delete_snapshot(self.path, self.snapshot_name)
+-
+
+ class Lvm(Image):
+ @staticmethod
+ def escape(filename):
+ return filename.replace('_', '__')
+
+- def __init__(self, instance=None, disk_name=None, path=None,
+- snapshot_name=None):
++ def __init__(self, instance=None, disk_name=None, path=None):
+ super(Lvm, self).__init__("block", "raw", is_block_dev=True)
+
+ if path:
+@@ -377,11 +354,6 @@ class Lvm(Image):
+ self.sparse = CONF.libvirt_sparse_logical_volumes
+ self.preallocate = not self.sparse
+
+- if snapshot_name:
+- self.snapshot_name = snapshot_name
+- self.snapshot_path = os.path.join('/dev', self.vg,
+- self.snapshot_name)
+-
+ def _can_fallocate(self):
+ return False
+
+@@ -419,25 +391,13 @@ class Lvm(Image):
+ with excutils.save_and_reraise_exception():
+ libvirt_utils.remove_logical_volumes(path)
+
+- def snapshot_create(self):
+- size = CONF.libvirt_lvm_snapshot_size
+- cmd = ('lvcreate', '-L', size, '-s', '--name', self.snapshot_name,
+- self.path)
+- libvirt_utils.execute(*cmd, run_as_root=True, attempts=3)
+-
+ def snapshot_extract(self, target, out_format):
+- images.convert_image(self.snapshot_path, target, out_format,
++ images.convert_image(self.path, target, out_format,
+ run_as_root=True)
+
+- def snapshot_delete(self):
+- # NOTE (rmk): Snapshot volumes are automatically zeroed by LVM
+- cmd = ('lvremove', '-f', self.snapshot_path)
+- libvirt_utils.execute(*cmd, run_as_root=True, attempts=3)
+-
+
+ class Rbd(Image):
+- def __init__(self, instance=None, disk_name=None, path=None,
+- snapshot_name=None, **kwargs):
++ def __init__(self, instance=None, disk_name=None, path=None, **kwargs):
+ super(Rbd, self).__init__("block", "rbd", is_block_dev=True)
+ if path:
+ try:
+@@ -445,8 +405,7 @@ class Rbd(Image):
+ except IndexError:
+ raise exception.InvalidDevicePath(path=path)
+ else:
+- self.rbd_name = '%s_%s' % (instance['name'], disk_name)
+- self.snapshot_name = snapshot_name
++ self.rbd_name = '%s_%s' % (instance['uuid'], disk_name)
+ if not CONF.libvirt_images_rbd_pool:
+ raise RuntimeError(_('You should specify'
+ ' libvirt_images_rbd_pool'
+@@ -549,16 +508,10 @@ class Rbd(Image):
+ args += self._ceph_args()
+ libvirt_utils.import_rbd_image(*args)
+
+- def snapshot_create(self):
+- pass
+-
+ def snapshot_extract(self, target, out_format):
+ snap = 'rbd:%s/%s' % (self.pool, self.rbd_name)
+ images.convert_image(snap, target, out_format)
+
+- def snapshot_delete(self):
+- pass
+-
+
+ class Backend(object):
+ def __init__(self, use_cow):
+@@ -589,12 +542,11 @@ class Backend(object):
+ backend = self.backend(image_type)
+ return backend(instance=instance, disk_name=disk_name)
+
+- def snapshot(self, disk_path, snapshot_name, image_type=None):
++ def snapshot(self, disk_path, image_type=None):
+ """Returns snapshot for given image
+
+ :path: path to image
+- :snapshot_name: snapshot name
+ :image_type: type of image
+ """
+ backend = self.backend(image_type)
+- return backend(path=disk_path, snapshot_name=snapshot_name)
++ return backend(path=disk_path)
+diff --git a/nova/virt/libvirt/utils.py b/nova/virt/libvirt/utils.py
+index d7c92b7..c2171c1 100644
+--- a/nova/virt/libvirt/utils.py
++++ b/nova/virt/libvirt/utils.py
+@@ -504,33 +504,11 @@ def chown(path, owner):
+ execute('chown', owner, path, run_as_root=True)
+
+
+-def create_snapshot(disk_path, snapshot_name):
+- """Create a snapshot in a disk image
++def extract_snapshot(disk_path, source_fmt, out_path, dest_fmt):
++ """Extract a snapshot from a disk image.
++ Note that nobody should write to the disk image during this operation.
+
+ :param disk_path: Path to disk image
+- :param snapshot_name: Name of snapshot in disk image
+- """
+- qemu_img_cmd = ('qemu-img', 'snapshot', '-c', snapshot_name, disk_path)
+- # NOTE(vish): libvirt changes ownership of images
+- execute(*qemu_img_cmd, run_as_root=True)
+-
+-
+-def delete_snapshot(disk_path, snapshot_name):
+- """Create a snapshot in a disk image
+-
+- :param disk_path: Path to disk image
+- :param snapshot_name: Name of snapshot in disk image
+- """
+- qemu_img_cmd = ('qemu-img', 'snapshot', '-d', snapshot_name, disk_path)
+- # NOTE(vish): libvirt changes ownership of images
+- execute(*qemu_img_cmd, run_as_root=True)
+-
+-
+-def extract_snapshot(disk_path, source_fmt, snapshot_name, out_path, dest_fmt):
+- """Extract a named snapshot from a disk image
+-
+- :param disk_path: Path to disk image
+- :param snapshot_name: Name of snapshot in disk image
+ :param out_path: Desired path of extracted snapshot
+ """
+ # NOTE(markmc): ISO is just raw to qemu-img
+@@ -543,11 +521,6 @@ def extract_snapshot(disk_path, source_fmt, snapshot_name, out_path, dest_fmt):
+ if CONF.libvirt_snapshot_compression and dest_fmt == "qcow2":
+ qemu_img_cmd += ('-c',)
+
+- # When snapshot name is omitted we do a basic convert, which
+- # is used by live snapshots.
+- if snapshot_name is not None:
+- qemu_img_cmd += ('-s', snapshot_name)
+-
+ qemu_img_cmd += (disk_path, out_path)
+ execute(*qemu_img_cmd)
+
diff --git a/openstack-nova.spec b/openstack-nova.spec
index 3826add..87ee193 100644
--- a/openstack-nova.spec
+++ b/openstack-nova.spec
@@ -1,8 +1,8 @@
%global with_doc %{!?_without_doc:1}%{?_without_doc:0}
Name: openstack-nova
-Version: 2013.2
-Release: 5%{?dist}
+Version: 2013.2.1
+Release: 1%{?dist}
Summary: OpenStack Compute (nova)
Group: Applications/System
@@ -50,21 +50,19 @@ Source22: nova-ifc-template
Source30: openstack-nova-novncproxy.sysconfig
#
-# patches_base=2013.2
+# patches_base=2013.2.1
#
Patch0001: 0001-Ensure-we-don-t-access-the-net-when-building-docs.patch
Patch0002: 0002-remove-runtime-dep-on-python-pbr.patch
-Patch0003: 0003-Revert-Use-oslo.sphinx-and-remove-local-copy-of-doc-.patch
-Patch0004: 0004-Pass-volume_api-to-get_encryption_metadata.patch
-Patch0005: 0005-remove-the-s-option-on-qemu-img-convert.patch
-Patch0006: 0006-ensure-we-don-t-boot-oversized-images.patch
+Patch0003: 0003-Use-updated-parallel-install-versions-of-epel-packag.patch
+Patch0004: 0004-Remove-unnecessary-steps-for-cold-snapshots.patch
# This is EPEL specific and not upstream
-Patch100: openstack-nova-newdeps.patch
BuildArch: noarch
BuildRequires: intltool
BuildRequires: python-sphinx10
+BuildRequires: python-oslo-sphinx
BuildRequires: python-setuptools
BuildRequires: python-netaddr
BuildRequires: openstack-utils
@@ -431,11 +429,8 @@ This package contains documentation files for nova.
%patch0002 -p1
%patch0003 -p1
%patch0004 -p1
-%patch0005 -p1
-%patch0006 -p1
# Apply EPEL patch
-%patch100 -p1
find . \( -name .gitignore -o -name .placeholder \) -delete
@@ -934,10 +929,14 @@ fi
%endif
%changelog
+* Mon Dec 16 2013 Xavier Queralt <xqueralt at redhat.com> - 2013.2.1-1
+- Update to stable/havana 2013.2.1 release
+- Add python-oslo-sphinx to build requirements
+
* Tue Dec 03 2013 Xavier Queralt <xqueralt at redhat.com> - 2013.2-5
- Fix the CVE number references from the latest change
-* Tue Nov 18 2013 Xavier Queralt <xqueralt at redhat.com> - 2013.2-4
+* Mon Nov 18 2013 Xavier Queralt <xqueralt at redhat.com> - 2013.2-4
- Remove cert and scheduler hard dependency on cinderclient - rhbz#1031679
- Require ipmitool for baremetal driver - rhbz#1022243
- Ensure we don't boot oversized images (CVE-2013-4463 and CVE-2013-2096)
@@ -1004,7 +1003,7 @@ fi
* Wed Aug 07 2013 Xavier Queralt <xqueralt at redhat.com> - 2013.2-0.9.b2
- Create a nova-dist.conf file with default values under /usr/share
-* Sun Jul 22 2013 Pádraig Brady <pbrady at redhat.com> - 2013.2-0.8.b2
+* Mon Jul 22 2013 Pádraig Brady <pbrady at redhat.com> - 2013.2-0.8.b2
- Update to Havana milestone 2
* Wed Jul 17 2013 Pádraig Brady <pbrady at redhat.com> - 2013.2-0.6.b1
@@ -1092,7 +1091,7 @@ fi
* Tue Oct 30 2012 Pádraig Brady <pbrady at redhat.com> - 2012.2-2
- Add support for python-migrate-0.6
-* Thu Oct 12 2012 Pádraig Brady <pbrady at redhat.com> - 2012.2-1
+* Fri Oct 12 2012 Pádraig Brady <pbrady at redhat.com> - 2012.2-1
- Update to folsom final
* Fri Oct 12 2012 Nikola Dipanov <ndipanov at redhat.com> - 2012.1.3-1
@@ -1119,7 +1118,7 @@ fi
* Mon Aug 6 2012 Pádraig Brady <P at draigBrady.com> - 2012.1.1-12
- Fix group installation issue introduced in 2012.1.1-10
-* Sun Jul 30 2012 Pádraig Brady <P at draigBrady.com> - 2012.1.1-11
+* Mon Jul 30 2012 Pádraig Brady <P at draigBrady.com> - 2012.1.1-11
- Update from stable upstream including...
- Fix metadata file injection with xen
- Fix affinity filters when hints is None
@@ -1176,7 +1175,7 @@ fi
- fix the encoding of the dns_domains table (requires a db sync)
- fix a crash due to a nova services startup race (#825051)
-* Wed Jun 08 2012 Pádraig Brady <P at draigBrady.com> - 2012.1-10
+* Fri Jun 08 2012 Pádraig Brady <P at draigBrady.com> - 2012.1-10
- Enable libguestfs image inspection
* Wed Jun 06 2012 Pádraig Brady <P at draigBrady.com> - 2012.1-9
@@ -1198,7 +1197,7 @@ fi
* Tue May 01 2012 Pádraig Brady <P at draigBrady.com> - 2012.1-5
- Start the services later in the boot sequence
-* Wed Apr 27 2012 Pádraig Brady <P at draigBrady.com> - 2012.1-4
+* Fri Apr 27 2012 Pádraig Brady <P at draigBrady.com> - 2012.1-4
- Fix install issues with new Essex init scripts
* Wed Apr 25 2012 Pádraig Brady <P at draigBrady.com> - 2012.1-3
@@ -1214,7 +1213,7 @@ fi
* Fri Apr 13 2012 Pádraig Brady <P at draigBrady.com> - 2012.1-1
- Update to Essex release
-* Mon Apr 01 2012 Pádraig Brady <P at draigBrady.com> - 2012.1-0.1.rc1
+* Sun Apr 01 2012 Pádraig Brady <P at draigBrady.com> - 2012.1-0.1.rc1
- Update to Essex release candidate 1
* Thu Mar 29 2012 Pádraig Brady <P at draigBrady.com> - 2011.3.1-8
@@ -1224,7 +1223,7 @@ fi
- CVE-2012-1585 - Long server names grow nova-api log files significantly
- Resolves: rhbz#808148
-* Mon Mar 6 2012 Pádraig Brady <P at draigBrady.com> - 2011.3.1-5
+* Tue Mar 06 2012 Pádraig Brady <P at draigBrady.com> - 2011.3.1-5
- Require bridge-utils
* Mon Feb 13 2012 Pádraig Brady <P at draigBrady.com> - 2011.3.1-4
@@ -1275,7 +1274,7 @@ fi
- Don't require the fuse group (#770927)
- Require the fuse package (to avoid #767852)
-* Tue Dec 14 2011 Pádraig Brady <P at draigBrady.com> - 2011.3-13
+* Wed Dec 14 2011 Pádraig Brady <P at draigBrady.com> - 2011.3-13
- Sanitize EC2 manifests and image tarballs (#767236, CVE 2011-4596)
- update libguestfs support
diff --git a/sources b/sources
index ff81a20..3dcc9e9 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-dec2a8321504922a1beb8c4188c4e78c nova-2013.2.tar.gz
+46dfc48b839a7ebbb36a13ef3225fcb9 nova-2013.2.1.tar.gz
More information about the scm-commits
mailing list