derivatives
Concept
Taking the concept of templates one step further, SKOOR engine offers a way to build sophisticated template structures by allowing templates to be based on existing templates. These are called template derivatives. The relationship between template and template derivative is basically the same as the relationship between template and instance. Editing a template propagates the changes (or at least some of the changes, according to propagation rules) to the instances of a template. Likewise, changes in a template that is used within another template are propagated to it and a template link is retained. The following example illustrates the usefulness of the derivative template concept.
Often a set of devices which are largely similar but differ only in a limited number of their child jobs or job parameters can be setup using such a template derivative method. The approach is usually to build a set of job templates and then build a base device which contains the jobs that should exist on every device of the same type (e.g. a Base EEM device template or a Base Linux Server template). Then one can create derivative templates of that base device template which include everything that is part of the base device plus additional jobs or differing parameters.
Creating derivative job templates
The first step is therefore to create a set of job templates that will then be used for the base device template and the derivative device templates. The following shows a set of job templates:
Even job templates can be derived from other job templates. For example this can be applied to the EEM Project jobs. The Base EEM job has the following configuration:
The job contains one EEM Timer child job called Total.
From this base job derivative EEM Project jobs can be built for various EEM project setups that contain additional EEM Timer jobs.
To create a derivative job template from the Base EEM job one simply adds a new job below the /root/Templates/job templates folder:
Then the Base EEM job template can be selected from the Use template dropdown list:
Give the new derivative job template a name, deselect the Stop the new job checkbox and click Next:
All job parameters are filled in from the EEM Base job template. Although it seems that no EEM Timer job is linked, the EEM Timer child job will be created when the OK button is clicked:
Note that the bullet of the derivative job template is marked with a list icon to distinguish it from normal job templates:
Within the EEM job Calc template one can now adapt for example the Project name and Runtime limit parameters and add additional EEM Timer child jobs:
The deviations from the Base EEM job are again highlighted in orange, as they would when showing a job instance with differing parameters from its job template.
Aditional EEM job derivatives are created in the same way:
One can even create job template derivatives of job template derivatives. The possibilities are endless.
Creating derivative device templates
With the base jobs created, one can now continue by creating a base EEM device.
The following device template shows a base device used for end-to-end monitoring.