/gerty

A universal framework for device management automation. Eventually a replacement for RANCID... and much more

Primary LanguagePerlGNU General Public License v2.0GPL-2.0

GERTY
=====
a proper way of doing things that RANCID does... and much more

Project status: preparing for a release.


Originally GERTY was a robot character in the film "Moon" (2009) by
Duncan Jones, with Kevin Spacey's voice.


Gerty is the automation tool for network operation tasks, like:
* Collecting status and configuration data
* Executing remote commands
* Parallel, massive execution

Various management access interfaces are available:
* Telnet/SSH command line
* SNMP
* NETCONF
* TL/1


Usage examples
--------------

* Device configuration backup

* VPLS MAC counts on Juniper MX platform: per-instance and per-VLAN
  counts for every routing instance, stored in SQL DB

* 15-minute HDSL line quality statistics (ES, SES, CRCA, LOSWS, UAS)
  collected every few hours and stored in SQL DB

* Chassis hardware types, serial numbers, IOS versions for Cisco
  devices, stored in SQL, with change history

* Port status, CDP neighbours, UDLD status for Cisco devices, stored in
  SQL, with change history


Vendor-specific plugins
-----------------------

The core Gerty package contains only vendor-independent features. All
vendor-specific features are packaged in plugins. Vurrently plugins for
Cisco, Juniper, and some xDSL equipment are available:

https://github.com/ssinyagin/gerty-plugins 



DOCUMENTATION
-------------

User guide:
doc/gerty_userguide.markdown

Architecture and design:
doc/gerty_architecture.markdown

Software documentation:
doc/gerty_job_configuration.markdown
doc/gerty_siteconfig_configuration.markdown
doc/gerty_devclass_configuration.markdown
doc/gerty_device_attributes.markdown


Installing from sources:
------------------------

Pre-requisites: autoconf, automake, and a number of Perl modules

  git clone https://github.com/ssinyagin/gerty.git
  cd gerty
  autoreconf
  ./configure --prefix=/opt/gerty
  make
  make install

later on, "git pull" would refresh your copy with the latest updates


Installing documentation
------------------------

apt-get install pandoc
sh mkhtml.sh ~/public_html/gerty/
pandoc -s doc/gerty_manpage.markdown --to=man -o /usr/local/man/man1/gerty.1


Ubuntu and Debian pre-requisites:
---------------------------------

apt-get install make libtool autoconf git-core \
  libconfig-tiny-perl libconfig-any-perl  \
  liblog-handler-perl libexpect-perl \
  libxml-libxml-perl libnet-snmp-perl \
  libdbi-perl



Mailing list
------------

http://chilli.nosignal.org/mailman/listinfo/gerty-users
(thanks to Andy Davidson)


TO DO
-----

* automate backup for Cisco files, like "vlan.dat"
   (suggested by Viktor Steinmann <stony@stony.com>)
* write "Gerty Developer Guide"
* update documentation on Netconf, SNMP, TL1
* update documentation on DBLink and action postprocessing





Author:
-------

Stanislav Sinyagin
CCIE #5478
ssinyagin@k-open.com
+41 79 407 0224