[openstack-nova/el6-icehouse] Update to Icehouse milestone 3

Vladan Popovic vpopovic at fedoraproject.org
Tue Mar 11 09:39:22 UTC 2014


commit 6d330cdc5909fe95d571ef5ba96e9d532b967cce
Author: Vladan Popovic <vpopovic at redhat.com>
Date:   Fri Mar 7 17:09:21 2014 +0100

    Update to Icehouse milestone 3

 .gitignore                                         |    1 +
 ...e-don-t-access-the-net-when-building-docs.patch |    4 +-
 0002-remove-runtime-dep-on-python-pbr.patch        |    8 +-
 ...-parallel-install-versions-of-epel-packag.patch |    6 +-
 ...evert-Replace-oslo.sphinx-with-oslosphinx.patch |   53 +++++++++
 0004-libvirt-Fix-root-disk-leak-in-live-mig.patch  |  122 --------------------
 ...e-the-image-name-when-booting-from-volume.patch |   89 ++++++++++++++
 openstack-nova.spec                                |   16 ++-
 sources                                            |    2 +-
 9 files changed, 164 insertions(+), 137 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 452dd7d..2273f6c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -20,3 +20,4 @@
 /nova-2013.2.tar.gz
 /nova-2014.1.b1.tar.gz
 /nova-2014.1.b2.tar.gz
+/nova-2014.1.b3.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 2dda7a9..5362904 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 4c62c0e1d7704fd1e5db1a01da3bcf9d8b96a440 Mon Sep 17 00:00:00 2001
+From 633351a431c514d8d38698eb18270f921f9cfd02 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
@@ -11,7 +11,7 @@ Change-Id: I9d02fb4053a8106672aded1614a2850e21603eb2
  1 file changed, 1 deletion(-)
 
 diff --git a/doc/source/conf.py b/doc/source/conf.py
-index 95126b6..43e972e 100644
+index 0ae450f..4735fcb 100644
 --- a/doc/source/conf.py
 +++ b/doc/source/conf.py
 @@ -28,7 +28,6 @@ sys.path.insert(0, os.path.abspath('./'))
diff --git a/0002-remove-runtime-dep-on-python-pbr.patch b/0002-remove-runtime-dep-on-python-pbr.patch
index 3a2912c..5b5eb81 100644
--- a/0002-remove-runtime-dep-on-python-pbr.patch
+++ b/0002-remove-runtime-dep-on-python-pbr.patch
@@ -1,4 +1,4 @@
-From 9cb69f6873094c5903d65ccd050a4f353c291c2f Mon Sep 17 00:00:00 2001
+From 2115a6443d2c2a3cee073659dce4d823cd7fb4f2 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
@@ -9,10 +9,10 @@ Change-Id: I6f247f64c561d49c13e3c2f67401fe150b6d47b6
  1 file changed, 14 insertions(+), 3 deletions(-)
 
 diff --git a/nova/version.py b/nova/version.py
-index 01b6b47..25ea4dc 100644
+index 4d6faa1..a1fbf7a 100644
 --- a/nova/version.py
 +++ b/nova/version.py
-@@ -14,8 +14,6 @@
+@@ -12,8 +12,6 @@
  #    License for the specific language governing permissions and limitations
  #    under the License.
  
@@ -21,7 +21,7 @@ index 01b6b47..25ea4dc 100644
  from nova.openstack.common.gettextutils import _
  
  NOVA_VENDOR = "OpenStack Foundation"
-@@ -23,7 +21,20 @@ NOVA_PRODUCT = "OpenStack Nova"
+@@ -21,7 +19,20 @@ NOVA_PRODUCT = "OpenStack Nova"
  NOVA_PACKAGE = None  # OS distro package version suffix
  
  loaded = False
diff --git a/0003-Use-updated-parallel-install-versions-of-epel-packag.patch b/0003-Use-updated-parallel-install-versions-of-epel-packag.patch
index 9e4e9cf..36ebb07 100644
--- a/0003-Use-updated-parallel-install-versions-of-epel-packag.patch
+++ b/0003-Use-updated-parallel-install-versions-of-epel-packag.patch
@@ -1,4 +1,4 @@
-From d5a4761396b4ff32bd8ae824e952ca0e88566c34 Mon Sep 17 00:00:00 2001
+From 7764af5ce3940a78bee2eb5155fb15c9f9d47efc 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
@@ -11,10 +11,10 @@ those requirements.
  1 file changed, 31 insertions(+)
 
 diff --git a/nova/__init__.py b/nova/__init__.py
-index e21bdd7..992d6de 100644
+index b8044fa..6dfe437 100644
 --- a/nova/__init__.py
 +++ b/nova/__init__.py
-@@ -24,3 +24,34 @@
+@@ -22,3 +22,34 @@
     :platform: Unix
     :synopsis: Infrastructure-as-a-Service Cloud platform.
  """
diff --git a/0004-Revert-Replace-oslo.sphinx-with-oslosphinx.patch b/0004-Revert-Replace-oslo.sphinx-with-oslosphinx.patch
new file mode 100644
index 0000000..a607ad5
--- /dev/null
+++ b/0004-Revert-Replace-oslo.sphinx-with-oslosphinx.patch
@@ -0,0 +1,53 @@
+From 8c86c5af86825d2c53835df2758a21d6d99b0877 Mon Sep 17 00:00:00 2001
+From: Vladan Popovic <vpopovic at redhat.com>
+Date: Fri, 7 Mar 2014 17:00:47 +0100
+Subject: [PATCH] Revert "Replace oslo.sphinx with oslosphinx"
+
+This reverts commit c926216a9bd64d5cdd9731bd34e03613940d32e9.
+
+Conflicts:
+	test-requirements.txt
+---
+ doc/README.rst        | 2 +-
+ doc/source/conf.py    | 2 +-
+ test-requirements.txt | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/doc/README.rst b/doc/README.rst
+index dbaaa40..92db83b 100644
+--- a/doc/README.rst
++++ b/doc/README.rst
+@@ -12,7 +12,7 @@ environment, such as the virtualenv created by ``run_tests.sh`` or
+ ``tools/install_venv.py``.  A leaner but sufficient environment can be
+ created by starting with one that is suitable for running Nova (such
+ as the one created by DevStack) and then using pip to install
+-oslosphinx.
++oslo.sphinx.
+ 
+ Building the docs
+ -----------------
+diff --git a/doc/source/conf.py b/doc/source/conf.py
+index 4735fcb..43e972e 100644
+--- a/doc/source/conf.py
++++ b/doc/source/conf.py
+@@ -33,7 +33,7 @@ extensions = ['sphinx.ext.autodoc',
+               'sphinx.ext.pngmath',
+               'sphinx.ext.ifconfig',
+               'sphinx.ext.graphviz',
+-              'oslosphinx',
++              'oslo.sphinx',
+               ]
+ 
+ todo_include_todos = True
+diff --git a/test-requirements.txt b/test-requirements.txt
+index 8a8079f..e7f644b 100644
+--- a/test-requirements.txt
++++ b/test-requirements.txt
+@@ -10,6 +10,6 @@ psycopg2
+ pylint==0.25.2
+ python-subunit>=0.0.18
+ sphinx>=1.1.2,<1.2
+-oslosphinx
++oslo.sphinx
+ testrepository>=0.0.18
+ testtools>=0.9.34
diff --git a/0005-Ignore-the-image-name-when-booting-from-volume.patch b/0005-Ignore-the-image-name-when-booting-from-volume.patch
new file mode 100644
index 0000000..387027e
--- /dev/null
+++ b/0005-Ignore-the-image-name-when-booting-from-volume.patch
@@ -0,0 +1,89 @@
+From e66c32ac4af998e669c93f508bfe53d997bf61a8 Mon Sep 17 00:00:00 2001
+From: Xavier Queralt <xqueralt at redhat.com>
+Date: Mon, 3 Mar 2014 09:37:53 +0100
+Subject: [PATCH] Ignore the image name when booting from volume
+
+In 0185d2445 the _run_instance method was changed to acquire the image
+metadata from the request_spec instead of glance. This was needed to be
+able to get the image_metadata attached to a volume, when booting from
+it. That change didn't consider that the image name key is not inherited
+when creating a volume from an image and introduced a bug when creating
+the usage_info for volume booted instances.
+
+This change fixes this by only attaching the image name to the usage_info
+only when booting from an image and not when booting from a volume.
+
+Related-Bug: 1281973
+Change-Id: I8ec441e7815855a94a28c4566790d5144deff16f
+(cherry picked from commit 43aaf80942a0afb7471e803e57a3db851dab608b)
+---
+ nova/compute/manager.py            |  3 ++-
+ nova/tests/compute/test_compute.py | 16 ++++++++++++----
+ 2 files changed, 14 insertions(+), 5 deletions(-)
+
+diff --git a/nova/compute/manager.py b/nova/compute/manager.py
+index 48c9d5d..3c5c6b8 100644
+--- a/nova/compute/manager.py
++++ b/nova/compute/manager.py
+@@ -968,10 +968,11 @@ class ComputeManager(manager.Manager):
+ 
+             if request_spec and request_spec.get('image'):
+                 image_meta = request_spec['image']
+-                extra_usage_info = {"image_name": image_meta['name']}
+             else:
+                 image_meta = {}
+ 
++            extra_usage_info = {"image_name": image_meta.get('name', '')}
++
+             notify("start")  # notify that build is starting
+ 
+             instance, network_info = self._build_instance(context,
+diff --git a/nova/tests/compute/test_compute.py b/nova/tests/compute/test_compute.py
+index 6c2ad59..fe734fc 100644
+--- a/nova/tests/compute/test_compute.py
++++ b/nova/tests/compute/test_compute.py
+@@ -3213,25 +3213,24 @@ class ComputeTestCase(BaseTestCase):
+         self.compute.terminate_instance(self.context,
+                 self._objectify(instance), [], [])
+ 
+-    def test_run_instance_usage_notification(self):
++    def test_run_instance_usage_notification(self, request_spec={}):
+         # Ensure run instance generates appropriate usage notification.
+         instance = jsonutils.to_primitive(self._create_fake_instance())
+         instance_uuid = instance['uuid']
+-        request_spec = {'image': {'name': 'fake_name'}}
++        expected_image_name = request_spec.get('image', {}).get('name', '')
+         self.compute.run_instance(self.context, instance, request_spec,
+                 {}, [], None, None, True, None, False)
+         self.assertEqual(len(fake_notifier.NOTIFICATIONS), 2)
+         inst_ref = db.instance_get_by_uuid(self.context, instance_uuid)
+         msg = fake_notifier.NOTIFICATIONS[0]
+         self.assertEqual(msg.event_type, 'compute.instance.create.start')
+-        self.assertEqual(msg.payload['image_name'], 'fake_name')
+         # The last event is the one with the sugar in it.
+         msg = fake_notifier.NOTIFICATIONS[1]
+         self.assertEqual(msg.priority, 'INFO')
+         self.assertEqual(msg.event_type, 'compute.instance.create.end')
+         payload = msg.payload
+         self.assertEqual(payload['tenant_id'], self.project_id)
+-        self.assertEqual(payload['image_name'], 'fake_name')
++        self.assertEqual(expected_image_name, payload['image_name'])
+         self.assertEqual(payload['user_id'], self.user_id)
+         self.assertEqual(payload['instance_id'], inst_ref['uuid'])
+         self.assertEqual(payload['instance_type'], 'm1.tiny')
+@@ -3251,6 +3250,15 @@ class ComputeTestCase(BaseTestCase):
+         self.compute.terminate_instance(self.context,
+                 self._objectify(inst_ref), [], [])
+ 
++    def test_run_instance_image_usage_notification(self):
++        request_spec = {'image': {'name': 'fake_name', 'key': 'value'}}
++        self.test_run_instance_usage_notification(request_spec=request_spec)
++
++    def test_run_instance_usage_notification_volume_meta(self):
++        # Volume's image metadata won't contain the image name
++        request_spec = {'image': {'key': 'value'}}
++        self.test_run_instance_usage_notification(request_spec=request_spec)
++
+     def test_run_instance_end_notification_on_abort(self):
+         # Test that an end notif is sent if the build is aborted
+         instance = jsonutils.to_primitive(self._create_fake_instance())
diff --git a/openstack-nova.spec b/openstack-nova.spec
index 9ddd24c..1623f13 100644
--- a/openstack-nova.spec
+++ b/openstack-nova.spec
@@ -2,13 +2,13 @@
 
 Name:             openstack-nova
 Version:          2014.1
-Release:          0.9.b2%{?dist}
+Release:          0.10.b3%{?dist}
 Summary:          OpenStack Compute (nova)
 
 Group:            Applications/System
 License:          ASL 2.0
 URL:              http://openstack.org/projects/compute/
-Source0:          https://launchpad.net/nova/icehouse/icehouse-2/+download/nova-%{version}.b2.tar.gz
+Source0:          https://launchpad.net/nova/icehouse/icehouse-3/+download/nova-%{version}.b3.tar.gz
 
 Source1:          nova-dist.conf
 Source6:          nova.logrotate
@@ -50,12 +50,13 @@ Source22:         nova-ifc-template
 Source30:         openstack-nova-novncproxy.sysconfig
 
 #
-# patches_base=2014.1.b2
+# patches_base=2014.1.b3
 #
 Patch0001: 0001-Ensure-we-don-t-access-the-net-when-building-docs.patch
 Patch0002: 0002-remove-runtime-dep-on-python-pbr.patch
 Patch0003: 0003-Use-updated-parallel-install-versions-of-epel-packag.patch
-Patch0004: 0004-libvirt-Fix-root-disk-leak-in-live-mig.patch
+Patch0004: 0004-Revert-Replace-oslo.sphinx-with-oslosphinx.patch
+Patch0005: 0005-Ignore-the-image-name-when-booting-from-volume.patch
 
 # This is EPEL specific and not upstream
 
@@ -105,6 +106,7 @@ Group:            Applications/System
 Requires:         python-nova = %{version}-%{release}
 Requires:         python-keystoneclient
 Requires:         python-oslo-rootwrap
+Requires:         python-oslo-messaging
 
 Requires(post):   chkconfig
 Requires(postun): initscripts
@@ -425,12 +427,13 @@ This package contains documentation files for nova.
 %endif
 
 %prep
-%setup -q -n nova-%{version}.b2
+%setup -q -n nova-%{version}.b3
 
 %patch0001 -p1
 %patch0002 -p1
 %patch0003 -p1
 %patch0004 -p1
+%patch0005 -p1
 
 # Apply EPEL patch
 
@@ -896,6 +899,9 @@ fi
 %endif
 
 %changelog
+* Fri Mar 07 2014 Vladan Popovic <vpopovic at redhat.com> - 2014.1-0.10.b3
+- Update to Icehouse milestone 3
+
 * Mon Feb 03 2014 Pádraig Brady <pbrady at redhat.com> - 2014.1-0.9.b2
 - Avoid commented [DEFAULT] config issue in nova.conf
 
diff --git a/sources b/sources
index 9fc70ac..c504768 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-fe9de293724bede1613f57283c70e65b  nova-2014.1.b2.tar.gz
+487c8d4634237b0e623e3bc0c0e85cad  nova-2014.1.b3.tar.gz


More information about the scm-commits mailing list