Exemplo n.º 1
0
 def test_gauge(self):
     """Test Gauge can be initialized."""
     os.environ['GAUGE_CONFIG'] = '/dev/null'
     self.os_ken_app = gauge.Gauge(dpset={}, reg=CollectorRegistry())
     self.os_ken_app.reload_config(None)
     self.assertFalse(self.os_ken_app._config_files_changed())
     self.os_ken_app._update_watcher(None, self._fake_event())
     self.os_ken_app._start_watchers(self._fake_dp(), {}, time.time())
     for event_handler in (self.os_ken_app._datapath_connect,
                           self.os_ken_app._datapath_disconnect):
         event_handler(self._fake_event())
Exemplo n.º 2
0
    def test_gauge_config(self):
        """Test Gauge minimal config."""
        tmpdir = tempfile.mkdtemp()
        os.environ['FAUCET_CONFIG'] = os.path.join(tmpdir, 'faucet.yaml')
        os.environ['GAUGE_CONFIG'] = os.path.join(tmpdir, 'gauge.yaml')
        with open(os.environ['FAUCET_CONFIG'], 'w') as faucet_config:
            faucet_config.write(
                """
vlans:
   100:
       description: "100"
dps:
   dp1:
       dp_id: 0x1
       interfaces:
           1:
               description: "1"
               native_vlan: 100
""")
        os.environ['GAUGE_CONFIG'] = os.path.join(tmpdir, 'gauge.yaml')
        with open(os.environ['GAUGE_CONFIG'], 'w') as gauge_config:
            gauge_config.write(
                """
faucet_configs:
   - '%s'
watchers:
    port_status_poller:
        type: 'port_state'
        all_dps: True
        db: 'prometheus'
    port_stats_poller:
        type: 'port_stats'
        all_dps: True
        interval: 10
        db: 'prometheus'
    flow_table_poller:
        type: 'flow_table'
        all_dps: True
        interval: 60
        db: 'prometheus'
dbs:
    prometheus:
        type: 'prometheus'
        prometheus_addr: '0.0.0.0'
        prometheus_port: 0
""" % os.environ['FAUCET_CONFIG'])
        ryu_app = gauge.Gauge(
            dpset={},
            reg=CollectorRegistry())
        ryu_app.reload_config(None)
        self.assertTrue(ryu_app.watchers)
        ryu_app.reload_config(None)
        self.assertTrue(ryu_app.watchers)
        shutil.rmtree(tmpdir)
Exemplo n.º 3
0
    def test_gauge_config(self):
        """Test Gauge minimal config."""
        faucet_conf1 = """
vlans:
   100:
       description: "100"
dps:
   dp1:
       dp_id: 0x1
       interfaces:
           1:
               description: "1"
               native_vlan: 100
"""
        faucet_conf2 = """
vlans:
   100:
       description: "200"
dps:
   dp1:
       dp_id: 0x1
       interfaces:
           2:
               description: "2"
               native_vlan: 100
"""
        os.environ['FAUCET_CONFIG'] = os.path.join(self.tmpdir, 'faucet.yaml')
        self._write_config(os.environ['FAUCET_CONFIG'], faucet_conf1)
        os.environ['GAUGE_CONFIG'] = os.path.join(self.tmpdir, 'gauge.yaml')
        gauge_conf = """
faucet_configs:
   - '%s'
watchers:
    port_status_poller:
        type: 'port_state'
        all_dps: True
        db: 'prometheus'
    port_stats_poller:
        type: 'port_stats'
        all_dps: True
        interval: 10
        db: 'prometheus'
    flow_table_poller:
        type: 'flow_table'
        all_dps: True
        interval: 60
        db: 'prometheus'
dbs:
    prometheus:
        type: 'prometheus'
        prometheus_addr: '0.0.0.0'
        prometheus_port: 0
""" % os.environ['FAUCET_CONFIG']
        self._write_config(os.environ['GAUGE_CONFIG'], gauge_conf)
        self.os_ken_app = gauge.Gauge(dpset={}, reg=CollectorRegistry())
        self.os_ken_app.reload_config(None)
        self.assertFalse(self.os_ken_app._config_files_changed())
        self.assertTrue(self.os_ken_app.watchers)
        self.os_ken_app.reload_config(None)
        self.assertTrue(self.os_ken_app.watchers)
        self.assertFalse(self.os_ken_app._config_files_changed())
        # Load a new FAUCET config.
        self._write_config(os.environ['FAUCET_CONFIG'], faucet_conf2)
        self.assertTrue(self.os_ken_app._config_files_changed())
        self.os_ken_app.reload_config(None)
        self.assertTrue(self.os_ken_app.watchers)
        self.assertFalse(self.os_ken_app._config_files_changed())
        # Load an invalid Gauge config
        self._write_config(os.environ['GAUGE_CONFIG'], 'invalid')
        self.assertTrue(self.os_ken_app._config_files_changed())
        self.os_ken_app.reload_config(None)
        self.assertTrue(self.os_ken_app.watchers)
        # Keep trying to load a valid version.
        self.assertTrue(self.os_ken_app._config_files_changed())
        # Load good Gauge config back
        self._write_config(os.environ['GAUGE_CONFIG'], gauge_conf)
        self.assertTrue(self.os_ken_app._config_files_changed())
        self.os_ken_app.reload_config(None)
        self.assertTrue(self.os_ken_app.watchers)
        self.assertFalse(self.os_ken_app._config_files_changed())