Configuration Management Engine - nihole/PSEFABRIC GitHub Wiki
PSEFABRIC Interface
We have the next configuration objects in this implementation of PSEFABRIC:
- structure
- addresses
- address-sets
- services
- service-sets
- application
- application-sets
- policy
This scheme describes the relationships between them:
This approach is usual for some vendors (Palo Alto, Juniper for example).
It is assumed that these relations should not be changed, but there are a few things which may be adapted to the specific project:
- Structure Elements (see structure)
- PSEFABRIC structure elements represent the logical segmentation of the underlying network infrastructure
- objects parameters
- each object can have up to 8 parameters which may be used for configuration
- two first parameters are the logical type and 6 others are the string type
YANG
CONFD Interface is programmed via 6 YANG files located in $PROJECT/PSEF_YANG folder:
- psefabric-types.yang
- structure.yang
- addresses.yang
- services.yang
- applications.yang
- policy.yang
For each project, these files may be changed in accordance with specific interface requirements for this particular project.
Vocabulary
Every time we change the names of the PSEFABRIC Structural Elements or object parameters name we have to let PSEFABRIC be aware of it. The dictionaries located in $PROJECT/PSEF_SCRIPTS/vocabulary.py are used for this purpose:
- par_voc
- str_voc
- par_rvoc
- str_rvoc
str_rvoc and par_rvoc are reverse dictionaries for str_voc and par_voc:
par_rvoc = dict((v,k) for k,v in par_voc.iteritems())
str_rvoc = dict((v,k) for k,v in str_voc.iteritems())