Service Template Automation Overview
Starting in Junos OS Release 12.3, you can use service template
automation (STA) to provision services such as VPLS VLAN, Layer 2
and Layer 3 VPNs, and IPsec across similar platforms running Junos OS.
Service template automation uses the
service-builder.slax op script to transform a user-defined service template definition
into a uniform API, which you can then use to configure and provision
services on similar platforms running Junos OS. This enables you to
create a service template on one device, generalize the parameters,
and then quickly and uniformly provision that service on other devices.
This decreases the time required to configure the same service on
multiple devices, and reduces configuration errors associated with
manually configuring each device.
The following process outlines how to use service template automation to provision services:
- Create a service template definition.
- Execute the
service-builder.slaxscript and define service-specific instance parameters.
- Generate the service interface, which automatically builds the required interface (API) from the template.
- Enable the service interface on each device where the service is required.
- Provision systems by invoking the service interface using NETCONF and supplying the service parameter values.
You create a new service template by configuring the hierarchies for the actual service to be provisioned on a device running Junos OS. Service template hierarchies are configured at the [edit groups] hierarchy level. When creating the service template:
Do not include apply-groups or apply-macro statements.
Do not include any statements that are supported on the current device that are not also supported on the devices where the service will be provisioned (for example dual Routing Engine versus single Routing Engine).
Commit the configuration. The service template group configuration is read from the committed configuration.
Once you create the basic service template definition, you invoke
service-builder.slax op script.
The script reads the service template information from the committed
configuration and uses an interactive interface to help you build
and generate the service API. You have the option to parameterize
every variable in the service template or only selected variables.
For each selected variable, you create a generic service template
service-builder.slax script guides you through the creation and configuration of each
After you define the service template parameters, you generate
the service interface. This creates a platform-specific service op
script. If the load-scripts-from-flash statement is configured,
the generated service script is stored in the
/config/scripts/op directory in flash memory. Otherwise, the generated script is stored
on the hard disk.
enable the service interface on a device, you enable the generated
service script in the configuration as you would any op script. You
can enable the service interface on the local device using the
service-builder.slax script or by manually updating
the configuration. To enable the service interface on a similar platform,
you must copy the generated service script to the corresponding directory
on the new device and enable the service script in the configuration.
To provision the service on a device, invoke the service interface using NETCONF, and supply the necessary values for each parameter. Alternatively, you can invoke the service interface in the CLI by executing the service script and supplying the necessary values for each parameter as command-line arguments to the script. You can direct the service script to create a new service configuration, or update or delete an existing service configuration. The service script makes the changes to the candidate configuration and then commits the configuration. The service script does not support the context-sensitive help and auto-completion features available in the Junos OS CLI.