La documentazione per questo prodotto è stata redatta cercando di utilizzare un linguaggio senza pregiudizi. Ai fini di questa documentazione, per linguaggio senza di pregiudizi si intende un linguaggio che non implica discriminazioni basate su età, disabilità, genere, identità razziale, identità etnica, orientamento sessuale, status socioeconomico e intersezionalità. Le eventuali eccezioni possono dipendere dal linguaggio codificato nelle interfacce utente del software del prodotto, dal linguaggio utilizzato nella documentazione RFP o dal linguaggio utilizzato in prodotti di terze parti a cui si fa riferimento. Scopri di più sul modo in cui Cisco utilizza il linguaggio inclusivo.
Cisco ha tradotto questo documento utilizzando una combinazione di tecnologie automatiche e umane per offrire ai nostri utenti in tutto il mondo contenuti di supporto nella propria lingua. Si noti che anche la migliore traduzione automatica non sarà mai accurata come quella fornita da un traduttore professionista. Cisco Systems, Inc. non si assume alcuna responsabilità per l’accuratezza di queste traduzioni e consiglia di consultare sempre il documento originale in inglese (disponibile al link fornito).
Questo documento descrive come analizzare le tracce END di tipo CLI e generico e identificare la causa di errori esterni in Cisco Crosswork NSO.
- Crosswork NSO 6.4.3
- NED cisco-iosxr-7.64.1
Gli errori terminali esterni sono il segno di un'interruzione della comunicazione tra il terminale e il dispositivo. Si presentano in tre grandi categorie:
La categoria delle risposte impreviste è di gran lunga la categoria più comune sono gli errori esterni che si possono verificare alla FINE. Include la restituzione da parte del dispositivo di un messaggio di errore, di un messaggio informativo o di qualsiasi altro tipo di informazioni che non corrispondono a quanto previsto dall'NSO. Gli NED sono progettati per gestire messaggi informativi o avvertenze che possono essere ignorati senza problemi. Molti terminali dispongono di impostazioni finali per personalizzare i messaggi da ignorare o quelli da considerare come errori esterni.
È possibile visualizzare un errore esterno generato dall'estremità quando quest'ultima riceve informazioni che non corrispondono al modello yang durante un'operazione sync-from
ocompare-config
. Un esempio tipico è un modello yang che accetta un valore da 0 a 8 per una data foglia, ma nella versione più recente di questo sistema operativo, l'intervallo è stato aumentato a 0 a 16. Il modello END non accetta un valore di 16 in quanto si trova al di fuori dell'intervallo modellato. In alternativa, l'errore può essere generato quando una foglia è contrassegnata come obbligatoria nel modello yang ma non fornita dal dispositivo o quando il dispositivo fornisce una stringa quando NSO prevede un numero intero.
Per i dispositivi CLI e i dispositivi terminali generici, non viene generato alcun errore esterno se il dispositivo terminale riceve una configurazione non modellata nel modello NED yang. Viene invece registrato come file skipped line
di traccia.
Infine, quando un END non riceve la risposta prevista dal dispositivo entro il tempo assegnato, viene generato un errore esterno. Questo problema può verificarsi perché il dispositivo non risponde e non ha inviato una risposta, ma può anche verificarsi quando la risposta dal dispositivo non è stata riconosciuta dall'END.
I registri di traccia sono i migliori registri disponibili per la risoluzione degli errori esterni.
I registri di traccia NED vengono abilitati dalla CLI NSO.
ncs_cli -C -u admin
admin@ncs# configure
admin@ncs(config)# devices device dev-1 ned-settings [ned-id] logging level debug
admin@ncs(config)# devices device dev-1 trace raw
admin@ncs(config)# commit
admin@ncs(config)# devices device dev-1 disconnect
admin@ncs(config)# devices clear-trace
admin@ncs(config)# devices device dev-1 compare-config
Per [ned-id]
, utilizzare l'id-fine per il dispositivo di destinazione con il comando.
Attenzione: Il comando clear-trace cancella i dati di tutti i registri di traccia di END presenti nella directory dei registri. Se si desidera conservare i registri di traccia per questo o altri dispositivi, archiviarli prima di eseguire questo comando. Nelle versioni NSO correnti è possibile eseguire clear-trace per un singolo dispositivo.
Nota: Se non si trova "end-settings [end-id] logging level debug", è possibile saltare questo comando.
Con questi comandi vengono cancellati tutti i dati precedenti dal file di traccia e vengono preparati con la configurazione corrente nel dispositivo. A questo punto si riproduce il problema rilevato utilizzando ncs_cli
o il servizio NSO. Se l'errore si è verificato durante un'operazione di commit, è necessario acquisire gli output CLI per commit dry-run
e commit dry-run outformat native
per riferimento futuro.
Nel file LEGGIMI DI END è disponibile un capitolo intitolato "Come segnalare i problemi e le richieste di funzionalità di NED" per istruzioni più dettagliate.
Le tracce NED per la CLI e gli END generici vengono suddivise in fasi distinte che sono utili per la risoluzione dei problemi. Le fasi più importanti da comprendere ai fini della risoluzione degli errori esterni sono le fasi SHOW e PREPARE.
La fase SHOW viene richiamata quando NSO legge le informazioni dal dispositivo di rete. Fa parte di sync-from
e di compare-config
operazioni. Durante questo passaggio, l'NSO chiede al dispositivo di eseguire un comando quale, show running-config
ad esempio, prima di leggere e analizzare la risposta dal dispositivo. I messaggi in uscita, inviati dall'NSO al dispositivo, vengono indirizzati *** output
mentre i messaggi in arrivo, inviati dal dispositivo all'NSO, iniziano con *** input.
Nota: Gli errori esterni durante un'operazione SHOW includono valori non accettati nel modello yang corrente e problemi di timeout.
La fase PREPARE viene richiamata come parte delle commit
operazioni. Durante questa fase NSO invia istruzioni al dispositivo. All'inizio di una fase PREPARE, END stampa un elenco delle modifiche che NSO intende apportare al file di traccia. Dopo questo riepilogo iniziale, NSO invia le istruzioni al dispositivo. Per alcuni dispositivi, NSO invia i comandi in blocco, mentre per altri dispositivi questi comandi vengono inviati uno alla volta. Questo comportamento può essere modificato utilizzando le impostazioni finali rilevanti per gli END che lo supportano. Ad esempio, cisco-iosxr-cli NED ha l'impostazione NED "write number-of-lines-to-send-in-chunk <1-1000> (default 100)"
Per gli NSO CLI, è comune vedere i comandi inviati da NSO come output restituito come input. Ciò è dovuto al fatto che il comando viene visualizzato nell'interfaccia utente basata su testo del dispositivo e NSO considera come input tutto il testo visualizzato nell'interfaccia utente. Un esempio in cui NSO invia comandi uno alla volta può avere il seguente aspetto:
*** output 1-Jan-2024::09:56:00.928 user: admin/425 thandle 7428 hostname NSO1 device test-device ***
interface GigabitEthernet 0/0/0/2.34280485 l2transport
*** input 1-Jan-2024::09:56:00.929 user: admin/425 thandle 7428 hostname NSO1 device test-device ***
interface GigabitEthernet 0/0/0/2.34280485 l2transport
Nota: Gli errori esterni durante un'operazione PREPARE includono tutti i messaggi restituiti dal dispositivo che non soddisfano le aspettative dell'NSO, ad esempio errori, avvisi o messaggi informativi.
Quando si risolvono gli errori esterni per CLI e dispositivi terminali generici: abilitare la traccia, riprodurre il problema ed esaminare la fase SHOW o PREPARE più recente, a seconda delle operazioni che hanno attivato l'errore.
In caso di problemi in cui NSO si lamenta di un valore specifico fornito dal dispositivo:
Per un problema in cui NSO genera un errore esterno che comporta un timeout:
Può essere difficile determinare cosa attende l'NSO. Alcuni END con un livello di dettaglio maggiore stampano l'espressione regex che stanno cercando. In alcuni casi, il messaggio cercato da NSO non viene visualizzato nel file di traccia, ma NSO non lo riconosce e continua ad attendere.
Per un problema in cui NSO genera un errore esterno a causa di una risposta imprevista:
Un problema di traduzione si verifica quando NSO ha l'intenzione corretta ma i comandi inviati al dispositivo non sono del tutto corretti. Questo può accadere quando una versione o un modello di dispositivo diverso che utilizza lo stesso NED ha una sintassi leggermente diversa. Se si utilizza una versione meno recente di un'estremità, verificare se lo stesso comportamento esiste ancora nell'ultima versione dell'estremità. Verificare inoltre se sono disponibili impostazioni finali nel file README-end-settings.md incluso in NED per verificare se sono disponibili impostazioni che consentono di personalizzare questo comportamento. Se il problema persiste e le impostazioni finali non consentono di risolverlo, aprire una richiesta con TAC. Fornire:
compare-config
operazione seguita da un'commit
operazione che invia il comando errato.Un problema di ordinamento si verifica quando l'END invia i comandi corretti nell'ordine errato. Per alcuni dispositivi e payload di configurazione specifici, l'ordine è importante. Se si utilizza una versione meno recente di un'estremità, verificare se lo stesso comportamento esiste ancora nell'ultima versione dell'estremità. Verificare inoltre se sono disponibili impostazioni finali nel file README-end-settings.md incluso in NED per verificare se sono disponibili impostazioni che consentono di personalizzare questo comportamento. Se il problema persiste e le impostazioni finali non consentono di risolverlo, aprire una richiesta con TAC. Fornire:
compare-config
operazione seguita da un'commit
operazione che invia l'ordine errato.commit dry-run outformat native
il commit non riuscito. In questo modo viene mostrato l'ordine in cui il terminale sta inviando i comandi.Nota: In rari casi, Cisco non è in grado di soddisfare una richiesta di ordini tramite il terminale, nel qual caso è possibile implementare un flusso di lavoro con più commit o generare un report dei bug con il fornitore interessato.
Un problema di valore non valido si verifica quando NSO consente l'impostazione di un intervallo di valori diverso da quello accettato dal dispositivo o impedisce a NSO di consentire l'intero intervallo consentito dal dispositivo. Ad esempio, NSO consente di definire un valore compreso tra 0 e 15, ma il dispositivo accetta solo i valori compresi tra 0 e 8. Ciò può verificarsi quando l'END è modellato in base a un modello e a una versione specifici ma altri dispositivi hanno aspettative diverse. Se si utilizza una versione meno recente di un'estremità, verificare se lo stesso comportamento esiste ancora nell'ultima versione dell'estremità. Verificare inoltre se sono disponibili impostazioni finali nel file README-end-settings.md incluso in NED per verificare se sono disponibili impostazioni che consentono di personalizzare questo comportamento. Se il problema persiste e le impostazioni finali non consentono di risolverlo, aprire una richiesta con TAC. Fornire:
compare-config
operazione seguita da un valore di commit
invio rifiutato dal dispositivo.sync-from
operazione dopo la configurazione dei dati nel dispositivo che non è attualmente accettata da NSO.Quando un dispositivo risponde ai comandi NSO con un messaggio di errore o di altro tipo, è possibile che si verifichi un errore esterno in NSO. Gli NSO NED dispongono di un elenco interno di espressioni regex che possono essere ignorate senza problemi, nonché di espressioni che attivano un errore. Diversi terminali dispongono di impostazioni finali che consentono di personalizzare questi elenchi senza la necessità di un miglioramento di terminale. Ad esempio: OSPF (Open Shortest Path First) cisco-iosxr-cli NED ned-setting write config-warning.
Se l'ultimo NED non dispone di questa opzione, aprire una richiesta con TAC. Fornire:
compare-config
operazione seguita dall'operazione che genera l'erroreSe i comandi inviati da NSO non sono corretti, verificare che l'input a NSO e i pacchetti di servizi abbiano generato le modifiche corrette. Verificare se l'output di commit dry-run
corrisponde alle modifiche che si desidera apportare e se l'output di commit dry-run outformat native
mostra i comandi e l'ordine corretti per richiamare tali modifiche. Se l'esecuzione a secco prevede modifiche impreviste, è necessario verificare i dati immessi nell'NSO o il codice di servizio. Se il funzionamento a secco è corretto ma i comandi inviati a NSO non sono corretti, controllare le risoluzioni dei problemi di conversione e di ordinazione.
In alcuni casi, un errore esterno è il risultato della configurazione, delle impostazioni o anche di un bug sul dispositivo di rete stesso, ad esempio un utente che non dispone dell'autorizzazione corretta o un dispositivo che limita alcune operazioni. Valutare se la configurazione o le impostazioni del dispositivo possono essere modificate per consentire a NSO di funzionare meglio con il dispositivo.
Ogni terminale dispone di una serie di impostazioni finali che consentono di personalizzare il modo in cui NSO interagisce con il dispositivo. Le impostazioni dei nodi sono documentate nel file README-end-settings.md all'interno di NED e tendono a differire da NED a NED. cisco-iosxr-cli NED dispone di opzioni per modificare il modo in cui NSO calcola un checksum per il dispositivo, il numero di comandi inviati in blocco, personalizzare i comandi aggiuntivi da inserire in base a trigger specifici o se l'NED deve raccogliere i dati di configurazione utilizzando "show running-config"
o scrivendo la configurazione in un file sul dispositivo e trasferendo il file utilizzando sftp, che può essere utile per configurazioni di grandi dimensioni.
Un conflitto di tipo END-Service si verifica quando è presente un comportamento problematico quando la configurazione viene modificata o eliminata utilizzando un service-package, ma non viene visualizzato quando le stesse modifiche alla configurazione vengono apportate senza utilizzare un service-package. Questo tipo di comportamento può apparire come configurazione imprevista aggiunta o rimossa, causando errori esterni dal dispositivo. In genere questo è il risultato della proprietà del servizio su parti della configurazione. Le modifiche alla configurazione del CDB NSO risultanti da un pacchetto di servizio possono ignorare la logica NED che normalmente protegge da modifiche non corrette. Se si sospetta che si sia verificato questo problema, eseguire la verifica tentando le stesse modifiche alla configurazione senza utilizzare un pacchetto del servizio.
Fare riferimento all'articolo Informazioni sulla proprietà dei servizi NSO per ulteriori informazioni sulla proprietà dei servizi e sulle possibili soluzioni.
Se non sono disponibili altre opzioni, è possibile aprire una richiesta con Cisco TAC e richiedere l'aggiornamento della richiesta NED in base alle proprie esigenze.
Le terminazioni NSO fornite da Cisco sono basate su aggiornamenti basati sui casi di utilizzo dell'utente. Cisco non tenta di coprire in modo proattivo tutti i possibili modelli e versioni di dispositivi, ma il terminale viene costantemente aggiornato per soddisfare le esigenze di una rete in evoluzione e di nuovi scenari di utilizzo. Qui è possibile trovare un riepilogo dell'ambito del supporto NED fornito dagli sviluppatori Crosswork NSO
Nota: Nonostante Cisco si adoperi al meglio per mantenere un ambiente di test interno di grandi dimensioni, non è in grado di gestire ogni modello e versione per un'ampia gamma di fornitori. Per questo motivo possiamo richiedere il tuo aiuto per fornire l'accesso a un dispositivo che rappresenti il comportamento in questione.
Quando si apre una richiesta in Cisco TAC per un'unità terminale fornita da Cisco, fornire:
compare-config
o un'sync-from
operazioneNota: I dispositivi terminali Netconf creati utilizzando lo strumento NSO NED Builder non sono supportati da Cisco al di fuori di qualsiasi problema con lo strumento stesso.
Suggerimento: Per gli END forniti dagli sviluppatori Crosswork NSO, utilizzare la tecnologia: NMS (Network Management Services and Sub-Technology: servizi e sottotecnologia di gestione della rete: Network Service Orchestrator (NSO) - END
Revisione | Data di pubblicazione | Commenti |
---|---|---|
1.0 |
19-Mar-2025
|
Versione iniziale |