Enable OVS and NETNS utilities to perform logging
Fixes bug 1118517 Change-Id: I623c39b7d05accc49f88922d5d2c7ecfb8562a52
This commit is contained in:
parent
cde6ac18a0
commit
a5accc0852
@ -68,11 +68,10 @@ def setup_conf():
|
|||||||
help=_('Delete the namespace by removing all devices.')),
|
help=_('Delete the namespace by removing all devices.')),
|
||||||
]
|
]
|
||||||
|
|
||||||
conf = cfg.ConfigOpts()
|
conf = cfg.CONF
|
||||||
conf.register_opts(opts)
|
conf.register_opts(opts)
|
||||||
agent_config.register_root_helper(conf)
|
agent_config.register_root_helper(conf)
|
||||||
conf.register_opts(dhcp.OPTS)
|
conf.register_opts(dhcp.OPTS)
|
||||||
config.setup_logging(conf)
|
|
||||||
return conf
|
return conf
|
||||||
|
|
||||||
|
|
||||||
@ -168,6 +167,7 @@ def main():
|
|||||||
|
|
||||||
conf = setup_conf()
|
conf = setup_conf()
|
||||||
conf()
|
conf()
|
||||||
|
config.setup_logging(conf)
|
||||||
|
|
||||||
root_helper = agent_config.get_root_helper(conf)
|
root_helper = agent_config.get_root_helper(conf)
|
||||||
# Identify namespaces that are candidates for deletion.
|
# Identify namespaces that are candidates for deletion.
|
||||||
|
@ -43,12 +43,11 @@ def setup_conf():
|
|||||||
'bridges.'))
|
'bridges.'))
|
||||||
]
|
]
|
||||||
|
|
||||||
conf = cfg.ConfigOpts()
|
conf = cfg.CONF
|
||||||
conf.register_cli_opts(opts)
|
conf.register_cli_opts(opts)
|
||||||
conf.register_opts(l3_agent.L3NATAgent.OPTS)
|
conf.register_opts(l3_agent.L3NATAgent.OPTS)
|
||||||
conf.register_opts(interface.OPTS)
|
conf.register_opts(interface.OPTS)
|
||||||
agent_config.register_root_helper(conf)
|
agent_config.register_root_helper(conf)
|
||||||
config.setup_logging(conf)
|
|
||||||
return conf
|
return conf
|
||||||
|
|
||||||
|
|
||||||
@ -81,6 +80,7 @@ def main():
|
|||||||
|
|
||||||
conf = setup_conf()
|
conf = setup_conf()
|
||||||
conf()
|
conf()
|
||||||
|
config.setup_logging(conf)
|
||||||
|
|
||||||
configuration_bridges = set([conf.ovs_integration_bridge,
|
configuration_bridges = set([conf.ovs_integration_bridge,
|
||||||
conf.external_network_bridge])
|
conf.external_network_bridge])
|
||||||
|
@ -19,6 +19,7 @@ import mock
|
|||||||
import unittest2 as unittest
|
import unittest2 as unittest
|
||||||
|
|
||||||
from quantum.agent import netns_cleanup_util as util
|
from quantum.agent import netns_cleanup_util as util
|
||||||
|
from quantum.openstack.common import cfg
|
||||||
|
|
||||||
|
|
||||||
class TestNullDelegate(unittest.TestCase):
|
class TestNullDelegate(unittest.TestCase):
|
||||||
@ -28,10 +29,8 @@ class TestNullDelegate(unittest.TestCase):
|
|||||||
|
|
||||||
|
|
||||||
class TestNetnsCleanup(unittest.TestCase):
|
class TestNetnsCleanup(unittest.TestCase):
|
||||||
def test_setup_conf(self):
|
def tearDown(self):
|
||||||
with mock.patch('quantum.common.config.setup_logging'):
|
cfg.CONF.reset()
|
||||||
conf = util.setup_conf()
|
|
||||||
self.assertFalse(conf.force)
|
|
||||||
|
|
||||||
def test_kill_dhcp(self, dhcp_active=True):
|
def test_kill_dhcp(self, dhcp_active=True):
|
||||||
conf = mock.Mock()
|
conf = mock.Mock()
|
||||||
@ -213,20 +212,21 @@ class TestNetnsCleanup(unittest.TestCase):
|
|||||||
with mock.patch.multiple(util, **methods_to_mock) as mocks:
|
with mock.patch.multiple(util, **methods_to_mock) as mocks:
|
||||||
mocks['eligible_for_deletion'].return_value = True
|
mocks['eligible_for_deletion'].return_value = True
|
||||||
mocks['setup_conf'].return_value = conf
|
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(
|
mocks['eligible_for_deletion'].assert_has_calls(
|
||||||
[mock.call(conf, 'ns1', False),
|
[mock.call(conf, 'ns1', False),
|
||||||
mock.call(conf, 'ns2', False)])
|
mock.call(conf, 'ns2', False)])
|
||||||
|
|
||||||
mocks['destroy_namespace'].assert_has_calls(
|
mocks['destroy_namespace'].assert_has_calls(
|
||||||
[mock.call(conf, 'ns1', False),
|
[mock.call(conf, 'ns1', False),
|
||||||
mock.call(conf, 'ns2', False)])
|
mock.call(conf, 'ns2', False)])
|
||||||
|
|
||||||
ip_wrap.assert_has_calls(
|
ip_wrap.assert_has_calls(
|
||||||
[mock.call.get_namespaces(conf.AGENT.root_helper)])
|
[mock.call.get_namespaces(conf.AGENT.root_helper)])
|
||||||
|
|
||||||
eventlet_sleep.assert_called_once_with(2)
|
eventlet_sleep.assert_called_once_with(2)
|
||||||
|
|
||||||
def test_main_no_candidates(self):
|
def test_main_no_candidates(self):
|
||||||
namespaces = ['ns1', 'ns2']
|
namespaces = ['ns1', 'ns2']
|
||||||
@ -244,15 +244,16 @@ class TestNetnsCleanup(unittest.TestCase):
|
|||||||
with mock.patch.multiple(util, **methods_to_mock) as mocks:
|
with mock.patch.multiple(util, **methods_to_mock) as mocks:
|
||||||
mocks['eligible_for_deletion'].return_value = False
|
mocks['eligible_for_deletion'].return_value = False
|
||||||
mocks['setup_conf'].return_value = conf
|
mocks['setup_conf'].return_value = conf
|
||||||
util.main()
|
with mock.patch('quantum.common.config.setup_logging'):
|
||||||
|
util.main()
|
||||||
|
|
||||||
ip_wrap.assert_has_calls(
|
ip_wrap.assert_has_calls(
|
||||||
[mock.call.get_namespaces(conf.AGENT.root_helper)])
|
[mock.call.get_namespaces(conf.AGENT.root_helper)])
|
||||||
|
|
||||||
mocks['eligible_for_deletion'].assert_has_calls(
|
mocks['eligible_for_deletion'].assert_has_calls(
|
||||||
[mock.call(conf, 'ns1', False),
|
[mock.call(conf, 'ns1', False),
|
||||||
mock.call(conf, 'ns2', 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)
|
||||||
|
@ -23,17 +23,20 @@ import unittest2 as unittest
|
|||||||
from quantum.agent.linux import ip_lib
|
from quantum.agent.linux import ip_lib
|
||||||
from quantum.agent.linux import ovs_lib
|
from quantum.agent.linux import ovs_lib
|
||||||
from quantum.agent import ovs_cleanup_util as util
|
from quantum.agent import ovs_cleanup_util as util
|
||||||
|
from quantum.openstack.common import cfg
|
||||||
from quantum.openstack.common import uuidutils
|
from quantum.openstack.common import uuidutils
|
||||||
|
|
||||||
|
|
||||||
class TestOVSCleanup(unittest.TestCase):
|
class TestOVSCleanup(unittest.TestCase):
|
||||||
|
def tearDown(self):
|
||||||
|
cfg.CONF.reset()
|
||||||
|
|
||||||
def test_setup_conf(self):
|
def test_setup_conf(self):
|
||||||
with mock.patch('quantum.common.config.setup_logging'):
|
conf = util.setup_conf()
|
||||||
conf = util.setup_conf()
|
self.assertEqual(conf.external_network_bridge, 'br-ex')
|
||||||
self.assertEqual(conf.external_network_bridge, 'br-ex')
|
self.assertEqual(conf.ovs_integration_bridge, 'br-int')
|
||||||
self.assertEqual(conf.ovs_integration_bridge, 'br-int')
|
self.assertFalse(conf.ovs_all_ports)
|
||||||
self.assertFalse(conf.ovs_all_ports)
|
self.assertEqual(conf.AGENT.root_helper, 'sudo')
|
||||||
self.assertEqual(conf.AGENT.root_helper, 'sudo')
|
|
||||||
|
|
||||||
def test_main(self):
|
def test_main(self):
|
||||||
bridges = ['br-int', 'br-ex']
|
bridges = ['br-int', 'br-ex']
|
||||||
@ -54,10 +57,12 @@ class TestOVSCleanup(unittest.TestCase):
|
|||||||
return_value=ports),
|
return_value=ports),
|
||||||
mock.patch.object(util, 'delete_quantum_ports')
|
mock.patch.object(util, 'delete_quantum_ports')
|
||||||
) as (_log, _conf, _get, ovs, collect, delete):
|
) as (_log, _conf, _get, ovs, collect, delete):
|
||||||
util.main()
|
with mock.patch('quantum.common.config.setup_logging'):
|
||||||
ovs.assert_has_calls([mock.call().delete_ports(all_ports=False)])
|
util.main()
|
||||||
collect.assert_called_once_with(set(bridges), 'dummy_sudo')
|
ovs.assert_has_calls([mock.call().delete_ports(
|
||||||
delete.assert_called_once_with(ports, 'dummy_sudo')
|
all_ports=False)])
|
||||||
|
collect.assert_called_once_with(set(bridges), 'dummy_sudo')
|
||||||
|
delete.assert_called_once_with(ports, 'dummy_sudo')
|
||||||
|
|
||||||
def test_collect_quantum_ports(self):
|
def test_collect_quantum_ports(self):
|
||||||
port1 = ovs_lib.VifPort('tap1234', 1, uuidutils.generate_uuid(),
|
port1 = ovs_lib.VifPort('tap1234', 1, uuidutils.generate_uuid(),
|
||||||
|
Loading…
Reference in New Issue
Block a user