Beispiel #1
0
def main():
    syslog.openlog(ident="IPCheck-ALERT-AGENT",
                   logoption=syslog.LOG_PID,
                   facility=syslog.LOG_LOCAL0)
    sdk = eossdk.Sdk()
    IPCheck = IPCheckAgent(sdk, sdk.get_timeout_mgr())
    sdk.main_loop(sys.argv)
Beispiel #2
0
def main():
    syslog.openlog(ident="toptalkers-AGENT",
                   logoption=syslog.LOG_PID,
                   facility=syslog.LOG_LOCAL4)
    sdk = eossdk.Sdk()
    toptalkers = toptalkersAgent(sdk, sdk.get_timeout_mgr())
    sdk.main_loop(sys.argv)
Beispiel #3
0
def main():
    syslog.openlog(ident="PingCheck-ALERT-AGENT",
                   logoption=syslog.LOG_PID,
                   facility=syslog.LOG_LOCAL4)
    sdk = eossdk.Sdk()
    PingCheck = PingCheckAgent(sdk, sdk.get_timeout_mgr(), sdk.get_vrf_mgr(),
                               sdk.get_eapi_mgr())
    sdk.main_loop(sys.argv)
Beispiel #4
0
def main():
   # Because we use `print' and we want our stuff to show up in the
   # agent logs immediately.
   os.environ['PYTHONUNBUFFERED'] = '1'  # TODO: Use tracing instead.
   # Config file path has to be provided by the environment variable
   filename = os.environ.get('POLICY_ROUTER_CONFIG')

   # Obtain a reference to the EOS SDK
   sdk = eossdk.Sdk()
   # Instantiate the policy router application
   _ = PolicyHandler(sdk, filename)
   # Run the agent until terminated by a signal
   sdk.main_loop(['PolicyRouter'])
Beispiel #5
0
def main():
    if eossdk == None:
        # This collector requires the eossdk module
        return 13  # Ask tcollector to not respawn us

    sdk = eossdk.Sdk("tcollector-eos")

    # Create the state managers we're going to poll. For now,
    # we're just pulling information on interface counters
    agent_mgr = sdk.get_agent_mgr()
    intf_mgr = sdk.get_intf_mgr()
    intf_counter_mgr = sdk.get_intf_counter_mgr()
    eth_phy_intf_counter_mgr = sdk.get_eth_phy_intf_counter_mgr()
    timeout_mgr = sdk.get_timeout_mgr()

    # Create a periodic interface counter collector
    _ = IntfCounterCollector(agent_mgr, timeout_mgr, intf_mgr,
                             intf_counter_mgr, eth_phy_intf_counter_mgr)

    # Start the main loop
    sdk.main_loop(sys.argv)
Beispiel #6
0
    def insert_v6_routes_vrf(self, start, end, vrf):
        self.tracer.trace1("Starting to insert {} v6_routes into vrf {}, \
                          starting at route {}".format(end, vrf, start))
        for i in range(start, end):
            rkey6 = self.create_ip_v6_route_key(i)
            route6 = eossdk.IpRoute(rkey6)
            route6.tag_is(self.tag)
            self.ipMgr.ip_route_set(route6, vrf)

        self.tracer.trace1("Finished inserting {} routes into vrf {}, \
                          starting at route {}".format(end, vrf, start))

    def delete_v6_routes_vrf(self, start, end, vrf):
        self.tracer.trace1("Starting to delete {} routes from vrf {}, \
                          starting at route {}".format(end, vrf, start))
        for i in range(start, end):
            rkey6 = self.create_ip_v6_route_key(i)
            self.ipMgr.ip_route_del(rkey6, vrf)

        self.tracer.trace1("Finished deleting {} routes into vrf {}, \
                          starting at route {}".format(end, vrf, start))


if __name__ == "__main__":
    sdk_ = eossdk.Sdk()
    # Assign the agent instance to a variable so it remains in scope and
    # is not deleted:
    _ = RouteUpdater(sdk_)
    sdk_.main_loop(sys.argv)
Beispiel #7
0
def main(args):
    sdk = eossdk.Sdk()
    _ = MplsTunnelLivenessAgent(sdk)
    sdk.main_loop(args)
Beispiel #8
0
        # pylint: enable-msg=E1101
        self.inotifier = pyinotify.AsyncNotifier(self.wm,
                                                 InotifyHandler(parent=self))
        # We coalesce events because some editors (or unix operations) cause
        # multiple changes on one save.
        self.inotifier.coalesce_events(True)

        # Now that we've set up our inotify watcher and notifier, grab
        # the underlying file descriptor and pass it to the SDK to be
        # watched. When the OS detects a change to the file, we'll
        self.inotify_fd = self.wm.get_fd()
        self.tracer.trace0("Watching inotify fd: %d" % self.inotify_fd)
        self.watch_readable(self.inotify_fd, True)

    def on_readable(self, fd):
        if fd == self.inotify_fd:
            self.inotifier.handle_read()

    def process_file(self):
        self.tracer.trace0("Re-processing config")


if __name__ == "__main__":
    sdk = eossdk.Sdk()
    parser = argparse.ArgumentParser(
        description="Watch a file for changes using EOS SDK's `fd` module.")
    parser.add_argument("filename", help="the file to watch")
    args = parser.parse_args()
    _ = FileWatcher(args.filename)
    sdk.main_loop(sys.argv)
Beispiel #9
0
def main():
    sdk = eossdk.Sdk()
    _ = TcollectorAgent(sdk)
    debug("Starting agent")
    sdk.main_loop(sys.argv)
Beispiel #10
0
def main():
    sdk = eossdk.Sdk()
    ACLerator = ACLerate(sdk)
    sdk.main_loop(sys.argv)
Beispiel #11
0
def main(args):
    sdk = eossdk.Sdk("DirectFlowProgrammer")
    programmer = DirectFlowProgrammer(sdk.get_agent_mgr(),
                                      sdk.get_directflow_mgr())
    sdk.main_loop(sys.argv)
    print "Saw %d flow status changes" % programmer.changes
Beispiel #12
0
def main(args):
    sdk = eossdk.Sdk()
    testAgent = MyTestAgent(sdk.get_agent_mgr(), sdk.get_intf_mgr(),
                            "Ethernet1")
    sdk.main_loop(args)
    print "Handled %d events" % testAgent.eventCount
def main():
    syslog.openlog(ident="INTF-ALERT-AGENT",logoption=syslog.LOG_PID, facility=syslog.LOG_LOCAL0)
    sdk = eossdk.Sdk()
    _ = intfReactor(sdk, sdk.get_agent_mgr(), sdk.get_intf_mgr())
    sdk.main_loop(sys.argv)