Example: Synchronize Scripts Between Routing Engines
This example shows how to configure a device
with dual Routing Engines running Junos OS to synchronize all
commit, event, lib, op, and SNMP scripts between Routing Engines every
time you execute a commit synchronize
operation.
Requirements
A routing, switching, or security device with dual Routing Engines running Junos OS Release 13.2 (15.1 for SNMP scripts) or later is required.
Overview
In this example, you configure a device with dual Routing Engines
running Junos OS to synchronize all commit, event, lib, op, and
SNMP scripts from the requesting Routing Engine to the other Routing
Engine whenever you execute a commit synchronize
command
to commit and synchronize the configuration. When configured, the
device synchronizes all scripts regardless of whether they are enabled
in the configuration.
In this example, the load-scripts-from-flash
statement
is not configured on the requesting Routing Engine. Thus, the device
synchronizes the scripts that are on the hard disk of the requesting
Routing Engine to the hard disk of the responding Routing Engine.
On the hard disk, scripts are stored under the /var/db/scripts directory in the subdirectory appropriate
to the script type. In flash memory, scripts are stored under the /config/scripts directory in the subdirectory appropriate
to the script type. EX Series switches use the default directory /config/db/scripts
.
Configuration
- CLI Quick Configuration
- Configuring Script Synchronization for Commit Synchronize Operations
- Results
CLI Quick Configuration
To quickly configure this example, copy the following
command, paste it in a text file, and then copy and paste the command
into the CLI at the [edit]
hierarchy level.
set system scripts synchronize
Configuring Script Synchronization for Commit Synchronize Operations
Step-by-Step Procedure
To automatically synchronize scripts between Routing
Engines during a commit synchronize
operation:
Configure the
synchronize
statement at the[edit system scripts]
hierarchy level.[edit system scripts] user@host# set synchronize
Commit and synchronize the configuration.
[edit system scripts] user@host# commit synchronize re0: configuration check succeeds re1: commit complete re0: commit complete
When you issue the first and subsequent
commit synchronize
commands, the device performs a commit check on the requesting Routing Engine, synchronizes all scripts to the other Routing Engine, synchronizes, performs a commit check, and commits the configuration on the responding Routing Engine, and finally commits the configuration on the requesting Routing Engine.
Results
The resulting configuration is:
system { scripts { synchronize; } }
Verification
Confirm that the configuration is working properly and the synchronization is successful.
Verifying Script Synchronization
Purpose
Verify that the scripts present on the requesting Routing Engine are synchronized to the other Routing Engine.
In this example, the load-scripts-from-flash
statement
is not configured for the requesting Routing Engine. Therefore, the
device synchronizes scripts from the /var/db/scripts directory on the requesting Routing Engine to the /var/db/scripts directory on the responding Routing
Engine.
Action
Use the file list
operational mode command
to view the files in the /var/db/scripts directory on each Routing Engine.
On the requesting Routing Engine, list the files under the /var/db/scripts/ directory.
user@host> file list /var/db/scripts/* detail /var/db/scripts/commit: -rw-r--r-- 1 remote wheel 1014 Jul 17 16:18 vpn-commit.slax /var/db/scripts/event: /var/db/scripts/lib: /var/db/scripts/op: -rw-r--r-- 1 root wheel 11485 Sep 21 2010 jcs-load-config-op.slax
Log in to the responding Routing Engine, and verify that the files are synchronized.
user@host> request routing-engine login other-routing-engine user@host1> file list /var/db/scripts/* detail /var/db/scripts/commit: -rw-r--r-- 1 remote wheel 1014 Jul 17 16:18 vpn-commit.slax /var/db/scripts/event: /var/db/scripts/lib: /var/db/scripts/op: -rw-r--r-- 1 root wheel 11485 Sep 21 2010 jcs-load-config-op.slax
Meaning
The scripts present on each Routing Engine are identical indicating that the device successfully synchronized the scripts from the requesting Routing Engine to the responding Routing Engine.
Troubleshooting
Troubleshooting Script Synchronization Failure
Problem
The device does not synchronize the scripts present on the requesting Routing Engine to the other Routing Engine.
Solution
Verify the following:
You configured the
synchronize
statement at the[edit system scripts]
hierarchy level.You are viewing the correct directories on each Routing Engine.
If the
load-scripts-from-flash
statement is configured for the requesting Routing Engine, the device synchronizes scripts from flash memory on the requesting Routing Engine to flash memory on the responding Routing Engine.You executed a
commit synchronize
command when committing the configuration.The device does not synchronize scripts for a
commit
operation, only for acommit synchronize
operation.The commit check and commit operations for the requesting Routing Engine are successful.
If the commit check operation for the requesting Routing Engine fails, the process stops, and the scripts are not copied to the responding Routing Engine.