Skip to content
Snippets Groups Projects
Verified Commit 50318182 authored by Karel van Klink's avatar Karel van Klink :smiley_cat:
Browse files

Add documentation on data models

parent 2fc2cb44
Branches
No related tags found
2 merge requests!6[2023-07-14] publish docs,!3Add documentation contents
Pipeline #79323 passed
...@@ -8,7 +8,8 @@ versions all configuration, and it's also responsible for managing mechanisms su ...@@ -8,7 +8,8 @@ versions all configuration, and it's also responsible for managing mechanisms su
The stack of tools is kept limited: The stack of tools is kept limited:
* Ansible is the tool that deploys configuration and orchestrates changes. * Workflow Orchestrator ({term}`WFO`) orchestrates all changes.
* Ansible is the tool that deploys configuration.
* If needed, custom Python scripts can support extra functionality. * If needed, custom Python scripts can support extra functionality.
This approach works well for the deployment of 'base configuration'. For service fulfillment, three more components are This approach works well for the deployment of 'base configuration'. For service fulfillment, three more components are
...@@ -18,7 +19,10 @@ introduced: ...@@ -18,7 +19,10 @@ introduced:
* A service database. * A service database.
* A workflow engine. * A workflow engine.
All three of these components are deployed as part of {term}`WFO`. More information about {term}`WFO` can be found on
their website <a href="https://workfloworchestrator.org/" target="_blank">here</a>.
(configuration-decomposition)=
## Configuration (de)composition ## Configuration (de)composition
The configuration of a network element can be decomposed in different functional parts: The configuration of a network element can be decomposed in different functional parts:
...@@ -75,48 +79,3 @@ All services offered can be summarised in the following four categories. Some ex ...@@ -75,48 +79,3 @@ All services offered can be summarised in the following four categories. Some ex
|---------|-------------|------------------| |---------|-------------|------------------|
| Layer 2 | VPLS / EVPN | Layer 2 circuits | | Layer 2 | VPLS / EVPN | Layer 2 circuits |
| Layer 3 | L3VPN | Core links | | Layer 3 | L3VPN | Core links |
### Decomposition of objects
Every object -- both services and access ports -- is composed of the following building blocks:
* Administrative metadata
* Object ID
* Status
* Owner
* Configuration data that depends on the specific service, some examples:
* Access port
* Access port type
* Physical interfaces
* IP trunk
* IPv4 network
* IPv6 network
* IS-IS metric
* Placement metadata
* Access node
* Service delivery point
### Services and ports
While a port shouldn't be configured in case there is no service insisting on it, it could happen that multiple
services are insisting on the same port. For this reason, we define the following entities:
{term}`SDP`
: Service Delivery Point: the logical interface where a service is delivered
{term}`GA`
: Access Port: an access point into the GÉANT network
{term}`GP`
: Physical Port: the physical boundary for the {term}`GA`
{term}`GAN`
: Access Node: the node where a service is delivered
These concepts apply to both {term}`CFS`es and {term}`IFS`es.
```{figure} ../static/access_port_diagram.png
:alt: Diagram that displays the different entities that make up a GÉANT service.
A visualisation of how services insist on ports.
```
...@@ -34,6 +34,9 @@ MPLS ...@@ -34,6 +34,9 @@ MPLS
MTTR MTTR
: Mean Time To Repair : Mean Time To Repair
MTU
: Maximum Transmission Unit
OOB OOB
: Out-of-band : Out-of-band
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
Welcome to the documentation of the GÉANT Automation Platform, or {term}`GAP` for short. \ Welcome to the documentation of the GÉANT Automation Platform, or {term}`GAP` for short. \
The focus of this platform is configuration management and service orchestration for the GÉANT IP/{term}`MPLS` network. The focus of this platform is configuration management and service orchestration for the GÉANT IP/{term}`MPLS` network.
This documentation contains the following sections: This documentation has the following sections:
```{toctree} ```{toctree}
:caption: Background :caption: Background
...@@ -12,6 +12,13 @@ overview/index.md ...@@ -12,6 +12,13 @@ overview/index.md
architecture/index.md architecture/index.md
``` ```
```{toctree}
:caption: Modeling
:maxdepth: 2
modeling/index.md
modeling/ports.md
```
```{toctree} ```{toctree}
:caption: Processes :caption: Processes
:maxdepth: 2 :maxdepth: 2
......
# Data models
To be able to model network objects, a data model must exist for every configuration item in the network. This allows
for describing the network, and the services as a composition of abstract objects.
## Decomposition of objects
Every object -- both services and access ports -- is composed of the following building blocks:
* Administrative metadata
* Object ID
* Status
* Owner
* Configuration data that depends on the specific service, some examples:
* Access port
* Access port type
* Physical interfaces
* IP trunk
* IPv4 network
* IPv6 network
* IS-IS metric
* Placement metadata
* Access node
* Service delivery point
# Services and ports
While a port shouldn't be configured in case there is no service insisting on it, it could happen that more than one
service is insisting on one port. For this reason, the following entities exist:
{term}`SDP`
: Service Delivery Point: the logical interface where a service is delivered
{term}`GA`
: Access Port: an access point into the GÉANT network
{term}`GP`
: Physical Port: the physical boundary for the {term}`GA`
{term}`GAN`
: Access Node: the node where a service is delivered
These concepts apply to both {term}`CFS`es and {term}`IFS`es.
```{figure} ../static/access_port_diagram.png
:alt: Diagram that displays the different entities that make up a GÉANT service.
A visualisation of how services insist on ports.
```
## Peer-to-peer and multipoint services
There is a distinction between services -- as mentioned in [configuration (de)composition](#configuration-decomposition)
-- between peer-to-peer and multipoint services. In both cases, {term}`SDP` is the delivery point of a service.
However, for multipoint services customers are supposed to be dual-homed in at least two different {term}`GAN`s.
To give some examples, the figure below shows a decomposition of a GeantIP service for an NREN.
```{figure} ../static/geant_ip_ports_diagram.png
:alt: Diagram that displays the different entities that make up a GeantIP service instance.
A visualisation of an instance of a GeantIP service that consists of different configuration objects.
```
docs/static/geant_ip_ports_diagram.png

23.5 KiB

...@@ -17,3 +17,6 @@ GAP ...@@ -17,3 +17,6 @@ GAP
WFO WFO
BGP BGP
FXP FXP
NREN
MTU
OOB
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment