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

2013-12-23 Per discussione Nemesis
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.221.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
___
Wireless mailing list
Wireless@ml.ninux.org
http://ml.ninux.org/mailman/listinfo/wireless


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

2013-12-23 Per discussione Giuseppe De Marco
Molto carino,
praticamente puoi programmare un ciclo che si collega in ssh alle antenne,
esegue-comandi/estrae-output, si disconnette e torna l'oggetto.



Il giorno 23 dicembre 2013 20:32, Nemesis neme...@ninux.org ha scritto:

  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

 Esempio SNMP:

 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.221.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, non c'è 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
 conosco django, non c'è documentazione, ecc.

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

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

 Nemesis

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


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