From f651ae11a21dda323cdfebadb0a65f4f9d1728e6 Mon Sep 17 00:00:00 2001 From: Manel Khelifi Date: Thu, 24 Jul 2025 11:50:34 +0200 Subject: [PATCH 1/9] fixed images links --- doc/deployment_guide.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/doc/deployment_guide.md b/doc/deployment_guide.md index 388dd6f..8b1834a 100644 --- a/doc/deployment_guide.md +++ b/doc/deployment_guide.md @@ -360,7 +360,7 @@ Most of the specifications can be as specified in the [Oracle Virtual Box](#112- - Size: 60GB (at least) - **Type**: VMDK - ![Screenshottt_from_2024-10-21_18-13-43](../images/deployment_guide/01_vagrant_box.jpg) + ![Screenshottt_from_2024-10-21_18-13-43](images/deployment_guide/01_vagrant_box.jpg) Also, before initiating the VM and installing the OS, we'll need to: @@ -377,33 +377,33 @@ At Network Adapt 1, the following port-forwarding rule must be set. | - | - | - | - | - | - | | SSH | TCP | | **2222** | | 22 | -![Screenshot_from_2023-07-10_18-25-18](../images/deployment_guide/02_vagrant_box.jpg) +![Screenshot_from_2023-07-10_18-25-18](images/deployment_guide/02_vagrant_box.jpg)

Installing the OS

For a Vagrant Box, it is generally suggested that the ISO's server version is used, as it is intended to be used via SSH, and any web GUI is expected to be forwarded to the host. -![Screenshot_from_2023-07-10_18-41-49](../images/deployment_guide/03_vagrant_box.jpg) +![Screenshot_from_2023-07-10_18-41-49](images/deployment_guide/03_vagrant_box.jpg) -![Screenshot_from_2023-07-10_18-42-30](../images/deployment_guide/04_vagrant_box.jpg) +![Screenshot_from_2023-07-10_18-42-30](images/deployment_guide/04_vagrant_box.jpg) -![Screenshot_from_2023-07-10_18-42-45](../images/deployment_guide/05_vagrant_box.jpg) +![Screenshot_from_2023-07-10_18-42-45](images/deployment_guide/05_vagrant_box.jpg) Make sure the disk is not configured as an LVM group! -![Screenshot_from_2023-07-10_18-43-16](../images/deployment_guide/06_vagrant_box.jpg) +![Screenshot_from_2023-07-10_18-43-16](images/deployment_guide/06_vagrant_box.jpg)

Vagrant ser

Vagrant expects by default, that in the box's OS exists the user `vagrant` with the password also being `vagrant`. -![Screenshot_from_2023-07-10_18-54-12](../images/deployment_guide/07_vagrant_box.jpg) +![Screenshot_from_2023-07-10_18-54-12](images/deployment_guide/07_vagrant_box.jpg)

SSH

Vagrant uses SSH to connect to the boxes, so installing it now will save the hassle of doing it later. -![Screenshot_from_2023-07-10_18-54-48](../images/deployment_guide/08_vagrant_box.jpg) +![Screenshot_from_2023-07-10_18-54-48](images/deployment_guide/08_vagrant_box.jpg)

Features server snaps

-- GitLab From 07f841c16c54d87de427c1b3ba6120329bb542e4 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 26 Sep 2025 09:16:42 +0000 Subject: [PATCH 2/9] Deployment instructions: - Added MetalLB for P4 INT --- doc/deployment_guide.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/doc/deployment_guide.md b/doc/deployment_guide.md index 8b1834a..659b720 100644 --- a/doc/deployment_guide.md +++ b/doc/deployment_guide.md @@ -813,6 +813,14 @@ microk8s.enable ingress microk8s.enable registry ``` +For deployments incorporating __P4 In-band Network Telemetry (INT)__ you will need a Kuberetes Load Balancer: + +- `metallb`: deploys the [MetalLB](https://microk8s.io/docs/addon-metallb) used for load balancing among telemetry replicas. You need to provide a suitable IP range available on your network to use it, e.g., `192.168.5.250-192.168.5.251`. + +```bash +microk8s.enable metallb:192.168.5.250-192.168.5.251 +``` + For __scalable production__ deployments consider enabling addons: - `linkerd`: deploys the [linkerd service mesh](https://linkerd.io) used for load balancing among replicas -- GitLab From d53b2c33a8cf8a2de3dd6a9d1573c8d64cfff154 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Tue, 21 Oct 2025 11:19:43 +0000 Subject: [PATCH 3/9] Deployment guide: - Added configuration of direct-routing for Docker Engine >=v28 --- doc/deployment_guide.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/deployment_guide.md b/doc/deployment_guide.md index 659b720..6a4ee4f 100644 --- a/doc/deployment_guide.md +++ b/doc/deployment_guide.md @@ -680,6 +680,8 @@ sometimes read from and write to same file might cause trouble. ```bash if [ -s /etc/docker/daemon.json ]; then cat /etc/docker/daemon.json; else echo '{}'; fi \ + | jq 'if has("allow-direct-routing") then . else .+ {"allow-direct-routing": true} end' -- \ + | jq 'if has("ip-forward-no-drop") then . else .+ {"ip-forward-no-drop": true} end' -- \ | jq 'if has("insecure-registries") then . else .+ {"insecure-registries": []} end' -- \ | jq '."insecure-registries" |= (.+ ["localhost:32000"] | unique)' -- \ | tee tmp.daemon.json -- GitLab From 1ade9e6f3bc4dca722b160ce42e1c7f4c4825396 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Thu, 23 Oct 2025 15:47:17 +0000 Subject: [PATCH 4/9] Supported NBIs: - Updated TFS-API endpoint descriptions --- doc/supported_nbis.md | 71 +++++++++++++++++++++++++++++++++++-------- 1 file changed, 58 insertions(+), 13 deletions(-) diff --git a/doc/supported_nbis.md b/doc/supported_nbis.md index 624ca36..876eab1 100644 --- a/doc/supported_nbis.md +++ b/doc/supported_nbis.md @@ -1,11 +1,11 @@ This section summarizes the NBI connectors supported by the TeraFlowSDN controller to interoperate with OSS/BSS/NFVO on top of it. -- [6.1. TFS API](#61-tfs-apie) -- [6.2. ETSI Bandwidth Management (BWM)](#62-etsi-bandwidth-management-bwm) -- [6.3. IETF L2VPN Service Delivery (L2SM) [RFC8466]](#63-ietf-l2vpn-service-delivery-l2sm-rfc8466) -- [6.4. IETF L3VPN Service Delivery (L3SM) [RFC8299]](#64-ietf-l3vpn-service-delivery-l3sm-rfc8299) -- [6.5. IETF Network Topology [RFC8345]](#65-ietf-network-topology-rfc8345) -- [6.6. IETF Network Slice Service [draft-ietf-teas-ietf-network-slice-nbi-yang]](#66-ietf-network-slice-service-draft-ietf-teas-ietf-network-slice-nbi-yang) +- [**6.1. TFS APIe**](#61-tfs-apie) +- [**6.2. ETSI Bandwidth Management (BWM)**](#62-etsi-bandwidth-management-bwm) +- [**6.3. IETF L2VPN Service Delivery (L2SM) \[RFC8466\]**](#63-ietf-l2vpn-service-delivery-l2sm-rfc8466) +- [**6.4. IETF L3VPN Service Delivery (L3SM) \[RFC8299\]**](#64-ietf-l3vpn-service-delivery-l3sm-rfc8299) +- [**6.5. IETF Network Topology \[RFC8345\]**](#65-ietf-network-topology-rfc8345) +- [**6.6. IETF Network Slice Service \[draft-ietf-teas-ietf-network-slice-nbi-yang\]**](#66-ietf-network-slice-service-draft-ietf-teas-ietf-network-slice-nbi-yang) ## **6.1. TFS APIe** @@ -23,6 +23,9 @@ This NBI connector exposes the basic gRPC methods of TeraFlowSDN that enable to - Method: `GET` - Used to list the details of all contexts +- Method: `POST` + - Used to create a context + **Endpoint `/tfs-api/dummy_contexts`** - Method: `GET` @@ -34,6 +37,12 @@ This NBI connector exposes the basic gRPC methods of TeraFlowSDN that enable to - Method: `GET` - Used to retrieve a specific context +- Method: `PUT` + - Used to update a specific context + +- Method: `DELETE` + - Used to delete a specific context + **Endpoint `/tfs-api/context//topology_ids`** - Method: `GET` @@ -44,11 +53,20 @@ This NBI connector exposes the basic gRPC methods of TeraFlowSDN that enable to - Method: `GET` - Used to list all the topology details in a context +- Method: `POST` + - Used to create a topology in a context + **Endpoint `/tfs-api/context//topology/`** - Method: `GET` - Used to retrieve a specific topology in a context +- Method: `PUT` + - Used to update a specific topology in a context + +- Method: `DELETE` + - Used to delete a specific topology in a context + **Endpoint `/tfs-api/context//service_ids`** - Method: `GET` @@ -60,19 +78,19 @@ This NBI connector exposes the basic gRPC methods of TeraFlowSDN that enable to - Used to list all the service details in a context - Method: `POST` - - Used to create a service - -- Method: `PUT` - - Used to update a service - -- Method: `DELETE` - - Used to delete a service + - Used to create a service in a context **Endpoint `/tfs-api/context//service/`** - Method: `GET` - Used to retrieve a specific service in a context +- Method: `PUT` + - Used to update a specific service in a context + +- Method: `DELETE` + - Used to delete a specific service in a context + **Endpoint `/tfs-api/context//slice_ids`** - Method: `GET` @@ -83,11 +101,20 @@ This NBI connector exposes the basic gRPC methods of TeraFlowSDN that enable to - Method: `GET` - Used to list all the slice details in a context +- Method: `POST` + - Used to create a slice in a context + **Endpoint `/tfs-api/context//slice/`** - Method: `GET` - Used to retrieve a specific slice in a context +- Method: `PUT` + - Used to update a specific slice in a context + +- Method: `DELETE` + - Used to delete a specific slice in a context + **Endpoint `/tfs-api/device_ids`** - Method: `GET` @@ -98,11 +125,20 @@ This NBI connector exposes the basic gRPC methods of TeraFlowSDN that enable to - Method: `GET` - Used to list the device details +- Method: `POST` + - Used to create a device + **Endpoint `/tfs-api/device/`** - Method: `GET` - Used to retrieve a specific device +- Method: `PUT` + - Used to update a specific device + +- Method: `DELETE` + - Used to delete a specific device + **Endpoint `/tfs-api/link_ids`** - Method: `GET` @@ -113,11 +149,20 @@ This NBI connector exposes the basic gRPC methods of TeraFlowSDN that enable to - Method: `GET` - Used to list the link details +- Method: `POST` + - Used to create a link + **Endpoint `/tfs-api/link/`** - Method: `GET` - Used to retrieve a specific link +- Method: `PUT` + - Used to update a specific link + +- Method: `DELETE` + - Used to delete a specific link + **Endpoint `/tfs-api/context//service//connection_ids`** - Method: `GET` -- GitLab From 44b158024f0022a9205756552e9f28fd2b16aad9 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Thu, 23 Oct 2025 15:50:19 +0000 Subject: [PATCH 5/9] Corrected typo --- doc/supported_nbis.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/supported_nbis.md b/doc/supported_nbis.md index 876eab1..61d774f 100644 --- a/doc/supported_nbis.md +++ b/doc/supported_nbis.md @@ -1,13 +1,13 @@ This section summarizes the NBI connectors supported by the TeraFlowSDN controller to interoperate with OSS/BSS/NFVO on top of it. -- [**6.1. TFS APIe**](#61-tfs-apie) +- [**6.1. TFS API**](#61-tfs-api) - [**6.2. ETSI Bandwidth Management (BWM)**](#62-etsi-bandwidth-management-bwm) - [**6.3. IETF L2VPN Service Delivery (L2SM) \[RFC8466\]**](#63-ietf-l2vpn-service-delivery-l2sm-rfc8466) - [**6.4. IETF L3VPN Service Delivery (L3SM) \[RFC8299\]**](#64-ietf-l3vpn-service-delivery-l3sm-rfc8299) - [**6.5. IETF Network Topology \[RFC8345\]**](#65-ietf-network-topology-rfc8345) - [**6.6. IETF Network Slice Service \[draft-ietf-teas-ietf-network-slice-nbi-yang\]**](#66-ietf-network-slice-service-draft-ietf-teas-ietf-network-slice-nbi-yang) -## **6.1. TFS APIe** +## **6.1. TFS API** This NBI connector exposes the basic gRPC methods of TeraFlowSDN that enable to manage contexts, topologies, devices, links, services, slices, connections, and policies. -- GitLab From 30111163be7e588df9b0df33efb8d5ebf1c1d932 Mon Sep 17 00:00:00 2001 From: velazquez Date: Fri, 14 Nov 2025 14:03:19 +0100 Subject: [PATCH 6/9] Add NSC documentation --- doc/deployment_guide.md | 140 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 138 insertions(+), 2 deletions(-) diff --git a/doc/deployment_guide.md b/doc/deployment_guide.md index 6a4ee4f..e7074a4 100644 --- a/doc/deployment_guide.md +++ b/doc/deployment_guide.md @@ -18,9 +18,12 @@ Virtualization platforms tested are: - [1.1.4. OpenStack](#114-openstack) - [1.1.5. Vagrant Box](#115-vagrant-box) - [1.2. Install MicroK8s](#12-install-microk8s) -- [**1.3. Deploy TeraFlowSDN**](#13-deploy-teraflowsdn) +- [**1.3. Deploy TeraFlowSDN Controller**](#13-deploy-teraflowsdn) - [**1.4. WebUI and Grafana Dashboards**](#14-webui-and-grafana-dashboards) - [**1.5. Show Deployment and Logs**](#15-show-deployment-and-logs) +- [**1.6. Deploy TeraFlowSDN NSC**](#16-deploy-teraflowsdn-nsc) +- [**1.7. NSC WebUI and Swagger API Panel**](#17-nsc-webui-and-swagger-api-panel) +- [**1.8. NSC Show Deployment and Logs**](#18-nsc-show-deployment-and-logs) ### 1.1.1. Physical Server This section describes how to configure a physical server for running ETSI TeraFlowSDN(TFS) controller. @@ -890,7 +893,7 @@ sudo apt-get remove --purge docker.io docker-buildx After the reboot, redeploy as it is described in this section. -## **1.3. Deploy TeraFlowSDN** +## **1.3. Deploy TeraFlowSDN Controller** This section describes how to deploy TeraFlowSDN controller on top of MicroK8s using the environment configured in the previous sections. @@ -1104,3 +1107,136 @@ You can avoid sourcing `my_deploy.sh` if it has been already done. source my_deploy.sh ./scripts/show_logs_context.sh ``` + +## **1.6. Deploy TeraFlowSDN NSC** + +This section describes how to deploy TeraFlowSDN NSC using the environment configured in the previous sections. + +

Install prerequisites

+ +```bash +sudo apt-get install -y git curl jq +``` +

Clone the Git repository of the TeraFlowSDN NSC

+Clone from ETSI-hosted GitLab code repository: + +```bash +mkdir ~/tfs-ctrl +git clone https://labs.etsi.org/rep/tfs/nsc.git ~/tfs-nsc +``` + +

Checkout the appropriate Git branch

+TeraFlowSDN NSC versions can be found in the appropriate release tags and/or branches as described in [Home > Versions](https://tfs.etsi.org/news/). + +By default the branch *main* is checked out and points to the latest stable version of the TeraFlowSDN controller, while branch *develop* contains the latest developments and contributions under test and validation. + +To switch to the appropriate branch run the following command, changing `develop` by the name of the branch you want to deploy: +```bash +cd ~/tfs-nsc +git checkout develop +``` + + +

Configure flags before the deployment

+ +In the `src/config/.env.example` file, several constants can be adjusted to customize the Network Slice Controller (NSC) behaviour: + +

Logging

+ +- `DEFAULT_LOGGING_LEVEL`: Sets logging verbosity + - Default: `INFO` + - Options: `DEBUG`, `INFO`, `WARNING`, `ERROR`, `NOTSET`, `CRITICAL` + +

General

+ +- `DUMP_TEMPLATES`: Flag to deploy templates for debugging + - Default: `false` + +

Mapper

+ +- `NRP_ENABLED`: Flag to determine if the NSC performs NRPs + - Default: `false` +- `PLANNER_ENABLED`: Flag to activate the planner + - Default: `false` +- `PCE_EXTERNAL`: Flag to determine if external PCE is used + - Default: `false` +- `PLANNER_TYPE`: Type of planner to be used + - Default: `ENERGY` + - Options: `ENERGY`, `HRAT`, `TFS_OPTICAL` +- `HRAT_IP`: HRAT planner IP + - Default: `10.0.0.1` +- `OPTICAL_PLANNER_IP`: Optical planner IP + - Default: `10.0.0.1` + +

Realizer

+ +- `DUMMY_MODE`: If true, no config sent to controllers + - Default: `true` + +

Teraflow Configuration

+ +- `UPLOAD_TYPE`: Configure type of upload to Teraflow + - Default: `WEBUI` + - Options: `WEBUI`, `NBI` +- `TFS_IP`: Teraflow SDN controller IP + - Default: `"127.0.0.1"` +- `TFS_L2VPN_SUPPORT`: Enable additional L2VPN configuration support + - Default: `False` + +

Ixia Configuration

+ +- `IXIA_IP`: Ixia NEII IP + - Default: `"127.0.0.1"` + +

WebUI

+ +- `WEBUI_DEPLOY`: Flag to deploy WebUI + - Default: `False` + +

Deploy TFS NSC

+To use the NSC, just build the image an run it in a container following these steps: + +```bash +cd ~/tfs-nsc +./deploy.sh +``` + +## **1.7. NSC WebUI and Swagger API Panel** + +This section describes how to get access to the TeraFlowSDN NSC WebUI and Swagger API Panel. + +

Access the TeraFlowSDN NSC Swagger API Panel

+ +The API has two namespaces: tfs and ixia, one dedicated to each controller, with the operations POST, GET, PUT and DELETE. +- `http://127.0.0.1:8081/nsc`: points to the Swagger API Panel of TeraFlowSDN NSC. + - `GET /{namespace}/slice`: returns a list with all transport network slices currently available in the controller. + - `POST /{namespace}/slice`: allows the submission of a new network slice request + - `DELETE /{namespace}/slice`: deletes all transport network slices stored in the controller. + - `GET /{namespace}/slice/{slice_id}`: retrieves detailed information about a specific transport network slice identified by its slice_id + - `DELETE /{namespace}/slice/{slice_id}`: deletes a specific transport network slice identified by its slice_id + - `PUT /{namespace}/slice/{slice_id}`: modifies a specific transport network slice identified by its slice_id + +**Note**: The access port of TeraflowSDN NSC is by default 8081. If you are using it for other purposes, consider modifying the NSC_PORT variable in the `src/config/.env.example` file + +

Access the TeraFlowSDN NSC WebUI

+ +The WebUI is a graphical interface that allows operating the NSC. Currently, it has more limited operations than the API. It supports the creation of slices in both Teraflow and IXIA controllers, as well as getting information of the current slices. + +- `http://127.0.0.1:8081/webui`: points to the WebUI of TeraFlowSDN NSC. + +**Note**: The access port of TeraflowSDN NSC is by default 8081. If you are using it for other purposes, consider modifying the NSC_PORT variable in the `src/config/.env.example` file + +## **1.8. NSC Show Deployment and Logs** + +This section presents some helper scripts to inspect the status of the deployment and +the logs of the NSC. +These scripts are particularly helpful for troubleshooting during execution of +experiments, development, and debugging. + +

Report the log of a specific TFS controller component

+ +To dump the log of the NSC component, run the following command. + +```bash +./scripts/show_logs_nsc.sh +``` \ No newline at end of file -- GitLab From 7efc91f432bf7cf6103ee3b3336bc6f0155828ea Mon Sep 17 00:00:00 2001 From: velazquez Date: Fri, 14 Nov 2025 14:09:59 +0100 Subject: [PATCH 7/9] Correct typo --- doc/deployment_guide.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/doc/deployment_guide.md b/doc/deployment_guide.md index e7074a4..9f7cff6 100644 --- a/doc/deployment_guide.md +++ b/doc/deployment_guide.md @@ -1208,13 +1208,15 @@ This section describes how to get access to the TeraFlowSDN NSC WebUI and Swagge

Access the TeraFlowSDN NSC Swagger API Panel

The API has two namespaces: tfs and ixia, one dedicated to each controller, with the operations POST, GET, PUT and DELETE. +- `GET /{namespace}/slice`: returns a list with all transport network slices currently available in the controller. +- `POST /{namespace}/slice`: allows the submission of a new network slice request +- `DELETE /{namespace}/slice`: deletes all transport network slices stored in the controller. +- `GET /{namespace}/slice/{slice_id}`: retrieves detailed information about a specific transport network slice identified by its slice_id +- `DELETE /{namespace}/slice/{slice_id}`: deletes a specific transport network slice identified by its slice_id +- `PUT /{namespace}/slice/{slice_id}`: modifies a specific transport network slice identified by its slice_id + +To access the Swagger API panel: - `http://127.0.0.1:8081/nsc`: points to the Swagger API Panel of TeraFlowSDN NSC. - - `GET /{namespace}/slice`: returns a list with all transport network slices currently available in the controller. - - `POST /{namespace}/slice`: allows the submission of a new network slice request - - `DELETE /{namespace}/slice`: deletes all transport network slices stored in the controller. - - `GET /{namespace}/slice/{slice_id}`: retrieves detailed information about a specific transport network slice identified by its slice_id - - `DELETE /{namespace}/slice/{slice_id}`: deletes a specific transport network slice identified by its slice_id - - `PUT /{namespace}/slice/{slice_id}`: modifies a specific transport network slice identified by its slice_id **Note**: The access port of TeraflowSDN NSC is by default 8081. If you are using it for other purposes, consider modifying the NSC_PORT variable in the `src/config/.env.example` file -- GitLab From 1a354b60748995d1932c7bde0ba1f77ccb39ec0c Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 14 Nov 2025 13:38:12 +0000 Subject: [PATCH 8/9] Upgrades for TFS R6 --- doc/deployment_guide.md | 16 ++++++++-------- doc/development_guide.md | 4 ++-- doc/index.md | 21 +++++++++++---------- doc/run_experiments.md | 6 +++--- 4 files changed, 24 insertions(+), 23 deletions(-) diff --git a/doc/deployment_guide.md b/doc/deployment_guide.md index 9f7cff6..69a0a0b 100644 --- a/doc/deployment_guide.md +++ b/doc/deployment_guide.md @@ -5,7 +5,7 @@ controller. ## 1.1. Configure your Machine -In this section, we describe how to configure a machine (physical or virtual) to be used as the deployment, execution, and development environment for the ETSI TeraFlowSDN controller. Choose your preferred environment below and follow the instructions provided. +In this section, we describe how to configure a machine (physical or virtual) to be used as the deployment, execution, and development environment for the ETSI TeraFlowSDN software. Choose your preferred environment below and follow the instructions provided. **NOTE**: If you already have a remote physical server fitting the requirements specified in this section feel free to use it instead of deploying a local VM. Check [1.1.1. Physical Server](#111-physical-server) for further details. @@ -18,9 +18,9 @@ Virtualization platforms tested are: - [1.1.4. OpenStack](#114-openstack) - [1.1.5. Vagrant Box](#115-vagrant-box) - [1.2. Install MicroK8s](#12-install-microk8s) -- [**1.3. Deploy TeraFlowSDN Controller**](#13-deploy-teraflowsdn) -- [**1.4. WebUI and Grafana Dashboards**](#14-webui-and-grafana-dashboards) -- [**1.5. Show Deployment and Logs**](#15-show-deployment-and-logs) +- [**1.3. Deploy TeraFlowSDN Controller**](#13-deploy-teraflowsdn-controller) +- [**1.4. Controller WebUI and Grafana Dashboards**](#14-controller-webui-and-grafana-dashboards) +- [**1.5. Controller Show Deployment and Logs**](#15-controller-show-deployment-and-logs) - [**1.6. Deploy TeraFlowSDN NSC**](#16-deploy-teraflowsdn-nsc) - [**1.7. NSC WebUI and Swagger API Panel**](#17-nsc-webui-and-swagger-api-panel) - [**1.8. NSC Show Deployment and Logs**](#18-nsc-show-deployment-and-logs) @@ -650,7 +650,7 @@ echo "Linkerd Viz dashboard running!" ## 1.2. Install MicroK8s -This section describes how to deploy the MicroK8s Kubernetes platform and configure it to be used with ETSI TeraFlowSDN controller. Besides, Docker is installed to build docker images for the ETSI TeraFlowSDN controller. +This section describes how to deploy the MicroK8s Kubernetes platform and configure it to be used with ETSI TeraFlowSDN software. Besides, Docker is installed to build docker images for ETSI TeraFlowSDN. The steps described in this section might take some minutes depending on your internet connection speed and the resources assigned to your VM, or the specifications of your physical server. @@ -1051,9 +1051,9 @@ The script performs the following steps: - Deploying service monitors to enable monitoring the performance of the components, device drivers and service handlers. - Initialize and configure the Grafana dashboards (if Monitoring component is deployed) - Report a summary of the deployment - - See [Show Deployment and Logs](#15-show-deployment-and-logs) + - See [Show Deployment and Logs](#15-controller-show-deployment-and-logs) -## **1.4. WebUI and Grafana Dashboards** +## **1.4. Controller WebUI and Grafana Dashboards** This section describes how to get access to the TeraFlowSDN controller WebUI and the monitoring Grafana dashboards. @@ -1071,7 +1071,7 @@ Besides, the ingress controller defines the following reverse proxy paths (on yo **Note**: In the creation of the VM, a forward from host TCP port 8080 to VM's TCP port 80 is configured, so the WebUIs and REST APIs of TeraFlowSDN should be exposed on the endpoint `127.0.0.1:8080` of your local machine instead of `127.0.0.1:80`. -## **1.5. Show Deployment and Logs** +## **1.5. Controller Show Deployment and Logs** This section presents some helper scripts to inspect the status of the deployment and the logs of the components. diff --git a/doc/development_guide.md b/doc/development_guide.md index 1bf0f09..a75c410 100644 --- a/doc/development_guide.md +++ b/doc/development_guide.md @@ -5,7 +5,7 @@ ### **2.1.1. Python** This section describes how to configure the Python environment to run experiments and -develop code for the ETSI TeraFlowSDN controller. +develop code for the ETSI TeraFlowSDN Controller / NSC. In particular, we use [PyEnv](https://github.com/pyenv/pyenv) to install the appropriate version of Python and manage the virtual environments. @@ -232,7 +232,7 @@ We suggest to copy the respective files from existing components (Automation and ### **2.1.5. Erlang** This section describes how to configure the Erlang environment to run experiments and -develop code for the ETSI TeraFlowSDN controller. +develop code for the ETSI TeraFlowSDN Controller. First we need to install Erlang. There is multiple way, for development we will be using [ASDF](https://asdf-vm.com/), a tool that allows the installation of multiple diff --git a/doc/index.md b/doc/index.md index 236a043..31f910c 100644 --- a/doc/index.md +++ b/doc/index.md @@ -1,26 +1,27 @@ drawing -Welcome to the ETSI TeraFlowSDN (TFS) Controller wiki! +Welcome to the ETSI TeraFlowSDN (TFS) wiki! This wiki provides a walkthrough on how to prepare your environment for executing and contributing to the ETSI SDG TeraFlowSDN. Besides, it describes how to run some example experiments. -# Try TeraFlowSDN Release 5.0 -The new release launched on May 28th, 2025 incorporates a number of new features, improvements, and bug resolutions. Try it by following the guides below, and feel free to give us your feedback. -See the [Release Notes](https://labs.etsi.org/rep/tfs/controller/-/releases/v5.0.0). +# Try TeraFlowSDN Release 6.0 +The new release launched on November 14th, 2025 incorporates a number of new features, improvements, and bug resolutions. Try it by following the guides below, and feel free to give us your feedback. +- See the [TFS Controller Release Notes](https://labs.etsi.org/rep/tfs/controller/-/releases/v6.0.0). +- See the [TFS Network Slice Controller Release Notes](https://labs.etsi.org/rep/tfs/nsc/-/releases/v6.0.0). # Requisites -The guides and walkthroughs below make some reasonable assumptions to simplify the deployment of the TFS controller, the execution of experiments and tests, and the development of new contributions. +The guides and walkthroughs below make some reasonable assumptions to simplify the deployment of the TFS Controller and NSC, the execution of experiments and tests, and the development of new contributions. In particular, we assume: - - A physical server or virtual machine for running the TFS controller with the following minimum specifications (check section [Configure your Machine](https://tfs.etsi.org/documentation/develop/deployment_guide/#11-configure-your-machine) for additional details): + - A physical server or virtual machine for running TFS with the following minimum specifications (check section [Configure your Machine](https://tfs.etsi.org/documentation/develop/deployment_guide/#11-configure-your-machine) for additional details): - 4 cores / vCPUs - 8 GB of RAM (10 GB of RAM if you want to develop) - 60 GB of disk (100 GB of disk if you want to develop) - 1 NIC card - [VSCode](https://code.visualstudio.com/) with the [Remote SSH](https://code.visualstudio.com/docs/remote/ssh) extension - Working machine software: - - [Ubuntu Server 24.04.2 LTS](https://releases.ubuntu.com/24.04/) or [Ubuntu Server 22.04.5 LTS](https://releases.ubuntu.com/22.04/) or [Ubuntu Server 20.04.6 LTS](https://releases.ubuntu.com/20.04/) + - [Ubuntu Server 24.04.3 LTS](https://releases.ubuntu.com/24.04/) or [Ubuntu Server 22.04.5 LTS](https://releases.ubuntu.com/22.04/) or [Ubuntu Server 20.04.6 LTS](https://releases.ubuntu.com/20.04/) - [MicroK8s v1.29.15](https://microk8s.io/) Use the Wiki menu in the left side of this page to navigate through the various contents of this wiki. @@ -67,7 +68,7 @@ This section provides access to the links and all the materials prepared for the New versions of TeraFlowSDN are periodically released. Each release is properly tagged and a branch is kept for its future bug fixing, if needed. - - The branch *master*, points always to the latest stable version of the TeraFlowSDN controller. + - The branch *master*, points always to the latest stable version of the TeraFlowSDN Controller/NSC. - The branches *release/X.Y.Z*, point to the code for the different release versions indicated in branch name. - Code in these branches can be considered stable, and no new features are planned. - In case of bugs, point releases increasing revision number (Z) might be created. @@ -75,7 +76,7 @@ Each release is properly tagged and a branch is kept for its future bug fixing, - **Use with care! Might not be stable.** - The latest developments and contributions are added to this branch for testing and validation before reaching a release. -To choose the appropriate branch, follow the steps described in [1.3. Deploy TeraFlowSDN > Checkout the Appropriate Git Branch](https://tfs.etsi.org/documentation/develop/deployment_guide/#13-deploy-teraflowsdn) +To choose the appropriate branch, follow the steps described in [1.3. Deploy TeraFlowSDN > Checkout the Appropriate Git Branch](https://tfs.etsi.org/documentation/develop/deployment_guide/#13-deploy-teraflowsdn-ctrl) # Events Find here after the list of past and future TFS Events: @@ -84,6 +85,6 @@ Find here after the list of past and future TFS Events: # Contact If your environment does not fit with the proposed assumptions and you experience issues -preparing it to work with the ETSI TeraFlowSDN controller, contact the ETSI TeraFlowSDN +preparing it to work with the ETSI TeraFlowSDN Controller / NSC, contact the ETSI TeraFlowSDN SDG team through [Slack](https://join.slack.com/t/teraflowsdn/shared_invite/zt-18gc5jvkh-1_DEZHFhxeuOqzJZPq~U~A) diff --git a/doc/run_experiments.md b/doc/run_experiments.md index ce965fe..587ef95 100644 --- a/doc/run_experiments.md +++ b/doc/run_experiments.md @@ -3,7 +3,7 @@ The guide includes the details on configuring the Python environment, some basic Note that the steps followed here are likely to work regardless of the platform where TeraFlowSDN is deployed over. -Note also that this guide will keep growing with the new experiments and demonstrations that are being carried out involving the ETSI TeraFlowSDN controller. +Note also that this guide will keep growing with the new experiments and demonstrations that are being carried out involving the ETSI TeraFlowSDN Controller / NSC. **Important:** The NBIs, workflows and drivers have to be considered as experimental. The configuration and monitoring capabilities they support are limited, partially implemented, or tested only with specific laboratory equipment. Use them with care. @@ -61,7 +61,7 @@ To run this functional test, it is assumed you have deployed a MicroK8s-based Ku

Access to the WebUI and Dashboard

-When the deployment completes, you can connect to the TeraFlowSDN WebUI and Dashboards as described in [Tutorial: Deployment Guide > WebUI and Grafana Dashboards](https://tfs.etsi.org/documentation/develop/deployment_guide/#14-webui-and-grafana-dashboards) +When the deployment completes, you can connect to the TeraFlowSDN WebUI and Dashboards as described in [Tutorial: Deployment Guide > WebUI and Grafana Dashboards](https://tfs.etsi.org/documentation/develop/deployment_guide/#14-controller-webui-and-grafana-dashboards) Notes: @@ -227,7 +227,7 @@ To run this functional test, it is assumed you have deployed a MicroK8s-based Ku

Access to the WebUI

-When the deployment completes, you can connect to the TeraFlowSDN WebUI as described in [Tutorial: Deployment Guide > WebUI and Grafana Dashboards](https://tfs.etsi.org/documentation/develop/deployment_guide/#14-webui-and-grafana-dashboards) +When the deployment completes, you can connect to the TeraFlowSDN WebUI as described in [Tutorial: Deployment Guide > WebUI and Grafana Dashboards](https://tfs.etsi.org/documentation/develop/deployment_guide/#14-controller-webui-and-grafana-dashboards) Notes: -- GitLab From 0961c9f5f7545a59030d10a664acdbcdbd80fb32 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 14 Nov 2025 14:29:12 +0000 Subject: [PATCH 9/9] Minor style fix --- doc/index.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/index.md b/doc/index.md index 31f910c..54f7a8b 100644 --- a/doc/index.md +++ b/doc/index.md @@ -7,8 +7,9 @@ Besides, it describes how to run some example experiments. # Try TeraFlowSDN Release 6.0 The new release launched on November 14th, 2025 incorporates a number of new features, improvements, and bug resolutions. Try it by following the guides below, and feel free to give us your feedback. -- See the [TFS Controller Release Notes](https://labs.etsi.org/rep/tfs/controller/-/releases/v6.0.0). -- See the [TFS Network Slice Controller Release Notes](https://labs.etsi.org/rep/tfs/nsc/-/releases/v6.0.0). + +- [TFS Controller Release Notes](https://labs.etsi.org/rep/tfs/controller/-/releases/v6.0.0). +- [TFS Network Slice Controller Release Notes](https://labs.etsi.org/rep/tfs/nsc/-/releases/v6.0.0). # Requisites The guides and walkthroughs below make some reasonable assumptions to simplify the deployment of the TFS Controller and NSC, the execution of experiments and tests, and the development of new contributions. -- GitLab