IP Management Tool - Minimum Requirements

Hello everyone, Guy wrote:
I am officially asking Mal to please repost the current requirements back up on this list.
[...] Happy to oblige. Cheers, Maldwyn Morris Software Manager RIPE NCC -- Hi, Following a presentation of an IP Management Tool by Guy Vegoda at the last RIPE Meeting Tools BOF, interest was expressed in the development of an Open Source version of such a tool and I agreed to use the lirwg list to try and draw up Requirements for this. Hopefully this can be refined into something that we can then begin writing Specifications for. Please remember that these are *Requirements* - i.e. what the users want the tool to do. Please confine remarks to this area and avoid mixing in the *Specifications* - i.e. how those requirements will be met - which we will come to, in good time. It should also be emphasised that we would at this stage like to concentrate on _minimum_ requirements for a simple tool, such that it would be useful to a large number of LIRs. I think we can use these Minimum Requirements to produce something that may or may not include more advanced features as well, knowing that we would at least have covered the basic needs. Comments on this process and the document are most welcome, and we would also like a good name. Thanks to Guy Vegoda, Leo Vegoda and Nigel Titley for their help in drawing up this document, and especially to Guy for presenting his tool. Cheers, Maldwyn Morris Software Manager RIPE NCC -- Minimum Requirements for an IP Management Tool ---------------------------------------------- 0. Introduction Guy Vegoda presented an IP Management Tool at the Tools BOF at RIPE 38 [1]. This document is an attempt to specify the minimum requirements for a similar tool, with the aim of producing an Open Source version for anyone who wants to use it. Below, I address 1. General Points about the project, 2. The Requirements themselves, 3. External Constraint that must be considered, and 4. A list of References. 1. General Points Name: Let's use IPMT ( IP Management Tool ) as a placeholder for now. Users: We will target as users 'The Hostmaster staff of Local Internet Registries which are Customers of the RIPE NCC and who need to manage their IP Allocations and Assignments and the requests for same that they send to the RIPE NCC' [phew]. We will call one of these people a 'LIRHostmaster' and their organisation an 'LIR'. It may also be useful to other people in other organisations to do other things, but that will not influence the requirements. Open Source: We will release this software under the LGPL licence [2]. We use this instead of GPL [3] because this means we will remain able to using non-GPL'ed libraries, should that prove necessary. The RIPE NCC is happy to support this project, but of course its Open Source nature means anyone else can use the code to begin their own Open Source project. We are also happy about that. IPV6: We would be foolish not to consider the possibility of using this tool for managing IPV6 addresses and writing it such that this is possible, but we think it will be useful even if it does not and do not consider IPV6 support a requirement. 2. Requirements General functionality: IPMT should provide the LIRHostmasters with list, create, update, and delete access to information regarding their LIR's IPV4 allocations. These actions must be undoable where necessary. Basic validity checks will be performed on all input. IPMT should provide the LIRHostmasters with list, create, update, and delete access to information regarding their LIR's IPV4 assignments. These actions must be undoable where necessary. Basic validity checks will be performed on all input. IPMT should allow the LIRHostmasters to receive requests for IPV4 assignments from the customers of their LIR and allow them to process them. IPMT should allow LIRHostmasters to send well-formatted email requests for new IPv4 assignments to the RIPE NCC and allow the LIRHostmasters to receive and process responses from the RIPE NCC. IPMT should allow LIRHostmasters to send well-formatted email requests for new IPv4 allocations to the RIPE NCC and allow the LIRHostmasters to receive and process responses from the RIPE NCC. User Interface: LIRHostmasters should be able to conveniently access IPMT functions from a wide range of Desktop Operating Systems, possibly including non-modern, non-Unix-like ones. A GUI interface is the minimal acceptable convenience level. A less-convenient interface to IPMT for more complex functions and administration is acceptable. 3. External constraints The RIPE NCC only accepts requests for new IPv4 Assignments and Allocations via email to hostmaster@ripe.net and replies only via email [4]. IPV4 Assignment requests must be in RIPE 141 format [5]. Requests for new IPV4 Allocations have no special format. LIRHostmasters handle customer requests for Assignments via telephone, email and web pages. IPMT must have access to the RIPE DB [6] or a local mirror thereof. 4. References [1] http://www/ripe/meetings/archive/ripe-38/index.html [2] http://www.gnu.org/copyleft/lesser.html [3] http://www.gnu.org/copyleft/gpl.html [4] http://www.ripe.net/ripencc/mem-services/registration/status.html [5] http://www.ripe.net/ripe/docs/ripe-141.html [6] http://www.ripe.net/ripencc/pub-services/db/

These are my $0.02 on the IMPT specs:
General functionality:
IPMT should provide the LIRHostmasters with list, create, update, and delete access to information regarding their LIR's IPV4 allocations.
I think that data should be stored either in a relational database back end or a CVS flat plaintext file, both of which are accessible to the DBI.
These actions must be undoable where necessary.
I think that the software should keep a change log for every action performed, recording the user that performed it, the time stamp and a complete description of what change was actioned. This is so that roll back can take place, ie undoable.
Basic validity checks will be performed on all input.
We can't add 275.441.45.2/-33 so we better make sure we don't. Equally, having added 10.0.0.0/24 once, adding it again would be a bad thing. Check for these conditions specifically. Can anyone else think of any others to check for?
IPMT should provide the LIRHostmasters with list, create, update, and delete access to information regarding their LIR's IPV4 assignments. These actions must be undoable where necessary.
Ditto.
Basic validity checks will be performed on all input.
I'd add that with assignments, we should check not to exceed the assignment window as well.
IPMT should allow the LIRHostmasters to receive requests for IPV4 assignments from the customers of their LIR and allow them to process them.
I think an online set of forms that can be used in the majority of web browsers would be the best way to approach this. We will need to define and refine the data structures observable to the hostmaster. By this I mean, will he see a range divided up into free space and used space? Will he see pools inside ranges, pigeonholing space for infrastructure, colo, customer dialup etc. Once we have a clearer picture of this, we can go and dicuss an interface, but we need to know what the interface is for before we can design it. I would say that I think that JavaScript is a good idea for saving state, sanitizing input, dredging through entries and make the interface pretty. We will have to be careful as lots of nasty MS extensions are unavailable to other browers. We don't need anything overwhelmingly complex, we do need something that Netscape, Konqueror, Oprah etc can use.
IPMT should allow LIRHostmasters to send well-formatted email requests for new IPv4 assignments to the RIPE NCC and allow the LIRHostmasters to receive and process responses from the RIPE NCC.
We need to define just how much we can automatize sending an receiving emails. I imagine sending; a lot since RIPE NCC already provide robots for quite a lot of stuff already. Receiving emails and parsing human language is beyond that scope of _my_ perl skills, so if anybody is up for the challenge, by all means. I think though, that interpreting what the hostmaster posted back to you is going to be about the level of searching with a reg exp for a ticket number and then flagging the attention the hostmaster to deal with it.
IPMT should allow LIRHostmasters to send well-formatted email requests for new IPv4 allocations to the RIPE NCC and allow the LIRHostmasters to receive and process responses from the RIPE NCC.
I think that using sendmail or exim to open up a mail and send the contents to a ripe recipient should be easy enough. We will need to decide how much automagic stuff should be done by the various scripts. Should the script say "Hey, Hostmaster, you're over 80%. Here, fill out this form and request some more - I'll even post it for you" or should it say "Hey, hostmaster, I noticed we were low on space, last Tuesday and I took the liberty of requesting some more for Frankfurt, and you can now use this new /18 which I just added".
User Interface:
LIRHostmasters should be able to conveniently access IPMT functions from a wide range of Desktop Operating Systems, possibly including non-modern, non-Unix-like ones. A GUI interface is the minimal acceptable convenience level.
Since it has to speak to UNIX and other operating systems (some of you might even be using BeOS) I think that a browser is the most sensible place for a GUI.
A less-convenient interface to IPMT for more complex functions and administration is acceptable.
But infact harder to write something that works on UNIX and Win32. (Although whoever will be running Perl on Windows will no doubt have his work cut out anyhow). A browser is normally more convenient for the user than an Xterm and I for one do not want to be playing around with ncurses. ######## A few other points: IP library? I think Manuels is probably fine. The one I wrote is also fine for IPv4 but I think that Manuel is way ahead of me on the IPv6 front. DBI? I would say its a good place to start. User authentication? I would say that any regular databse would be able to do it fairly easily itself, buit we have a problem with someone wanting to use a CSV file.
The RIPE NCC only accepts requests for new IPv4 Assignments and Allocations via email to hostmaster@ripe.net and replies only via email [4].
This should not present too much of a difficulty.
IPV4 Assignment requests must be in RIPE 141 format [5]. Requests for new IPV4 Allocations have no special format.
Again, if we are talking about 141s and such, the NCC have already built a robot for us a jury rig into the new project.
LIRHostmasters handle customer requests for Assignments via telephone, email and web pages.
Any sufficiently well defined interface / form, should make adding a customer assignment little work.
IPMT must have access to the RIPE DB [6] or a local mirror thereof.
Using whois and piping the results through a set of regular expressions has worked for me in the past. It is not fast, but it works. Please comment and help refine this into something people are queueing up to help develop! Thanks everyone who is taking an interest. ATB, Guy -- Guy Vegoda \ guy@vegoda.org *Please do not send html* NIC: GUY-RIPE \ guy@cryptography.org.uk *attachments* Unix, Linux Hobbyist \ +44(0)20 7961 8318 (work) www.thenakedfrenchman.com \ +44(0)958 469 532 (cell)

Hi, I was just wondering if there has been any progress made in this project. Thanks Neil -- Hostmaster edNET t: +44 131 625 5560 (direct) t: +44 131 466 7003 (office)
participants (3)
-
Guy Vegoda
-
Maldwyn Morris
-
Neil Anderson Saunders