Hello community, here is the log from the commit of package openstack-quantum for openSUSE:Factory checked in at 2013-02-22 16:56:44 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/openstack-quantum (Old) and /work/SRC/openSUSE:Factory/.openstack-quantum.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openstack-quantum", Maintainer is "[email protected]" Changes: -------- --- /work/SRC/openSUSE:Factory/openstack-quantum/openstack-quantum.changes 2013-02-08 07:14:42.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.openstack-quantum.new/openstack-quantum.changes 2013-02-22 16:56:46.000000000 +0100 @@ -1,0 +2,9 @@ +Fri Feb 22 10:12:49 UTC 2013 - [email protected] + +- Update to version 2012.2.4+git.1361527969.4de49b4: + + only destroy single namespace if router_id is set + + Enable OVS and NETNS utilities to perform logging + + Disable dhcp_domain distribution when dhcp_domain is empty + + Shorten the DHCP default resync_interval + +-------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ openstack-quantum.spec ++++++ --- /var/tmp/diff_new_pack.R84CRf/_old 2013-02-22 16:56:47.000000000 +0100 +++ /var/tmp/diff_new_pack.R84CRf/_new 2013-02-22 16:56:47.000000000 +0100 @@ -21,7 +21,7 @@ %define username openstack-%{component} Name: openstack-%{component} -Version: 2012.2.4+git.1360134016.d2a85e6 +Version: 2012.2.4+git.1361527969.4de49b4 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-01 02:13:14.000000000 +0100 +++ new/quantum-2012.2.4/AUTHORS 2013-02-19 14:33:54.000000000 +0100 @@ -10,6 +10,7 @@ Brad Hall <[email protected]> Brian Waldon <[email protected]> chnm-kulkarni <[email protected]> +Christoph Thiel <[email protected]> Clark Boylan <[email protected]> Dan Prince <[email protected]> Dan Wendlandt <[email protected]> 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-01 02:13:14.000000000 +0100 +++ new/quantum-2012.2.4/ChangeLog 2013-02-19 14:33:54.000000000 +0100 @@ -1,3 +1,73 @@ +commit 4de49b4d81297fad33b4aff87c03f7508ea1a194 +Merge: 004a924 5d26f41 +Author: Jenkins <[email protected]> +Date: Tue Feb 19 13:15:33 2013 +0000 + + Merge "Shorten the DHCP default resync_interval" into stable/folsom + +commit 004a924eca5e77dc4f73ce2eb29a82ece6a97099 +Merge: 7be990a 2f32795 +Author: Jenkins <[email protected]> +Date: Tue Feb 19 13:15:28 2013 +0000 + + Merge "Disable dhcp_domain distribution when dhcp_domain is empty" into stable/folsom + +commit 5d26f41d5949d8d9712286f67d9e83dbb547bb71 +Author: Gary Kotton <[email protected]> +Date: Sun Feb 17 15:46:14 2013 +0000 + + Shorten the DHCP default resync_interval + + Fixes bug 1128180 + + Change-Id: Ie63ef674b5e05fab659e675774a1b25cd57d4c41 + + etc/dhcp_agent.ini | 2 +- + quantum/agent/dhcp_agent.py | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 7be990a16ccbd147eae422f71f6730065ee5ceaf +Merge: 45baf03 8755cb3 +Author: Jenkins <[email protected]> +Date: Mon Feb 18 07:55:12 2013 +0000 + + Merge "Enable OVS and NETNS utilities to perform logging" into stable/folsom + +commit 45baf034466275fbc32ababada1513c7b5e76c01 +Author: Christoph Thiel <[email protected]> +Date: Tue Feb 12 11:44:23 2013 +0100 + + only destroy single namespace if router_id is set + + Fixes bug 1122206 + + If multiple instances of l3_agent are running on the same host, all qrouter- + namespaces will be destroyed as new l3_agents are started. This fix allows + for multiple l3_agents to be running on the same host when router_id is set + for each agent. + + Change-Id: I879cdc6faba94900f831232232d67e471c70d778 + + quantum/agent/l3_agent.py | 15 +++++++++++---- + quantum/tests/unit/test_l3_agent.py | 29 +++++++++++++++++++++++++++-- + 2 files changed, 38 insertions(+), 6 deletions(-) + +commit 8755cb3dc6d215f0dde178668c6e13cfa7d6b20d +Author: Gary Kotton <[email protected]> +Date: Sat Feb 9 15:12:56 2013 +0000 + + Enable OVS and NETNS utilities to perform logging + + Fixes bug 1118517 + + Change-Id: I041e61505475da2383b34eaeb16dd3b0e9750898 + + quantum/agent/netns_cleanup_util.py | 2 +- + quantum/agent/ovs_cleanup_util.py | 2 +- + quantum/tests/unit/test_agent_netns_cleanup.py | 38 +++++++++++++----------- + quantum/tests/unit/test_agent_ovs_cleanup.py | 11 ++++--- + 4 files changed, 27 insertions(+), 26 deletions(-) + commit d2a85e655e1b721b5620d9e4a4a9d7201caed257 Author: Mark McLoughlin <[email protected]> Date: Thu Jan 31 21:34:03 2013 +0000 @@ -22,6 +92,20 @@ quantum/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) +commit 2f3279502356008b69e3e43e210c86c1c9e659fe +Author: Nachi Ueno <[email protected]> +Date: Tue Jan 15 09:54:59 2013 -0800 + + Disable dhcp_domain distribution when dhcp_domain is empty + + fixes bug 1099625 + + Change-Id: Ib86770345c46a0dd8bb38a4c3e435420170828af + + quantum/agent/linux/dhcp.py | 8 +++++--- + quantum/tests/unit/test_linux_dhcp.py | 16 ++++++++++------ + 2 files changed, 15 insertions(+), 9 deletions(-) + commit a84ba7e171e809dbb62e8065f63729ba34d395d8 Author: Gary Kotton <[email protected]> Date: Tue Jan 29 15:46:01 2013 +0000 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quantum-2012.2.4/etc/dhcp_agent.ini new/quantum-2012.2.4/etc/dhcp_agent.ini --- old/quantum-2012.2.4/etc/dhcp_agent.ini 2013-02-01 02:09:37.000000000 +0100 +++ new/quantum-2012.2.4/etc/dhcp_agent.ini 2013-02-19 14:27:49.000000000 +0100 @@ -10,7 +10,7 @@ # The DHCP agent will resync its state with Quantum to recover from any # transient notification or rpc errors. The interval is number of # seconds between attempts. -# resync_interval = 30 +# resync_interval = 5 # The DHCP requires that an inteface driver be set. Choose the one that best # matches you plugin. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quantum-2012.2.4/quantum/agent/dhcp_agent.py new/quantum-2012.2.4/quantum/agent/dhcp_agent.py --- old/quantum-2012.2.4/quantum/agent/dhcp_agent.py 2013-02-01 02:09:37.000000000 +0100 +++ new/quantum-2012.2.4/quantum/agent/dhcp_agent.py 2013-02-19 14:27:49.000000000 +0100 @@ -46,7 +46,7 @@ class DhcpAgent(object): OPTS = [ cfg.StrOpt('root_helper', default='sudo'), - cfg.IntOpt('resync_interval', default=30), + cfg.IntOpt('resync_interval', default=5), cfg.StrOpt('dhcp_driver', default='quantum.agent.linux.dhcp.Dnsmasq', help="The driver used to manage the DHCP server."), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quantum-2012.2.4/quantum/agent/l3_agent.py new/quantum-2012.2.4/quantum/agent/l3_agent.py --- old/quantum-2012.2.4/quantum/agent/l3_agent.py 2013-02-01 02:09:37.000000000 +0100 +++ new/quantum-2012.2.4/quantum/agent/l3_agent.py 2013-02-19 14:27:49.000000000 +0100 @@ -127,15 +127,22 @@ ) if self.conf.use_namespaces: - self._destroy_all_router_namespaces() + self._destroy_router_namespaces(self.conf.router_id) - def _destroy_all_router_namespaces(self): - """Destroy all router namespaces on the host to eliminate - all stale linux devices, iptables rules, and namespaces. + def _destroy_router_namespaces(self, only_router_id=None): + """Destroy router namespaces on the host to eliminate all stale + linux devices, iptables rules, and namespaces. + + If only_router_id is passed, only destroy single namespace, to allow + for multiple l3 agents on the same host, without stepping on each + other's toes on init. This only makes sense if router_id is set. """ root_ip = ip_lib.IPWrapper(self.conf.root_helper) for ns in root_ip.get_namespaces(self.conf.root_helper): if ns.startswith(NS_PREFIX): + if only_router_id and not ns.endswith(only_router_id): + continue + try: self._destroy_router_namespace(ns) except: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quantum-2012.2.4/quantum/agent/linux/dhcp.py new/quantum-2012.2.4/quantum/agent/linux/dhcp.py --- old/quantum-2012.2.4/quantum/agent/linux/dhcp.py 2013-02-01 02:09:37.000000000 +0100 +++ new/quantum-2012.2.4/quantum/agent/linux/dhcp.py 2013-02-19 14:27:49.000000000 +0100 @@ -221,9 +221,8 @@ '--bind-interfaces', '--interface=%s' % self.interface_name, '--except-interface=lo', - '--domain=%s' % self.conf.dhcp_domain, - '--pid-file=%s' % self.get_conf_file_name('pid', - ensure_conf_dir=True), + '--pid-file=%s' % self.get_conf_file_name( + 'pid', ensure_conf_dir=True), #TODO (mark): calculate value from cidr (defaults to 150) #'--dhcp-lease-max=%s' % ?, '--dhcp-hostsfile=%s' % self._output_hosts_file(), @@ -252,6 +251,9 @@ if self.conf.dnsmasq_dns_server: cmd.append('--server=%s' % self.conf.dnsmasq_dns_server) + if self.conf.dhcp_domain: + cmd.append('--domain=%s' % self.conf.dhcp_domain) + if self.namespace: ip_wrapper = ip_lib.IPWrapper(self.root_helper, self.namespace) ip_wrapper.netns.execute(cmd, addl_env=env) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quantum-2012.2.4/quantum/agent/netns_cleanup_util.py new/quantum-2012.2.4/quantum/agent/netns_cleanup_util.py --- old/quantum-2012.2.4/quantum/agent/netns_cleanup_util.py 2013-02-01 02:09:37.000000000 +0100 +++ new/quantum-2012.2.4/quantum/agent/netns_cleanup_util.py 2013-02-19 14:27:49.000000000 +0100 @@ -53,7 +53,6 @@ conf = cfg.CommonConfigOpts() conf.register_opts(opts) conf.register_opts(dhcp.OPTS) - config.setup_logging(conf) return conf @@ -147,6 +146,7 @@ conf = setup_conf() conf(sys.argv) + config.setup_logging(conf) # Identify namespaces that are candidates for deletion. candidates = [ns for ns in diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quantum-2012.2.4/quantum/agent/ovs_cleanup_util.py new/quantum-2012.2.4/quantum/agent/ovs_cleanup_util.py --- old/quantum-2012.2.4/quantum/agent/ovs_cleanup_util.py 2013-02-01 02:09:37.000000000 +0100 +++ new/quantum-2012.2.4/quantum/agent/ovs_cleanup_util.py 2013-02-19 14:27:49.000000000 +0100 @@ -51,7 +51,6 @@ conf.register_opts(l3_agent.L3NATAgent.OPTS) conf.register_opts(interface.OPTS) conf.register_opts(agent_opts, 'AGENT') - config.setup_logging(conf) return conf @@ -63,6 +62,7 @@ conf = setup_conf() conf(sys.argv) + config.setup_logging(conf) configuration_bridges = set([conf.ovs_integration_bridge, conf.external_network_bridge]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quantum-2012.2.4/quantum/tests/unit/test_agent_netns_cleanup.py new/quantum-2012.2.4/quantum/tests/unit/test_agent_netns_cleanup.py --- old/quantum-2012.2.4/quantum/tests/unit/test_agent_netns_cleanup.py 2013-02-01 02:09:37.000000000 +0100 +++ new/quantum-2012.2.4/quantum/tests/unit/test_agent_netns_cleanup.py 2013-02-19 14:27:49.000000000 +0100 @@ -184,20 +184,21 @@ with mock.patch.multiple(util, **methods_to_mock) as mocks: mocks['eligible_for_deletion'].return_value = True mocks['setup_conf'].return_value = conf - util.main() + with mock.patch('quantum.common.config.setup_logging'): + util.main() - mocks['eligible_for_deletion'].assert_has_calls( - [mock.call(conf, 'ns1', False), - mock.call(conf, 'ns2', False)]) + mocks['eligible_for_deletion'].assert_has_calls( + [mock.call(conf, 'ns1', False), + mock.call(conf, 'ns2', False)]) - mocks['destroy_namespace'].assert_has_calls( - [mock.call(conf, 'ns1', False), - mock.call(conf, 'ns2', False)]) + mocks['destroy_namespace'].assert_has_calls( + [mock.call(conf, 'ns1', False), + mock.call(conf, 'ns2', False)]) - ip_wrap.assert_has_calls( - [mock.call.get_namespaces('sudo')]) + ip_wrap.assert_has_calls( + [mock.call.get_namespaces('sudo')]) - eventlet_sleep.assert_called_once_with(2) + eventlet_sleep.assert_called_once_with(2) def test_main_no_candidates(self): namespaces = ['ns1', 'ns2'] @@ -216,15 +217,16 @@ with mock.patch.multiple(util, **methods_to_mock) as mocks: mocks['eligible_for_deletion'].return_value = False mocks['setup_conf'].return_value = conf - util.main() + with mock.patch('quantum.common.config.setup_logging'): + util.main() - ip_wrap.assert_has_calls( - [mock.call.get_namespaces('sudo')]) + ip_wrap.assert_has_calls( + [mock.call.get_namespaces('sudo')]) - mocks['eligible_for_deletion'].assert_has_calls( - [mock.call(conf, 'ns1', False), - mock.call(conf, 'ns2', False)]) + mocks['eligible_for_deletion'].assert_has_calls( + [mock.call(conf, 'ns1', False), + mock.call(conf, 'ns2', False)]) - self.assertFalse(mocks['destroy_namespace'].called) + self.assertFalse(mocks['destroy_namespace'].called) - self.assertFalse(eventlet_sleep.called) + self.assertFalse(eventlet_sleep.called) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quantum-2012.2.4/quantum/tests/unit/test_agent_ovs_cleanup.py new/quantum-2012.2.4/quantum/tests/unit/test_agent_ovs_cleanup.py --- old/quantum-2012.2.4/quantum/tests/unit/test_agent_ovs_cleanup.py 2013-02-01 02:09:37.000000000 +0100 +++ new/quantum-2012.2.4/quantum/tests/unit/test_agent_ovs_cleanup.py 2013-02-19 14:27:49.000000000 +0100 @@ -24,12 +24,11 @@ class TestOVSCleanup(unittest.TestCase): def test_setup_conf(self): - with mock.patch('quantum.common.config.setup_logging'): - conf = util.setup_conf() - self.assertEqual(conf.external_network_bridge, 'br-ex') - self.assertEqual(conf.ovs_integration_bridge, 'br-int') - self.assertFalse(conf.ovs_all_ports) - self.assertEqual(conf.AGENT.root_helper, 'sudo') + conf = util.setup_conf() + self.assertEqual(conf.external_network_bridge, 'br-ex') + self.assertEqual(conf.ovs_integration_bridge, 'br-int') + self.assertFalse(conf.ovs_all_ports) + self.assertEqual(conf.AGENT.root_helper, 'sudo') def test_main(self): with mock.patch('quantum.common.config.setup_logging'): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quantum-2012.2.4/quantum/tests/unit/test_l3_agent.py new/quantum-2012.2.4/quantum/tests/unit/test_l3_agent.py --- old/quantum-2012.2.4/quantum/tests/unit/test_l3_agent.py 2013-02-01 02:09:37.000000000 +0100 +++ new/quantum-2012.2.4/quantum/tests/unit/test_l3_agent.py 2013-02-19 14:27:49.000000000 +0100 @@ -273,12 +273,37 @@ def __init__(self, name): self.name = name - self.mock_ip.get_namespaces.return_value = ['qrouter-foo'] + self.mock_ip.get_namespaces.return_value = ['qrouter-foo', + 'qrouter-bar'] self.mock_ip.get_devices.return_value = [FakeDev('qr-aaaa'), FakeDev('qgw-aaaa')] agent = l3_agent.L3NATAgent(self.conf) - agent._destroy_all_router_namespaces() + agent._destroy_router_namespace = mock.MagicMock() + agent._destroy_router_namespaces() + + self.assertEqual(agent._destroy_router_namespace.call_count, 2) + + def testDestroyNamespaceWithRouterId(self): + + class FakeDev(object): + def __init__(self, name): + self.name = name + + self.conf.router_id = _uuid() + + namespaces = ['qrouter-foo', 'qrouter-' + self.conf.router_id] + + self.mock_ip.get_namespaces.return_value = namespaces + self.mock_ip.get_devices.return_value = [FakeDev('qr-aaaa'), + FakeDev('qgw-aaaa')] + + agent = l3_agent.L3NATAgent(self.conf) + + agent._destroy_router_namespace = mock.MagicMock() + agent._destroy_router_namespaces(self.conf.router_id) + + self.assertEqual(agent._destroy_router_namespace.call_count, 1) def testMain(self): agent_mock_p = mock.patch('quantum.agent.l3_agent.L3NATAgent') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quantum-2012.2.4/quantum/tests/unit/test_linux_dhcp.py new/quantum-2012.2.4/quantum/tests/unit/test_linux_dhcp.py --- old/quantum-2012.2.4/quantum/tests/unit/test_linux_dhcp.py 2013-02-01 02:09:37.000000000 +0100 +++ new/quantum-2012.2.4/quantum/tests/unit/test_linux_dhcp.py 2013-02-19 14:27:49.000000000 +0100 @@ -426,7 +426,6 @@ '--bind-interfaces', '--interface=tap0', '--except-interface=lo', - '--domain=openstacklocal', '--pid-file=/dhcp/cccccccc-cccc-cccc-cccc-cccccccccccc/pid', '--dhcp-hostsfile=/dhcp/cccccccc-cccc-cccc-cccc-cccccccccccc/host', '--dhcp-optsfile=/dhcp/cccccccc-cccc-cccc-cccc-cccccccccccc/opts', @@ -434,8 +433,7 @@ 'dnsmasq-lease-update'), '--leasefile-ro', '--dhcp-range=set:tag0,192.168.0.0,static,120s', - '--dhcp-range=set:tag1,fdca:3ba5:a17a:4ba3::,static,120s', - ] + '--dhcp-range=set:tag1,fdca:3ba5:a17a:4ba3::,static,120s'] expected.extend(extra_options) self.execute.return_value = ('', '') @@ -466,15 +464,21 @@ check_exit_code=True) def test_spawn(self): - self._test_spawn(['--conf-file=']) + self._test_spawn(['--conf-file=', '--domain=openstacklocal']) def test_spawn_cfg_config_file(self): self.conf.set_override('dnsmasq_config_file', '/foo') - self._test_spawn(['--conf-file=/foo']) + self._test_spawn(['--conf-file=/foo', '--domain=openstacklocal']) + + def test_spawn_no_dhcp_domain(self): + self.conf.set_override('dhcp_domain', '') + self._test_spawn(['--conf-file=']) def test_spawn_cfg_dns_server(self): self.conf.set_override('dnsmasq_dns_server', '8.8.8.8') - self._test_spawn(['--conf-file=', '--server=8.8.8.8']) + self._test_spawn(['--conf-file=', + '--server=8.8.8.8', + '--domain=openstacklocal']) def test_output_opts_file(self): fake_v6 = 'gdca:3ba5:a17a:4ba3::1' 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-01 02:13:13.000000000 +0100 +++ new/quantum-2012.2.4/quantum/vcsversion.py 2013-02-19 14:33:53.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': 'd2a85e655e1b721b5620d9e4a4a9d7201caed257', - 'revno': 1376 + 'revision_id': '4de49b4d81297fad33b4aff87c03f7508ea1a194', + 'revno': 1383 } -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
