Configuration¶
All NetOps configuration lives under .olav/workspace/ops/config/. This page is the reference for every config file.
Feature Claims
| ID | Claim | Status |
|---|---|---|
| C-NE-12 | nornir/hosts.yaml defines the device inventory for collection |
πΆ Env-Blocked |
| C-NE-13 | blacklisted_commands.yaml supports regex patterns; invalid patterns are skipped with a warning |
β¬ Pending |
| C-NE-14 | cron_schedules.yaml customizes the trace_learner cron schedule |
πΆ Env-Blocked |
Directory Layout¶
.olav/workspace/ops/config/
βββ nornir/
β βββ hosts.yaml # Device inventory (hostnames, IPs, platforms)
β βββ groups.yaml # Shared settings per group (credentials, timeouts)
β βββ defaults.yaml # Global defaults
β βββ config.yaml # Nornir runner settings (parallelism, etc.)
βββ default_commands.yaml # Generic commands executed on all platforms
βββ discovery_commands.yaml # Critical commands for topology discovery
βββ blacklisted_commands.yaml # Regex patterns for forbidden commands
βββ backup_only_commands.yaml # Commands for config backup (not parsed)
βββ cron_schedules.yaml # Scheduled job timing
βββ netops_settings.yaml # General NetOps runtime settings
Nornir Inventory¶
hosts.yaml¶
One entry per device. The hostname field is the SSH target (IP or resolvable name).
R1:
hostname: 10.0.1.1
platform: cisco_ios
groups:
- core_routers
SW1:
hostname: 10.0.2.1
platform: cisco_ios
groups:
- access_switches
Supported platform values follow the NTC-Templates naming convention: cisco_ios, cisco_nxos, arista_eos, juniper_junos, etc.
groups.yaml¶
Credentials and connection settings shared across devices in the same group.
core_routers:
username: admin
password: "${NORNIR_PASSWORD}"
connection_options:
netmiko:
extras:
timeout: 30
secret: "${ENABLE_SECRET}"
Environment variables
Use ${VAR_NAME} syntax for sensitive values. OLAV expands these at runtime.
Command Lists¶
default_commands.yaml¶
Generic commands run on every device during collection. These are the fallback if no platform-specific command list exists.
discovery_commands.yaml¶
Commands required for topology generation. If these fail to parse, /netops_init reports them as P0 gaps.
- show cdp neighbors
- show cdp neighbors detail
- show lldp neighbors
- show lldp neighbors detail
- show ip ospf neighbor
- show ip bgp summary
blacklisted_commands.yaml¶
Regex patterns (case-insensitive) that block command execution. Even whitelisted commands are rejected if they match a blacklist pattern.
Invalid regex patterns are silently skipped with a warning log.
backup_only_commands.yaml¶
Commands whose output is stored in raw_output_store but not parsed by TextFSM. Typically used for running-config backup.
Scheduling¶
cron_schedules.yaml¶
Customize the daily collection schedule. Default: 0 3 * * * (03:00 daily).
The schedule is registered during /netops_init Stage 5. Re-running /netops_init updates the cron entry (idempotent β no duplicates).