[ninux-dev] Notizie sul fronte automazione configurazioni

nemesis nemesis at ninux.org
Sat Feb 20 20:40:33 UTC 2016


 Ciao a tutti,

 ultimamente avrete notato che sono un pò sparito. Sono molto 
 concentrato sul fronte automazione delle configurazioni (ma tipo 
 pesantemente).

 Intanto vorrei fare una piccola introduzione (o vorrei rinfrescare la 
 memoria a chi ha già letto qualcosa in passato).

 Non so se ricordate l'articolo:
 "netjsonconfig: convert NetJSON to OpenWRT UCI"
 http://nemesisdesign.net/blog/coding/netjsonconfig-convert-netjson-to-openwrt-uci/

 Negli ultimi mesi ho implementato quello che spiegavo in 
 quell'articolo.
 La libreria che converte NetJSON in UCI comincia a darmi delle 
 soddisfazioni,
 sono riuscito a stabilizzare due feature che sono molto potenti:

 * i template (concetto originato da OpenWISP Manager): permettono di 
 immagazzinare configurazioni ricorrenti

 * variabili: a volte non è possibile templatizzare un pezzo di 
 configurazione perchè ci sono degli id/chiavi/indirizzi ip/ecc
   che cambiano da apparato ad apparato; con questa feature è possibile 
 mettere nel template una variabile, eg: {{ eth0_ip }}

 Sulla documentazione c'è una pagina che spiega abbastanza bene i 
 concetti di base:
 http://netjsonconfig.openwisp.org/en/latest/general/basics.html

 Dopodichè c'è l'applicazione web che fornisce una UI (al momento 
 piuttosto base) che utilizza netjsonconfig
 dietro le quinte per validare e generare la configurazione. Ha anche 
 una funzionalità di anteprima della configurazione UCI
 che permette di vedere il risultato prima di salvare le modifiche.

 Quest'applicazione è un'app django che si chiama django-netjsonconfig, 
 l'ho progettata per inserirla in progetti django più grandi,
 ma è utilizzabile anche in versione "standalone".
 Il repo è https://github.com/openwisp/django-netjsonconfig

 Tramite questa django app è possibile generare un tar.gz da mettere 
 manualmente nei router OpenWRT (via luci o sysupgrade),
 oppure per chi preferisce automatizzare i task ripetitivi e noiosi c'è 
 un pacchettino per OpenWRT che lo fa al posto vostro:
 https://github.com/openwisp/openwisp-config

 C'è ancora molta strada da fare, sia per soddisfare tutte le necessità 
 che servono ad OpenWISP che quelle che servono a Ninux,
 ma credo di essere sulla buona strada perchè quello che ho ora già 
 riesce a portare a casa i risultati che servono, nelle ultime
 settimane l'ho dato in pasto ad un cliente early adopter per dargli una 
 feature che OpenWISP attuale non ha ed è rimasto
 piuttosto soddisfatto.

 Ma sto testando questi programmi anche in ninux (non eravamo na rete 
 sperimentale na volta?), con Michele Salerno stiamo
 facendo un pò di esperimenti su Ninux Basilicata, quando avrò più 
 ciccia vi farò sapere i dettagli, al momento posso
 dirvi che miriamo a raggiungere questi obiettivi:

 * fare in modo che sia molto facile generare la configurazione di nuovi 
 router openwrt
   molto probabilmente solo per fare routing a terra perchè sulle 
 maledette antenne ci teniamo il nostro amatissimo AirOS
 * fare in modo che i router abbiano una VPN di management annunciata 
 sul protocollo di routing
  (in modo che anche se il collegamento wireless non c'è si è in 
 ninux-matera lo stesso)
 * gestire la configurazione del server openwisp/VPN tramite ansible, al 
 fine di facilitare gli aggiornamenti
   ma anche rendere più facile replicare configurazioni simili su altre 
 isole, su questo siamo a buon punto :-)
   con la scusa sto anche insegnando ansible e git a Michele
 * usare OLSRd2 come protocollo al posto di OLSRd1, e questa è la cosa 
 più facile

 Quando avremo queste cose scriverò della documentazione sul setup e 
 cercherò di pubblicare qualcosa in modo che altri possano
 visionare, replicare e fare varianti o miglioramenti.

 Nel mentre, se qualche ninuxer di qualche nuova isola che è in una 
 situazione simile a Michele (ovvero nuova isola in via di definizione 
 con pochi nodi)
 vuole partecipare con gli stessi esperimenti ce lo faccia sapere.

 Infine vorrei complimentarmi con Michele per la pazienza e l'impegno 
 che sta mettendo in Ninux, non è uno che dice "sì famo famo" e poi 
 sparisce.
 L'unica piccola pecca che ha è che non se vole studià la documentazione 
 di ansible! :-) :-P

 Nemesis


More information about the ninux-dev mailing list