(CTTC) Implement Service Handler for L3 services using ACTN SBI driver
# Proposers - Lluis Gifre (CTTC) - Ricard Vilalta (CTTC) - Raul Muñoz (CTTC) # Description Implement a basic Service Handler for L3 services using ACTN SBI driver compatible with ACTN IETF RFC drafts "A YANG Data Model for Transport Network Client Signals" [1] and "A YANG Data Model for Traffic Engineering Tunnels, Label Switched Paths and Interfaces" [2]. Implement also extensions in associated components. # Demo or definition of done Demonstration ETSI F5G PoC CAMARA [3]. # References 1. [H. Zheng, A. Guo, I. Busi, A. Snitser, F. Lazzeri, Y. Xu, Y. Zhao, X. Liu, G. Fioccola, C. Yu, "A YANG Data Model for Transport Network Client Signals," IETF draft-ietf-ccamp-client-signal-yang-10, October 2023](https://datatracker.ietf.org/doc/draft-ietf-ccamp-client-signal-yang/) 2. [T. Saad, R. Gandhi, X. Liu, V. P. Beeram, I. Bryskin, "A YANG Data Model for Traffic Engineering Tunnels, Label Switched Paths and Interfaces," IETF draft-ietf-teas-yang-te-34, October 2023](https://datatracker.ietf.org/doc/draft-ietf-teas-yang-te/) 3. ETSI F5G PoC CAMARA (private document) # Enhancement Design ## Clarifications to Expected Behavior Changes PathComp should be able to manage device-endpoint settings with VLANs and static routing rules, and propagate them appropriately to sub-services. ## Assumptions None ## Impacted Components List of impacted components: Common framework, Device, Service, PathComp, NBI, WebUI, Tests. ## Common framework Impact - Descriptor Loader: extended to split devices in controllers and devices, and load first the controllers, and then the devices. Otherwise, it crashes due to missing controller for some manually-added devices. - Tools > GRPC > Constraints: added parameter to specify new constraint action while copying/updating constraints. - DeviceTypes: added IP SDN Controller (real and emulated) ## Device Impact - Updated DeviceServiceHandler::AddDevice() method to detect and keep controller-id while onboarding a device that specifies an explicit controller device identifier. - Updated IETF ACTN driver to automatically create, by default, its `mgmt` endpoint. - Updated IETF ACTN driver unitary tests ## NBI Impact - IETF L3VPN connector: - Re-organized data files. - Added logic to discover, when available, the address of the neighbor endpoint of a specified L3VPN endpoint. That is needed to properly configure static routing in some cases. - Replaced `/device/endpoint/vlan/settings` config rules by `/device/endpoint/settings` in Services. Otherwise, Service Handler might not easily detect the associated VLAN for a new connectivity service. - IETF Network: - Added device ignore for IP SDN controllers ## PathComp - Frontend Impact - ComposeConfigRules: - Extended to manage `/device/endpoint/vlan/settings` in Services. - Deactivated some default L2NM/L3NM settings that are not needed. - Generalized logic to manage and extrapolate config rules. - Added logic to generate configuration rules to configure neighbor endpoint addresses and VLAN tags. - ComputeSubServices: - Added logic to extrapolate an explicit service for devices managed by an intermediate SDN controller. - ResourceGroups and ServiceTypes: - Added support for IP SDN controllers - _Algorithm API: - Added logic to trigger generation of neighbor endpoint configurations ## Service Impact - First functional version of the L3nmIetfActn Service Handler. - _NOTE_: it contains some hardcodings to be elaborated and made dynamic with future use cases. - Updated requirements.in ## WebUI Impact - Renamed icons `laptop` and `emu-laptop` to `client` and `emu-client`. - Added icons for `ip-sdn-controller` and `emu-ip-sdn-controller`. ## Tests Impact - Tests > Tools > MockIetfActnSdnCtrl: updated base path to `/restconf/v2/data`. - Added new test F5G POC CAMARA in: `src/tests/f5g-poc-camara` # Testing See definition of done. A standalone test can be done following instructions in: `src/tests/f5g-poc-camara/POC-CAMARA-Guide.md`
issue