[Infrastructures] using IA methodologies to build network element configuration
Matt S Trout
infrastructures@trout.me.uk
Tue, 5 Apr 2005 15:44:42 +0100
On Mon, Apr 04, 2005 at 02:53:46PM -0800, Brent Chapman wrote:
> At 2:56 PM +0100 4/3/05, Matt S Trout wrote:
> >On Sat, Apr 02, 2005 at 02:55:34PM -0500, Daniel Hagerty wrote:
> >> The routing policy is by far from the only example (like the
> >> firewalls you're avoiding), but it all comes down to the same problems
> >> in the end:
> >>
> >> You have a large, distributed system. Each part of it has to be
> >> consistent with the the whole for the distributed system to perform
> >> correctly. Whether the distributed system consists primarily of unix
> >> machines, or routers is of little consequence -- distributed system
> >> is distributed system.
> >>
> >> If the world was perfect, you could write down a language that
> >> described your entire distributed system, and produce all the other
> >> configuration aspects of it from this one uber language. In practice,
> >> there's some getting there from here to achieve this. People are able
> >> to do it now to more or lesser extents, but we're still producing
> >> these languages in an ad hoc fashion.
> >
> >This is why I'm attempting to build an XML-driven transformation engine
> >that can be used to build up a common library of transforms for various
> >types of devices. It's called BAST, and is still at a very early stage,
> >but it anybody wants to have a look at it, there's a tarball at
> >http://trout.me.uk/perl/ - have a look in the 'data/network/' directory
> >for some proof-of-concept work generating configurations for switches.
>
> Yes, this looks like the sort of template-driven config-generator
> that I was talking about in my previous message. Great start! Where
> are you planning on going with it? Any idea about timeline and
> eventual availability?
Well, I'm intending to rewrite the core again over the next day or two to
get a lower-level set of primitives (the current tags will all be
provisioned into the system by the system itself). Then I'll be adding
"released under the GPL" to everything and setting up a CVS repo for it :)
Development will basically go as I have time and/or need enhancements for
client deployments - however the aim is not just to be able to generate the
configs but to automatically provision them to the appropriate devices. The
system is intended to be a general provisioner for things - dealing with the
building-a-config type of issues that isconf stays well clear of, and also
providing a web interface (if you want it) to manage the datastore for object
information. I spent a couple years working on ISP automation systems, and
I'm trying to abstract that knowledge out to provide something more reliable
and faster to develop with than the current ad-hoc in-house solutions most
places seem to use.
I'll post details on CVS repo and mailing list to here when I've got them
running.
--
Matt S Trout Brag sheet: http://trout.me.uk/services.html
LAMP, Infrastructure Contact: services@trout.me.uk
and Automation
specialist Do it once. Do it right.