Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .cspell/custom-dictionary.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ mwdg
mwdi

netconf
nmda

restconf

Expand Down
24 changes: 12 additions & 12 deletions spec/ControllerDomainManager+services.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -88,15 +88,15 @@ servers:
#
# Interpretation
#
- operation-name: /v1/create-management-domain-interface-template
- operation-name: /v1/create-application-template
uuid:
- operation-name: /v1/delete-management-domain-interface-template
- operation-name: /v1/delete-application-template
uuid:
- operation-name: /v1/list-configured-management-domain-interface-templates
- operation-name: /v1/list-configured-application-templates
uuid:
- operation-name: /v1/provide-config-of-management-domain-interface-template
- operation-name: /v1/provide-config-of-application-template
uuid:
- operation-name: /v1/update-management-domain-interface-template
- operation-name: /v1/update-application-template
uuid:

- operation-name: /v1/create-load-balancer-template
Expand Down Expand Up @@ -132,13 +132,13 @@ servers:
- operation-name: /v1/update-mount-point-template
uuid:

- operation-name: /v1/regard-management-domain-interface
- operation-name: /v1/regard-application
uuid:
- operation-name: /v1/disregard-management-domain-interface
- operation-name: /v1/disregard-application
uuid:
- operation-name: /v1/list-configured-management-domain-interfaces
- operation-name: /v1/list-applications
uuid:
- operation-name: /v1/provide-config-of-management-domain-interface
- operation-name: /v1/provide-config-of-application
uuid:

- operation-name: /v1/regard-load-balancer
Expand Down Expand Up @@ -177,9 +177,9 @@ servers:
uuid:
- operation-name: /v1/list-configured-management-domains
uuid:
- operation-name: /v1/provide-config-of-management-domain # Auf sinnvolles gegenseitiges Ergänzen mit den Informationen über die Komponenten achten
- operation-name: /v1/provide-config-of-management-domain
uuid:
- operation-name: /v1/provide-status-of-management-domain # Auf sinnvolles gegenseitiges Ergänzen mit den Informationen über die Komponenten achten
- operation-name: /v1/provide-status-of-management-domain
uuid:
- operation-name: /v1/mediate-netconf-client-update
uuid:
Expand Down Expand Up @@ -215,7 +215,7 @@ servers:
#
- operation-name: /p1/measurement-orchestrator
uuid:
- operation-name: /p1/measure-management-domain-interface
- operation-name: /p1/measure-list-of-management-domain-interfaces
uuid:
- operation-name: /p1/measure-list-of-forwardings
uuid:
Expand Down
2 changes: 1 addition & 1 deletion spec/Elements/ADM/adm.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ The [ApplicationDomainManager](https://github.com/openBackhaul/ApplicationDomain

### MeasurementFunctions

- /p1/measure-management-domain-interface
- /p1/measure-list-of-management-domain-interfaces
post /v1/provide-status-of-management-domain-interface


Expand Down
4 changes: 2 additions & 2 deletions spec/Elements/ADM/adm.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,12 @@ paths:
type: string
description: >
'Name of the application that holds the ManagementDomainInterface
from [CDM://p1/measure-management-domain-interface$request.body#application-name]'
from [CDM://p1/measure-list-of-management-domain-interfaces$request.body#application-name]'
management-domain-name:
type: string
description: >
'Name of the ManagementDomain
from [CDM://p1/measure-management-domain-interface$request.body#management-domain-name]'
from [/network-control-domain=running/control-construct=[application-name]/logical-termination-point=[*]/local-id]'
example:
application-name: 'MicroWaveDeviceInventory'
management-domain-name: 'live'
Expand Down
2 changes: 1 addition & 1 deletion spec/Functions/Interpretation/InterpretationFunctions.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ The logical objects of the internal data structure can be grouped as follows:
### Created logical objects

Logical objects need to be created for the following types of Elements:
- **ManagementDomainInterfaceTemplate**
- **ApplicationTemplate**
- **LoadBalancerTemplate**
- **ControllerTemplate**
- **MountPointTemplate**
Expand Down
10 changes: 5 additions & 5 deletions spec/Functions/Interpretation/ProcessingCreate.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
### Create

The following services
- /v1/create-management-domain-interface-template
- /v1/create-application-template
- /v1/create-load-balancer-template
- /v1/create-controller-template
- /v1/create-mount-point-template
Expand All @@ -23,7 +23,7 @@ shall be processed as follows:
### Delete

The following services
- /v1/delete-management-domain-interface-template
- /v1/delete-application-template
- /v1/delete-load-balancer-template
- /v1/delete-controller-template
- /v1/delete-mount-point-template
Expand All @@ -43,7 +43,7 @@ shall be processed as follows:
### List

The following services
- /v1/list-configured-management-domain-interface-templates
- /v1/list-configured-application-templates
- /v1/list-configured-load-balancer-templates
- /v1/list-configured-controller-templates
- /v1/list-configured-mount-point-templates
Expand All @@ -55,7 +55,7 @@ shall be processed as follows:
### Inform

The following services
- /v1/provide-config-of-management-domain-interface-template
- /v1/provide-config-of-application-template
- /v1/provide-config-of-load-balancer-template
- /v1/provide-config-of-controller-template
- /v1/provide-config-of-mount-point-template
Expand All @@ -67,7 +67,7 @@ shall be processed as follows:
### Update

The following services
- /v1/update-management-domain-interface-template
- /v1/update-application-template
- /v1/update-load-balancer-template
- /v1/update-controller-template
- /v1/update-mount-point-template
Expand Down
47 changes: 22 additions & 25 deletions spec/Functions/Interpretation/ProcessingEstablish.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,13 @@

### Establish

The **/v1/establish-management-domain** service shall create a LogicalController from Controllers and Loadbalancer (if required).
It shall be processed as follows:
The **/v1/establish-management-domain** shall be processed as follows:
- copy content of RunningDS into CandidateDS
- lock CandidateDS
- create LogicalController (CC) with values from RequestBody in CandidateDS
- create FD with forwardingDomainName==managementDomain specified in RequestBody in CandidateDS
- IF NO LoadBalancer specified in RequestBody
- update Controller specified in RequestBody in _logicalController attribute with managementDomain specified in RequestBody in CandidateDS
- IF LoadBalancer specified in RequestBody
- create a Forwarding (LTP) identified by managementDomain specified in RequestBody in CandidateDS
- update all n Controllers specified in RequestBody in _logicalController attribute with managementDomain specified in RequestBody in CandidateDS
- create n TcpLinkBs between the Forwarding and these n Controllers in CandidateDS
- invoke validationOrchestrator
- IF ResponseCode==204
- copy content of CandidateDS into RunningDS
Expand All @@ -32,16 +27,11 @@ It shall be processed as follows:
- (will be referenced from below as (a)) create TcpLinkB between the new LP and the LP (identified by 'tcp-server') at the LTP (identified by 'controller-manager') at the Controller (CC) identified by the controllerName specified in the RequestBody in CandidateDS
- update Controller (CC) identified by the controllerName specified in the RequestBody in its _logicalController attribute with managementDomain specified in RequestBody in CandidateDS
- add controllerName specified in the RequestBody to the _controllers attribute of the LogicalController (identified by managementDomain specified in RequestBody) in CandidateDS
- replicate the information of all LogicalMountPoints (LTPs) inside the LogicalController (identified by managementDomain specified in RequestBody) into new MountPoints (LTPs) of the same number inside the new Controller (identified by the controllerName specified in the RequestBody) in CandidateDS
- (will be referenced from below as (b)) create HttpLinks between the existing LPs (identified by 'http-client') at Application that are already connected with the ManagementDomain and new LPs (identified by applicationName) at the new Controller
- complement every new HttpLink with one Route referencing
- the TcpLinkA from one of the Applications to the LoadBalancer identified in _tcpServer attribute of the LogicalController (identified by managementDomain specified in RequestBody)
- and the TcpLinkB from the LoadBalancer to the new Controller
- (will be referenced from below as (c)) create CopyLinks between the LogicalMountPoints (LTPs) inside the LogicalController (identified by managementDomain specified in RequestBody) and the MountPoints (LTPs) identified by the same deviceName inside the new Controller (identified by the controllerName specified in the RequestBody) in CandidateDS
- add an additional Route to every ManagementPlaneTransport (FC) that is terminating at the same LogicalController (identified by managementDomain specified in RequestBody) and identified by the same deviceNames in CandidateDS
- add the following references to every newly created Route:
- reference to newly created HttpLink between Application and Controller (see above (b))
- reference to newly created CopyLink between MountPoint and LogicalMountPoint (see above (b))
- filter list of CC for category=='application'
- filter list of Applications those with LTPs identified by managementDomain specified in RequestBody in CandidateDS
- self-request /v1/establish-management-domain-connection for every Application already connected to the managementDomain specified in RequestBody
- filter list of LTPs at LogicalController (identified by managementDomain specified in RequestBody) for those different from 'controllerManager'
- self-request /v1/establish-management-plane-transport for every Device having a LogicalMountPoint already
- invoke validationOrchestrator
- IF ResponseCode==204
- copy content of CandidateDS into RunningDS
Expand All @@ -54,11 +44,18 @@ The **/v1/establish-management-domain-connection** service is for connecting an
It shall be processed as follows:
- copy content of RunningDS into CandidateDS
- lock CandidateDS
- if not already existing, create FD with forwardingDomainName==applicationName (specified in RequestBody) as lowerLevelForwardingDomain to the FD with forwardingDomainName==managementDomain (specified in RequestBody) in CandidateDS
- read _tcpServer from LogicalController (in CandidateDS) specified in RequestBody
- create a TcpLink between the Application specified in RequestBody and _tcpServer in CandidateDS
- read TCP/IP address from the TcpServer at the LoadBalancer or Controller specified in _tcpServer
- write TCP/IP address into the TcpClient (LTP identified by managementDomain) at the Application specified in RequestBody
- if not already existing, create a TcpLinkA between the Application and _tcpServer in CandidateDS
- read _controllers[*] from LogicalController (in CandidateDS) specified in RequestBody
- create a HttpLinks between the Application specified in RequestBody and _controllers[*] in CandidateDS
- document Routes of TcpLinks inside the HttpLinks
- read the user credentials from the HttpServer at one of these Controllers
- write these user credentials into the HttpClient (LTP identified by managementDomain) at the Application specified in RequestBody in CandidateDS
- if not already existing, create a HttpLink between the Application and every _controllers[*] in CandidateDS
- document Routes of TcpLinkA and TcpLinkB inside every HttpLink
- filter list of LTPs at LogicalController specified in RequestBody for those different from 'controllerManager'
- self-request /v1/establish-management-plane-transport for every Device having a LogicalMountPoint already
- invoke validationOrchestrator
- IF ResponseCode==204
- copy content of CandidateDS into RunningDS
Expand All @@ -71,17 +68,17 @@ The **/v1/establish-management-plane-transport** service is for connecting a new
It shall be processed as follows:
- copy content of RunningDS into CandidateDS
- lock CandidateDS
- create a LogicalMountPoint with values from RequestBody inside LogicalController specified in RequestBody in CandidateDS
- create a MountPoint with same values in all n Controllers listed in _controllers attribute of the same LogicalController in CandidateDS
- create n CopyLinks between the newly created n MountPoints and the LogicalMountPoint in CandidateDS
- create an FC between the Application and the LogicalController (managementDomain) specified in RequestBody in CandidateDS
- if not already existing, create a LogicalMountPoint with values from RequestBody inside LogicalController specified in RequestBody in CandidateDS
- wherever not already existing, create a MountPoint with same values in all n Controllers listed in _controllers attribute of the same LogicalController in CandidateDS
- wherever not already existing, create n CopyLinks between the newly created n MountPoints and the LogicalMountPoint in CandidateDS
- if not already existing, create an FC between the Application and the LogicalController (managementDomain) specified in RequestBody in CandidateDS
- read _tcpServer from LogicalController (in CandidateDS) specified in RequestBody
- IF category of _tcpServer (CC) == controller
- create one Route at newly created FC and reference:
- if not already existing, create one Route at newly created FC and reference:
- the HttpLink between Application specified in RequestBody and Controller referenced in the _tcpServer attribute of the LogicalController in CandidateDS
- the CopyLink between the newly created MountPoint and the newly created LogicalMountPoint
- IF category of _tcpServer (CC) == loadBalancer
- create n Routes at newly created FC and reference in each Route:
- wherever not already existing, create n Routes at newly created FC and reference in each Route:
- an HttpLink between the Application specified in RequestBody and one of the Controllers referenced in the _controllers attribute of the LogicalController in CandidateDS
- a newly created CopyLink between a newly created MountPoint and the also newly created LogicalMountPoint in CandidateDS
- invoke validationOrchestrator
Expand Down
8 changes: 4 additions & 4 deletions spec/Functions/Interpretation/ProcessingRegard.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
### Regard

The following services
- /v1/regard-management-domain-interface
- /v1/regard-application
- /v1/regard-load-balancer
- /v1/regard-controller

Expand All @@ -22,7 +22,7 @@ shall be processed as follows:
### Delete

The following services
- /v1/disregard-management-domain-interface
- /v1/disregard-application
- /v1/disregard-load-balancer
- /v1/disregard-controller

Expand All @@ -41,7 +41,7 @@ shall be processed as follows:
### List

The following services
- /v1/list-configured-management-domain-interfaces
- /v1/list-applications
- /v1/list-configured-load-balancers
- /v1/list-configured-forwardings
- /v1/list-configured-controllers
Expand All @@ -54,7 +54,7 @@ shall be processed as follows:
### Inform

The following services
- /v1/provide-config-of-management-domain-interface
- /v1/provide-config-of-application
- /v1/provide-config-of-forwarding
- /v1/provide-config-of-mount-point

Expand Down
30 changes: 17 additions & 13 deletions spec/Functions/Measurement/MeasurementFunctions.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ In an ideal and stable situation, they should be identical.

Managed Elements and associated MeasurementFunctions (covering availability of termination point + currently effective configuration and status):
- [ManagementDomainInterface](#managementdomaininterface)
- /p1/measure-management-domain-interface
- /p1/measure-list-of-management-domain-interfaces
- [LoadBalancer and Forwarding](#loadbalancer-and-forwarding)
- /p1/measure-list-of-forwardings
- [Controller and MountPoint](#controller-and-mountpoint)
Expand All @@ -28,18 +28,22 @@ Applications are managed by another domain (ADM).
The CDM's scope is limited to ensuring that the ManagementDomainInterface's configuration is aligned with address and authentication at LoadBalancer, respectively Controller.
So, measurement is limited to availability, configuration and status of a specified ManagementDomainInterface.

### /p1/measure-management-domain-interface
### /p1/measure-list-of-management-domain-interfaces

Is addressing the ApplicationDomainManager

#### Input:
- application-name
Name of the Application that holds the ManagementDomainInterface
- management-domain
Name of the ManagementDomain
Name of the Application that holds the ManagementDomainInterface(s)

#### Additional Data from Running:
- management-domain [*]
List of names of ManagementDomainInterfaces
from [/network-control-domain=running/control-construct=[application-name]/logical-termination-point=[*]/local-id]

#### Callback:
- [ADM://v1/provide-status-of-management-domain-interface](../../Elements/ADM/adm.yaml)
- to be addressed for every found value of management-domain
[ADM://v1/provide-status-of-management-domain-interface](../../Elements/ADM/adm.yaml)

#### Made Measurements:
- response.code!=200 => ManagementDomainInterface is unavailable
Expand Down Expand Up @@ -341,11 +345,11 @@ The CDM manages the Routes from Application to LogicalController/ManagementDomai
#### Interpretations:
Route Availability
- [/network-control-domain=operational/link=localId]:
- Objects - one or more Routes with [ [/network-control-domain=running/forwarding-domain=\*/forwarding-construct=\*/route=\*/_links] containing [localId] ]
- Objects - one or more Routes with [ [/network-control-domain=running/forwarding-domain=\*/lower-level-forwarding-domain=\*/forwarding-construct=\*/route=\*/_links] containing [localId] ]
- Interpretation - entire Object to be deleted from OperationalDS, if [/network-control-domain=operational/link=localId] not existing

#### Output:
- list-of-affected-fcs [{forwardingDomainName, forwardingConstructName}]
- list-of-affected-fcs [{managementDomain, applicationName, deviceName}]
List of ManagementPlaneTransports that have changes in their Routes


Expand All @@ -356,7 +360,7 @@ The CDM manages the ManagementPlaneTransport from Application to LogicalControll
### /p1/measure-management-plane-transport

#### Input:
- affected FC {forwardingDomainName, forwardingConstructName}
- affected FC {managementDomain, applicationName, deviceName}
Reference towards an FC that changed un-/availability

#### Callback:
Expand All @@ -367,10 +371,10 @@ The CDM manages the ManagementPlaneTransport from Application to LogicalControll

#### Interpretations:
ManagementPlaneTransport Availability
- [/network-control-domain=operational/forwarding-domain=forwardingDomainName/forwarding-construct=forwardingConstructName/route]
- Object - [/network-control-domain=operational/forwarding-domain=forwardingDomainName/forwarding-construct=forwardingConstructName]
- Interpretation - entire Object to be deleted from OperationalDS, if no entry in [/network-control-domain=operational/forwarding-domain=forwardingDomainName/forwarding-construct=forwardingConstructName/route]
- [/network-control-domain=operational/forwarding-domain=managementDomain/lower-level-forwarding-domain=applicationName/forwarding-construct=deviceName/route]
- Object - [/network-control-domain=operational/forwarding-domain=managementDomain/lower-level-forwarding-domain=applicationName/forwarding-construct=deviceName]
- Interpretation - entire Object to be deleted from OperationalDS, if no entry in [/network-control-domain=operational/forwarding-domain=managementDomain/lower-level-forwarding-domain=applicationName/forwarding-construct=deviceName/route]

#### Output:
- changed-fc {forwardingDomainName, forwardingConstructName}
- changed-fc {managementDomain, applicationName, deviceName}
ManagementPlaneTransport that that changed un-/availability
Loading
Loading