Ciao a tutti,

ieri con l'aiuto di Fabys e Immanuel sono riuscito ad andare un bel pò avanti sul prototipo che prende le informazioni dai device.

L'obiettivo di questo primo prototipo è evitare di dover inserire tutte le info a mano sull'interfaccia web, ma automatizzare il tutto con delle classi che scriveremo in base ai device usati ed i protocolli che vogliamo usare.

Vi faccio un esempio pratico così capite tutti.

Quando ora bisogna attivare un nodo sul map-server per far disegnare i link bisogna inserire un device, immettere le informazioni (nome device, interfacce wireless, ethernet, ip) a mano. Col passare del tempo mi sono reso conto che quest'operazione oltre a far perdere un sacco di tempo a chi monta i nodi, è molto error-prone, ed infatti non poche volte ci siamo resi conto che alcune informazioni erano state inserite completamente sballate e quindi inutilizzabili. Con questo nuovo modulo il processo sarebbe automatizzato, l'obiettivo è che basti inserire nome del nodo, host, username e password (solo se SSH o API HTTP, altrimenti con SNMP, munin o altri protocolli non servirebbe) e che tutti gli ogetti vengano creati automaticamente. Chi è masochista potrà comunque continuare ad inserire tutte le interfacce manualmente :)

Per prima cosa ho cominciato con SSH e comandi shell, per una questione di semplicità e portabilità, dato che altre soluzioni come SNMP ed API HTTP non sono supportate da tutti i device della rete ninux.

Qui c'è il codice che abbiamo prodotto:
https://github.com/nemesisdesign/nodeshot/commit/ae692a2e6e230e7a83038da0d5f5f377185ab31d

Dopo aver fixato alcuni problemini il prossimo passo sarà fare una classe per OpenWRT (il prototipo che ho fatto è per AirOS).

Fabys mi ha spiegato come funziona Munin, e mi sembra un validissimo tool con cui fare un prototipo di monitoraggio semplice.

Un piccolo problema che non siamo riusciti a risolvere è che non siamo riusciti a tirar fuori l'ipv6 dall'output dell'ifconfig:

https://github.com/nemesisdesign/nodeshot/blob/ae692a2e6e230e7a83038da0d5f5f377185ab31d/nodeshot/networking/base/utils.py#L14

Sapete se c'è un modo più facile per tirar fuori l'ipv6 con qualche comando bash?

PS: al prossimo giovedì nerd se volete installiamo un istanza di nodeshot2 di sviluppo per poterci smanettare tutti insieme appassionatamente.
Chi vuole donare una macchina a tal proposito?

Federico
_______________________________________________
Wireless mailing list
Wireless@ml.ninux.org
http://ml.ninux.org/mailman/listinfo/wireless

Rispondere a