Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Example: Generating 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

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

    The language python statement executes scripts using Python 2.7. To use Python 3 to execute Python scripts on devices running Junos OS Release 19.4R1 or later, configure the language python3 statement instead.

  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.

[edit]
user@host# commit

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

[edit interfaces t1-0/0/1]
user@host# commit check | display xml

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

[edit interfaces t1-0/0/1]
user@host# commit check | display detail