Example: Pre/Post-Change Interface State Validation¶
Scenario: Validate that all Loopback interfaces are up before a change, then intentionally shut down a loopback interface, and use the app to detect and highlight the change.
Step 1: Create the "Loopback Interfaces Up" Check¶
-
Navigate to:
Operations
→Operational Compliance
→Checks
Click the+
button to create a new check. -
Fill in the form:
- Name:
Loopback Interfaces Up
- Check Type:
EXACT_MATCH
- Check Type Options: (leave blank)
- Description:
Ensure all Loopback interfaces are up
- Logging Severity:
INFO
- Name:
-
Click:
Create
Step 2: Create the Check Command for Loopback Interfaces¶
-
Navigate to:
Operations
→Operational Compliance
→Check Commands
Click the+
button. -
Fill in the form:
- Parser:
TEXTFSM
- Command:
show interfaces
- Check Object:
Loopback Interfaces Up
- Platform:
cisco_ios
- Value Path:
(This JMESPath expression filters for interfaces whose name starts with "Loopback" and extracts their interface name, link status, and protocol status.)
- Parser:
-
Click:
Create
Step 3: Create a Check Group¶
-
Navigate to:
Operations
→Operational Compliance
→Check Groups
Click the+
button. -
Fill in the form:
- Name:
Pre/Post Change Validation
- Check Commands: Add the
Loopback Interfaces Up
check command
- Name:
-
Click:
Create
Step 4: Run a Collect Check (Pre-Change)¶
-
Navigate to:
Operations
→Operational Compliance
→Collect Checks
. Click the+
button. -
Fill in the form:
- Check:
Check: Loopback Interfaces Up
- Devices: Select your device
- Check:
-
Click:
Collect Checks
-
Navigate to the Collect Checks page and you can view the output of the check.
Step 5: Make a Change on the Device¶
SSH to your device and shut down a loopback interface:
Step 6: Run a Collect Check (Post-Change)¶
Repeat Step 4 to collect the post-change state.
Step 7: Run a Compare Check¶
-
Navigate to:
Operations
→Operational Compliance
→Compare Checks
Click the+
button. -
Fill in the form:
- Device: Select your device
- Check:
Loopback Interfaces Up
- Collect Check 1: Select your pre-change collection
- Collect Check 2: Select your post-change collection
-
Click:
Compare Checks
Example Data¶
Pre-Change (Loopback10 up):
Post-Change (Loopback10 down):
[
["Loopback0", "up", "up"],
["Loopback10", "administratively down", "down"],
["Loopback109", "up", "up"]
]
Example Diff Output:
{
"index_element[1][1]": {
"new_value": "administratively down",
"old_value": "up"
},
"index_element[1][2]": {
"new_value": "down",
"old_value": "up"
}
}
How to read this diff:
index_element[1][1]
means the second interface in the list (Loopback10
), second field (link_status
), changed from"up"
to"administratively down"
.index_element[1][2]
means the second interface, third field (protocol_status
), changed from"up"
to"down"
.
This shows exactly which interface and fields changed between the two results.