def from_worker(cls, worker_class, driver=None): args = (cfg.get_ovn_sb_connection(), 'OVN_Southbound') if worker_class == worker.MaintenanceWorker: idl_ = ovsdb_monitor.BaseOvnSbIdl.from_server(*args) else: idl_ = ovsdb_monitor.OvnSbIdl.from_server(*args, driver=driver) conn = connection.Connection(idl_, timeout=cfg.get_ovn_ovsdb_timeout()) return cls(conn)
def __init__(self, events=None): connection_string = config.get_ovn_sb_connection() ovsdb_monitor._check_and_set_ssl_files(self.SCHEMA) helper = self._get_ovsdb_helper(connection_string) tables = ('Chassis', 'Encap', 'Port_Binding', 'Datapath_Binding', 'SB_Global') for table in tables: helper.register_table(table) super(MetadataAgentOvnSbIdl, self).__init__(None, connection_string, helper) if events: self.notify_handler.watch_events(events)
def setUp(self): super().setUp() self.dbs = [(ovn_conf.get_ovn_nb_connection(), 'ptcp:1000:1.2.3.4'), (ovn_conf.get_ovn_sb_connection(), 'ptcp:1001:1.2.3.4')] linux_utils.execute([ 'ovn-nbctl', '--db=%s' % self.dbs[0][0], 'set-connection', self.dbs[0][1] ], run_as_root=True, privsep_exec=True) linux_utils.execute([ 'ovn-sbctl', '--db=%s' % self.dbs[1][0], 'set-connection', self.dbs[1][1] ], run_as_root=True, privsep_exec=True)
def __init__(self, chassis=None, events=None, tables=None): connection_string = config.get_ovn_sb_connection() ovsdb_monitor._check_and_set_ssl_files(self.SCHEMA) helper = self._get_ovsdb_helper(connection_string) if tables is None: tables = ('Chassis', 'Encap', 'Port_Binding', 'Datapath_Binding', 'SB_Global') for table in tables: helper.register_table(table) super(MetadataAgentOvnSbIdl, self).__init__(None, connection_string, helper) if chassis: table = ('Chassis_Private' if 'Chassis_Private' in tables else 'Chassis') self.tables[table].condition = [['name', '==', chassis]] if events: self.notify_handler.watch_events(events)
def get_connection(db_class, trigger=None, driver=None, binding_events=False): if db_class == OvsdbNbOvnIdl: args = (cfg.get_ovn_nb_connection(), 'OVN_Northbound') elif db_class == OvsdbSbOvnIdl: args = (cfg.get_ovn_sb_connection(), 'OVN_Southbound') if binding_events: if db_class == OvsdbNbOvnIdl: idl_ = ovsdb_monitor.OvnNbIdl.from_server(*args, driver=driver) else: idl_ = ovsdb_monitor.OvnSbIdl.from_server(*args, driver=driver) else: if db_class == OvsdbNbOvnIdl: idl_ = ovsdb_monitor.BaseOvnIdl.from_server(*args) else: idl_ = ovsdb_monitor.BaseOvnSbIdl.from_server(*args) return connection.Connection(idl_, timeout=cfg.get_ovn_ovsdb_timeout())
def __init__(self, chassis=None, events=None, tables=None): connection_string = config.get_ovn_sb_connection() ovsdb_monitor._check_and_set_ssl_files(self.SCHEMA) helper = self._get_ovsdb_helper(connection_string) if tables is None: tables = ('Chassis', 'Encap', 'Port_Binding', 'Datapath_Binding', 'SB_Global') for table in tables: helper.register_table(table) try: super(MetadataAgentOvnSbIdl, self).__init__(None, connection_string, helper, leader_only=False) except TypeError: # TODO(twilson) We can remove this when we require ovs>=2.12.0 super(MetadataAgentOvnSbIdl, self).__init__(None, connection_string, helper) if chassis: for table in set(tables).intersection( {'Chassis', 'Chassis_Private'}): self.set_table_condition(table, [['name', '==', chassis]]) if events: self.notify_handler.watch_events(events)
def connection_string(cls): return cfg.get_ovn_sb_connection()