[Ninux-Wireless] Recuperare le info dai device con python: netengine

Nemesis nemesis a ninux.org
Lun 23 Dic 2013 20:32:02 CET


Tempo fa avevamo discusso e lavorato insieme per fare un prototipo che
recuperasse le info dai device per metterle dentro nodeshot.

Come promesso, in questo fine-settimana ho cominciato ad estrarre quel
codice e a spostarlo in un repository separato.

Ispirato da "mongoengine" ho chiamato la libreria "netengine".

L'obiettivo è fare un livello d'astrazione per estrarre informazioni dai
device. Un pò come si fa con i database.

https://github.com/nemesisdesign/netengine

EsempioSNMP:

    from netengine.backends.snmp import AirOS

    device = AirOS('10.40.0.1', community='public')

    device.name
    'RM5PomeziaSNode'
    device.model
    'Rocket M5'
    device.os
    ('AirOS', 'XMar7240.v5.3.3.sdk.9634.1111221.2238')

Esempio SSH:

    from netengine.backends.ssh import AirOS

    device = AirOS('10.40.0.1', 'root', 'password')

    device.name
    'RM5PomeziaSNode'
    device.model
    'Rocket M5'


Non mi sembra di aver visto librerie in giro che fanno una cosa simile.
Da quello che ho visto, mi pare che il networking sia rimasto parecchio
indietro su molte cose.

Si usano standard complicati e i dati sono difficili da parsare e tra
l'altro variano da distribuzione a distribuzione.

Ho visto dei miglioramenti per quanto riguarda i tools delle community
network, in particolare OLSR e batman offrono degli output di dati in
JSON, che è ottimo.

Questa è la via da seguire. Questo è il mio tentativo di spingerci oltre
e fare qualcosa che sarà utile non solo a noi ma anche ad altri.
Portiamo una ventata di novità, degli strumenti utili, facili da usare e
codice facile da leggere.

NetEngine è python puro. Non c'è logica django, nonc'è nodeshot, è molto
semplice. Ho subito scritto la documentazione dentro il README e sono
sicuro che se leggete il codice lo capirete molto velocemente.

Ovviamente è ancora ad uno stadio prematuro, ma ci lavorerò man mano che
vado avanti e spero vivamente in un vostro aiuto. Mi piacerebbe che
questo diventi uno strumento targato ninux, ma perchè questo avvenga c'è
bisogno del vostro contributo attivo. Molti di voi hanno molta più
esperienza di me sul networking.

Stavolta non avete scuse. Non potete dire cose tipo "è troppo
difficile", "non conoscodjango", "non c'è documentazione", ecc.

Venite fuori dalla comfort zone ed aiutatemi a fare qualcosa che a mio
avviso sarà utilissimoper molte persone.

Dopo questo annuncio le successive discussioni su questo tema facciamole
su ninux-dev:
http://ml.ninux.org/mailman/listinfo/ninux-dev

Nemesis
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://ml.ninux.org/pipermail/wireless/attachments/20131223/3e0e21f8/attachment-0001.html>


Maggiori informazioni sulla lista Wireless