| |
Configuration file syntax is fairly easy to learn from the included
sample.conf file. A brief summary explaining the format as well as
configuration options is found below.
The file follows the standard INI strucutre. INI files consist of a
number of sections each preceded with the section name in square brackets.
The first non-blank character of the line indicating a section must be
a left bracket and the last non-blank character of a line indicating a
section must be a right bracket. The characters making up the section
name can be any symbols as all, however section names must be unique.
Paramters are specified in each section as Name=Value. Any spaces around
the equals sign will be ignored and the value extends to the end of the
line. Paramter names are localized to the namespace of the section, but
must be unique within a section.
[section]
Parameter=Value
Both the hash mark (#) and the semicolon (;) are comment characters.
Lines that begin with either of these characters will be ignored.
Any amount of whitespace may preceed the comment character.(*)
A basic description of config file options are as
follows:
[global] - Required. Settings placed under this heading will affect
all routers. Options specified under [global] may be superceded by
the same option placed under an individual node's container.
[(hostname)] - Required. At least one hostame container must be
present for Pancho to run. This may be the IP Address, hostname
(DNS or otherwise able to be resolved), or Nickname of the remote
device. If the value is not able to be resolved to a valid IP, the
address must be specified using the IpAddress parameter.
Settings under [(hostname)] take precedence over the same options
specified globally. Through the rest of the document options
configured under [(hostname)] will be referred to as being local.
This value may also be called via dynamic substitution using ::HOST::
PlugInDir - Global. Optional parameter which allows for a secondary
plugin directory to be specified. Pancho checks both the default
plugin location as was defined in the initial install by Makefile.PL
as well as the directory specified by this parameter. A plugin by
the same name found in the directory specified in PlugInDir will take
precedence.
LogFile - Global. Optional parameters used to configure logging to
an external file. The value should be the full path to the log file
on the local server.
ForkLimit - Global. Optional parameter used to configure the max
number of forked processes running at one time. The value should be
a whole integer. Default is 10.
StylePattern - Global or Local. Optional paramter used to configure
the default format for a file being written or read to the server
Dynamic substitution may be made by using ::HOST::, ::NICK::, ::NODE::, and
::DATE:: to create a portion of the file based on these two parameters.
For example, using the StylePattern of "::HOST::-::DATE::.config" would
produce a filename of "edge1-20030815.config"
StyleDate - Global or Local. Optional paramter used to configure the
format of the ::DATE:: substitution string that may be used in
StylePattern. This string is based on the options provided through the
unix 'date' command. The default StyleDate is "%Y%m%d" which
corresponds to YYYYMMDD.
TftpServer - Global or Local. Used to specify the tftp server that
the remote device should send or receive configurations to and from.
This needs to specified at least on the global level or in a manner
such that each node has an accountable tftp server.
TftpPath - Global or Local. This completely optional setting is used
to specify a pathname deeper than the tftp root.
TftpRoot - Global. This setting is required only if you intend
to use the ::FULLPATH:: substitution string in a pre or post
command.
Pre - Global or Local. This optional setting is used to specify
a command to run before any action on a host. Dynamic
substitution may be made using ::HOST::, ::NICK::, ::NODE::, ::FULLPATH::,
::DATE:: and ::FILENAME:: in the command string. For example,
using chmod 777 ::FULLPATH::/::FILENAME:: would change permissions
on the file before the tftp is attempted. You need to use --pre
to tell Pancho to use this.
Post - Global or Local. This optional setting is used to specify
a command to run after any action on a host. Dynamic
substitution may be made using ::HOST::, ::NICK::, ::NODE::, ::FULLPATH::,
::DATE:: and ::FILENAME:: in the command string. For example,
using chmod 555 ::FULLPATH::/::FILENAME:: would change permissions
on the file after the tftp is performed. You need to use --post
to tell Pancho to use this.
SnmpVersion - Global or Local. This setting is optional as Pancho
will use SNMPv1 by default. Valid values are 1, 2c or 3.
SnmpRetries - Global or Local. This setting is optional as Pancho
will use 1 by default. Acceptable values are whole numbers from 1 to 20.
SnmpWait - Global or Local. This setting is optional as Pancho will
use 5.0 by default. Acceptable values may be between 1.0 and 60.0
SnmpMtu - Global or Local. This setting is optional as Pancho will use
1500 by default. the value can be whole numbers from 484 to 65535.
SnmpDebug - Global or Local. This setting is optional as Pancho will
have Debug disabled by default. Values can be 0 (disabled) or 1 (enabled)
SnmpCommunity - Global or Local. This setting must be present if you are
planning on using SNMPv1 or SNMPv2c against a remote node. This must
match the ReadWrite string configured on your remote device.
SnmpUsername - Global or Local. This option is used only when specifying
SNMPv3 as your SnmpVersion.
SnmpAuthProtocol - Global or Local. This option is used only when
specifying SNMPv3 as your SnmpVersion. Values may be sha1 or md5.
SnmpAuthKey - Global or Local. This option is used only when specifying
SNMPv3 as your SnmpVersion.
SnmpAuthPassword - Global or Local. This option is used only when specifying
SNMPv3 as your SnmpVersion.
Group - Local. The option allows for an argument that can be used in
conjunction with the --group command line flag to narrow the list of
nodes affected by the current Pancho run.
IpAddress - Local. This option allows for a node's ip address to be
statically specified. This allows for [(hostname)] containers to use
nicknames, naming conventions that are not held in DNS or another form
of name to address resolution. This value may also be called via
dynamic substitution using ::NODE::
Nickname - Local. This option allows for an alternative name to be
assigned to a node. The value will not be used for address resolution
but can be used in dynamic substitution through the ::NICK:: variable.
When present in a node's configuration options, the default filename
for the host is ::NICK::.cfg
Vlan - Local. This Cisco specific option allows a device to be flagged
as hardware that has a vlan.dat file outside of its running-config. Its
value should be the Cisco naming convention for the vlan.dat file's
location. Examples would be 'flash' or 'const_nvram'. For more information
please consult Cisco's website at cisco.com.
If you have any remaining questions regarding Pancho, please join the
pancho-discuss mailing list. The list is very low traffic, however has a
large number of subscribers who have real world experience using Pancho.
(*) - The description and definition for an INI style file was paraphrased from
Jeremy Wadsack's Config::IniFiles documentation page on CPAN.
| |