Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Configure and Use a Master Source Location for a Script

You can store a master copy of each script in a central repository. This eases file management because you can make changes to the master script in one place and then update the copy on each device where the script is currently enabled. This section discusses how to configure the master source location for a script and how to refresh the local copy of the script.

Configuring the Master Source for a Script

To specify the source location for the master copy of an individual script:

  1. Configure the source statement, and specify the URL of the master file as an HTTPS URL, HTTP URL, FTP URL, or secure copy (scp)-style remote file specification.

    The configuration hierarchy depends on the script type and filename.

    The following example configures the master source location for the ospf-neighbors.slax op script.

  2. If the source location is on an HTTPS server, configure the cert-file statement on supported devices. Specify the absolute path to the certificate (Root CA or self-signed) in Privacy-Enhanced Mail (PEM) format that the device uses to validate the server's certificate.

    The configuration hierarchy depends on the script type and filename.

    The following example configures the Root CA certificate that will be used to validate the certificate of the server where the master copy of the ospf-neighbors.slax op script resides.

Including the source statement in the configuration does not affect the local copy of the script until you issue the set refresh command. At that point, the device retrieves the master copy from the specified URL and overwrites the local copy.

Configuring the Routing Instance Used to Update a Script from the Master Source

Before Junos OS Release 18.1R1, scripts could be updated from a master source using the default management interface. However, starting in Junos OS Release 17.3R1, you are able to confine the management interface in a nondefault virtual routing and forwarding (VRF) instance so that management traffic no longer has to share a routing table with other control or protocol traffic. Starting in Junos OS Release 18.1R1, you can specify a routing instance to use to refresh or download a commit, event, JET, op, or SNMP script from a master source. This routing instance can be either the nondefault management instance mgmt_junos or some other routing instance.

You must configure the routing instance you specify to update scripts through at the [edit system routing-instances] hierarchy level.

To use mgmt_junos to update scripts from a master source:

  1. Enable mgmt_junos by configuring the management-instance statement at the [edit system] hierarchy level.
  2. Configure the mgmt_junos routing instance at the [edit routing-instances] hierarchy level.
  3. Configure the mgmt_junos routing instance at one of the three routing-instance hierarchy levels for scripts:
    • For commit, op, or SNMP scripts, configure the mgmt_junos routing instance at the [edit system scripts (commit | op | snmp)] hierarchy level.

    • For event scripts, configure the mgmt_junos routing instance at the [edit event-options event-script file] hierarchy level.

    • For JET scripts, configure the mgmt_junos routing instance at the [edit system extensions extension-service application file] hierarchy level.

Note:

To update scripts from a master source using a configured management interface, you can configure only mgmt_junos for the routing-instance-name. To use a non-management interface, you can configure anything for the routing-instance-name.

Updating a Script from the Master Source

If you configure a master source for one or more scripts on a device, you can refresh the scripts on that device using the set refresh configuration mode command. You can update a single script or all scripts of a given script type that have a master source location configured.

The update operation occurs as soon as you issue the set refresh command. When you issue the set refresh command, the device immediately attempts to connect to the specified URL and retrieve a copy of the master file. The master copy overwrites the local script stored in the scripts directory on the device. If the load-scripts-from-flash statement is configured, the device updates the script on the flash drive instead of the script on the hard disk. If a master source is not defined for a script, that script is not updated and a warning is issued. For commit scripts, the updated commit script is executed when you next issue the commit command. If the script configuration includes the routing-instance statement, then Junos OS updates the script using that routing instance.

Note:

Issuing the set refresh command does not add the refresh statement to the configuration. Thus the command behaves like an operational mode command by executing an operation, instead of adding a statement to the configuration.

The set refresh command is unique in the Junos OS CLI in that it behaves like an operational mode command and yet it can be executed from within configuration mode. All other Junos OS CLI operational mode commands can only be executed from command mode. The functionality is provided in this manner as a convenience to users developing commit scripts.

If the device has dual Routing Engines and you want to update a script on both Routing Engines, you must issue the set refresh command on each Routing Engine separately. Alternatively, you can refresh the scripts on the requesting Routing Engine and then use either the request system scripts synchronize operational mode command to synchronize scripts to the other Routing Engine or the commit synchronize scripts configuration mode command to synchronize all scripts to the other Routing Engine when you commit and synchronize the configuration.

To update a single script from its master source, issue the set refresh command at the hierarchy level where the script is configured. The hierarchy location depends on the script type and filename as shown in the following examples. The source statement specifying the master source location must already be configured.

To update all enabled scripts of a given script type from their master source files, issue the set refresh command at the hierarchy level for that script type.

Release History Table
Release
Description
21.2R1
Starting in Junos OS Release 21.2R1, you must specify a certificate when you refresh scripts from an HTTPS server.