def setUp(self):
    super(TestDvrRouterOperations, self).setUp()
    mock.patch('eventlet.spawn').start()
    self.conf = agent_config.setup_conf()
    self.conf.register_opts(base_config.core_opts)
    log.register_options(self.conf)
    self.conf.register_opts(agent_config.AGENT_STATE_OPTS, 'AGENT')
    l3_config.register_l3_agent_config_opts(l3_config.OPTS, self.conf)
    ha_conf.register_l3_agent_ha_opts(self.conf)
    agent_config.register_interface_driver_opts_helper(self.conf)
    agent_config.register_process_monitor_opts(self.conf)
    agent_config.register_interface_opts(self.conf)
    agent_config.register_external_process_opts(self.conf)
    self.conf.set_override('interface_driver', 'neutron.agent.linux.interface.NullDriver')
    self.conf.set_override('state_path', cfg.CONF.state_path)
    self.device_exists_p = mock.patch('neutron.agent.linux.ip_lib.device_exists')
    self.device_exists = self.device_exists_p.start()
    self.ensure_dir = mock.patch('oslo_utils.fileutils.ensure_tree').start()
    mock.patch('neutron.agent.linux.keepalived.KeepalivedManager.get_full_config_file_path').start()
    self.utils_exec_p = mock.patch('neutron.agent.linux.utils.execute')
    self.utils_exec = self.utils_exec_p.start()
    self.utils_replace_file_p = mock.patch('neutron_lib.utils.file.replace_file')
    self.utils_replace_file = self.utils_replace_file_p.start()
    self.external_process_p = mock.patch('neutron.agent.linux.external_process.ProcessManager')
    self.external_process = self.external_process_p.start()
    self.process_monitor = mock.patch('neutron.agent.linux.external_process.ProcessMonitor').start()
    self.send_adv_notif_p = mock.patch('neutron.agent.linux.ip_lib.send_ip_addr_adv_notif')
    self.send_adv_notif = self.send_adv_notif_p.start()
    self.dvr_cls_p = mock.patch('neutron.agent.linux.interface.NullDriver')
    driver_cls = self.dvr_cls_p.start()
    self.mock_driver = mock.MagicMock()
    self.mock_driver.DEV_NAME_LEN = interface.LinuxInterfaceDriver.DEV_NAME_LEN
    driver_cls.return_value = self.mock_driver
    self.ip_cls_p = mock.patch('neutron.agent.linux.ip_lib.IPWrapper')
    ip_cls = self.ip_cls_p.start()
    self.mock_ip = mock.MagicMock()
    ip_cls.return_value = self.mock_ip
    self.mock_delete_ip_rule = mock.patch.object(ip_lib, 'delete_ip_rule').start()
    ip_dev = mock.patch('neutron.agent.linux.ip_lib.IPDevice').start()
    self.mock_ip_dev = mock.MagicMock()
    ip_dev.return_value = self.mock_ip_dev
    self.l3pluginApi_cls_p = mock.patch('neutron.agent.l3.agent.L3PluginApi')
    l3pluginApi_cls = self.l3pluginApi_cls_p.start()
    self.plugin_api = mock.MagicMock()
    l3pluginApi_cls.return_value = self.plugin_api
    self.looping_call_p = mock.patch('oslo_service.loopingcall.FixedIntervalLoopingCall')
    self.looping_call_p.start()
    subnet_id_1 = _uuid()
    subnet_id_2 = _uuid()
    self.snat_ports = [{'subnets': [{'cidr': '152.2.0.0/16', 'gateway_ip': '0.0.0.0', 'id': subnet_id_1}], 'network_id': _uuid(), 'device_owner': lib_constants.DEVICE_OWNER_ROUTER_SNAT, 'mac_address': 'fa:16:3e:80:8d:80', 'fixed_ips': [{'subnet_id': subnet_id_1, 'ip_address': '0.0.0.0', 'prefixlen': 16}], 'id': _uuid(), 'device_id': _uuid()}, {'subnets': [{'cidr': '152.10.0.0/16', 'gateway_ip': '0.0.0.0', 'id': subnet_id_2}], 'network_id': _uuid(), 'device_owner': lib_constants.DEVICE_OWNER_ROUTER_SNAT, 'mac_address': 'fa:16:3e:80:8d:80', 'fixed_ips': [{'subnet_id': subnet_id_2, 'ip_address': '0.0.0.0', 'prefixlen': 16}], 'id': _uuid(), 'device_id': _uuid()}]
    self.ri_kwargs = {'agent_conf': self.conf, 'interface_driver': self.mock_driver}
def setUp(self):
    super(TestDvrRouterOperations, self).setUp()
    mock.patch('eventlet.spawn').start()
    self.conf = agent_config.setup_conf()
    self.conf.register_opts(base_config.core_opts)
    log.register_options(self.conf)
    self.conf.register_opts(agent_config.AGENT_STATE_OPTS, 'AGENT')
    l3_config.register_l3_agent_config_opts(l3_config.OPTS, self.conf)
    ha_conf.register_l3_agent_ha_opts(self.conf)
    agent_config.register_interface_driver_opts_helper(self.conf)
    agent_config.register_process_monitor_opts(self.conf)
    agent_config.register_interface_opts(self.conf)
    agent_config.register_external_process_opts(self.conf)
    self.conf.set_override('interface_driver', 'neutron.agent.linux.interface.NullDriver')
    self.conf.set_override('state_path', cfg.CONF.state_path)
    self.device_exists_p = mock.patch('neutron.agent.linux.ip_lib.device_exists')
    self.device_exists = self.device_exists_p.start()
    self.ensure_dir = mock.patch('oslo_utils.fileutils.ensure_tree').start()
    mock.patch('neutron.agent.linux.keepalived.KeepalivedManager.get_full_config_file_path').start()
    self.utils_exec_p = mock.patch('neutron.agent.linux.utils.execute')
    self.utils_exec = self.utils_exec_p.start()
    self.utils_replace_file_p = mock.patch('neutron_lib.utils.file.replace_file')
    self.utils_replace_file = self.utils_replace_file_p.start()
    self.external_process_p = mock.patch('neutron.agent.linux.external_process.ProcessManager')
    self.external_process = self.external_process_p.start()
    self.process_monitor = mock.patch('neutron.agent.linux.external_process.ProcessMonitor').start()
    self.send_adv_notif_p = mock.patch('neutron.agent.linux.ip_lib.send_ip_addr_adv_notif')
    self.send_adv_notif = self.send_adv_notif_p.start()
    self.dvr_cls_p = mock.patch('neutron.agent.linux.interface.NullDriver')
    driver_cls = self.dvr_cls_p.start()
    self.mock_driver = mock.MagicMock()
    self.mock_driver.DEV_NAME_LEN = interface.LinuxInterfaceDriver.DEV_NAME_LEN
    driver_cls.return_value = self.mock_driver
    self.ip_cls_p = mock.patch('neutron.agent.linux.ip_lib.IPWrapper')
    ip_cls = self.ip_cls_p.start()
    self.mock_ip = mock.MagicMock()
    ip_cls.return_value = self.mock_ip
    self.mock_delete_ip_rule = mock.patch.object(ip_lib, 'delete_ip_rule').start()
    ip_dev = mock.patch('neutron.agent.linux.ip_lib.IPDevice').start()
    self.mock_ip_dev = mock.MagicMock()
    ip_dev.return_value = self.mock_ip_dev
    self.l3pluginApi_cls_p = mock.patch('neutron.agent.l3.agent.L3PluginApi')
    l3pluginApi_cls = self.l3pluginApi_cls_p.start()
    self.plugin_api = mock.MagicMock()
    l3pluginApi_cls.return_value = self.plugin_api
    self.looping_call_p = mock.patch('oslo_service.loopingcall.FixedIntervalLoopingCall')
    self.looping_call_p.start()
    subnet_id_1 = _uuid()
    subnet_id_2 = _uuid()
    self.snat_ports = [{'subnets': [{'cidr': '152.2.0.0/16', 'gateway_ip': '0.0.0.0', 'id': subnet_id_1}], 'network_id': _uuid(), 'device_owner': lib_constants.DEVICE_OWNER_ROUTER_SNAT, 'mac_address': 'fa:16:3e:80:8d:80', 'fixed_ips': [{'subnet_id': subnet_id_1, 'ip_address': '0.0.0.0', 'prefixlen': 16}], 'id': _uuid(), 'device_id': _uuid()}, {'subnets': [{'cidr': '152.10.0.0/16', 'gateway_ip': '0.0.0.0', 'id': subnet_id_2}], 'network_id': _uuid(), 'device_owner': lib_constants.DEVICE_OWNER_ROUTER_SNAT, 'mac_address': 'fa:16:3e:80:8d:80', 'fixed_ips': [{'subnet_id': subnet_id_2, 'ip_address': '0.0.0.0', 'prefixlen': 16}], 'id': _uuid(), 'device_id': _uuid()}]
    self.ri_kwargs = {'agent_conf': self.conf, 'interface_driver': self.mock_driver}