This repository has been moved to gitlab
Please, use this repository for any bug report, patch submission and pull-requests.
Network Management Information System
Home Page: http://www.netmagis.org
This repository has been moved to gitlab
Please, use this repository for any bug report, patch submission and pull-requests.
--- /root/netmagis/expl/generer-zone 2011-04-29 13:25:30.000000000 +0200
+++ /usr/local/sbin/generer-zone 2011-04-29 13:32:16.000000000 +0200
@@ -649,8 +649,8 @@
return 1
}
set sql "BEGIN WORK ; LOCK zone ; \
LOCK zone_normale ; LOCK zone_reverse4 ; LOCK zone_reverse6"
set sql "BEGIN WORK ; LOCK dns.zone ; \
LOCK dns.zone_normale ; LOCK dns.zone_reverse4 ; LOCK dns.zone_reverse6"
if {! [execsql $dbfd $sql m]} then { puts stderr $m ; exit 1 }
switch [llength $argv] {
The paper format should be a configuration parameter.
Modify ./metro/ subtree to new file hierarchy specified in HIER file,
create a ./metro/Makefile with three targets (all, clean, install),
and modify ./common/etc/netmagis.conf to include metro keys.
At this time, SOA number has a fixed format : yyyymmddnn, which allows only 100 modifications a day, which constrains the crontab to not run the mkzone script too often.
The idea is to make the SOA a pure sequential number, which allows for a much more tight delay.
^ idrr ^ type ^ up/down ^ model ^ comment ^
^ type ^ model ^ templatename ^
Replace metro.sensor file using topo.sensor table
(or an union of topo.sensor and a new table metro.sensor
for manually created sensors).
Remove metro.graph file using topo.sensor table too.
User should be able to see all stats for a given equipment together on one unique page.
Formalize (and automatize) the release engineering process:
Some non-admin users would like to write their own DHCP profile.
DHCP profile should be validated before entering the database, since an invalid DHCP profile may prevent the ISC DHCP server to restart. For this validation, an ISC DHCP server must be installed on the WWW server, and the DHCP configuration file must be available (for example stored in the database).
Integrate MAC module in netmagis.
Toposendd daemon sends configuration commands to equipments. These commands are specified in an array in the toposendd program.
These commands should instead be located in a database table in order to let users change them easily.
Do this periodic cleanup in the tables in toposendd and topographd daemon.
Topo informations:
There is a need to display more dynamic informations, such as:
The installation documentation must be completed with:
Fix broken Wifi graph aggregation
Provide packet files for Debian/Ubuntu
Rework installation documentation accordingly
pdflatex is used by the Web application to generate printable documents.
Path to pdflatex is hard-coded in common/pkgtcl/webapp.tcl.
Virtual equipments are an essential part of the topo module in order to connect components of the graph through not maintained or not supported equipments such as various Linux/FreeBSD firewall or unknown equipments.
At this time:
A reasonnable target for v2.1 is to document at least how to write virtual equipments.
A ambitious target is to model these equipments in the database via an easy-to-use GUI.
The idea is that rights are quicker to apply at the cgi level
on an equipement view (produced by "extracteq -a") :
there are only a few interfaces to test (worst case is a few dozens
interfaces). This is how it can be done :
Toposendd configuration templates (commands to send to equipements in order to modify interface characteristics) are located in an array in the program code.
This should be transfered to database, to ease template editing.
The "eq" page is rather when an equipment has many vlans on tagged interfaces.
An useful feature would be to collapse by default all vlans if number of tagged vlans on a given interface is above a threshold.
Toposendd daemon never re-read equipment types.
Two ideas to do so:
Speed of topo programs should be improved.
Idea: group all that is needed by a single Topo CGI script in only one program. This could save multiple graph traversal to select allowed interfaces/equipement.
These icons are referenced by the "eq" CGI script, via the ::webapp::interactive-tree function of ./common/pkgtcl/webapp.tcl file.
Returned link specifies the path "images", which should be "css/images".
This issue should be investigated.
Topo boot scripts launch toposendd and topographd daemons.
At this time, they are pretty generic.
Specialized versions must be designed for FreeBSD and Debian/Ubuntu systems.
The need is to improve DNS zone generation latency.
Some ideas to achieve this goal:
Integrate Metro into WebDNS
Non priviledged users should be authorized to see contents of their DHCP profiles.
Create new sensor types:
Il est proposé une interface Web partant de l'actuel topo (/bin/eq) permettant à partir de la page d'un équipement, de sélectionner une ou plusieurs interfaces pour modifier :
Cette application permettra de configurer une interface sous les conditions suivantes :
Mécanisme :
Note : ce point de modification des interfaces des équipements nécessite une refonte particulièrement importante de l'infrastructure de la topologie.
Topo information such as network equipment and port should be added to the list of hosts in a network.
In hierarchical view of equipments, if equipment "a-b1" is given after "a-b", then the CGI script "eq" fails.
From a fresh installation, topographd stops with the following error
no files matched glob pattern "/local/var/netmagis/eqvirt/.eq"
while executing
"glob "$dir/.eq""
(procedure "detect-dirmod" line 10)
invoked from within
"detect-dirmod $eqvirtdir err"
(procedure "main" line 119)
invoked from within
"main $argv0 $argv"
invoked from within
"exit [main $argv0 $argv]"
(file "/usr/local/lib/netmagis/topo/topographd" line 858)
The netmagis.conf file should contain a single line:
rancidbasedir
instead of ranciddb + rancidconfdir.
All the commands sends to the network equipements are stored in an array in the
script "topo/src/toposendd". We need an easy way to modify or extend the commands.
So this should be independant from the codebase.
The commands are just data ; as such, they should be put into a separate configuration file.
CSV export is already available.
CSV import is more complex since it needs some rules to garantee consistency without adding too much constraints for the user. Examples of rule: don't allow a second address to an existing host, alias management, etc.
Provide manual pages for all scripts installed in .../bin and .../sbin
Provide and update a CHANGES file to keep track of changes in Netmagis versions.
Cette option est accessible à partir de plusieurs pages :
À partir de la carte du sous-réseau :
Statut :
There are numerous crutches in the code to convert back and forth FQDN to short names.
We should use FQDN everywhere (except on display, may be).
Check and analyze performance of the topo module:
All C programs called during these scripts must be analyzed with gprof or similar on a very large network to see if they scale.
The idea is to match physical location of network equipements with any reference database of buildings,
by using the snmp sysLocation variable or similar.
Since they are a single program, provide only one netmagis.conf directive (e.g. the dot program).
Graph drawing engine should be supplied by a parameter given to dot such as "dot -Glayout=neato ..."
Adapt FreeBSD ports to new source configuration resulting from Debian packaging.
Adapt installation documentation if needed
It would be great if it was possible to create several views for a given zone into Netmagis. Once a view is created, it would be possible to add a host into it and to generate a zone file for this view.
Then, it would be easy (by configuring bind) to serve a different dns view depending on your location on the network.
Some parameters names are not displayed correctly by the www/cgi/admpar script (i.e. key names not translated) both in English and in French.
Various parts of netmagis produce some logs.
Log production should be harmonized.
Log exploitation/display should be centralized at one point in the Web application for admin users.
Rework Web admin scripts for ergonomy.
The new admin scripts should be "task oriented" :
Existing admin scripts should be kept for "raw" administration.
Cette option est accessible depuis le bandeau de gauche de WebDNS (lien "Où suis-je ?")
Affichage de l'adresse du client Web
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.