diff --git a/Netdisco/Changes b/Netdisco/Changes
index 2f43b016..7f0dfc4c 100644
--- a/Netdisco/Changes
+++ b/Netdisco/Changes
@@ -1,17 +1,27 @@
+2.001000_001 - 2013-01-06
+
+ [NEW FEATURES]
+
+ * Added daemonized version of the web-app server also using Daemon::Control
+
+ [ENHANCEMENTS]
+
+ * Daemons now log to ~/logs/netdisco-{web,daemon}.log
+ * Finally wrote the DEVELOPING.pod documentation
+ * Removed the MCE workarounds as upstream merged fixes
+
+ [BUG FIXES]
+
+ * Fix sloppy schema calls which broke netmap
+
2.01_001 - 2013-01-05
[ENHANCEMENTS]
* Rewrite of the daemon to use Daemon::Control and MCE (cleaner netdisco
code and fewer deps)
- * Added daemonized version of the web-app server also using Daemon::Control
- * Daemons now log to ~/logs/netdisco-{web,daemon}.log
* Version bump so that we'll be releasing odd numbered beta dists
- [BUG FIXES]
-
- * Fix sloppy schema calls which broke netmap
-
2.00_012 - 2012-12-21
[ENHANCEMENTS]
@@ -83,7 +93,7 @@
* node search switchport link shows connected nodes again
* show device IP in search results when DNS is not available
-2.00_007 - 2012-11-25
+0.7 - 2012-11-25
[NEW FEATURES]
@@ -109,7 +119,7 @@
* Fix netgear port ordering (closes #26)
* Fix Foundry 10GE port ordering
-2.00_006 2012-08-28
+0.6 2012-08-28
[NEW FEATURES]
@@ -134,7 +144,7 @@
* Fix sidebar hiding not making main content reflow to full window width (#15)
-2.00_005 2012-03-09
+0.5 2012-03-09
[NEW FEATURES]
@@ -154,13 +164,13 @@
* Set distinct on device search (#12)
* Fix strikethrough on tab change (#9)
-2.00_004 2012-02-19
+0.4 2012-02-19
[NEW FEATURES]
* Sidebar can be pinned in place to keep it visible when scrolling.
-2.00_003 2011-02-03
+0.3 2011-02-03
[NEW FEATURES]
@@ -177,7 +187,7 @@
* Refactor Stylsheets to better organise and comment the settings.
* When Device Search sidebar is in use, strikethrough the navbar search.
-2.00_002 2011-01-22
+0.2 2011-01-22
[NEW FEATURES]
@@ -201,6 +211,6 @@
* Device Ports Legend show/hide arrow was pointing the wrong way.
* Increase TT WHILE_MAX to allow very long lists of ports.
-2.00_001 2011-01-18
+0.1 2011-01-18
* Initial release on an unsuspecting world.
diff --git a/README.txt b/README.txt
index 917c8a49..86eb1792 100644
--- a/README.txt
+++ b/README.txt
@@ -2,17 +2,19 @@ NAME
App::Netdisco - An open source web-based network management tool.
Introduction
- The contents of this distribution is the next major version of the
- Netdisco network management tool. See for further
- information on the project.
+ The content of this distribution is the next major version of the
+ Netdisco network management tool. Pieces are still missing however, so
+ if you're a new user please see for further
+ information on the project and how to download the current official
+ release.
- So far App::Netdisco provides a web frontend and a backend daemon to
- handle interactive requests such as changing port or device properties.
- There is not yet a device poller, so please still use the old Netdisco's
+ App::Netdisco provides a web frontend and a backend daemon to handle
+ interactive requests such as changing port or device properties. There
+ is not yet a device poller, so please still use the old Netdisco's
discovery, arpnip, and macsuck.
- If you have any trouble getting the frontend running, please speak to
- someone in the "#netdisco" IRC channel (on freenode).
+ If you have any trouble getting the frontend running, speak to someone
+ in the "#netdisco" IRC channel (on freenode).
Dependencies
Netdisco has several Perl library dependencies which will be
@@ -27,14 +29,16 @@ Dependencies
Create a user on your system called "netdisco" if one does not already
exist. We'll install Netdisco and its dependencies into this user's home
- area, which will take about 200MB including MIB files.
+ area, which will take about 250MB including MIB files.
- # useradd -m -p x -s /bin/bash nedisco
+ root:~# useradd -m -p x -s /bin/bash nedisco
Netdisco uses the PostgreSQL database server. Install PostgreSQL and
then change to the PostgreSQL superuser (usually "postgres"). Create a
new database and PostgreSQL user for the Netdisco application:
+ root:~# su - postgres
+
postgres:~$ createuser -DRSP netdisco
Enter password for new role:
Enter it again:
@@ -54,12 +58,13 @@ Installation
Link some of the newly installed apps into the "netdisco" user's $PATH,
e.g. "~netdisco/bin":
+ mkdir ~/bin
ln -s ~/perl5/bin/{localenv,netdisco-*} ~/bin/
Test the installation by running the following command, which should
only produce a status message (and throw up no errors):
- localenv netdisco-daemon status
+ ~/bin/netdisco-daemon status
Configuration
Make a directory for your local configuration and copy the configuration
@@ -81,7 +86,7 @@ Bootstrap
prefixes (OUI data) and some MIBs if you want to run the daemon. The
following script will take care of all this for you:
- DANCER_ENVDIR=~/environments localenv netdisco-deploy
+ DANCER_ENVDIR=~/environments ~/bin/localenv netdisco-deploy
If you don't want that level of automation, check out the database
schema diff from the current release of Netdisco, and apply it yourself:
@@ -89,42 +94,51 @@ Bootstrap
~/perl5/lib/perl5/App/Netdisco/DB/schema_versions/App-Netdisco-DB-2-3-PostgreSQL.sql
Startup
- Run the following command to start the web server:
+ Run the following command to start the web-app server as a daemon:
- DANCER_ENVDIR=~/environments localenv plackup ~/bin/netdisco-web
+ DANCER_ENVDIR=~/environments ~/bin/netdisco-web start
- Other ways to run and host the web application can be found in the
- Dancer::Deployment page. See also the plackup documentation.
+ Run the following command to start the job control daemon (port control,
+ etc):
- Run the following command to start the daemon:
-
- DANCER_ENVDIR=~/environments localenv netdisco-daemon start
+ DANCER_ENVDIR=~/environments ~/bin/netdisco-daemon start
Tips and Tricks
The main black navigation bar has a search box which is smart enough to
work out what you're looking for in most cases. For example device
names, node IP or MAC addreses, VLAN numbers, and so on.
- For SQL debugging try the following command:
+ For SQL debugging try the following commands:
DBIC_TRACE_PROFILE=console DBIC_TRACE=1 \
- DANCER_ENVDIR=~/environments plackup ~/bin/netdisco-web
+ DANCER_ENVDIR=~/environments ~/bin/localenv plackup ~/bin/netdisco-web-fg
+
+ DBIC_TRACE_PROFILE=console DBIC_TRACE=1 \
+ DANCER_ENVDIR=~/environments ~/bin/localenv netdisco-daemon-fg
- To run the job daemon in the foreground, start the "netdisco-daemon-fg"
- program instead of "netdisco-daemon".
+ Other ways to run and host the web application can be found in the
+ Dancer::Deployment page. See also the plackup documentation.
+
+ With the default configuration user authentication is disabled and the
+ default "guest" user has no special privilege. To grant port and device
+ control rights to this user, create a row in the "users" table of the
+ Netdisco database with a username of "guest" and the "port_control" flag
+ set to true:
+
+ netdisco=> insert into users (username, port_control) values ('guest', true);
Future Work
+ Bundled with this app is a DBIx::Class layer for the Netdisco database.
+ This could be a starting point for an "official" DBIC layer. Helper
+ functions and canned searches have been added to support the web
+ interface.
+
The intention is to support "plugins" for additonal features, most
notably columns in the Device Port listing, but also new menu items and
tabs. The design of this is sketched out but not implemented. The goal
is to avoid patching core code to add localizations or less widely used
features.
- Bundled with this app is a DBIx::Class layer for the Netdisco database.
- This could be a starting point for an "official" DBIC layer. Helper
- functions and canned searches have been added to support the web
- interface.
-
Caveats
Some sections are not yet implemented, e.g. the *Device Module* tab.
diff --git a/TODO b/TODO
index 9e644354..1d512e6c 100644
--- a/TODO
+++ b/TODO
@@ -1,6 +1,4 @@
-* bootstrap/setup script to install perl modules and db schema
* frontend plugin design and support
-* document how the templates and JS fit together
* add poller to daemon (scheduling automatically?)
* re-do print css
* UI for topo DB table editing