lots of docs

This commit is contained in:
Oliver Gorwits
2013-06-08 19:24:47 +01:00
parent 4a1ccba71a
commit eda73c7dac
9 changed files with 132 additions and 20 deletions

View File

@@ -22,7 +22,7 @@ use Getopt::Long;
nd-dbic-versions - Create DB Schema Versions for Netdisco nd-dbic-versions - Create DB Schema Versions for Netdisco
=head2 USAGE =head1 USAGE
This script creates SQL DDL files of the Netdisco database schema. This script creates SQL DDL files of the Netdisco database schema.
@@ -33,7 +33,7 @@ If called with the "-p <version>" option, upgrade SQL DDL command files
are created between the specified version and the current DBIx::Class are created between the specified version and the current DBIx::Class
specification. specification.
=head2 New Version =head1 NEW VERSION
=over 4 =over 4

View File

@@ -23,11 +23,11 @@ use Try::Tiny;
nd-import-topology - Import a Nedisco 1.x Manual Topology File nd-import-topology - Import a Nedisco 1.x Manual Topology File
=head2 USAGE =head1 USAGE
./nd-import-topology /path/to/netdisco-topology.txt ~/bin/localenv nd-import-topology /path/to/netdisco-topology.txt
=head2 DESCRIPTION =head1 DESCRIPTION
This helper script will read and import the content of a Netdisco 1.x format This helper script will read and import the content of a Netdisco 1.x format
Manual Topology file into the Netdisco 2.x database's C<topology> table. Manual Topology file into the Netdisco 2.x database's C<topology> table.

View File

@@ -21,7 +21,7 @@ use Try::Tiny;
netdisco-db-deploy - Database deployment for Netdisco netdisco-db-deploy - Database deployment for Netdisco
=head2 USAGE =head1 USAGE
This script upgrades or initialises a Netdisco database schema. This script upgrades or initialises a Netdisco database schema.
@@ -35,7 +35,7 @@ interaction. If there's no Nedisco schema, it is deployed. If there's an
unversioned schema then versioning is added, and updates applied. Otherwise unversioned schema then versioning is added, and updates applied. Otherwise
only necessary updates are applied to an already versioned schema. only necessary updates are applied to an already versioned schema.
=head2 Versions =head1 VERSIONS
=over 4 =over 4

View File

@@ -50,7 +50,7 @@ use Try::Tiny;
netdisco-deploy - Database, OUI and MIB deployment for Netdisco netdisco-deploy - Database, OUI and MIB deployment for Netdisco
=head2 USAGE =head1 USAGE
This script deploys the Netdisco database schema, OUI data, and MIBs. Each of This script deploys the Netdisco database schema, OUI data, and MIBs. Each of
these is an optional service which the user is asked to confirm. these is an optional service which the user is asked to confirm.

View File

@@ -16,6 +16,71 @@ use App::Netdisco;
use Dancer qw/:moose :script/; use Dancer qw/:moose :script/;
use Dancer::Plugin::DBIC 'schema'; use Dancer::Plugin::DBIC 'schema';
=head1 NAME
netdisco-do - Run any Netdisco poller job from the command-line.
=head1 USAGE
~/bin/netdisco-do <action> [-D] [-d <device> [-p <port>] [-e <extra>]]
Regardless of Netdisco configuration, debug level logging is enabled if the
C<-D> flag is given.
=head1 DESCRIPTION
This program allows you to run any Netdisco poller job from the command-line.
Note that some jobs (C<discoverall>, C<macwalk>, C<arpwalk>) simply add
entries to the Netdisco job queue for other jobs, so won't seem to do much
when you trigger them.
=head1 ACTIONS
=head2 discover
Run a discover on the device (specified with C<-d>).
=head2 macsuck
Run a macsuck on the device (specified with C<-d>).
=head2 arpnip
Run an arpnip on the device (specified with C<-d>).
=head2 set_location
Set the SNMP location field on the device (specified with C<-d>). Pass the
location string in the C<-e> extra parameter.
=head2 set_contact
Set the SNMP contact field on the device (specified with C<-d>). Pass the
contact name in the C<-e> extra parameter.
=head2 set_portname
Set the description on a device port. Requires the C<-d> parameter (device),
C<-p> parameter (port), and C<-e> parameter (description).
=head2 set_portcontrol
Set the up/down status on a device port. Requires the C<-d> parameter
(device), C<-p> parameter (port), and C<-e> parameter ("up" or "down").
=head2 set_vlan
Set the native VLAN on a device port. Requires the C<-d> parameter (device),
C<-p> parameter (port), and C<-e> parameter (VLAN number).
=head2 set_power
Set the PoE on/off status on a device port. Requires the C<-d> parameter
(device), C<-p> parameter (port), and C<-e> parameter ("true" or "false").
=cut
info "App::Netdisco version $App::Netdisco::VERSION loaded."; info "App::Netdisco version $App::Netdisco::VERSION loaded.";
use Try::Tiny; use Try::Tiny;
@@ -52,6 +117,8 @@ if (!length $action) {
with 'App::Netdisco::Daemon::Worker::Poller::Device'; with 'App::Netdisco::Daemon::Worker::Poller::Device';
with 'App::Netdisco::Daemon::Worker::Poller::Arpnip'; with 'App::Netdisco::Daemon::Worker::Poller::Arpnip';
with 'App::Netdisco::Daemon::Worker::Poller::Macsuck'; with 'App::Netdisco::Daemon::Worker::Poller::Macsuck';
with 'App::Netdisco::Daemon::Worker::Interactive::DeviceActions';
with 'App::Netdisco::Daemon::Worker::Interactive::PortActions';
} }
my $worker = MyWorker->new(); my $worker = MyWorker->new();

View File

@@ -183,9 +183,27 @@ or MAC addreses, VLAN numbers, and so on.
When user authentication is disabled (C<no_auth>) the default username is When user authentication is disabled (C<no_auth>) the default username is
"guest", which has no special privilege. To grant port and device control "guest", which has no special privilege. To grant port and device control
rights to this user, create a row in the C<users> table of the Netdisco rights to this user, create a row in the C<users> table of the Netdisco
database with a username of C<guest> and the C<port_control> flag set to true: database with a username of C<guest> and appropriate flags set to true:
netdisco=> insert into users (username, port_control) values ('guest', true); netdisco=> insert into users (username) values ('guest');
netdisco=> update users set port_control = true where username = 'guest';
netdisco=> update users set admin = true where username = 'guest';
=head2 Command-Line Device and Port Actions
To run a device (discover, etc) or port control job from the command-line, use
the bundled L<netdisco-do> program. For example:
~/bin/netdisco-do -D discover -d 192.0.2.1
=head2 Import Topology
Netdisco 1.x had support for a topology information file to fill in device
port relations which could not be discovered. This is now stored in the
database (and edited in the web interface). To import a legacy topology file,
run:
~/bin/localenv nd-import-topology /path/to/netdisco-topology.txt
=head2 Deployment Scenarios =head2 Deployment Scenarios
@@ -202,10 +220,8 @@ documentation for further information.
=head2 Plugins =head2 Plugins
App::Netdisco includes a Plugin subsystem for building the web user interface. App::Netdisco includes a Plugin subsystem for customizing the web user
Items in the navigation bar and the tabs on pages are loaded as Plugins, and interface. See L<App::Netdisco::Web::Plugin> for further information.
you have control over their appearance and ordering. See
L<App::Netdisco::Web::Plugin> for further information.
=head2 Developing =head2 Developing

View File

@@ -273,10 +273,23 @@ Value: List of Strings. Default:
- Control Plane Interface - Control Plane Interface
- SPAN (S|R)P Interface - SPAN (S|R)P Interface
- StackSub - StackSub
- netflow
- Vlan\d+-mpls layer
- BRI\S+-Bearer Channel
- BRI\S+-Physical
- BRI\S+-Signalling
- Embedded-Service-Engine\d+\/\d+
- Virtual-Template\d+
- Virtual-Access\d+
- (E|T)\d \d\/\d\/\d
- Vlan1
If present, device ports matching any of the items in this list will be If present, device ports whose names match fully any of the items in this list
ignored by the discovery process. Note this may have side effects - connected will be ignored by the discovery process.
devices and nodes on those ports will in turn also not be discovered.
Note this may have side effects - connected devices and nodes on those ports
will in turn also not be discovered. Also note that backslashes must be
doubled in the YAML format.
=head3 C<ignore_private_nets> =head3 C<ignore_private_nets>

View File

@@ -78,6 +78,24 @@ portctl_uplinks: 0
portctl_nophones: 1 portctl_nophones: 1
portctl_vlans: 1 portctl_vlans: 1
ignore_interfaces:
- 'EOBC'
- 'unrouted VLAN'
- 'StackPort'
- 'Control Plane Interface'
- 'SPAN (S|R)P Interface'
- 'StackSub'
- 'netflow'
- 'Vlan\\d+-mpls layer'
- 'BRI\\S+-Bearer Channel'
- 'BRI\\S+-Physical'
- 'BRI\\S+-Signalling'
- 'Embedded-Service-Engine\\d+\\/\\d+'
- 'Virtual-Template\\d+'
- 'Virtual-Access\\d+'
- '(E|T)\\d \\d\\/\\d\\/\\d'
- 'Vlan1'
# sleep time between polls of the database job queue # sleep time between polls of the database job queue
daemon_sleep_time: 5 daemon_sleep_time: 5

4
TODO
View File

@@ -9,6 +9,7 @@ FRONTEND
BACKEND BACKEND
======= =======
* db connect params as separate settings
* new DBIC multi-prefetch * new DBIC multi-prefetch
* PING from workers * PING from workers
@@ -20,16 +21,13 @@ CORE
* VRF support * VRF support
* import legacy config file * import legacy config file
* deploy should drop mib files in mibhome
* list of string settings should use index() * list of string settings should use index()
* default ignore_interfaces
DOCS DOCS
==== ====
* Scheduler * Scheduler
* Discover/Refresh jobs * Discover/Refresh jobs
* netdisco-do
* new X:: plugin namespace * new X:: plugin namespace
* observiumsparklines plugin * observiumsparklines plugin
* port column plugins * port column plugins