Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Example: Generate a Custom Error Message

Junos OS commit scripts can generate custom error messages during a commit operation to alert you when the configuration violates custom configuration rules. Emitting an error message causes the commit to fail. This example creates a commit script that generates a custom error message when a specific statement is not included in the device configuration, thereby halting the commit operation.

Requirements

Junos OS Release 16.1R3 or later release when using a Python script.

Overview and Commit Script

Using a commit script, write a custom error message that appears when the description statement is not included at the [edit interfaces t1-fpc/pic/port] hierarchy level:

The script is shown in XSLT, SLAX, and Python.

XSLT Syntax

SLAX Syntax

Python Syntax

Configuration

Procedure

Step-by-Step Procedure

Download, enable, and test the script: To test that a commit script generates an error message correctly, make sure that the candidate configuration contains the condition that elicits the error. For this example, ensure that the configuration for a T1 interface does not include the description statement.

To test the example in this topic:

  1. Copy the script into a text file, name the file description.xsl, description.slax, or description.py as appropriate, and copy it to the /var/db/scripts/commit/ directory on the device.

    Note:

    Unsigned Python scripts must be owned by either root or a user in the Junos OS super-user login class, and only the file owner can have write permission for the file.

  2. In configuration mode, configure the file statement and the script filename at the [edit system scripts commit] hierarchy level.

  3. If the script is written in Python, enable the execution of unsigned Python scripts.

    Note:

    Configure the language python3 statement to use Python 3 to execute Python scripts, or configure the language python statement to use Python 2.7 to execute Python scripts. For more information, see language.

  4. If the configuration for every T1 interface includes the description statement, delete the description for an existing T1 interface for testing purposes.

  5. Issue the commit command to commit the configuration.

Verification

Verifying Script Execution

Purpose

Verify the error message generated by the commit script.

Action

Review the output of the commit command. The commit script generates an error message for each T1 interface that does not include a description statement. Any error causes the commit process to fail.

To display the XML-formatted version of the error message, issue the commit check | display xml command.

To display a detailed trace of commit script processing, issue the commit check | display detail command.