Hello community,

here is the log from the commit of package openstack-quantum for 
openSUSE:Factory checked in at 2013-03-08 09:29:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openstack-quantum (Old)
 and      /work/SRC/openSUSE:Factory/.openstack-quantum.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

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

Changes:
--------
--- /work/SRC/openSUSE:Factory/openstack-quantum/openstack-quantum.changes      
2013-02-22 16:56:46.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.openstack-quantum.new/openstack-quantum.changes 
2013-03-08 09:29:22.000000000 +0100
@@ -1,0 +2,13 @@
+Wed Mar  6 15:27:15 UTC 2013 - cloud-de...@suse.de
+
+- Update to version 2012.2.4+git.1362583635.f94b149:
+  + L3 port delete prevention: do not raise if no IP on port
+
+--------------------------------------------------------------------
+Tue Mar  5 17:21:24 UTC 2013 - cloud-de...@suse.de
+
+- Update to version 2012.2.4+git.1362504084.06e42f8:
+  + Close file descriptors when executing sub-processes
+  + Persist updated expiration time
+
+--------------------------------------------------------------------

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

Other differences:
------------------
++++++ openstack-quantum.spec ++++++
--- /var/tmp/diff_new_pack.hMUakX/_old  2013-03-08 09:29:24.000000000 +0100
+++ /var/tmp/diff_new_pack.hMUakX/_new  2013-03-08 09:29:24.000000000 +0100
@@ -21,7 +21,7 @@
 %define username openstack-%{component}
 
 Name:           openstack-%{component}
-Version:        2012.2.4+git.1361527969.4de49b4
+Version:        2012.2.4+git.1362583635.f94b149
 Release:        1
 License:        Apache-2.0
 Summary:        OpenStack Virtual Network Service (Quantum)

++++++ quantum-stable-folsom.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/quantum-2012.2.4/AUTHORS new/quantum-2012.2.4/AUTHORS
--- old/quantum-2012.2.4/AUTHORS        2013-02-19 14:33:54.000000000 +0100
+++ new/quantum-2012.2.4/AUTHORS        2013-03-05 19:01:39.000000000 +0100
@@ -85,6 +85,7 @@
 Soheil Hassas Yeganeh <soh...@cs.toronto.edu>
 Somik Behera <somikbeh...@gmail.com>
 Somik Behera <so...@nicira.com>
+Stephen Gran <stephen.g...@guardian.co.uk>
 Sumit Naiksatam <snaik...@cisco.com>
 Takaaki Suzuki <suz...@midokura.com>
 Thierry Carrez <thie...@openstack.org>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/quantum-2012.2.4/ChangeLog 
new/quantum-2012.2.4/ChangeLog
--- old/quantum-2012.2.4/ChangeLog      2013-02-19 14:33:54.000000000 +0100
+++ new/quantum-2012.2.4/ChangeLog      2013-03-05 19:01:39.000000000 +0100
@@ -1,3 +1,53 @@
+commit f94b1491b8cb4701cd5064610d546db00d675c62
+Author: Salvatore Orlando <salv.orla...@gmail.com>
+Date:   Mon Mar 4 18:19:47 2013 +0100
+
+    L3 port delete prevention: do not raise if no IP on port
+    
+    Bug #1104337
+    
+    This patch alters the prevent_l3_port_deletion logic.
+    PortInUse is raised only if the port has a device owner in
+    (router_interface, router_gateway, floatingip) and an IP
+    address.
+    If no IP address is found on the port the port itself can
+    be considered stale and therefore deleted as any association
+    with l3 entities would be void.
+    
+    Change-Id: I9d711b2a9d2cbcc8be481f1751f51fe5b9f01327
+
+ quantum/db/l3_db.py                  |   13 +++++++++++--
+ quantum/tests/unit/test_l3_plugin.py |   17 +++++++++++++++++
+ 2 files changed, 28 insertions(+), 2 deletions(-)
+
+commit 06e42f87ad9a813545dcca61732eeff570f4ae6d
+Merge: 30bb632 b14824f
+Author: Jenkins <jenk...@review.openstack.org>
+Date:   Thu Feb 28 06:47:05 2013 +0000
+
+    Merge "Persist updated expiration time" into stable/folsom
+
+commit 30bb6329653bb60179598b91ad8a6f378137b533
+Author: Bob Kukura <rkuk...@redhat.com>
+Date:   Wed Feb 20 17:29:11 2013 -0500
+
+    Close file descriptors when executing sub-processes
+    
+    Pass close_fds=True to subprocess.Popen(), as is currently done in
+    nova.utils.execute().
+    
+    Note that this folsom-stable branch fix is not a cherry-pick of the
+    master branch fix at https://review.openstack.org/22486 due to prior
+    refactoring in grizzly.
+    
+    Fixes bug #1130735
+    
+    Change-Id: Ia7a889b21a8069b559cb4641480abf416dfc903c
+
+ quantum/agent/linux/utils.py |    2 +-
+ quantum/common/utils.py      |    2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
 commit 4de49b4d81297fad33b4aff87c03f7508ea1a194
 Merge: 004a924 5d26f41
 Author: Jenkins <jenk...@review.openstack.org>
@@ -33,6 +83,25 @@
 
     Merge "Enable OVS and NETNS utilities to perform logging" into 
stable/folsom
 
+commit b14824fd525d7c21977532aad2befab3555a17eb
+Author: Stephen Gran <stephen.g...@guardian.co.uk>
+Date:   Wed Feb 6 14:57:57 2013 +0000
+
+    Persist updated expiration time
+    
+    Without creating a subtransaction, the database query wasn't actually
+    being run and the data was being lost.  This resulted in the case that
+    on termination of long running VMs, the VM IP address was immediately
+    available for reuse instead of being held as it should have been.
+    
+    Fixes: bug #1116500
+    
+    Change-Id: I7774273b8e799d945c27329e9da2dba34e39fdb8
+    Signed-off-by: Stephen Gran <stephen.g...@guardian.co.uk>
+
+ quantum/db/db_base_plugin_v2.py |    5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
 commit 45baf034466275fbc32ababada1513c7b5e76c01
 Author: Christoph Thiel <c.th...@telekom.de>
 Date:   Tue Feb 12 11:44:23 2013 +0100
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/quantum-2012.2.4/quantum/agent/linux/utils.py 
new/quantum-2012.2.4/quantum/agent/linux/utils.py
--- old/quantum-2012.2.4/quantum/agent/linux/utils.py   2013-02-19 
14:27:49.000000000 +0100
+++ new/quantum-2012.2.4/quantum/agent/linux/utils.py   2013-03-05 
18:57:05.000000000 +0100
@@ -49,7 +49,7 @@
         env.update(addl_env)
     obj = subprocess.Popen(cmd, shell=False, stdin=subprocess.PIPE,
                            stdout=subprocess.PIPE, stderr=subprocess.PIPE,
-                           preexec_fn=_subprocess_setup,
+                           preexec_fn=_subprocess_setup, close_fds=True,
                            env=env)
 
     _stdout, _stderr = (process_input and
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/quantum-2012.2.4/quantum/common/utils.py 
new/quantum-2012.2.4/quantum/common/utils.py
--- old/quantum-2012.2.4/quantum/common/utils.py        2013-02-19 
14:27:49.000000000 +0100
+++ new/quantum-2012.2.4/quantum/common/utils.py        2013-03-05 
18:57:05.000000000 +0100
@@ -61,7 +61,7 @@
         env.update(addl_env)
     obj = subprocess.Popen(cmd, shell=True, stdin=subprocess.PIPE,
                            stdout=subprocess.PIPE, stderr=subprocess.PIPE,
-                           preexec_fn=_subprocess_setup,
+                           preexec_fn=_subprocess_setup, close_fds=True,
                            env=env)
     result = None
     if process_input is not None:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/quantum-2012.2.4/quantum/db/db_base_plugin_v2.py 
new/quantum-2012.2.4/quantum/db/db_base_plugin_v2.py
--- old/quantum-2012.2.4/quantum/db/db_base_plugin_v2.py        2013-02-19 
14:27:49.000000000 +0100
+++ new/quantum-2012.2.4/quantum/db/db_base_plugin_v2.py        2013-03-05 
18:57:05.000000000 +0100
@@ -388,8 +388,9 @@
         query = query.filter_by(network_id=network_id, ip_address=ip_address)
 
         try:
-            fixed_ip = query.one()
-            fixed_ip.expiration = expiration
+            with context.session.begin(subtransactions=True):
+                fixed_ip = query.one()
+                fixed_ip.expiration = expiration
         except exc.NoResultFound:
             LOG.debug("No fixed IP found that matches the network %s and "
                       "ip address %s.", network_id, ip_address)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/quantum-2012.2.4/quantum/db/l3_db.py 
new/quantum-2012.2.4/quantum/db/l3_db.py
--- old/quantum-2012.2.4/quantum/db/l3_db.py    2013-02-19 14:27:49.000000000 
+0100
+++ new/quantum-2012.2.4/quantum/db/l3_db.py    2013-03-05 18:57:05.000000000 
+0100
@@ -679,8 +679,17 @@
         if port_db['device_owner'] in [DEVICE_OWNER_ROUTER_INTF,
                                        DEVICE_OWNER_ROUTER_GW,
                                        DEVICE_OWNER_FLOATINGIP]:
-            raise l3.L3PortInUse(port_id=port_id,
-                                 device_owner=port_db['device_owner'])
+            # Raise port in use only if the port has IP addresses
+            # Otherwise it's a stale port that can be removed
+            fixed_ips = port_db['fixed_ips'].all()
+            if fixed_ips:
+                raise l3.L3PortInUse(port_id=port_id,
+                                     device_owner=port_db['device_owner'])
+            else:
+                LOG.debug(_("Port %(port_id)s has owner %(port_owner)s, but "
+                            "no IP address, so it can be deleted"),
+                          {'port_id': port_db['id'],
+                           'port_owner': port_db['device_owner']})
 
     def disassociate_floatingips(self, context, port_id):
         with context.session.begin(subtransactions=True):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/quantum-2012.2.4/quantum/tests/unit/test_l3_plugin.py 
new/quantum-2012.2.4/quantum/tests/unit/test_l3_plugin.py
--- old/quantum-2012.2.4/quantum/tests/unit/test_l3_plugin.py   2013-02-19 
14:27:49.000000000 +0100
+++ new/quantum-2012.2.4/quantum/tests/unit/test_l3_plugin.py   2013-03-05 
18:57:05.000000000 +0100
@@ -791,6 +791,23 @@
                     r['router']['id'],
                     n['network']['id'], expected_code=exc.HTTPBadRequest.code)
 
+    def test_delete_unused_router_interface(self):
+        with self.network() as n:
+            with self.router() as r:
+                with self.subnet(network=n) as s:
+                    res = self._create_port('json',
+                                            s['subnet']['network_id'])
+                    p = self.deserialize('json', res)
+                    self._router_interface_action('add',
+                                                  r['router']['id'],
+                                                  None,
+                                                  p['port']['id'])
+                # The subnet here is deleted, and the port should have no IP
+                self._delete('ports', p['port']['id'])
+                # Verify the port has been deleted
+                self._show('ports', p['port']['id'],
+                           expected_code=exc.HTTPNotFound.code)
+
     def test_router_delete_inuse_interface(self):
         with self.router() as r:
             with self.subnet() as s:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/quantum-2012.2.4/quantum/vcsversion.py 
new/quantum-2012.2.4/quantum/vcsversion.py
--- old/quantum-2012.2.4/quantum/vcsversion.py  2013-02-19 14:33:53.000000000 
+0100
+++ new/quantum-2012.2.4/quantum/vcsversion.py  2013-03-05 19:01:37.000000000 
+0100
@@ -2,6 +2,6 @@
 # This file is automatically generated by setup.py, So don't edit it. :)
 version_info = {
     'branch_nick': '(no',
-    'revision_id': '4de49b4d81297fad33b4aff87c03f7508ea1a194',
-    'revno': 1383
+    'revision_id': 'f94b1491b8cb4701cd5064610d546db00d675c62',
+    'revno': 1387
 }

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

Reply via email to