Manual Chapter : Introduction to Templates and Changsets

Applies To:

Show Versions Show Versions

Enterprise Manager

  • 3.1.1
Manual Chapter

Overview: Templates and changesets

There are two versatile options you can use to manage device configurations: templates and changesets.

A template is a configuration model on which you base new configurations. When you create a new template, you change only those variables that are unique to the target device, so the template is customized for that device. For example, if you manage devices in multiple data centers that reside in multiple time zones, you can create a template to set the time zone variable for a specific device.

Conversely, a changeset is a collection of specific user-defined configuration data that you create and save from any managed device in your network, to distribute to other managed devices. For example, when you initially configure a device, you typically specify certain profiles, monitors, and iRules®. To configure systems individually, you must keep track of each setting, and manually enter those values for every new device that you add to the network. However, using changesets, you can deploy the same profiles, monitors, and iRules configurations from one device to as many devices as needed.

You can also use these options together to manage device configurations. Because templates offer you the ability to set variables for different devices in the network, you can apply them in conjunction with changesets to help manage common network configuration tasks.

The flexibility of these options helps you to efficiently manage these tasks:

  • Deploy common configurations to new devices
  • Manage configuration continuity across devices
  • Roll out new applications to multiple devices
  • Audit configuration changes
  • Manage network dependencies for devices

Network objects and dependencies for templates and changesets

Before you use can successfully use templates and changesets, you must understand and honor the network object's dependencies on the target system. A dependency is additional network object data or resources required for the primary object to function correctly.

For example, when you configure a virtual server, you usually need to also define dependent objects or resources, such as pools, nodes, or profiles. If you were to manually copy configuration files from one system to another, you would need to know each of the dependencies for every object or system setting that you plan to copy. However, when you use templates and changesets, these dependencies are automatically managed.

The presence of dependencies adds a level of complexity to the process of storing and copying device configurations. If you were to manually copy configuration files from one system to another, you would need to know each of the dependencies for every object or system setting that you plan to copy. However, when you use templates and changesets, the system automatically manages these dependencies.

Network object elements for templates and changesets

You typically create a template or changeset using the Template or Changeset wizard. These wizards prompt you for the information required and automatically generate the proper network object syntax, which consists of these elements.

Element Example syntax Description
Object class #F5[Local Traffic / Pool] An object class is the category in which a network object belongs. You can include any type of available object class in a template or changeset. The available object classes vary depending on the device's licensed features. Every network object in a template or changeset must have a class directive. This example syntax informs the system that the object configuration that follows the text refers to local traffic objects, specifically pools. When you deploy this template or changeset, the system uses the bigpipe utility to add this configuration information as a pool configuration on the target device.
System class #F5[System / DNS] A system class is associated with a specific system setting. All system settings contained in a configuration must specify a system class directive. This example syntax informs the system that the configuration data that follows the text refers to system objects, specifically DNS settings. When you deploy this template or changeset, the system uses the bigpipe utility, or other utilities, to add the DNS settings to the appropriate configuration file on the target device.
Unnamed objects #F5[Local Traffic / SSL Certificate / sample.crt] #F5[Local Traffic / SSL Key / sample.key] Certain objects that you include in a changeset or template require additional information. For example, the SSL certificate system class requires that you include the SSL certificates and SSL keys, and specify the name of the target files. Enterprise Manager™ copies the object data with these directives to the sample.crt and sample.key files on the target device, respectively, as in this example.
Administrative partitions #F5[$target_partition$] If a managed device supports administrative partitions, the system includes object partition information in the template or changeset text. If you include an object targeted to a specific partition, the system precedes the object class directive with this text, where target_partition is the name of the partition on the target device. This text directs the system to generate a shell write partition bigpipe command using the partition name you specified when the system verifies or deploys the template or changeset.
Object settings #F5[Local Traffic / Virtual Server] shell write partition Common virtual MyVIP { pool MyPool destination 10.20.10.10:http ip protocol tcp } If a managed device supports administrative partitions, the system includes object partition information in the template or changeset text. If you include an object targeted to a specific partition, the system precedes the object class directive with this text, where target_partition is the name of the partition on the target device. This text directs the system to generate a shell write partition bigpipe command using the partition name you specified when the system verifies or deploys the template or changeset. When you deploy the template or changeset as defined for this example, the target devices you selected contain the local traffic objects MyVIP and MyPool.