User Tools

Site Tools


devel:tasklist

This is an old revision of the document!


Table of Contents

Task list

This document presents a list of new features we are working on from October 2007 and forwards; i.e. post NAV 3.3. This is a dynamic document - watch out for updates!

The page is loosely sorted on priority. To see what in fact is committed for new NAV releases, see the roadmap. Also see lower priority tasks i TaskListLowPri.

In time, we are hoping to migrate most of these tasks into the SourceForge task list for the NAV project.

Our current commit strategy for NAV 3.4 in December includes:

  1. A rewrite of todays HP virtual module hack to a general virtual module concept.
    • This will in effect open support for Cisco clustering as well
  2. General ENTITY MIB support.
    • This opens for support for chassis based HP switches.
    • Requires a change to varchar as module number.
    • Consider a self reference on module, which allow for hierarchical modules (GBICs and such)
  3. New network map (as a beta, vlanplot will still be there)

Morten's Tasks

MB2: Support auto insertion of types

Assigned to Morten Brekkevold
Estimated time ? hrs
Start date
Status
Due for ?

Today when you add a new device of an unknown type you have to manually add the type in edit database. You also have to fill in some less than obvious fields, i.e. frequency.

Change the type table:

  • delete the CDP and TFTP fields. A device’s CDP ability can been discovered through the device’s OID support classification, and the TFTP field is not used by anything in NAV.
  • set 3600 as default for frequency, this should also be shown when manually updating the type table in edit database.

Make add netbox simpler:

  • set the typeid=unclassified, leave a more qualified setting to gdd.

Improve gDD:

  • when gdd sees a netbox with type unclassified, set the correct type based on sysobjectid. If the sysobjectid does not exist in the type table add it with a best guess type name and type description.
  • the same mechanism should by used for detected type changes (the ip netbox is replaced with newer equipment of a different type).

MB3: Support the ability to except certain prefixes from data collection

Assigned to Morten Brekkevold
Estimated time ? hrs
Start date
Status Complete?
Due for ?
  • Support the ability to except certain prefixes from data collection. Implement config file support.
  • (2007-08-13) Possibly already implemented by Jostein Gogstad on his IPv6 branch. Needs further testing.

MB4: Collect system.sysname in addition to dns names

  • Today the netbox.sysname value is based upon dns. If dns does not resolve the ip address is used as name. We should in addition collect the name that is configured on the device, and perhaps make it configurable in a config file what should be the primary name source used in the front end tools.
  • collect system.sysLocation and sysContact as well. Store it in netboxinfo (perhaps).

MB5: Make logging from networkDiscovery more available

Assigned to Morten Brekkevold
Estimated time ? hrs
Start date
Status
Due for ?
  • Translate networkDiscovery logging to English (bugid 1516904)
  • Make the reports more available (admin tool on web or something).

MB6: Trigger alarms on certain mac addresses (FR 1556395)

Assigned to Morten Brekkevold
Estimated time ? hrs
Start date
Status Done - by John Magne - June 2008
Due for ?

When a “wanted” mac address is seen by the camlogger this should trigger an alarm posted on the eventq. This is very useful when a certain machine is “wanted” but currently is off line.

MB7: Admin can change his/her effective user ID

Assigned to Morten Brekkevold
Estimated time 2 days
Start date
Status
Due for ?

This task concerns itself with making somewhat of a “sudo” system for the NAV web UI, enabling the administrator to act as other NAV users. This idea arises from the oft requested need to edit a mortal user's alert profile. A general “sudo”-like mechanism of the web UI should not be too difficult to implement.

  • A “sudo” tool will move the session's user attribute into a realUser attribute, and attach the effective account object to the session's user attribute. This should work for the entire web interface.
  • The MainTemplate must be able to differentiate whether a real user is logged in, or if someone is just effectively operating as that user. MainTemplate must clearly signify this state in the interface, so the administrator knows why his/her effective privileges have been dropped.
  • The “sudo” tool must have a “return to being the administrator” function, which should be available from the MainTemplate near the “logout user” and/or “currently logged in as user” elements.
  • The ability to to “sudo” in the web interface should be a configurable privilege in the user admin panel.

MB8: Support delayed SMSes

Assigned to Morten Brekkevold
Estimated time 40 hrs
Start date
Status
Due for ?

NAV v2 had the functionality of sending delayed SMS messages. The idea was that the guard on duty should be able to sleep through less important alerts during the night. In the morning he/she should get updates on SMS. These updates should not include events that have fixed themselves during the night.

A modification of alert engine and alert profiles is needed to implement this support.

MB9: New logging system for Java based subsystems

Assigned to Morten Brekkevold
Estimated time 40 hrs
Start date
Status
Due for ?

getDeviceData, eventEngine and getBoksMacs use a home brew logging system. gDD is a huge, complex system, where this homebrew logging library is not nearly flexible enough for hard core debugging.

MB10: Implement a cleanup function for the device table

Assigned to Morten Brekkevold
Estimated time ? hrs
Start date
Status
Due for ?

MB11: Improve HP stack collection / make generic ENTITY-MIB plugin

Assigned to Morten Brekkevold
Estimated time ? hrs
Start date
Status
Due for ?

The HP plugin apparently only supports virtual HP stacks and does not understand physical stacks (e.g ProCurve 5308). Physical HP stacks can be understood pretty well by looking at ENTITY-MIB, so it might be a good idea to implement a generic device-plug in for ENTITY-MIB, and make sure the HP plug in does HP specific things afterwards.

MB12: Rewrite getDeviceData in Python

Assigned to Morten Brekkevold (and others)
Estimated time ? hrs
Start date
Status
Due for 3.6

Design- and maintenance problems with the getDeviceData codebase, couple with our long term goal of reducing the number of programming languages in NAV, has prompted us to envision a new getDeviceData based entirely on Python code. It is likely that this would be based off the Twisted framework for asynchronous SNMP polling, which will reduce the complexity introduced by threading in the original gDD.

Stein Magnus' Tasks

SMJ4B: Improve the Machine Tracker continued

Assigned to Stein Magnus Jodal
Estimated time 20 hrs (<5 hours used)
Start date 2008-04-20
Status Done (in the ipdevinfo branch)
Due for NAV 3.4

The following needed further clarification at a meeting, and has not been implemented in 3.3:

  • Originally: Support search all the way to room using the cabling and patch data input from Edit DB.
    • Comment: Link historic data in the cam table with current data in the patch/cabling/room tables?!
    • Resolution:
      • (done 2008-04-20, links to ipdevinfo) Link to the port view in IP Device Center, stating clearly that the data is reflecting the current situation.
      • (done 2008-04-20, in ipdevinfo) Add patch/cabling/room information to IP Device Center port view.
  • Originally: The MAC search result should include port description. Perhaps link to report?
    • Comment: As it stands, the only port description available for retrieval is the current one. This will not be accurate for historical results, unless we make changes to the CAM table and the camlogger to add historical information about port descriptions.
    • Resolution:
      • (done 2008-04-20, links to ipdevinfo) Link to the port view in IP Device Center, stating clearly that the data is reflecting the current situation.

Changes should be merged from the ipdevinfo branch to default together with the beta version of IP Device Info before release of NAV 3.4.

SMJ6: Merge IP Info and IP Device Center to IP Device Info

Replaced by SMJ13.

SMJ7: Fix the User Admin panel

Assigned to Stein Magnus Jodal
Estimated time 20 hrs
Start date
Status
Due for Post NAV 3.4
Depends on
  1. (fixed 2007-09-28) A bug is reported, see SF#1799451
  2. Implicit memberships should be indicated in the tool. A new user has implicit membership to anonymous and authenticated
  3. The report_access privilege should be removed from the grant privilege dropdown
  4. The default “Authenticated users” web_access regexp needs updating do to changes in tool urls. (new: seeddb / devhist / ipdevinfo, gone: browse / ipinfo)
  5. Improvements when creating a user, see SF#1805506

SMJ8: Reduce Device Management to Device History

Assigned to Stein Magnus Jodal
Estimated time 40 hrs
Start date
Status
Due for Post NAV 3.4
Depends on
  1. Remove three tabs: Order, Register serial numbers, Register RMA
  2. Remove two tables: product and deviceorder
  3. Remove the product add, edit, bulk from edit database
  4. Are the device fields auto, active and deviceorderid now superfluous - check
  5. There may be some eventtypes that are superfluous
  6. Reduce complexity in module delete: Deleting a module deletes it. period. The attributes inactive and inventory are superfluous. Check what happens to a deleted module. The device is kept, right? With serial? If gDD encounters the device, as a module on another netbox, he will use this device record for the new module? How can we see all devices that are floating, i.e. not attached to a netbox or module?
  7. Rename “Module Delete” to “Delete Module”
  8. Keep Register error event - but bug fix. Verify that it works as intended. Also when one chooses a whole room… Things should show up in Device history.
  9. Rename the whole tool from Device Management to Device History with url devicehist.

In addition:

  • Device History lacks support for filtering on location/room.
  • Module Delete sub-tabs are not hi-lighted.

When Device Management is reduced, so little is left that it may be a candidate for rewriting using the Django framework.

SMJ9: Edit DB / Seed DB

Assigned to Stein Magnus Jodal
Estimated time 80 hrs (it is 7000 lines of code in one file!)
Start date
Status
Due for Post NAV 3.4
Depends on
  1. Change the name to Seed Database, url seeddb. Links from all over updated.
  2. There is a reported bug on add prefix and dropdown static: SF#1805143.
  3. As mentioned in SMJ8: remove product.
  4. If time: update style (this can be postponed)
  5. Sorting by cabling/patch columns in EditDB doesn't work, see SF#1803283

SMJ10: Queuing of error messages by mail from SMSD

Assigned to Stein Magnus Jodal
Estimated time 40 hrs
Start date
Status
Due for Post NAV 3.4
Depends on

Summary of mail from Morten 2007-09-04:

 The SMTP loghandler for SMSD does only accept log messages of level CRITICAL
 or higher. Is it possible to make SMSD/logger queue these log messages and
 send them together in batches to avoid several error mails per minute from SMSD?

Proposed solution:

  • Look at possibilities for doing this with standard logger.
  • Secondary, create a new log handler for logger, which does queuing of messages.

Alternative solution:

  • I think we discussed earlier a backoff mechanism: When SMSD is unable to dispatch a message, it shouldn't keep retrying at fixed intervals, it should wait longer between each attempt, using a backoff factor and a configurable maxium retry count. Only on complete and utter failure should it log a CRITICAL message, and abandon/ignore the sms. It should perhaps log some details about the abandoned message as well.

SMJ13: IP Device Info (replaces SMJ6)

Assigned to Stein Magnus Jodal
Estimated time 160 hrs
Start date 2007-12-17
Status In development
Due for NAV 3.4
Depends on SMJ4

Implement IP Device Info (ipdevinfo).

  • ipdevinfo should be a full replacement of the features in IP Device Center and IP Info.
  • Support the new NAV 3.4 virtual module model with the netbox.commander boolean attribute.
  • (DONE, using Django) IP device center is too slow. Get rid of forgetsql and forgethtml.
  • (DONE) Change the popup text on switch ports on the port activity tab from (used today, active now) to (MAC seen today, link now).

SMJ14: Finish the new web design

Assigned to Stein Magnus Jodal
Estimated time 20 hrs
Start date
Status
Due for Post NAV 3.4
Depends on SMJ8, SMJ9, SMJ13

The new web design which was introduced in NAV 3.3 is not fully complete:

  • Update design of AlertProfiles
  • Update design of Edit DB (in coordination with SMJ9)
  • Update design of Preferences
  • Inner tab of Device Management does not show which tab is active (in coordination with SMJ8)
  • Update design of the RRD viewer in IP Device Browser (defer, as IP Device Browser is being replaced in SMJ13)
  • Eliminate use of colspan=“0” as it is not supported in IE and Opera

John Magne's Tasks

JM2: New features in Arnold

Assigned to John Magne Bredal
Estimated time ? hrs
Start date
Status
Due for NAV 3.4
  • Switch vlan in addition of shutdown of ports.

Arnold in NAV 3.1 supports taking machines off the network by setting the switch port they are connected to in shutdown. We would like to support an alternative; instead of shutting down the port, we instead change the vlan value of the port. This will allow for quarantine vlan solutions where the user is given limited network access and typically is redirected to a web page giving information on why he is taken off the network (followed by instructions on how he should proceed).

Minor changes:

  • Close ports based on mac-addresses
  • Open all or one when several ports are closed based on same ip/mac
  • A timer for incremental closing of ports to prevent skyhigh numbers
  • More information on the webpage.

JM3: Improve Cricket in NAV

Assigned to John Magne Bredal
Estimated time 120 hrs
Start date
Status
Due for NAV 3.4
  • Collect more counters from the interface mib. Take a look at what UNINETTs genplot collects. For instance input ignores, output discards, interface resets.
  • Re implement makecricketconfig making it more modular and easier to expand with new statistics. It is an overall goal that NAV admins should fairly easily be able to add their own set of statistics.
  • Add support for wireless users statistics
    • Expand the oidDB with the new OIDs. Wireless base stations should then be classified to answer to the relevant new OIDs.
    • Build cricket config tree foe wireless. Focus on octets, errors and users.
  • Add support for UPS traffic statistics collection
  • Do expansion in a similar manner as for wireless.
  • Add support for weathergoose statistics

JM4: Strengthen RRDbrowser

Assigned to John Magne Bredal
Estimated time 80 hrs
Start date
Status
Due for NAV 3.4 or later
  • RRDbrowser is a powerful tool, but suffers from being hidden way down in the user interface. With a better, general interface to RRDbrowser, perhaps combined with sorted statistics (T9) this could be the new NAV statistics tool (which in turn can link to cricket).
  • Take a look at the nav-dev posting of Sun, 21 Sep 2003 12:32:48 from faltin with title “Statistical viewer, herunder multiselect!”
  • simplify this, focus on implementing the most wanted features.
  • It is sometimes interesting to view a sum of underlying RRD data in one graph. An example is the sum of all wireless users in a building or on a campus, etc.

Andreas' Tasks

AK1: Strengthen wireless data collection

Assigned to Andreas Knudsen
Estimated time 80 hrs ?
Start date
Status
Due for NAV 3.4?
  • Make a new device handler to gDD that collect interesting information from wireless base stations. In particular:
  • configured channel IEEE 802.11b and 802.11g
  • configured channel IEEE 802.11a
  • mac address used for IEEE 802.11b and 802.11g
  • mac address used for IEEE 802.11a
  • Input the selected data as (var,value) in netboxinfo.
  • Make reports that can view the collected data.
  • Consider enhancements to IP device center in this respect.

Kristian Klette's Tasks

SS1: New interactive and dynamic layout engine in Traffic Map

Assigned to Kristian Klette
Estimated time 120 hrs
Start date
Status
Due for NAV 3.4
  • Make use of the Prefuse library (http://prefuse.sf.net/) to re implement the visualization of the Traffic Map component. Observe the following ideas:
    • Implement a DeviceRenderer to render node icons from a scalable SVG source file.
    • Implement a new EdgeRenderer class to render edges colored for both uplink and downlink traffic stats (just as the current version displays it).

The idea is to create an interactive visualization where node layout is automatic and can be zoomed to any extent.

Other traffic map ideas:

New physical view of the network

  • Show a physical view of the network with interconnection of all network devices regardless of layer 3 and layer 2 functionality. If the zoom function is good end user machines can be shown as well. The various links between the nodes in the graph may either be a layer 3 p2p link, a layer two trunk, or a layer two specific vlan connection. Avoid using the layer three cloud that vlanplot uses, assume this always is implemented with underlying switches that NAV should discover.
    • This requires that every physical router port is connected either directly to another router (serial etc) or two a switch. If we are missing the gwport.to_netbox info we could use vlanplots layer3 view instead.

Traffic Map also a status monitor

  • Make the Traffic map a status monitor by introducing green and red nodes (containers, routers, switches, network clouds). Allowing for intermediate colors to reflect that a given percentage of the nodes contained are down.

Support geographical layout

  • Assuming the room table has utm location information show a correct geographical layout og the map on top of geographical maps (with changing detail depending on zoom level).

Alternative ideas to improvements of vlanplot

Also consider other enhancements to the traffic map:

  • container hierarchy / auto generate containers
  • support parameters making it possible to link directly to a container
  • auto layout algorithm on/off pr container
  • consider showing all subnets on the top level. Possibly add a button for this.
  • strengthen the admin view when moving routers around.

Jostein Gogstad's Tasks

SS3: Support IPv6 in NAV

Assigned to Jostein Gogstad
Estimated time 160 hrs
Start date
Status Completed / Untested
Due for NAV 3.4

NAV does not support IPv6 today. Look into support in this order of priority:

  1. Gather data from all routers for IPv6 router ports / prefixes
  2. Complement this with a IPv6 prefix matrix
  3. Gather IPv6 machine tracker data (IPv6 “arp”/neighboring cache).
  4. Consider IPv6 traffic statistics (there are separate IPv6 traffic counters, we think…)
  5. Look at collecting snmp data from netboxes using IPv6. This we consider far fetched.

Jørgen Abrahamsen's Tasks

Contact info

Email jorgen.abrahamsen@uninett.no
Phone +47 97 04 49 45

JA1: Improve the report tool

Assigned to Jørgen Abrahamsen (and Morten)
Estimated time 120 hours
Start date 06.02.2008 (dd.mm.yyyy)
Status in progress/being worked on
Due for NAV 3.4 or 3.5 and later
  • Add support for local reports.
 Separate local reports in a local file so that NAV's own reports
 are not altered. Local reports with equivalent name as the NAV
 report takes precedence. The local report does not have to copy all
 the original report variables, only the ones that are to be
 replaced.
  • Make an automated report page. (DONE)
 This page gives a listing of all reports defined with
 their title and a description. $description is not
 a variable today - this should be added.
 We suggest the report list is linked from the static
 report main page of today. We suggest an alphabetical
 listing.
  • Implement a sum function ($sum). (DONE)
 This is interesting in some reports, i.e. where we give a machine count on all
 machines on all prefixes. A total on this report will
 give the total number of machines in the network.
 This functionality was also present in NAV v2.
  • The advanced search form should be dynamically activateable by using Javascript. (DONE)
 Today, the entire report SQL is re-run when the button for the advanced search form is pressed.  This is a waste of resources.
 The form should always be in the HTML output, and Javascript should be employed to dynamically display and hide the form from the flow of the page.
  • Morten: Add a duplex mismatch report.
 This report should show analyze all interconnection between
 switches and look at the duplex value on each side of the
 link. If there is a mismatch a row in the report should
 be produced. Ideally this report should be empty at all times.
 The report can be produced using one (rather complex) SQL
 sentence in report.conf. We have done something similar
 in NAV v2 - NTNU has a solution for their v3! 
  • Morten: Also add a spanning tree blocked ports report.
 Once again - steal from the NTNU v3 installation.
  • Post NAV 3.4: Enhance/partially rewrite the report code base.
 The overall goal being to improve performance and code readability.
 This task may be dropped if it involves a lot of work.
  • Unordered List Item

Unassigned Tasks

UT1 (was SS2): Support generic (and HP) syslog messages in the syslog analyzer

Assigned to Unassigned
Estimated time ? hrs
Start date
Status
Due for Post NAV 3.4
Depends on
  • HP has syslog messages with four levels. Map these to equivalent cisco levels and support the HP log format so that the messages can be imported in the NAV logger database.
  • The syslog parser should be made more generic, so that messages from UPSes and whatnot can be included.

UT2 (was SMJ5): Rewrite Alert Engine

Assigned to Unassigned
Estimated time 120 hrs
Start date
Status
Due for Post NAV 3.4
Depends on

Rewrite Alert Engine (now Perl) in Python with all existing features, plus the following missing features:

  • Support all operators from AlertProfiles (defined in subsystem/alertprofiles/config.php:31)
  • Support subcat

UT3 (was SMJ11): Improve Switch search in Machine Tracker

Assigned to Unassigned
Estimated time 10 hrs
Start date
Status
Due for Post NAV 3.4
Depends on
  • (done 2008-04-20) Move the MAC column to the right. I.e. change column order from (MAC, Switch, Module, Interface, Start time, End time) to (Switch, Module, Interface, Start time, End time, MAC).
  • For rows where end time is “Still active”:
    • Add an “Last known IP” column
    • Add an optional “Last known hostname” that resolves the IP address in “Last known IP”

UT4 (was SMJ12): Swap treeselect in maintenance with "intelligent form"

Assigned to Unassigned
Estimated time ? hrs
Start date
Status
Due for Post NAV 3.4
Depends on
  • Treeselect is awkward, starting at location confuses many. Tiresome to put many devices on maintenance.
  • A form where users can cut'n paste in a number of boxes would be good.
  • Should also be possible to input rooms, substrings of sysnames/rooms
devel/tasklist.1214817928.txt.gz · Last modified: 2008/06/30 09:25 by jorabra