Configure Dependency Between Resources
Before you configure dependency for a dependent (child) resource, you must complete configuring the dependency (parent) resources. See Add Resources for Root Cause Analysis for more information.
When you configure dependency for a dependent (child) resource, you configure terms that have the logical conditions to check for dependency. In Paragon Automation, you can change the order of dependency terms in the Dependency page. Paragon Automation executes the terms based on the sequence in which the terms appear in the GUI.
-
Select Configuration>Resource.
The Resources page appears.
-
Select a resource from Resources table and click edit (pencil icon).
The Edit Resource page appears.
- Click Next until you view the Dependency page.
- Enter the details as described in Table 1.
-
Click Save.
The Dependency page appears.
-
Click Next.
You can a see visual representation of the resource and dependency configuration that you added.
- (Optional) Click View Tree to view a collapsed view of the resource and the dependency configurations.
- (Optional) Click View JSON to preview the JSON format of the configuration.
-
Click Save & Exit.
The Save Resource Configuration window appears.
-
Click Save to only save the configuration.
Paragon Automation saves the configuration to form dependency between resource but does not generate smart alarms.
-
Click Save and Deploy saves and deploys the configuration to
form dependency between the resources and generate smart alarms.
You can see the new resource and its dependency mapped in the Resources page.
Table 1: Fields in Dependency Configuration Fields Description Dependent-resource-name depends on Resource Name Select the resource that impacts your dependent (child) resource. Add Variable Variables in this section are used to extract parts of the child resource’s property. Such variables are used to check dependency using conditional statements.
Variables configured here can be used to check dependency in all terms.
Name Enter a name that follows the [a-zA-Z][a-zA-Z0-9_-]* pattern.
For example, interface-name-split.
Expression Enter a regular expression to extract parts of a property value.
See regex syntax for more information.
For example, if you use the regular expression ".*(\d+)/(\d+)/\d+" on interface-name property of interface resource, you can extract line card number and PIC number.
The example regex forms two capture groups to extract line card number and PIC number. The first capture group, which is line card number, can be referred as interface-name-split-1 and second capture group, which is PIC number, can be referred as interface-name-split-2.
Resource Select the name of the dependent (child) resource. Field Select a property in the child resource on which regex expression should be applied. Case Sensitive Enable this field. If you enable this field, Paragon Automation ignores the case of resource properties when processing conditions.
Add Terms (Terms > Add Item) Terms contain the logic to check for a dependency relation between resources.
Term Name Enter a term name that follows the [a-zA-Z][a-zA-Z0-9_-]* pattern. Depends on Multiple Instances Enable this field if your dependency logic involves checking if a child resource property is dependent on multiple instances of a parent resource property.
For example, you configured Aggregated Ethernet (link aggregation group) as a dependent (child) resource to interface resource. As AE depends on multiple links (interface resource), you must enable Depends on Multiple Instances knob.
Dependency Type Select the type of dependency. Local Device and Network dependency is the default option.
If you select Other Device dependency, configure details in For Every Device section.
If you select Other Network dependency, configure details in For Every Network Group section.
See Understand Root Cause Analysis for more information on dependency types.
Evaluate Next Term This field is disabled by default. Enable this field if your dependency logic involves checking condition in other terms.
(Optional) Add Variable Enter the following details of a child resource property: - Name
- Regular expression
- Resource name
- Resource property field
You can configure a variable for a child resource property. Variable you configure here can only be used in conditional statements within the term.
For Every Device Selects a device from a list of devices in device groups.
Label As Enter a name for the dependency (parent) resource instance that is selected. The name must follow the [a-zA-Z][a-zA-Z0-9_-]* pattern. Across all device groups Enable this field if you want Paragon Automation to check devices in all device groups for dependency. In device groups Enter the names of device groups. The child resource property will be checked against devices in the specified device groups for dependency. For Every Network Group Selects a device from a list of devices in network groups.
Label As Enter a name for the dependency (parent) resource instance that is selected. The name must follow the [a-zA-Z][a-zA-Z0-9_-]* pattern. Across all network groups Enable this field if you want Paragon Automation to check all network groups for dependency. In network groups Enter the names of network groups. The child resource property will be checked against instances of network resource property in the specified network groups. Locate Resource The locate resource iterates through all instances of a given resource.
Resource Name Select a resource.
If the resource type is Local Device & Network, the resource in the list is of the format topic-name/resource-name.
If the resource type is Other Device or Other Network, then the resource in the list is of the format for every device/network label-as:topic-name/resource-name.
Label As Enter a label name. Paragon Automation stores each instance of the selected resource in the label. For example, instances such as interface instances or OSPF sessions.
(Optional) Add Variable Enter the following details of a dependency (parent) resource property: - Name
- Regular expression
- Resource name
- Resource property field
You can configure a variable for a property of the selected resource. Variable you configure here can only be used in conditional statements within the term.
Conditions Conditions in Locate Resource are used to identify if the selected resource is correct one or not. If the condition does not match for a particular instance it picks the next instance and checks the condition. This continues until we get an instance where conditions matches, or all the instances of the resources are exhausted.
To check dependency, select a resource property in left-hand side (LHS), a remote resource property in RHS and the operator to check for a condition.
Paragon Automation supports matches-with as a condition. You can also add functions in the LHS field of the conditional statement.
You can see the new resource and its dependency mapped in the Resources page. -
Click Save to only save the configuration.