def setUp(self):
        super(TestIPSecBase, self).setUp()
        mock.patch('neutron.agent.l3.agent.L3PluginApi').start()
        mock.patch('neutron_vpnaas.services.vpn.device_drivers.ipsec.'
                   'IPsecVpnDriverApi').start()
        # avoid report_status running periodically
        mock.patch('oslo_service.loopingcall.FixedIntervalLoopingCall').start()
        # Both the vpn agents try to use execute_rootwrap_daemon's socket
        # simultaneously during test cleanup, but execute_rootwrap_daemon has
        # limitations with simultaneous reads. So avoid using
        # root_helper_daemon and instead use root_helper
        # https://bugs.launchpad.net/neutron/+bug/1482622
        cfg.CONF.set_override('root_helper_daemon', None, group='AGENT')

        # Mock the method below because it causes Exception:
        #   RuntimeError: Second simultaneous read on fileno 5 detected.
        #   Unless you really know what you're doing, make sure that only
        #   one greenthread can read any particular socket.  Consider using
        #   a pools.Pool. If you do know what you're doing and want to disable
        #   this error, call eventlet.debug.hub_prevent_multiple_readers(False)
        # Can reproduce the exception in the test only
        ip_lib.send_ip_addr_adv_notif = mock.Mock()

        self.conf = self._configure_agent('agent1')
        self.agent = neutron_l3_agent.L3NATAgentWithStateReport(
            'agent1', self.conf)
        self.vpn_agent = vpn_agent.L3WithVPNaaS(self.conf)
        self.driver = self.vpn_agent.device_drivers[0]
        self.driver.agent_rpc.get_vpn_services_on_host = mock.Mock(
            return_value=[])
        self.driver.report_status = mock.Mock()

        self.private_nets = list(PRIVATE_NET.subnet(24))
示例#2
0
 def setUp(self):
     super(TestStrongSwanScenario, self).setUp()
     self.conf.register_opts(strongswan_ipsec.strongswan_opts, 'strongswan')
     VPNAAS_STRONGSWAN_DEVICE = ('neutron_vpnaas.services.vpn.'
                                 'device_drivers.strongswan_ipsec.'
                                 'StrongSwanDriver')
     cfg.CONF.set_override('vpn_device_driver', [VPNAAS_STRONGSWAN_DEVICE],
                           'vpnagent')
     self.agent = neutron_l3_agent.L3NATAgentWithStateReport(
         'agent1', self.conf)
     self.vpn_agent = vpn_agent.L3WithVPNaaS(self.conf)
     vpn_service = mock.Mock()
     vpn_service.conf = self.conf
     self.driver = strongswan_ipsec.StrongSwanDriver(
         vpn_service, host=mock.sentinel.host)