Archive for January, 2010

Making the perl in to ruby

Sunday, January 24th, 2010

I think it’s high time I removed the SNMP proxy.  It’s coded in perl, which is a language I love and have used for years, but not one which fits in to NetHorus in any way that could be considered pretty.

The history is concise – since NetHorus depends on SNMP heavily, it made sense to use Perl’s SNMP library to get things up and running.  I coded a proxy using XMLRPC, which Perl and Ruby both speak, with the intention of removing the Perl proxy at some time.

That time is now.  The SNMP support in Ruby is there, some quick tests have shown it can import MIB files, so here goes…

Welcome to 2010

Wednesday, January 20th, 2010

Three or four months of development is now checked in to Subversion.  Over 90% of the code should be covered by RSpec tests, and there are two important new features:

  • Background queue daemon, which queues jobs submitted from the web interface – and later, scheduled and reactive jobs.
  • Worker process, which pulls jobs from the queue daemon and does the actual work.  A lot of the code from the Device model is now in a separate library.

And what’s next on the roadmap?

  • Built-in SNMP support – no more external SNMP proxy.  I am biting the bullet and using Ruby’s SNMP support… wish me luck as it doesn’t appear to be as good as Net-SNMP!
  • Scheduled jobs, such as backing up configurations every night (or more often)
  • Cucumber support for testing.  Brian Candler (of deploy2.net) has shown me exactly how cool it is.

I am hoping to get a beta (or at least alpha) release out in the next few months.  That’s not bad going for somebody who has a full-time day job and a pretty busy social life :)