Use configuration parsers
Add-on product: Configuration Manager extends Itential Platform with configuration compliance and validation capabilities. It requires Itential Platform as a prerequisite. View platform overview
Configuration parsers define syntax rules for CLI Golden Configurations. Use them to ensure Configuration Manager correctly interprets device configurations for compliance checking.
What are configuration parsers?
Configuration parsers specify how Configuration Manager should read and compare CLI configurations. They define the syntax rules, command structure, and comparison logic for specific device operating systems.
Why parsers matter
Different network operating systems use different CLI syntax:
- Cisco IOS: Hierarchical with indentation
- Juniper Junos: XML-like with braces
- Arista EOS: Similar to Cisco with variations
- Palo Alto: Set-based commands
Parsers ensure Configuration Manager handles each syntax correctly during compliance checks.
Available parsers
Configuration Manager includes pre-built parsers for common platforms:
How parsers work
Parsers process configurations through these steps:
Select a parser
Choose a parser when creating a CLI golden configuration.
To select a parser:
The parser cannot be changed after creating a golden configuration. Choose carefully based on your device OS type.
Parser behavior
Cisco IOS parser
Syntax characteristics:
- Hierarchical indentation
- Exclamation marks for comments
- “no” prefix to negate commands
Example:
Parser behavior:
- Recognizes indentation-based hierarchy
- Treats ”!” as section delimiter
- Handles “no” command negation
- Normalizes whitespace
Juniper Junos parser
Syntax characteristics:
- Brace-based hierarchy
- Semicolon statement terminators
- Set command format
Example:
Parser behavior:
- Recognizes brace hierarchy
- Handles semicolon delimiters
- Supports set command format
- Normalizes brace placement
Arista EOS parser
Syntax characteristics:
- Similar to Cisco IOS
- Additional EOS-specific commands
- YAML-like structures for some features
Example:
Parser behavior:
- Handles IOS-like syntax
- Recognizes EOS extensions
- Supports CIDR notation
- Normalizes command variations
Parser comparison rules
Parsers apply these rules during compliance checks:
Whitespace handling
Parsers normalize whitespace:
- Leading and trailing spaces ignored
- Multiple spaces treated as single space
- Tab characters converted to spaces
Example:
Comment handling
Comments are typically ignored:
- Cisco: Lines starting with ”!”
- Juniper: Lines with ”/” and ”/”
- Configuration comments don’t affect compliance
Example:
Command ordering
Most parsers treat unordered commands as equivalent:
- Commands at same hierarchy level
- Order doesn’t affect compliance
- Exception: Ordered sections with CLI ordering markers
Case sensitivity
Parser case handling varies:
- Commands: Usually case-insensitive
- Values: May be case-sensitive
- Check parser documentation for specifics
Customize parser behavior
Configure parser options
Some parsers support configuration options:
Ignore patterns
Configure patterns to exclude from compliance:
Examples:
Troubleshoot parser issues
Compliance fails unexpectedly
If compliance fails despite matching configurations:
Parser errors
If parser reports errors:
Best practices
Choose the right parser:
- Match parser to device OS exactly
- Don’t use cisco-ios parser for cisco-nxos
- Test parser with sample configurations
- Verify parser handles your command set
Write clean configurations:
- Use consistent indentation
- Add clear comments for documentation
- Follow vendor syntax guidelines
- Avoid vendor-specific shortcuts
Test thoroughly:
- Validate golden configs with parser
- Test compliance with known-good devices
- Verify parser handles edge cases
- Check for false positives/negatives
Handle parser limitations:
- Document unsupported commands
- Use custom ignore patterns for exceptions
- Consider alternative comparison methods for complex cases
- Report parser issues to Itential support