Hello community,

here is the log from the commit of package openstack-nova for openSUSE:Factory 
checked in at 2013-04-17 23:13:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openstack-nova (Old)
 and      /work/SRC/openSUSE:Factory/.openstack-nova.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "openstack-nova", Maintainer is "radma...@suse.com"

Changes:
--------
--- /work/SRC/openSUSE:Factory/openstack-nova/openstack-nova.changes    
2013-03-25 20:41:40.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.openstack-nova.new/openstack-nova.changes       
2013-04-17 23:13:13.000000000 +0200
@@ -1,0 +2,9 @@
+Sun Mar 24 00:11:28 UTC 2013 - cloud-de...@suse.de
+
+- Update to version 2012.2.4+git.1364083888.5b43cef:
+  + libvirt: enable apic setting for Xen or KVM guest.
+  + Fix double reboot issue during soft reboot
+  + Enable VM DHCP request to reach DHCP agent
+  + Handle compute node records with no timestamp.
+
+--------------------------------------------------------------------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ openstack-nova-doc.spec ++++++
--- /var/tmp/diff_new_pack.c06TmM/_old  2013-04-17 23:13:16.000000000 +0200
+++ /var/tmp/diff_new_pack.c06TmM/_new  2013-04-17 23:13:16.000000000 +0200
@@ -20,7 +20,7 @@
 %define majorversion 2012.2.3
 
 Name:           openstack-%{component}-doc
-Version:        2012.2.4+git.1363298039.9561484
+Version:        2012.2.4+git.1364083888.5b43cef
 Release:        1
 License:        Apache-2.0
 Summary:        OpenStack Compute (Nova) - Documentation

++++++ openstack-nova.spec ++++++
--- /var/tmp/diff_new_pack.c06TmM/_old  2013-04-17 23:13:16.000000000 +0200
+++ /var/tmp/diff_new_pack.c06TmM/_new  2013-04-17 23:13:16.000000000 +0200
@@ -22,7 +22,7 @@
 %define username openstack-%{component}
 
 Name:           openstack-%{component}
-Version:        2012.2.4+git.1363298039.9561484
+Version:        2012.2.4+git.1364083888.5b43cef
 Release:        1
 License:        Apache-2.0
 Summary:        OpenStack Compute (Nova)

++++++ nova-stable-folsom.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nova-2012.2.4/AUTHORS new/nova-2012.2.4/AUTHORS
--- old/nova-2012.2.4/AUTHORS   2013-03-14 20:19:56.000000000 +0100
+++ new/nova-2012.2.4/AUTHORS   2013-03-21 14:48:40.000000000 +0100
@@ -243,6 +243,7 @@
 Rick Harris <rconradhar...@gmail.com>
 Ripal Nathuji <ripal.nath...@calxeda.com>
 Rob Esker <es...@netapp.com>
+Robert Collins <robe...@robertcollins.net>
 Roland Hochmuth <roland.hochm...@hp.com>
 Ronen Kat <ronen...@il.ibm.com>
 Rongze Zhu <zrz...@gmail.com>
@@ -290,11 +291,13 @@
 Vincent Untz <vu...@suse.com>
 Vishvananda Ishaya <vishvana...@gmail.com>
 Vivek YS <vivek...@gmail.com>
+Wangpan <hzwang...@corp.netease.com>
 William Wolf <throughnoth...@gmail.com>
 Yaguang Tang <heut2...@gmail.com>
 Yong Sheng Gong <gong...@cn.ibm.com>
 Yosef Berman <yo...@cloudscaling.com>
 Yoshiaki Tamura <yo...@midokura.jp>
+Yufang Zhang <yufang521...@gmail.com>
 Yun Mao <yun...@gmail.com>
 Yun Shen <yun.s...@hp.com>
 Yunhong, Jiang <yunhong.ji...@intel.com>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nova-2012.2.4/ChangeLog new/nova-2012.2.4/ChangeLog
--- old/nova-2012.2.4/ChangeLog 2013-03-14 20:19:55.000000000 +0100
+++ new/nova-2012.2.4/ChangeLog 2013-03-21 14:48:40.000000000 +0100
@@ -1,3 +1,59 @@
+commit 5b43cef510b68cff1f6e2f80742d3204b0b51e45
+Author: Robert Collins <robe...@robertcollins.net>
+Date:   Mon Jan 7 15:12:39 2013 +1300
+
+    Handle compute node records with no timestamp.
+    
+    Commit 94560ab57d9fc23673f42017e6f2a78cb2b66b7a added a fast-path
+    to avoid work when baremetal compute nodes haven't changed, but if
+    the compute message has None for its updated-at timestamp (which
+    can happen during startup) the comparison crashes.
+    
+    Fixes bug: 1096719
+    Change-Id: Ib8add431d975eee133deefea62eb53479a97396e
+    (cherry picked from commit fad69df25ffcea2a44cbf3ef636a68863a2d64d9)
+
+ nova/scheduler/host_manager.py |    3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit ad3bd39ad6917a5318db1df3c05d209e31bc95c5
+Merge: 2f74b42 549879d
+Author: Jenkins <jenk...@review.openstack.org>
+Date:   Thu Mar 21 12:46:12 2013 +0000
+
+    Merge "Enable VM DHCP request to reach DHCP agent" into stable/folsom
+
+commit 2f74b4277604e54dd550d952dade33545bb0bf5b
+Merge: cdc2386 46d2060
+Author: Jenkins <jenk...@review.openstack.org>
+Date:   Thu Mar 21 11:42:44 2013 +0000
+
+    Merge "Fix double reboot issue during soft reboot" into stable/folsom
+
+commit cdc23862a236253263adbb84cb8f1749ae81d928
+Author: Yufang Zhang <yufang521...@gmail.com>
+Date:   Tue Dec 4 20:20:11 2012 +0800
+
+    libvirt: enable apic setting for Xen or KVM guest.
+    
+    Bug 1086352
+    
+    Currently, nova doesn't enable apic setting for Xen or KVM guest
+    in its libvirt driver. Windows guests would not boot successful in
+    such case. This patch adds apic setting in libvirt driver for Xen
+    or KVM guest, which would fix this problem. A check is also added
+    to libvirt guest config test case for this patch.
+    
+    (cherry picked from commit d0e930bd9f1bddf6223635fdc463b2176cc39690)
+    
+    Change-Id: Ie213c9d086f77faf0cdc5a32337c5bf4b828cf5f
+
+ nova/tests/test_libvirt.py        |    1 +
+ nova/tests/test_libvirt_config.py |   12 ++++++++++++
+ nova/virt/libvirt/config.py       |    8 ++++++--
+ nova/virt/libvirt/driver.py       |    1 +
+ 4 files changed, 20 insertions(+), 2 deletions(-)
+
 commit 9561484166f245d0e4602a36351d6cac72dd9426
 Author: Michael Still <mi...@stillhq.com>
 Date:   Wed Mar 13 04:44:14 2013 +1100
@@ -44,6 +100,27 @@
 
     Merge "VNC Token Validation" into stable/folsom
 
+commit 549879de70a6e60e670ea9ddcf094375ce87b996
+Author: Gary Kotton <gkot...@redhat.com>
+Date:   Thu Feb 21 13:43:10 2013 +0000
+
+    Enable VM DHCP request to reach DHCP agent
+    
+    When using the firewall driver IptablesFirewallDriver and the
+    default INPUT and FORWARD rules are DISCARD then the DHCP
+    request from the VM is discarded prior to getting to the dnsmasq.
+    
+    New rules will be added that enable DHCP requests to pass.
+    
+    This fixes bug 1131223
+    
+    Change-Id: I5117458d6a4c0fe2e333f6f3c2f902672e6293e5
+
+ nova/tests/test_libvirt.py |    6 ++++--
+ nova/tests/test_xenapi.py  |    6 ++++--
+ nova/virt/firewall.py      |   16 ++++++++++++++++
+ 3 files changed, 24 insertions(+), 4 deletions(-)
+
 commit 8c4df00a378ad6e2586a361355d4580a4901ada0
 Merge: 994dc75 889e9c0
 Author: Jenkins <jenk...@review.openstack.org>
@@ -58,6 +135,25 @@
 
     Merge "Handle compute node not available for live migration" into 
stable/folsom
 
+commit 46d2060c08980ea20cb8175a9e09ad6415287ee9
+Author: Wangpan <hzwang...@corp.netease.com>
+Date:   Tue Jan 8 13:54:19 2013 +0800
+
+    Fix double reboot issue during soft reboot
+    
+    Using the ID of domain in Libvirt to recognize the hard reboot has been
+    implemented or not, if the ID changed, we believe the domain has been 
rebooted,
+    return True and break from soft reboot.
+    
+    Fixes: bug #1046356
+    
+    Change-Id: Iec2f9e8225cfe2779f84d2095667f3c0e621e935
+    (cherry picked from commit 6344bff494758e0d7d7d25f43a3b56d82447441e)
+
+ nova/tests/fakelibvirt.py   |    6 ++++++
+ nova/virt/libvirt/driver.py |    7 +++++++
+ 2 files changed, 13 insertions(+)
+
 commit 8289d6c7834415878ae7524e8a718abbce49a1b0
 Author: Davanum Srinivas <d...@linux.vnet.ibm.com>
 Date:   Wed Dec 12 21:11:06 2012 -0500
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nova-2012.2.4/nova/scheduler/host_manager.py 
new/nova-2012.2.4/nova/scheduler/host_manager.py
--- old/nova-2012.2.4/nova/scheduler/host_manager.py    2013-03-14 
20:14:22.000000000 +0100
+++ new/nova-2012.2.4/nova/scheduler/host_manager.py    2013-03-21 
14:44:19.000000000 +0100
@@ -122,7 +122,8 @@
 
     def update_from_compute_node(self, compute):
         """Update information about a host from its compute_node info."""
-        if self.updated and self.updated > compute['updated_at']:
+        if (self.updated and compute['updated_at']
+            and self.updated > compute['updated_at']):
             return
         all_ram_mb = compute['memory_mb']
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nova-2012.2.4/nova/tests/fakelibvirt.py 
new/nova-2012.2.4/nova/tests/fakelibvirt.py
--- old/nova-2012.2.4/nova/tests/fakelibvirt.py 2013-03-14 20:14:22.000000000 
+0100
+++ new/nova-2012.2.4/nova/tests/fakelibvirt.py 2013-03-21 14:44:19.000000000 
+0100
@@ -179,6 +179,7 @@
         self._def = self._parse_definition(xml)
         self._has_saved_state = False
         self._snapshots = {}
+        self._id = self._connection._id_counter
 
     def _parse_definition(self, xml):
         try:
@@ -299,6 +300,9 @@
         self._state = VIR_DOMAIN_SHUTOFF
         self._connection._mark_not_running(self)
 
+    def ID(self):
+        return self._id
+
     def name(self):
         return self._def['name']
 
@@ -516,6 +520,8 @@
         if dom._transient:
             self._undefine(dom)
 
+        dom._id = -1
+
         for (k, v) in self._running_vms.iteritems():
             if v == dom:
                 del self._running_vms[k]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nova-2012.2.4/nova/tests/test_libvirt.py 
new/nova-2012.2.4/nova/tests/test_libvirt.py
--- old/nova-2012.2.4/nova/tests/test_libvirt.py        2013-03-14 
20:14:22.000000000 +0100
+++ new/nova-2012.2.4/nova/tests/test_libvirt.py        2013-03-21 
14:44:19.000000000 +0100
@@ -571,6 +571,7 @@
                                     _fake_network_info(self.stubs, 1),
                                     None, None)
         self.assertEquals(cfg.acpi, True)
+        self.assertEquals(cfg.apic, True)
         self.assertEquals(cfg.memory, 1024 * 1024 * 2)
         self.assertEquals(cfg.vcpus, 1)
         self.assertEquals(cfg.os_type, vm_mode.HVM)
@@ -3330,8 +3331,10 @@
         ipv6 = self.fw.iptables.ipv6['filter'].rules
         ipv4_network_rules = len(ipv4) - len(inst_ipv4) - ipv4_len
         ipv6_network_rules = len(ipv6) - len(inst_ipv6) - ipv6_len
-        self.assertEquals(ipv4_network_rules,
-                  ipv4_rules_per_addr * ipv4_addr_per_network * networks_count)
+        # Extra rules are for the DHCP request
+        rules = (ipv4_rules_per_addr * ipv4_addr_per_network *
+                 networks_count) + 2
+        self.assertEquals(ipv4_network_rules, rules)
         self.assertEquals(ipv6_network_rules,
                   ipv6_rules_per_addr * ipv6_addr_per_network * networks_count)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nova-2012.2.4/nova/tests/test_libvirt_config.py 
new/nova-2012.2.4/nova/tests/test_libvirt_config.py
--- old/nova-2012.2.4/nova/tests/test_libvirt_config.py 2013-03-14 
20:14:22.000000000 +0100
+++ new/nova-2012.2.4/nova/tests/test_libvirt_config.py 2013-03-21 
14:44:19.000000000 +0100
@@ -626,6 +626,8 @@
         obj.os_loader = '/usr/lib/xen/boot/hvmloader'
         obj.os_root = "root=xvda"
         obj.os_cmdline = "console=xvc0"
+        obj.acpi = True
+        obj.apic = True
 
         disk = config.LibvirtConfigGuestDisk()
         disk.source_type = "file"
@@ -648,6 +650,10 @@
                 <cmdline>console=xvc0</cmdline>
                 <root>root=xvda</root>
               </os>
+              <features>
+                <acpi/>
+                <apic/>
+              </features>
               <devices>
                 <disk type="file" device="disk">
                   <source file="/tmp/img"/>
@@ -665,6 +671,8 @@
         obj.uuid = "b38a3f43-4be2-4046-897f-b67c2f5e0147"
         obj.os_type = "linux"
         obj.os_boot_dev = "hd"
+        obj.acpi = True
+        obj.apic = True
 
         disk = config.LibvirtConfigGuestDisk()
         disk.source_type = "file"
@@ -685,6 +693,10 @@
                 <type>linux</type>
                 <boot dev="hd"/>
               </os>
+              <features>
+                <acpi/>
+                <apic/>
+              </features>
               <devices>
                 <disk type="file" device="disk">
                   <source file="/tmp/img"/>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nova-2012.2.4/nova/tests/test_xenapi.py 
new/nova-2012.2.4/nova/tests/test_xenapi.py
--- old/nova-2012.2.4/nova/tests/test_xenapi.py 2013-03-14 20:14:22.000000000 
+0100
+++ new/nova-2012.2.4/nova/tests/test_xenapi.py 2013-03-21 14:44:19.000000000 
+0100
@@ -1743,8 +1743,10 @@
         ipv6 = self.fw.iptables.ipv6['filter'].rules
         ipv4_network_rules = len(ipv4) - len(inst_ipv4) - ipv4_len
         ipv6_network_rules = len(ipv6) - len(inst_ipv6) - ipv6_len
-        self.assertEquals(ipv4_network_rules,
-                  ipv4_rules_per_addr * ipv4_addr_per_network * networks_count)
+        # Extra rules are for the DHCP request
+        rules = (ipv4_rules_per_addr * ipv4_addr_per_network *
+                 networks_count) + 2
+        self.assertEquals(ipv4_network_rules, rules)
         self.assertEquals(ipv6_network_rules,
                   ipv6_rules_per_addr * ipv6_addr_per_network * networks_count)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nova-2012.2.4/nova/virt/firewall.py 
new/nova-2012.2.4/nova/virt/firewall.py
--- old/nova-2012.2.4/nova/virt/firewall.py     2013-03-14 20:14:22.000000000 
+0100
+++ new/nova-2012.2.4/nova/virt/firewall.py     2013-03-21 14:44:19.000000000 
+0100
@@ -145,6 +145,10 @@
         self.network_infos = {}
         self.basicly_filtered = False
 
+        # Flags for DHCP request rule
+        self.dhcp_create = False
+        self.dhcp_created = False
+
         self.iptables.ipv4['filter'].add_chain('sg-fallback')
         self.iptables.ipv4['filter'].add_rule('sg-fallback', '-j DROP')
         self.iptables.ipv6['filter'].add_chain('sg-fallback')
@@ -187,6 +191,17 @@
         LOG.debug(_('Filters added to instance'), instance=instance)
         self.refresh_provider_fw_rules()
         LOG.debug(_('Provider Firewall Rules refreshed'), instance=instance)
+        # Ensure that DHCP request rule is updated if necessary
+        if (self.dhcp_create and not self.dhcp_created):
+            self.iptables.ipv4['filter'].add_rule(
+                    'INPUT',
+                    '-s 0.0.0.0/32 -d 255.255.255.255/32 '
+                    '-p udp -m udp --sport 68 --dport 67 -j ACCEPT')
+            self.iptables.ipv4['filter'].add_rule(
+                    'FORWARD',
+                    '-s 0.0.0.0/32 -d 255.255.255.255/32 '
+                    '-p udp -m udp --sport 68 --dport 67 -j ACCEPT')
+            self.dhcp_created = True
         self.iptables.apply()
 
     def _create_filter(self, ips, chain_name):
@@ -268,6 +283,7 @@
             if dhcp_server:
                 ipv4_rules.append('-s %s -p udp --sport 67 --dport 68 '
                                   '-j ACCEPT' % (dhcp_server,))
+                self.dhcp_create = True
 
     def _do_project_network_rules(self, ipv4_rules, ipv6_rules, network_info):
         # make sure this is legacy nw_info
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nova-2012.2.4/nova/virt/libvirt/config.py 
new/nova-2012.2.4/nova/virt/libvirt/config.py
--- old/nova-2012.2.4/nova/virt/libvirt/config.py       2013-03-14 
20:14:22.000000000 +0100
+++ new/nova-2012.2.4/nova/virt/libvirt/config.py       2013-03-21 
14:44:19.000000000 +0100
@@ -585,6 +585,7 @@
         self.vcpus = 1
         self.cpu = None
         self.acpi = False
+        self.apic = False
         self.clock = None
         self.os_type = None
         self.os_loader = None
@@ -622,9 +623,12 @@
         root.append(os)
 
     def _format_features(self, root):
-        if self.acpi:
+        if self.acpi or self.apic:
             features = etree.Element("features")
-            features.append(etree.Element("acpi"))
+            if self.acpi:
+                features.append(etree.Element("acpi"))
+            if self.apic:
+                features.append(etree.Element("apic"))
             root.append(features)
 
     def _format_devices(self, root):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nova-2012.2.4/nova/virt/libvirt/driver.py 
new/nova-2012.2.4/nova/virt/libvirt/driver.py
--- old/nova-2012.2.4/nova/virt/libvirt/driver.py       2013-03-14 
20:14:22.000000000 +0100
+++ new/nova-2012.2.4/nova/virt/libvirt/driver.py       2013-03-21 
14:44:19.000000000 +0100
@@ -912,6 +912,7 @@
         dom = self._lookup_by_name(instance["name"])
         (state, _max_mem, _mem, _cpus, _t) = dom.info()
         state = LIBVIRT_POWER_STATE[state]
+        old_domid = dom.ID()
         # NOTE(vish): This check allows us to reboot an instance that
         #             is already shutdown.
         if state == power_state.RUNNING:
@@ -920,8 +921,10 @@
         #             FLAG defines depending on how long the get_info
         #             call takes to return.
         for x in xrange(FLAGS.libvirt_wait_soft_reboot_seconds):
+            dom = self._lookup_by_name(instance["name"])
             (state, _max_mem, _mem, _cpus, _t) = dom.info()
             state = LIBVIRT_POWER_STATE[state]
+            new_domid = dom.ID()
 
             if state in [power_state.SHUTDOWN,
                          power_state.CRASHED]:
@@ -931,6 +934,10 @@
                 timer = utils.LoopingCall(self._wait_for_running, instance)
                 timer.start(interval=0.5).wait()
                 return True
+            elif old_domid != new_domid:
+                LOG.info(_("Instance may have been rebooted during soft "
+                           "reboot, so return now."), instance=instance)
+                return True
             greenthread.sleep(1)
         return False
 
@@ -1791,6 +1798,7 @@
 
         if FLAGS.libvirt_type != "lxc" and FLAGS.libvirt_type != "uml":
             guest.acpi = True
+            guest.apic = True
 
         clk = config.LibvirtConfigGuestClock()
         clk.offset = "utc"

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to