Hello!
I'm very excited to announce the release of Trigger 1.2. The emphasis of this release was to lower the barrier to entry for new users of Trigger by improving the documentation with ample examples and making some of the more powerful features as simple as possible to use. I also wanted to make it much easier to write reusable code that was free of boilerplate.
One of the new features I'm most excited about is the addition of support for RANCID as source of network device metadata. If you've worked with network hardware, it's almost certain that you've used RANCID at some point. With this in mind, I wanted to leverage an existing RANCID instance to feed Trigger and while this support is not complete and comes with a few caveats, it's a huge step in the right direction.
Here is the changelog:
Here are the highlights:
- RANCID is now officially supported as a source for network device
metadata. A new RANCID compatibility module has been added at
trigger.rancid.
- When device objects are created, the manufacturer attribute is mapped
to a canonical vendor attribute. This is intended to normalize the way
that Trigger identifies vendors internally by a single lower-cased
word.
- The Commando remote execution API has been completely redesigned to reduce
boilerplate and simplify creation of new command adapters. This is leveraging
the changes to NetDevice objects, where the vendor name can be expected to
always be normalized to a single, lower-cased word. Defining commands to send
to devices is as simple as definiing a "to_{vendor}" method, and parsing
return results as simple as "from_{vendor}".
- Manually executing commands on network devices or getting a pty is now as
simple as a single method call.
- SSH can now be auto-detected on a device and can optionally automatically
fallback to telnet. Telnet can also be explicitly disabled if you so desire.
jathan.