Introduzione
In questo documento viene descritta la procedura per gestire l'errore "Errore SVN: Pristine Text not Present" in Cisco Policy Suite (CPS), durante l'importazione o la pubblicazione di un repository.
Prerequisiti
Requisiti
Cisco raccomanda la conoscenza dei seguenti argomenti:
- Linux
- CPS
- Funzione PCRF (Policy Control Rule Function)
- vDRA (Diameter Routing Agent)
- Contenitore Docker
Cisco consiglia di disporre dei privilegi di accesso:
- Accesso alla radice alla CLI vDRA CPS
- Accesso utente "qns-svn" alle interfacce utente di CPS (Policy Builder e CPS Central)
Componenti usati
Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:
- CPS cisco-policy-dra 21.1.0
- MongoDB v3.6.17
- Contenitore Docker
- UCS-C
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Premesse
PCRF e vDRA vengono eseguiti su piattaforme e software basati su CPS. L'importazione o la pubblicazione del repository con la configurazione aziendale è un'attività comune o regolare di Operazione e manutenzione su soluzioni basate su CPS.
Gli strumenti GUI di CPS Central o Policy Builder vengono utilizzati per l'importazione e la pubblicazione di attività correlate.
Problema
In una race condition, questo errore si verifica quando si esegue un'operazione di importazione/pubblicazione in Policy Builder.
[ERROR] Internal Server Error:
{"error":"org.tigris.subversion.svnclientadapter.SVNClientException: org.tigris.subversion.svnclientadapter.commandline.CmdLineException: svn: warning: W155010: Pristine text \u0027def170c04fe4c4710aa26d20513e94521502aee2\u0027 not present\n","status":"failure"}
Soluzione
- Quando si esegue l'operazione di pubblicazione di PB, l'errore di testo Pristine è stato attivato da alcune condizioni eccezionali, ad esempio errori di rete o flap.
- SVN memorizza una copia incontaminata della revisione di base (ovvero la revisione sottoposta a Check-Out non modificata) di ciascun file nella copia di esecuzione.
Queste copie incontaminate sono note come "basi di testo" e vengono utilizzate per eseguire diffs offline e per trasmettere i delta al server.
"Errore SVN: Pristine Text not Present" è stato attivato da alcune condizioni eccezionali, come un errore di rete quando viene eseguito l'aggiornamento svn.
- Una volta che il repository PB è stato danneggiato con questo errore, non può essere recuperato automaticamente, quindi sempre consigliato di utilizzare un nuovo URL/repository svn ogni volta per l'importazione.
La procedura crea un nuovo repository con backup PB e lo pubblica con le modifiche desiderate.
Passaggio 1. Accedere a CPS Central con <master-ip>/central/dra/, come mostrato nell'immagine.
Passaggio 2. Selezionare Importa/Esporta in Generatore criteri.
Passaggio 3. Selezionare la scheda Import. Selezionate File da importare e sfogliate il file di backup PB da importare, come mostrato nell'immagine.
Passaggio 4. Inserire l'URL di importazione. Si consiglia di eseguire l'importazione in un nuovo URL e di utilizzare Generatore criteri per la verifica/pubblicazione.
Passaggio 5. Selezionare Importa per importare il file.
Passaggio 6. Dalla pagina principale, selezionare Policy Builder per aprire Scegli repository dati di Policy Builder, come mostrato nell'immagine.
Passaggio 7. Selezionare Aggiungi nuovo repository per aprire la finestra Aggiungi repository.
Immettere il nome del repository, l'URL e la directory locale. Utilizzare l'URL corretto. L'URL deve essere lo stesso aggiunto nel passaggio 3.
Passaggio 8. Accedere nuovamente a CPS Central con <master-ip>/central/dra/. Selezionare Generatore criteri e selezionare il repository appena creato.
Passaggio 9. Modificare la configurazione di Policy Builder con le modifiche apportate per l'ultimo repository danneggiato per risolvere il problema del repository danneggiato.
Passaggio 10. Salvare le modifiche e pubblicare la configurazione aggiornata.