Introduction
This document describes the procedure to handle the error "SVN Error: Pristine Text not Present" in Cisco Policy Suite (CPS), while you Import or Publish a repository.
Prerequisites
Requirements
Cisco recommends that you have knowledge of these topics:
- Linux
- CPS
- Policy Control Rule Function (PCRF)
- Diameter Routing Agent (vDRA)
- Docker Container
Cisco recommends that you must have privilege access:
- Root access to CPS vDRA CLI
- "qns-svn" user access to CPS GUIs (Policy builder and CPS Central)
Components used
The information in this document is based on these software and hardware versions:
- CPS cisco-policy-dra 21.1.0
- MongoDB v3.6.17
- Docker container
- UCS-C
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command.
Background Information
PCRF and vDRA run on CPS based platforms and software. Import or Publish the repository with business configuration is a common or regular Operation and Maintenance task on CPS based Solutions.
CPS central or Policy Builder GUI tools are used for Import/Publish related tasks.
Problem
On a race condition, this error occurs when Import/Publish operation is performed 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"}
Solution
- When you perform publish operation of PB, the Pristine text error has been triggered by some exceptional condition such as network failure/flaps.
- SVN stores a pristine copy of the base revision (that is., the unmodified checked-out revision) of each file in the run copy.
These pristine copies are known as "text bases" and are used to perform offline diffs, and to transmit deltas back to the server.
"SVN Error: Pristine Text not Present" has been triggered by some exceptional conditions such as network failure when 'svn update' is performed.
- Once the PB repository got corrupted with this error, it could not be recovered automatically, so always recommended to use a new svn url/repository every time for import.
The procedure creates a new repository with PB backup and publishes it with desired changes.
Step 1. Log in to CPS Central with <master-ip>/central/dra/ as shown in the image.
Step 2. Select Import/Export under Policy Builder.
Step 3. Select Import tab. Select File to Import and browse the PB backup file to import as shown in the image.
Step 4. Enter the Import URL. It is strongly suggested to import to a new URL and use Policy Builder to verify/publish).
Step 5. Select Import to import the file.
Step 6. From the main page, select Policy Builder to open Choose Policy Builder Data Repository as shown in the image.
Step 7. Select Add New Repository to open Add Repository window.
Enter the name of the Repository, URL, and Local Directory. Use the correct URL. This URL must be the same as added in Step 3.
Step 8. Log in again to CPS Central with <master-ip>/central/dra/. Select Policy Builder and select your newly created repository.
Step 9. Edit the Policy Builder configuration with the changes which were done for the last corrupted repository to resolve the corrupted repository issue.
Step 10. Save the changes and publish the updated configuration.