Può capitare di dover configurare una serie di switch con descrizioni e vLAN partendo da un documento strutturato (foglio elettronico o altro) fornito da chi ha steso i cavi.
L’idea è di generare lo script di configurazione degli switch partendo dai dati strutturati e facendo il meno lavoro ripetitivo possibile.
I dati strutturati forniti devono contenere come minimo l’indicazione dello switch (o stack) a cui fanno riferimento i dati, la porta dello switch/stack e una serie di informazioni descrittive del cavo che permettono, se richiesto, di assegnare la configurazione delle vLAN.
I comandi che seguono si applicano al linguaggio ArubaOS,ma è facilissimo convertirli in altri linguaggi.
Innanzi tutto serve una tabella che da un campo della tabella principale crei il comando apposito per la definizione delle vLAN e di altre configurazioni specifiche:
CREATE TABLE vlan(
sys varchar(5) NOT NULL,
vlan varchar(250) NOT NULL,
PRIMARY KEY (sys)
)
Questa tabella verrà raccordata in master/detail attraverso il campo sys
per definire il comando di assegnazione delle vLAN. Il campo vlan
deve contenere l’intero comandi di assegnazione della vLAN e di altre caratteristiche specifiche.
La tabella principale, cavi
, avrà vari campi, tra cui sys
, che dipendono dai dati forniti da chi ha steso i cavi.
La query risultante per la creazione dello script sarà
SELECT CONCAT("int ",
cavi.portaswitch,
'|',
'name {',
cavi.presa,
" ",
trim(cavi.descrizione),
" - ",
cavi.posizione,
'{|',
vlan.vlan)
FROM cavi
JOIN vlan ON cavi.sys=vlan.sys
WHERE cavi.switch='nomedelloswitch'
ORDER BY cavi.switch,cavi.portaswitch
Anziché far generare apici e a-capo da SQL ho preferito usare caratteri jolly e poi fare la sostituzione in un editor così posso verificare l’output più comodamente.
Una riga tipica generata dalla query è
int 1 | name {A1 Ingresso uffici - Pannello 1 porta 1{|untag vlan 10
Dove in rosso sono indicati campi variabili.
Una volta generato il file e verificato un trova/cambia del pipe con l’a-capo e della parentesi graffa con i dopi apici completerà la generazione dello script, a quel punto un copia e incolla completerà la configurazione.
wr mem
Lascia un commento