Wednesday, March 01, 2006

pymon Sprinting at PyCon 2006

pycon :: pymon :: networking :: programming

For the past two days, I've been working on a Cisco-inspired shell for
pymon. The purpose being: provide a user interface familiar to network
engineers, allowing them to update/control a running pymon instance.
Ravi and I worked on the shell last year, with Ravi writing a
grammar. However, since then, the specs have evolved considerably: they
are now much better defined and understood. As a result of these
changes, I had to chuck the old code and start over. Which isn't a bad
thing, especially since we didn't get very far. Things have gone very
well and I am excited about the direction and rapid movement.

Here's the current status of the current pyparsing grammar work:


  • node (add, update, del, etc.)

  • memory (write, clear)

  • show (nodes, services, lists)

almost done

  • services (add, update, del, etc.)

not started

  • lists (email/notification list management)

During lunch today,
had some great input and had the following requests:

  • acknowledgments via web gui (and maybe also email? irc?)

  • scheduled downtime (existing feature)

  • dependencies (e.g., if the router is down, only notify about the
    router and not all the hosts behind the router) -- because of they way
    I have designed the rules engine, I don't think this will be too
    difficult... and I may even be able to use the NetCIDR package I wrote
    for CoyMon to do this very cleanly

  • read-only SNMP (gets for remote load average and disk usage); this
    should be fairly trivial. We might be able to push this out with the
    next release. It will just use the local agent, like ping does

  • escalations (partially implemented)

  • zsh-like functionality in pymon shell (tab-completion at least)

This gives the project some nice near-term focus which we will be
working on once I restructure the factories and clients and add unit
tests for twisted.trial.

No comments:

Post a Comment