update TODO README and Changes

This commit is contained in:
Oliver Gorwits
2013-01-06 01:01:12 +00:00
parent 040fb1fa30
commit dbb2cbecf4
3 changed files with 65 additions and 43 deletions

View File

@@ -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 2.01_001 - 2013-01-05
[ENHANCEMENTS] [ENHANCEMENTS]
* Rewrite of the daemon to use Daemon::Control and MCE (cleaner netdisco * Rewrite of the daemon to use Daemon::Control and MCE (cleaner netdisco
code and fewer deps) 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 * 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 2.00_012 - 2012-12-21
[ENHANCEMENTS] [ENHANCEMENTS]
@@ -83,7 +93,7 @@
* node search switchport link shows connected nodes again * node search switchport link shows connected nodes again
* show device IP in search results when DNS is not available * show device IP in search results when DNS is not available
2.00_007 - 2012-11-25 0.7 - 2012-11-25
[NEW FEATURES] [NEW FEATURES]
@@ -109,7 +119,7 @@
* Fix netgear port ordering (closes #26) * Fix netgear port ordering (closes #26)
* Fix Foundry 10GE port ordering * Fix Foundry 10GE port ordering
2.00_006 2012-08-28 0.6 2012-08-28
[NEW FEATURES] [NEW FEATURES]
@@ -134,7 +144,7 @@
* Fix sidebar hiding not making main content reflow to full window width (#15) * 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] [NEW FEATURES]
@@ -154,13 +164,13 @@
* Set distinct on device search (#12) * Set distinct on device search (#12)
* Fix strikethrough on tab change (#9) * Fix strikethrough on tab change (#9)
2.00_004 2012-02-19 0.4 2012-02-19
[NEW FEATURES] [NEW FEATURES]
* Sidebar can be pinned in place to keep it visible when scrolling. * 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] [NEW FEATURES]
@@ -177,7 +187,7 @@
* Refactor Stylsheets to better organise and comment the settings. * Refactor Stylsheets to better organise and comment the settings.
* When Device Search sidebar is in use, strikethrough the navbar search. * When Device Search sidebar is in use, strikethrough the navbar search.
2.00_002 2011-01-22 0.2 2011-01-22
[NEW FEATURES] [NEW FEATURES]
@@ -201,6 +211,6 @@
* Device Ports Legend show/hide arrow was pointing the wrong way. * Device Ports Legend show/hide arrow was pointing the wrong way.
* Increase TT WHILE_MAX to allow very long lists of ports. * 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. * Initial release on an unsuspecting world.

View File

@@ -2,17 +2,19 @@ NAME
App::Netdisco - An open source web-based network management tool. App::Netdisco - An open source web-based network management tool.
Introduction Introduction
The contents of this distribution is the next major version of the The content of this distribution is the next major version of the
Netdisco network management tool. See <http://netdisco.org/> for further Netdisco network management tool. Pieces are still missing however, so
information on the project. if you're a new user please see <http://netdisco.org/> 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 App::Netdisco provides a web frontend and a backend daemon to handle
handle interactive requests such as changing port or device properties. interactive requests such as changing port or device properties. There
There is not yet a device poller, so please still use the old Netdisco's is not yet a device poller, so please still use the old Netdisco's
discovery, arpnip, and macsuck. discovery, arpnip, and macsuck.
If you have any trouble getting the frontend running, please speak to If you have any trouble getting the frontend running, speak to someone
someone in the "#netdisco" IRC channel (on freenode). in the "#netdisco" IRC channel (on freenode).
Dependencies Dependencies
Netdisco has several Perl library dependencies which will be 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 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 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 Netdisco uses the PostgreSQL database server. Install PostgreSQL and
then change to the PostgreSQL superuser (usually "postgres"). Create a then change to the PostgreSQL superuser (usually "postgres"). Create a
new database and PostgreSQL user for the Netdisco application: new database and PostgreSQL user for the Netdisco application:
root:~# su - postgres
postgres:~$ createuser -DRSP netdisco postgres:~$ createuser -DRSP netdisco
Enter password for new role: Enter password for new role:
Enter it again: Enter it again:
@@ -54,12 +58,13 @@ Installation
Link some of the newly installed apps into the "netdisco" user's $PATH, Link some of the newly installed apps into the "netdisco" user's $PATH,
e.g. "~netdisco/bin": e.g. "~netdisco/bin":
mkdir ~/bin
ln -s ~/perl5/bin/{localenv,netdisco-*} ~/bin/ ln -s ~/perl5/bin/{localenv,netdisco-*} ~/bin/
Test the installation by running the following command, which should Test the installation by running the following command, which should
only produce a status message (and throw up no errors): only produce a status message (and throw up no errors):
localenv netdisco-daemon status ~/bin/netdisco-daemon status
Configuration Configuration
Make a directory for your local configuration and copy the 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 prefixes (OUI data) and some MIBs if you want to run the daemon. The
following script will take care of all this for you: 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 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: 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 ~/perl5/lib/perl5/App/Netdisco/DB/schema_versions/App-Netdisco-DB-2-3-PostgreSQL.sql
Startup 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 Run the following command to start the job control daemon (port control,
Dancer::Deployment page. See also the plackup documentation. etc):
Run the following command to start the daemon: DANCER_ENVDIR=~/environments ~/bin/netdisco-daemon start
DANCER_ENVDIR=~/environments localenv netdisco-daemon start
Tips and Tricks Tips and Tricks
The main black navigation bar has a search box which is smart enough to 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 work out what you're looking for in most cases. For example device
names, node IP or MAC addreses, VLAN numbers, and so on. 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 \ DBIC_TRACE_PROFILE=console DBIC_TRACE=1 \
DANCER_ENVDIR=~/environments plackup ~/bin/netdisco-web DANCER_ENVDIR=~/environments ~/bin/localenv plackup ~/bin/netdisco-web-fg
To run the job daemon in the foreground, start the "netdisco-daemon-fg" DBIC_TRACE_PROFILE=console DBIC_TRACE=1 \
program instead of "netdisco-daemon". DANCER_ENVDIR=~/environments ~/bin/localenv netdisco-daemon-fg
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 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 The intention is to support "plugins" for additonal features, most
notably columns in the Device Port listing, but also new menu items and 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 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 is to avoid patching core code to add localizations or less widely used
features. 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 Caveats
Some sections are not yet implemented, e.g. the *Device Module* tab. Some sections are not yet implemented, e.g. the *Device Module* tab.

2
TODO
View File

@@ -1,6 +1,4 @@
* bootstrap/setup script to install perl modules and db schema
* frontend plugin design and support * frontend plugin design and support
* document how the templates and JS fit together
* add poller to daemon (scheduling automatically?) * add poller to daemon (scheduling automatically?)
* re-do print css * re-do print css
* UI for topo DB table editing * UI for topo DB table editing