Skip to content
fsweetser edited this page Jan 24, 2012 · 21 revisions

Proposed Features

Current priorities

Feature Owner Scope Current Status Notes
IPv6 support fsweetser Extensive. First pass will be dependent on switching to postgrsql. Long term, a better database abstraction layer should allow a choice of postgresql or mysql.
Switch to Postgresql backend fsweetser Extensive. First pass implemented at WPI - read working, write ops untested. Better transaction support, native inet/cidr column types provide easier IPv6 support. Being developed in a separate branch.
DNSSec Limited to dns-config.pl, and possibly a few more DNS zone attributes. User somlo at CMU has DNSSec aware dns-config.pl working. If the DNSSec-specific bits (key management, zone signing) are delegated to a (master) DNS server (see link above), this could be as simple as implementing DS record attributes on delegated zones, with behavior almost identical to how NS records are currently handled
Simple RPZ support Limited to dns-config.pl and a new zone type. New zone type to automatically associate RPZ policy with policy zone.
Improved packaging and installation Installation is currently a fairly involved, complex manual process. Instead, it should be automated into standard packages, such as RPM, debs, and ports.

Future projects

Feature Owner Scope Current Status Notes
Convert to Catalyst application Extensive Think Ruby on Rails, for Perl. http://www.catalystframework.org/ http://www.amazon.com/Definitive-Guide-Catalyst-Maintainable-Applications/dp/1430223650
Database abstraction layer Netdb code currently contains a large amount of non-portable, mysql specific sql code. An improved abstraction layer would allow administrators to use their sql server of choice.
Database schema versioning Need to have explicit schema version tracking in database. Continue rolling custom vs pre-canned solution (couldn't find many in perl...)? Require rollback support?

Undecided projects

Feature Owner Scope Current Status Notes
UI overhaul Extensive. Could use some updated aesthetics (CSS, icons), and possibly a sprinkling of javascript.
Add ostype and serial number data to machine records fsweetser Limited to machine table. Implemented at WPI. New columns vs attribute? Mandatory vs optional?
Overhaul DNS/DHCP/etc deployment scripts On-demand runs vs fixed schedule? Better orchestration: mcollective, puppet
Make links idempotent Browser refresh action should always be safe (never try to add host twice, etc)
Split horizon DNS BIND Views, separate DNS servers.
Support for multiple NICs per machine, multiple IPs per NIC, and multiple VLANS per NIC.
Alternate DNS server support djbdns support - others?
IP Range support fsweetser Implemented at WPI. Adds IP ranges as a new first class object. Each IP range consists of a subnet reference, and a high and low IP address contained with the subnet. Users create registrations with a range, rather than a subnet. This allows IP addresses to be organized within a subnet, such as for keeping a particular class of machines behind a firewall block or within QoS classification.
Clone this wiki locally