]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Remove root_helper arg from DHCP agent
authorTerry Wilson <twilson@redhat.com>
Tue, 10 Feb 2015 07:58:26 +0000 (01:58 -0600)
committerHenry Gessau <gessau@cisco.com>
Wed, 18 Feb 2015 14:22:10 +0000 (14:22 +0000)
Partially-Implements: blueprint rootwrap-daemon-mode
Change-Id: I394fc2bf8b9579203fc0a878047a57cf6e09927e

neutron/agent/dhcp/agent.py
neutron/agent/dhcp_agent.py
neutron/agent/linux/dhcp.py
neutron/cmd/netns_cleanup.py
neutron/tests/unit/test_dhcp_agent.py
neutron/tests/unit/test_linux_dhcp.py
neutron/tests/unit/test_netns_cleanup.py

index cdbd755abc6f03ecb43868e1bfbf8b456bee68c1..6e467a66de922f8e9e73035a144a16da16d95bda 100644 (file)
@@ -56,7 +56,6 @@ class DhcpAgent(manager.Manager):
         self.needs_resync_reasons = collections.defaultdict(list)
         self.conf = cfg.CONF
         self.cache = NetworkCache()
-        self.root_helper = config.get_root_helper(self.conf)
         self.dhcp_driver_cls = importutils.import_class(self.conf.dhcp_driver)
         ctx = context.get_admin_context_without_session()
         self.plugin_rpc = DhcpPluginApi(topics.PLUGIN,
@@ -75,8 +74,7 @@ class DhcpAgent(manager.Manager):
         """Populate the networks cache when the DHCP-agent starts."""
         try:
             existing_networks = self.dhcp_driver_cls.existing_dhcp_networks(
-                self.conf,
-                self.root_helper
+                self.conf
             )
             for net_id in existing_networks:
                 net = dhcp.NetModel(self.conf.use_namespaces,
@@ -109,7 +107,6 @@ class DhcpAgent(manager.Manager):
             driver = self.dhcp_driver_cls(self.conf,
                                           network,
                                           self._process_monitor,
-                                          self.root_helper,
                                           self.dhcp_version,
                                           self.plugin_rpc)
             getattr(driver, action)(**action_kwargs)
index 0e756451106eeca0b4f70b70b7efa2b1e696a964..ff01bd900df1253bf3cdeabd901b18b46768b959 100644 (file)
@@ -34,7 +34,6 @@ def register_options():
     config.register_interface_driver_opts_helper(cfg.CONF)
     config.register_use_namespaces_opts_helper(cfg.CONF)
     config.register_agent_state_opts_helper(cfg.CONF)
-    config.register_root_helper(cfg.CONF)
     cfg.CONF.register_opts(dhcp_config.DHCP_AGENT_OPTS)
     cfg.CONF.register_opts(dhcp_config.DHCP_OPTS)
     cfg.CONF.register_opts(dhcp_config.DNSMASQ_OPTS)
index 3b8da5fd4e8653b33293ce60c5700673dcb5a451..2d97f3bc7615add430d058f25d50ccabb02f1c55 100644 (file)
@@ -110,14 +110,12 @@ class NetModel(DictModel):
 @six.add_metaclass(abc.ABCMeta)
 class DhcpBase(object):
 
-    def __init__(self, conf, network, process_monitor, root_helper='sudo',
+    def __init__(self, conf, network, process_monitor,
                  version=None, plugin=None):
         self.conf = conf
         self.network = network
-        self.root_helper = root_helper
         self.process_monitor = process_monitor
-        self.device_manager = DeviceManager(self.conf,
-                                            self.root_helper, plugin)
+        self.device_manager = DeviceManager(self.conf, plugin)
         self.version = version
 
     @abc.abstractmethod
@@ -142,7 +140,7 @@ class DhcpBase(object):
         """Force the DHCP server to reload the assignment database."""
 
     @classmethod
-    def existing_dhcp_networks(cls, conf, root_helper):
+    def existing_dhcp_networks(cls, conf):
         """Return a list of existing networks ids that we have configs for."""
 
         raise NotImplementedError()
@@ -167,10 +165,10 @@ class DhcpBase(object):
 class DhcpLocalProcess(DhcpBase):
     PORTS = []
 
-    def __init__(self, conf, network, process_monitor, root_helper='sudo',
-                 version=None, plugin=None):
+    def __init__(self, conf, network, process_monitor, version=None,
+                 plugin=None):
         super(DhcpLocalProcess, self).__init__(conf, network, process_monitor,
-                                               root_helper, version, plugin)
+                                               version, plugin)
         self.confs_dir = self.get_confs_dir(conf)
         self.network_conf_dir = os.path.join(self.confs_dir, network.id)
         self._ensure_network_conf_dir()
@@ -227,8 +225,7 @@ class DhcpLocalProcess(DhcpBase):
 
         if not retain_port:
             if self.conf.dhcp_delete_namespaces and self.network.namespace:
-                ns_ip = ip_lib.IPWrapper(self.root_helper,
-                                         self.network.namespace)
+                ns_ip = ip_lib.IPWrapper(namespace=self.network.namespace)
                 try:
                     ns_ip.netns.delete(self.network.namespace)
                 except RuntimeError:
@@ -288,7 +285,7 @@ class Dnsmasq(DhcpLocalProcess):
         pass
 
     @classmethod
-    def existing_dhcp_networks(cls, conf, root_helper):
+    def existing_dhcp_networks(cls, conf):
         """Return a list of existing networks ids that we have configs for."""
         confs_dir = cls.get_confs_dir(conf)
         try:
@@ -399,8 +396,7 @@ class Dnsmasq(DhcpLocalProcess):
     def _release_lease(self, mac_address, ip):
         """Release a DHCP lease."""
         cmd = ['dhcp_release', self.interface_name, ip, mac_address]
-        ip_wrapper = ip_lib.IPWrapper(self.root_helper,
-                                      self.network.namespace)
+        ip_wrapper = ip_lib.IPWrapper(namespace=self.network.namespace)
         ip_wrapper.netns.execute(cmd)
 
     def _output_config_files(self):
@@ -676,11 +672,8 @@ class Dnsmasq(DhcpLocalProcess):
         return options
 
     def _make_subnet_interface_ip_map(self):
-        ip_dev = ip_lib.IPDevice(
-            self.interface_name,
-            self.root_helper,
-            self.network.namespace
-        )
+        ip_dev = ip_lib.IPDevice(self.interface_name,
+                                 namespace=self.network.namespace)
 
         subnet_lookup = dict(
             (netaddr.IPNetwork(subnet.cidr), subnet.id)
@@ -775,9 +768,8 @@ class Dnsmasq(DhcpLocalProcess):
 
 class DeviceManager(object):
 
-    def __init__(self, conf, root_helper, plugin):
+    def __init__(self, conf, plugin):
         self.conf = conf
-        self.root_helper = root_helper
         self.plugin = plugin
         if not conf.interface_driver:
             LOG.error(_LE('An interface driver must be specified'))
@@ -809,9 +801,7 @@ class DeviceManager(object):
         it would change it from what it already is.  This makes it safe to call
         and avoids unnecessary perturbation of the system.
         """
-        device = ip_lib.IPDevice(device_name,
-                                 self.root_helper,
-                                 network.namespace)
+        device = ip_lib.IPDevice(device_name, namespace=network.namespace)
         gateway = device.route.get_gateway()
         if gateway:
             gateway = gateway['gateway']
@@ -927,8 +917,7 @@ class DeviceManager(object):
         interface_name = self.get_interface_name(network, port)
 
         if ip_lib.ensure_device_is_ready(interface_name,
-                                         self.root_helper,
-                                         network.namespace):
+                                         namespace=network.namespace):
             LOG.debug('Reusing existing device: %s.', interface_name)
         else:
             self.driver.plug(network.id,
@@ -953,8 +942,7 @@ class DeviceManager(object):
 
         # ensure that the dhcp interface is first in the list
         if network.namespace is None:
-            device = ip_lib.IPDevice(interface_name,
-                                     self.root_helper)
+            device = ip_lib.IPDevice(interface_name)
             device.route.pullup_route(interface_name)
 
         if self.conf.use_namespaces:
index c1e7dd2ffb50122e6d2684bf9b3a78a0c08efb4c..c6c471de5b6882156a8ad79a9fccc0643f681dc6 100644 (file)
@@ -81,7 +81,6 @@ def _get_dhcp_process_monitor(config):
 
 def kill_dhcp(conf, namespace):
     """Disable DHCP for a network if DHCP is still active."""
-    root_helper = agent_config.get_root_helper(conf)
     network_id = namespace.replace(dhcp.NS_PREFIX, '')
 
     dhcp_driver = importutils.import_object(
@@ -89,7 +88,6 @@ def kill_dhcp(conf, namespace):
         conf=conf,
         process_monitor=_get_dhcp_process_monitor(conf),
         network=dhcp.NetModel(conf.use_namespaces, {'id': network_id}),
-        root_helper=root_helper,
         plugin=FakeDhcpPlugin())
 
     if dhcp_driver.active:
index 5255de955c7319623395a6ca714667f29c081923..5e100e188b9b1f49b46cd36b3f1627e483b75030 100644 (file)
@@ -232,7 +232,6 @@ class TestDhcpAgent(base.BaseTestCase):
                         cfg.CONF.register_opts(dhcp_config.DHCP_AGENT_OPTS)
                         config.register_interface_driver_opts_helper(cfg.CONF)
                         config.register_agent_state_opts_helper(cfg.CONF)
-                        config.register_root_helper(cfg.CONF)
                         cfg.CONF.register_opts(interface.OPTS)
                         common_config.init(sys.argv[1:])
                         agent_mgr = dhcp_agent.DhcpAgentWithStateReport(
@@ -278,7 +277,6 @@ class TestDhcpAgent(base.BaseTestCase):
         self.driver.assert_called_once_with(cfg.CONF,
                                             mock.ANY,
                                             mock.ANY,
-                                            'sudo',
                                             mock.ANY,
                                             mock.ANY)
 
@@ -295,7 +293,6 @@ class TestDhcpAgent(base.BaseTestCase):
                 self.driver.assert_called_once_with(cfg.CONF,
                                                     mock.ANY,
                                                     mock.ANY,
-                                                    'sudo',
                                                     mock.ANY,
                                                     mock.ANY)
                 self.assertEqual(log.call_count, 1)
@@ -413,7 +410,6 @@ class TestDhcpAgent(base.BaseTestCase):
 
             self.driver.existing_dhcp_networks.assert_called_once_with(
                 dhcp.conf,
-                cfg.CONF.AGENT.root_helper
             )
 
             self.assertFalse(dhcp.cache.get_network_ids())
@@ -427,7 +423,6 @@ class TestDhcpAgent(base.BaseTestCase):
 
         self.driver.existing_dhcp_networks.assert_called_once_with(
             dhcp.conf,
-            cfg.CONF.AGENT.root_helper
         )
 
         self.assertEqual(set(networks), set(dhcp.cache.get_network_ids()))
@@ -436,7 +431,7 @@ class TestDhcpAgent(base.BaseTestCase):
         cfg.CONF.set_override('interface_driver', None)
         with mock.patch.object(dhcp, 'LOG') as log:
             self.assertRaises(SystemExit, dhcp.DeviceManager,
-                              cfg.CONF, 'sudo', None)
+                              cfg.CONF, None)
             msg = 'An interface driver must be specified'
             log.error.assert_called_once_with(msg)
 
@@ -448,7 +443,7 @@ class TestDhcpAgent(base.BaseTestCase):
         cfg.CONF.set_override('interface_driver', 'foo')
         with mock.patch.object(dhcp, 'LOG') as log:
             self.assertRaises(SystemExit, dhcp.DeviceManager,
-                              cfg.CONF, 'sudo', None)
+                              cfg.CONF, None)
             self.assertEqual(log.error.call_count, 1)
 
 
@@ -533,7 +528,6 @@ class TestDhcpAgentEventHandler(base.BaseTestCase):
         config.register_interface_driver_opts_helper(cfg.CONF)
         cfg.CONF.set_override('interface_driver',
                               'neutron.agent.linux.interface.NullDriver')
-        config.register_root_helper(cfg.CONF)
         cfg.CONF.register_opts(dhcp_config.DHCP_AGENT_OPTS)
 
         self.plugin_p = mock.patch(DHCP_PLUGIN)
@@ -1160,7 +1154,6 @@ class TestDeviceManager(base.BaseTestCase):
         cfg.CONF.register_opts(dhcp_config.DHCP_AGENT_OPTS)
         cfg.CONF.set_override('interface_driver',
                               'neutron.agent.linux.interface.NullDriver')
-        config.register_root_helper(cfg.CONF)
         cfg.CONF.set_override('use_namespaces', True)
         cfg.CONF.set_override('enable_isolated_metadata', True)
 
@@ -1189,7 +1182,7 @@ class TestDeviceManager(base.BaseTestCase):
         self.ensure_device_is_ready.return_value = device_is_ready
         self.mock_driver.get_device_name.return_value = 'tap12345678-12'
 
-        dh = dhcp.DeviceManager(cfg.CONF, cfg.CONF.AGENT.root_helper, plugin)
+        dh = dhcp.DeviceManager(cfg.CONF, plugin)
         dh._set_default_route = mock.Mock()
         interface_name = dh.setup(net)
 
@@ -1240,7 +1233,7 @@ class TestDeviceManager(base.BaseTestCase):
 
     def test_create_dhcp_port_raise_conflict(self):
         plugin = mock.Mock()
-        dh = dhcp.DeviceManager(cfg.CONF, cfg.CONF.AGENT.root_helper, plugin)
+        dh = dhcp.DeviceManager(cfg.CONF, plugin)
         plugin.create_dhcp_port.return_value = None
         self.assertRaises(exceptions.Conflict,
                           dh.setup_dhcp_port,
@@ -1248,7 +1241,7 @@ class TestDeviceManager(base.BaseTestCase):
 
     def test_create_dhcp_port_create_new(self):
         plugin = mock.Mock()
-        dh = dhcp.DeviceManager(cfg.CONF, cfg.CONF.AGENT.root_helper, plugin)
+        dh = dhcp.DeviceManager(cfg.CONF, plugin)
         plugin.create_dhcp_port.return_value = fake_network.ports[0]
         dh.setup_dhcp_port(fake_network)
         plugin.assert_has_calls([
@@ -1262,7 +1255,7 @@ class TestDeviceManager(base.BaseTestCase):
 
     def test_create_dhcp_port_update_add_subnet(self):
         plugin = mock.Mock()
-        dh = dhcp.DeviceManager(cfg.CONF, cfg.CONF.AGENT.root_helper, plugin)
+        dh = dhcp.DeviceManager(cfg.CONF, plugin)
         fake_network_copy = copy.deepcopy(fake_network)
         fake_network_copy.ports[0].device_id = dh.get_device_id(fake_network)
         fake_network_copy.subnets[1].enable_dhcp = True
@@ -1280,7 +1273,7 @@ class TestDeviceManager(base.BaseTestCase):
 
     def test_update_dhcp_port_raises_conflict(self):
         plugin = mock.Mock()
-        dh = dhcp.DeviceManager(cfg.CONF, cfg.CONF.AGENT.root_helper, plugin)
+        dh = dhcp.DeviceManager(cfg.CONF, plugin)
         fake_network_copy = copy.deepcopy(fake_network)
         fake_network_copy.ports[0].device_id = dh.get_device_id(fake_network)
         fake_network_copy.subnets[1].enable_dhcp = True
@@ -1291,7 +1284,7 @@ class TestDeviceManager(base.BaseTestCase):
 
     def test_create_dhcp_port_no_update_or_create(self):
         plugin = mock.Mock()
-        dh = dhcp.DeviceManager(cfg.CONF, cfg.CONF.AGENT.root_helper, plugin)
+        dh = dhcp.DeviceManager(cfg.CONF, plugin)
         fake_network_copy = copy.deepcopy(fake_network)
         fake_network_copy.ports[0].device_id = dh.get_device_id(fake_network)
         dh.setup_dhcp_port(fake_network_copy)
@@ -1315,8 +1308,7 @@ class TestDeviceManager(base.BaseTestCase):
             plugin = mock.Mock()
             plugin.get_dhcp_port.return_value = fake_port
 
-            dh = dhcp.DeviceManager(cfg.CONF, cfg.CONF.AGENT.root_helper,
-                                    plugin)
+            dh = dhcp.DeviceManager(cfg.CONF, plugin)
             dh.destroy(fake_net, 'tap12345678-12')
 
             dvr_cls.assert_called_once_with(cfg.CONF)
@@ -1343,8 +1335,7 @@ class TestDeviceManager(base.BaseTestCase):
             plugin = mock.Mock()
             plugin.get_dhcp_port.return_value = fake_port
 
-            dh = dhcp.DeviceManager(cfg.CONF, cfg.CONF.AGENT.root_helper,
-                                    plugin)
+            dh = dhcp.DeviceManager(cfg.CONF, plugin)
             dh.get_interface_name(fake_net, fake_port)
 
             dvr_cls.assert_called_once_with(cfg.CONF)
@@ -1363,7 +1354,7 @@ class TestDeviceManager(base.BaseTestCase):
         with mock.patch('uuid.uuid5') as uuid5:
             uuid5.return_value = '1ae5f96c-c527-5079-82ea-371a01645457'
 
-            dh = dhcp.DeviceManager(cfg.CONF, cfg.CONF.AGENT.root_helper, None)
+            dh = dhcp.DeviceManager(cfg.CONF, None)
             uuid5.called_once_with(uuid.NAMESPACE_DNS, cfg.CONF.host)
             self.assertEqual(dh.get_device_id(fake_net), expected)
 
@@ -1371,7 +1362,7 @@ class TestDeviceManager(base.BaseTestCase):
         # Try with namespaces and no metadata network
         cfg.CONF.set_override('use_namespaces', True)
         cfg.CONF.set_override('enable_metadata_network', False)
-        dh = dhcp.DeviceManager(cfg.CONF, cfg.CONF.AGENT.root_helper, None)
+        dh = dhcp.DeviceManager(cfg.CONF, None)
         dh._set_default_route = mock.Mock()
         network = mock.Mock()
 
@@ -1383,7 +1374,7 @@ class TestDeviceManager(base.BaseTestCase):
         # No namespaces, shouldn't set default route.
         cfg.CONF.set_override('use_namespaces', False)
         cfg.CONF.set_override('enable_metadata_network', False)
-        dh = dhcp.DeviceManager(cfg.CONF, cfg.CONF.AGENT.root_helper, None)
+        dh = dhcp.DeviceManager(cfg.CONF, None)
         dh._set_default_route = mock.Mock()
 
         dh.update(FakeV4Network(), 'tap12345678-12')
@@ -1393,7 +1384,7 @@ class TestDeviceManager(base.BaseTestCase):
         # Meta data network enabled, don't interfere with its gateway.
         cfg.CONF.set_override('use_namespaces', True)
         cfg.CONF.set_override('enable_metadata_network', True)
-        dh = dhcp.DeviceManager(cfg.CONF, cfg.CONF.AGENT.root_helper, None)
+        dh = dhcp.DeviceManager(cfg.CONF, None)
         dh._set_default_route = mock.Mock()
 
         dh.update(FakeV4Network(), 'ns-12345678-12')
@@ -1403,7 +1394,7 @@ class TestDeviceManager(base.BaseTestCase):
         # For completeness
         cfg.CONF.set_override('use_namespaces', False)
         cfg.CONF.set_override('enable_metadata_network', True)
-        dh = dhcp.DeviceManager(cfg.CONF, cfg.CONF.AGENT.root_helper, None)
+        dh = dhcp.DeviceManager(cfg.CONF, None)
         dh._set_default_route = mock.Mock()
 
         dh.update(FakeV4Network(), 'ns-12345678-12')
@@ -1411,7 +1402,7 @@ class TestDeviceManager(base.BaseTestCase):
         self.assertFalse(dh._set_default_route.called)
 
     def test_set_default_route(self):
-        dh = dhcp.DeviceManager(cfg.CONF, cfg.CONF.AGENT.root_helper, None)
+        dh = dhcp.DeviceManager(cfg.CONF, None)
         with mock.patch.object(dhcp.ip_lib, 'IPDevice') as mock_IPDevice:
             device = mock.Mock()
             mock_IPDevice.return_value = device
@@ -1425,7 +1416,7 @@ class TestDeviceManager(base.BaseTestCase):
         device.route.add_gateway.assert_called_once_with('192.168.0.1')
 
     def test_set_default_route_no_subnet(self):
-        dh = dhcp.DeviceManager(cfg.CONF, cfg.CONF.AGENT.root_helper, None)
+        dh = dhcp.DeviceManager(cfg.CONF, None)
         with mock.patch.object(dhcp.ip_lib, 'IPDevice') as mock_IPDevice:
             device = mock.Mock()
             mock_IPDevice.return_value = device
@@ -1439,7 +1430,7 @@ class TestDeviceManager(base.BaseTestCase):
         self.assertFalse(device.route.add_gateway.called)
 
     def test_set_default_route_no_subnet_delete_gateway(self):
-        dh = dhcp.DeviceManager(cfg.CONF, cfg.CONF.AGENT.root_helper, None)
+        dh = dhcp.DeviceManager(cfg.CONF, None)
         with mock.patch.object(dhcp.ip_lib, 'IPDevice') as mock_IPDevice:
             device = mock.Mock()
             mock_IPDevice.return_value = device
@@ -1453,7 +1444,7 @@ class TestDeviceManager(base.BaseTestCase):
         self.assertFalse(device.route.add_gateway.called)
 
     def test_set_default_route_no_gateway(self):
-        dh = dhcp.DeviceManager(cfg.CONF, cfg.CONF.AGENT.root_helper, None)
+        dh = dhcp.DeviceManager(cfg.CONF, None)
         with mock.patch.object(dhcp.ip_lib, 'IPDevice') as mock_IPDevice:
             device = mock.Mock()
             mock_IPDevice.return_value = device
@@ -1467,7 +1458,7 @@ class TestDeviceManager(base.BaseTestCase):
         self.assertFalse(device.route.add_gateway.called)
 
     def test_set_default_route_do_nothing(self):
-        dh = dhcp.DeviceManager(cfg.CONF, cfg.CONF.AGENT.root_helper, None)
+        dh = dhcp.DeviceManager(cfg.CONF, None)
         with mock.patch.object(dhcp.ip_lib, 'IPDevice') as mock_IPDevice:
             device = mock.Mock()
             mock_IPDevice.return_value = device
@@ -1480,7 +1471,7 @@ class TestDeviceManager(base.BaseTestCase):
         self.assertFalse(device.route.add_gateway.called)
 
     def test_set_default_route_change_gateway(self):
-        dh = dhcp.DeviceManager(cfg.CONF, cfg.CONF.AGENT.root_helper, None)
+        dh = dhcp.DeviceManager(cfg.CONF, None)
         with mock.patch.object(dhcp.ip_lib, 'IPDevice') as mock_IPDevice:
             device = mock.Mock()
             mock_IPDevice.return_value = device
@@ -1494,7 +1485,7 @@ class TestDeviceManager(base.BaseTestCase):
 
     def test_set_default_route_two_subnets(self):
         # Try two subnets. Should set gateway from the first.
-        dh = dhcp.DeviceManager(cfg.CONF, cfg.CONF.AGENT.root_helper, None)
+        dh = dhcp.DeviceManager(cfg.CONF, None)
         with mock.patch.object(dhcp.ip_lib, 'IPDevice') as mock_IPDevice:
             device = mock.Mock()
             mock_IPDevice.return_value = device
index 95cd838968b5d2185bc3e9452b6f3ac32458bfcc..e20a2c3c494090508313788376f2ecf912a26da6 100644 (file)
@@ -600,7 +600,7 @@ class TestDhcpBase(TestBase):
     def test_existing_dhcp_networks_abstract_error(self):
         self.assertRaises(NotImplementedError,
                           dhcp.DhcpBase.existing_dhcp_networks,
-                          None, None)
+                          None)
 
     def test_check_version_abstract_error(self):
         self.assertRaises(NotImplementedError,
@@ -676,7 +676,7 @@ class TestDhcpLocalProcess(TestBase):
             lp.enable()
 
             self.mock_mgr.assert_has_calls(
-                [mock.call(self.conf, 'sudo', None),
+                [mock.call(self.conf, None),
                  mock.call().setup(mock.ANY)])
             self.assertEqual(lp.called, ['spawn'])
             self.assertTrue(mocks['interface_name'].__set__.called)
@@ -719,7 +719,7 @@ class TestDhcpLocalProcess(TestBase):
                 lp.process_monitor.pid.return_value = 5
                 lp.disable()
 
-        self.mock_mgr.assert_has_calls([mock.call(self.conf, 'sudo', None),
+        self.mock_mgr.assert_has_calls([mock.call(self.conf, None),
                                         mock.call().destroy(network, 'tap0')])
 
         self.assertEqual(ip.return_value.netns.delete.call_count, 0)
@@ -1330,7 +1330,7 @@ class TestDnsmasq(TestBase):
                 mock_active.__get__ = active_fake
                 mock_listdir.return_value = cases.keys()
 
-                result = dhcp.Dnsmasq.existing_dhcp_networks(self.conf, 'sudo')
+                result = dhcp.Dnsmasq.existing_dhcp_networks(self.conf)
 
                 mock_listdir.assert_called_once_with(path)
                 self.assertEqual(['aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa',
index 9ca96c3ce115cb28d147c575c93144f402636b71..82c3f5793262e689461de183f8b0d9a47ae9cf7f 100644 (file)
@@ -33,7 +33,6 @@ class TestNetnsCleanup(base.BaseTestCase):
 
     def test_kill_dhcp(self, dhcp_active=True):
         conf = mock.Mock()
-        conf.AGENT.root_helper = 'sudo',
         conf.dhcp_driver = 'driver'
 
         method_to_patch = 'oslo_utils.importutils.import_object'
@@ -46,7 +45,6 @@ class TestNetnsCleanup(base.BaseTestCase):
             util.kill_dhcp(conf, 'ns')
 
             expected_params = {'conf': conf, 'network': mock.ANY,
-                               'root_helper': conf.AGENT.root_helper,
                                'plugin': mock.ANY,
                                'process_monitor': mock.ANY}
             import_object.assert_called_once_with('driver', **expected_params)