Exemple #1
0
    def _start_ovsdb_server(self):
        # Start 2 ovsdb-servers one each for OVN NB DB and OVN SB DB
        # ovsdb-server with OVN SB DB can be used to test the chassis up/down
        # events.
        install_share_path = self._get_install_share_path()
        self.ovsdb_server_mgr = self.useFixture(
            process.OvsdbServer(self.temp_dir, install_share_path,
                                ovn_nb_db=True, ovn_sb_db=True,
                                protocol=self._ovsdb_protocol))
        set_cfg = cfg.CONF.set_override
        set_cfg('ovn_nb_connection',
                self.ovsdb_server_mgr.get_ovsdb_connection_path(), 'ovn')
        set_cfg('ovn_sb_connection',
                self.ovsdb_server_mgr.get_ovsdb_connection_path(
                    db_type='sb'), 'ovn')
        set_cfg('ovn_nb_private_key', self.ovsdb_server_mgr.private_key, 'ovn')
        set_cfg('ovn_nb_certificate', self.ovsdb_server_mgr.certificate, 'ovn')
        set_cfg('ovn_nb_ca_cert', self.ovsdb_server_mgr.ca_cert, 'ovn')
        set_cfg('ovn_sb_private_key', self.ovsdb_server_mgr.private_key, 'ovn')
        set_cfg('ovn_sb_certificate', self.ovsdb_server_mgr.certificate, 'ovn')
        set_cfg('ovn_sb_ca_cert', self.ovsdb_server_mgr.ca_cert, 'ovn')

        # NOTE(mjozefcz): We can find occasional functional test
        # failures because of low timeout value - set it to 30
        # seconds, should be enought. More info: 1868110
        cfg.CONF.set_override(
            'ovsdb_connection_timeout', 30,
            'ovn')
        self.addCleanup(self._collect_processes_logs)
Exemple #2
0
    def _start_ovsdb_server_and_idls(self):
        # Start 2 ovsdb-servers one each for OVN NB DB and OVN SB DB
        # ovsdb-server with OVN SB DB can be used to test the chassis up/down
        # events.
        install_share_path = self._get_install_share_path()
        self.ovsdb_server_mgr = self.useFixture(
            process.OvsdbServer(self.temp_dir,
                                install_share_path,
                                ovn_nb_db=True,
                                ovn_sb_db=True,
                                protocol=self._ovsdb_protocol))
        set_cfg = cfg.CONF.set_override
        set_cfg('ovn_nb_connection',
                self.ovsdb_server_mgr.get_ovsdb_connection_path(), 'ovn')
        set_cfg('ovn_sb_connection',
                self.ovsdb_server_mgr.get_ovsdb_connection_path(db_type='sb'),
                'ovn')
        set_cfg('ovn_nb_private_key', self.ovsdb_server_mgr.private_key, 'ovn')
        set_cfg('ovn_nb_certificate', self.ovsdb_server_mgr.certificate, 'ovn')
        set_cfg('ovn_nb_ca_cert', self.ovsdb_server_mgr.ca_cert, 'ovn')
        set_cfg('ovn_sb_private_key', self.ovsdb_server_mgr.private_key, 'ovn')
        set_cfg('ovn_sb_certificate', self.ovsdb_server_mgr.certificate, 'ovn')
        set_cfg('ovn_sb_ca_cert', self.ovsdb_server_mgr.ca_cert, 'ovn')

        # NOTE(mjozefcz): We can find occasional functional test
        # failures because of low timeout value - set it to 30
        # seconds, should be enought. More info: 1868110
        cfg.CONF.set_override('ovsdb_connection_timeout', 30, 'ovn')

        class TriggerCls(mock.MagicMock):
            def trigger(self):
                pass

        trigger_cls = TriggerCls()
        if self.maintenance_worker:
            trigger_cls.trigger.__self__.__class__ = worker.MaintenanceWorker
            cfg.CONF.set_override('neutron_sync_mode', 'off', 'ovn')
        else:
            trigger_cls.trigger.__self__.__class__ = neutron.wsgi.WorkerService

        self.addCleanup(self._collect_processes_logs)
        self.addCleanup(self.stop)
        self.mech_driver.pre_fork_initialize(mock.ANY, mock.ANY,
                                             trigger_cls.trigger)

        # mech_driver.post_fork_initialize creates the IDL connections
        self.mech_driver.post_fork_initialize(mock.ANY, mock.ANY,
                                              trigger_cls.trigger)

        self.nb_api = self.mech_driver._nb_ovn
        self.sb_api = self.mech_driver._sb_ovn
Exemple #3
0
 def setUp(self):
     # skip parent setUp, we don't need it, but we do need grandparent
     # pylint: disable=bad-super-call
     super(base.TestOVNFunctionalBase, self).setUp()
     mm = directory.get_plugin().mechanism_manager
     self.mech_driver = mm.mech_drivers['ovn'].obj
     self.temp_dir = self.useFixture(og_fixtures.TempDir()).path
     install_share_path = self._get_install_share_path()
     self.mgr = self.useFixture(
         process.OvsdbServer(self.temp_dir, install_share_path,
                             ovn_nb_db=True, ovn_sb_db=True,
                             protocol='tcp'))
     connection = self.mgr.get_ovsdb_connection_path
     self.connections = {'OVN_Northbound': connection(),
                         'OVN_Southbound': connection(db_type='sb')}
Exemple #4
0
    def _start_ovsdb_server_and_idls(self):
        # Start 2 ovsdb-servers one each for OVN NB DB and OVN SB DB
        # ovsdb-server with OVN SB DB can be used to test the chassis up/down
        # events.
        install_share_path = self._get_install_share_path()
        self.ovsdb_server_mgr = self.useFixture(
            process.OvsdbServer(self.temp_dir,
                                install_share_path,
                                ovn_nb_db=True,
                                ovn_sb_db=True,
                                protocol=self._ovsdb_protocol))
        set_cfg = cfg.CONF.set_override
        set_cfg('ovn_nb_connection',
                self.ovsdb_server_mgr.get_ovsdb_connection_path(), 'ovn')
        set_cfg('ovn_sb_connection',
                self.ovsdb_server_mgr.get_ovsdb_connection_path(db_type='sb'),
                'ovn')
        set_cfg('ovn_nb_private_key', self.ovsdb_server_mgr.private_key, 'ovn')
        set_cfg('ovn_nb_certificate', self.ovsdb_server_mgr.certificate, 'ovn')
        set_cfg('ovn_nb_ca_cert', self.ovsdb_server_mgr.ca_cert, 'ovn')
        set_cfg('ovn_sb_private_key', self.ovsdb_server_mgr.private_key, 'ovn')
        set_cfg('ovn_sb_certificate', self.ovsdb_server_mgr.certificate, 'ovn')
        set_cfg('ovn_sb_ca_cert', self.ovsdb_server_mgr.ca_cert, 'ovn')

        # 5 seconds should be more than enough for the transaction to complete
        # for the test cases.
        # This also fixes the bug #1607639.
        cfg.CONF.set_override('ovsdb_connection_timeout', 5, 'ovn')

        class TriggerCls(mock.MagicMock):
            def trigger(self):
                pass

        trigger_cls = TriggerCls()
        if self.maintenance_worker:
            trigger_cls.trigger.__self__.__class__ = worker.MaintenanceWorker
            cfg.CONF.set_override('neutron_sync_mode', 'off', 'ovn')

        self.addCleanup(self._collect_processes_logs)
        self.addCleanup(self.stop)

        # mech_driver.post_fork_initialize creates the IDL connections
        self.mech_driver.post_fork_initialize(mock.ANY, mock.ANY,
                                              trigger_cls.trigger)

        self.nb_api = self.mech_driver._nb_ovn
        self.sb_api = self.mech_driver._sb_ovn
Exemple #5
0
 def setUp(self):
     # We need an OvsdbServer that uses TCP because probe_interval is always
     # zero for unix socket connections, which is what the parent uses
     temp_dir = self.useFixture(og_fixtures.TempDir()).path
     install_share_path = self._get_install_share_path()
     mgr = self.useFixture(
         process.OvsdbServer(temp_dir,
                             install_share_path,
                             ovn_nb_db=True,
                             ovn_sb_db=True,
                             protocol='tcp'))
     connection = mgr.get_ovsdb_connection_path
     self.connections = {
         'OVN_Northbound': connection(),
         'OVN_Southbound': connection(db_type='sb')
     }
     super().setUp()
    def setUp(self):
        temp_dir = self.useFixture(og_fixtures.TempDir()).path
        install_share_path = self._get_install_share_path()
        mgr = self.useFixture(
            process.OvsdbServer(temp_dir,
                                install_share_path,
                                ovn_nb_db=True,
                                ovn_sb_db=True,
                                protocol='tcp'))
        connection = mgr.get_ovsdb_connection_path

        nb_conns = connection()
        sb_conns = connection(db_type='sb')
        # add fake address, idl support multiple addresses, as long as there
        # is an available address, it will run successfully.
        nb_conns += ',tcp:192.168.0.1:6641'
        sb_conns += ',tcp:192.168.0.1:6642'
        self.connections = {
            'OVN_Northbound': nb_conns,
            'OVN_Southbound': sb_conns
        }
        super().setUp()