-
Notifications
You must be signed in to change notification settings - Fork 3
Psefabric Management Data Flow Model
PSEFABRIC Management Data Flow Model is a core part of the project and this is the most important result of the investigation.
We can distinguish seven layers:
- Configuration Management Engine
- Configuration Analyser
- Demultiplexer
- Configurator
- Configuration Encapsulator
- MOs Configuration Loader
- Control/Data Plans of MOs
- There are two types of management flow: configuration and diagnostic. The last one has not been implemented yet.
- The configuration data always flow in the direction from the higher layer to the lower one.
- A data exchange always occurs only either within the layer (between different part of the layer) or between adjacent layers.
This is only a brief general information about the PMDFM layers. Refer to PMDFM Details for information on the current implementation of PSEFABRIC.
In our examples, we use a free version of Tail-f ConfD Management Agent. (http://www.tail-f.com) This engine provides all necessary configuration management services we usually have with network equipment. Here some of them:
- transaction management
- session management
- rule-based access control
- redundancy/replication
- validation of input data
- rollback management
- upgrades/downgrades
- aaa services
It also provides a set of interfaces and protocols for administration:
- cli (ssh, telnet)
- netconf
- snmp
- rest
- http
Configuration Management Engine is an essential part of the PSEFABRIC, but it is not a part of this project except one element. This element is YANG data model. We use it to describe a PSEFABRIC configuration model structure.
The function of this layer is preliminary data processing.
- takes new PSEFABRIC configuration data from Configuration Management Engine database
- takes previous PSEFABRIC configuration data
- analyses these data and the difference between them
- provides the convenient format of required data for Demultiplexer Layer
It is a core part of a PSEFABRIC. It determines the sequence of commands for each MO (CPs of network equipment) and transfers these commands with all necessary data to the Configurator Layer.
The decision of which commands for which MOs have to be implemented is made on the basis of
- assigned Structure
- Global Logic
Creates configurations for real network equipment. Accepts the data from Demultiplexer Layer and translates it to the configuration. For this purpose, templates are used.
The purpose of this layer is to encapsulate or adapt the data to protocols or tools used at layer 6 (telnet/ssh, netconf, Ansible, etc.).
This is a layer of automation. The task is to load all configurations prepared at the previous levels onto real equipment. Any appropriate tools may be used. We use Perl scripts in our examples.
It is your usual network with routers, switches, load balancers, network fabrics, etc.