Introduction
opConfig 3 introduces the ability to 'push' configuration changes to devices, complete with error detection, support for change rollback and full audit trails.
This document describes the config push infrastructure.
Concepts
opConfig has always supported 'command sets', which consist of (individual) commands that can be sent to devices and whose output is collected and analyzed. Command sets are expected to be idempotent, safely repeatable and without side effects. Command sets don't support sequencing or error detection, and thus are not suitable (or intended!) for modifying device configurations.
For config push, opConfig requires that the administrator defines one or more suitable 'config sets'. A config set is a list of commands which are sent to selected devices with the expectation that something on the device is changed by the sequence of commands; to perform such operations safely, a config set can also define error detection patterns and possible reactions to any errors.
The Anatomy of a Config Set
primary format for ease of exchange, external editing and centralised management is json
automatically versioned
filter section
error handling
the five different command sections, pre, post, commands, rollback-commands and post-rollback-commands
notification features
- config set format, storage location,
- features of the config set system (supported paths from pre/commands/post, rollback and post-rollback, where error handling is supported),
- pb requirements (eg. _reload and _reload_in macros, begin_configure and end_configure needed, how to handle confirmations and that such don't produce any catchable output)
- how to apply configset from cmdline -
- what you can (or can not) do from gui
- how to import/export/manage config sets
Config Push Scheduling
time formats
gui or cmdline
limitations for non-admin user, filters cannot be overridden, just refined
parallelism
limited rescheduling on failure
Limitations in opConfig 3.0.0
pbs only primed fullly for cisco ios devices, must have config mode prompt and enter/leave macros
no config set editing from the gui, no import or export of csets