示例#1
0
    def _initialize_faucetizer(self, sequester_segment=None):
        orch_config = self._config.orchestration

        self._config_file_watcher = FileChangeWatcher(
            os.path.dirname(self._structural_config_file))

        self._faucetizer = faucetizer.Faucetizer(orch_config,
                                                 self._structural_config_file,
                                                 self._behavioral_config_file,
                                                 self, sequester_segment)

        if orch_config.faucetize_interval_sec:
            self._faucetize_scheduler = HeartbeatScheduler(
                orch_config.faucetize_interval_sec)

            update_write_faucet_config = (
                lambda: (self._faucetizer.reload_structural_config(),
                         self._faucetizer.flush_behavioral_config(force=True)))
            self._faucetize_scheduler.add_callback(update_write_faucet_config)
        else:
            self._config_file_watcher.register_file_callback(
                self._structural_config_file,
                self._faucetizer.reload_structural_config)
            if self._gauge_config_file:
                self._config_file_watcher.register_file_callback(
                    self._gauge_config_file,
                    self._faucetizer.reload_and_flush_gauge_config)

        if self._segments_vlans_file:
            self._config_file_watcher.register_file_callback(
                self._segments_vlans_file,
                self._faucetizer.reload_segments_to_vlans)
示例#2
0
文件: network.py 项目: didovesei/daq
 def __init__(self, config):
     self.config = config
     self.net = None
     self.pri = None
     self.sec = None
     self.sec_dpid = None
     self.sec_port = None
     self.tap_intf = None
     self._settle_sec = int(config['settle_sec'])
     subnet = config.get('internal_subnet',
                         {}).get('subnet', self.DEFAULT_MININET_SUBNET)
     self._mininet_subnet = ip_network(subnet)
     self.topology = FaucetTopology(self.config)
     self.ext_intf = self.topology.get_ext_intf()
     switch_setup = config.get('switch_setup', {})
     self.ext_faucet_ofpt = int(
         switch_setup.get('lo_port', self.DEFAULT_FAUCET_OF_PORT))
     self.ext_gauge_ofpt = int(
         switch_setup.get('lo_port_2', self.DEFAULT_GAUGE_OF_PORT))
     self.ext_loip = switch_setup.get('mods_addr')
     self.switch_links = {}
     orch_config = OrchestrationConfig()
     self.faucitizer = faucetizer.Faucetizer(orch_config,
                                             self.INTERMEDIATE_FAUCET_FILE,
                                             self.OUTPUT_FAUCET_FILE)
示例#3
0
 def __init__(self, config):
     self.config = config
     self.net = None
     self.pri = None
     self.sec = None
     self.sec_dpid = None
     self.sec_port = None
     self.ext_intf = None
     self.ext_ofpt = int(config.get('ext_ofpt', self.DEFAULT_OF_PORT))
     self.switch_links = {}
     self.topology = FaucetTopology(self.config)
     self.faucitizer = faucetizer.Faucetizer(None, None)
示例#4
0
 def __init__(self, config):
     self.config = config
     self.net = None
     self.pri = None
     self.sec = None
     self.sec_dpid = None
     self.sec_port = None
     self.topology = FaucetTopology(self.config)
     self.ext_intf = self.topology.get_ext_intf()
     switch_setup = config.get('switch_setup', {})
     self.ext_ofpt = int(switch_setup.get('lo_port', self.DEFAULT_OF_PORT))
     self.ext_loip = switch_setup.get('mods_addr')
     self.switch_links = {}
     self.faucitizer = faucetizer.Faucetizer(None, None)