ConfDB is a common term for complex of measures for high-level device configuration
processing within NOC. Vendors tend to invent own configuration
formats, often mimicking each other, and to introduce incompatibilities
between releases and platforms. Besides simple change tracking and
regular expression search, the multi-vendor configuration processing
may be very challenging task.
NOC addresses the challenge with following approach:
Decomposition- complex task may be split to simple steps
Reusability- all tools may be reused whenever possible
Pipelining- each steps combined together into configuration processing pipelines
Clean contract between steps- each step performs own task. Steps accept predictable result from previous steps and pass predictable result to following steps
Clean API- each step must be understandable and easy to implement
Quick result- First result must be reached easily and quickly. Then you can became to implement more complex things
To better understand the concept of
ConfDB one should refer
to widely-used concept in programming languages -
Virtual Machine (VM) is the fictional computer with own
language (or machine codes). Its sometimes easier to break the
task of compiling the program from programming language to target
processor to two steps: to compile to fictional machine codes and
to compile from fictional codes to target ones. The benefits in clear
separation of common functions, suitable for all target platforms,
and of specific functions, addressed for single platform. Common functions
moved to the left (Code -> VM translation), while specific moved to
the right (VM -> Target platform translation). Hence VM represents
clean contract between hardware-dependent and hardware independentent functions.
Device configuration is the programming language of target platform.
So we can split the task of configuration analysis by applying
clean barrier between hardware-dependent and hardware-independentent parts.
Virtual Machine NOC introduces fictional configuration
language for non-existing (yet?) network equipment. All hardware-dependent
parts are moved to the left. All hardware-independentent parts are moved
to the right and may be reused.
ConfDB pipeline stages¶
Config processing pipeline and stages are represented on chart below