Loading deploy/tfs.sh +11 −0 Original line number Diff line number Diff line Loading @@ -97,6 +97,11 @@ export GRAF_EXT_PORT_HTTP=${GRAF_EXT_PORT_HTTP:-"3000"} export KFK_NAMESPACE=${KFK_NAMESPACE:-"kafka"} # ----- Telemetry Config ------------------------------------------------------ # Replace LOAD_BALANCER_IP export LOAD_BALANCER_IP=${LOAD_BALANCER_IP:-""} ######################################################################################################################## # Automated steps start here ######################################################################################################################## Loading Loading @@ -215,6 +220,9 @@ else fi printf "\n" # Before deployment change the telemetry LOAD_BALANCER_IP sed -i "s|_LOAD_BALANCER_IP_|$LOAD_BALANCER_IP|g" manifests/telemetryservice.yaml for COMPONENT in $TFS_COMPONENTS; do echo "Processing '$COMPONENT' component..." Loading Loading @@ -597,6 +605,9 @@ if [[ "$TFS_COMPONENTS" == *"monitoring"* ]] && [[ "$TFS_COMPONENTS" == *"webui" printf "\n\n" fi # Revert _LOAD_BALANCER_IP_ for the next deployment sed -i "s|$LOAD_BALANCER_IP|_LOAD_BALANCER_IP_|g" manifests/telemetryservice.yaml echo "Pruning Docker Images..." docker image prune --force printf "\n\n" Loading manifests/metallb.yaml 0 → 100644 +30 −0 Original line number Diff line number Diff line # Copyright 2022-2025 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/) # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Use this YAML to change configuration of MetalLB in real time. apiVersion: metallb.io/v1beta1 kind: IPAddressPool metadata: name: my-ip-pool namespace: metallb-system spec: addresses: - 192.168.5.250-192.168.5.251 # <-- Change this to match your network --- apiVersion: metallb.io/v1beta1 kind: L2Advertisement metadata: name: l2-adv namespace: metallb-system manifests/telemetryservice.yaml +7 −1 Original line number Diff line number Diff line Loading @@ -94,10 +94,16 @@ metadata: labels: app: telemetryservice spec: type: ClusterIP type: LoadBalancer loadBalancerIP: _LOAD_BALANCER_IP_ externalTrafficPolicy: Local selector: app: telemetryservice ports: - name: dnsudp protocol: UDP port: 12345 targetPort: 12345 - name: grpc protocol: TCP port: 30050 Loading my_deploy.sh +6 −0 Original line number Diff line number Diff line Loading @@ -215,3 +215,9 @@ export PROM_EXT_PORT_HTTP="9090" # Set the external port Grafana HTTP Dashboards will be exposed to. export GRAF_EXT_PORT_HTTP="3000" # ----- Telemetry Config ------------------------------------------------------ # Define a Load Balancer IP for Telemetry Collector components export LOAD_BALANCER_IP="192.168.5.250" # <-- Change this to match your network proto/kpi_sample_types.proto +34 −9 Original line number Diff line number Diff line Loading @@ -49,4 +49,29 @@ enum KpiSampleType { KPISAMPLETYPE_BYTES_DROPPED_AGG_OUTPUT = 1203; KPISAMPLETYPE_SERVICE_LATENCY_MS_AGG_OUTPUT = 1701; // INT KPIs KPISAMPLETYPE_INT_SEQ_NUM = 2001; KPISAMPLETYPE_INT_TS_ING = 2002; KPISAMPLETYPE_INT_TS_EGR = 2003; KPISAMPLETYPE_INT_HOP_LAT = 2004; KPISAMPLETYPE_INT_PORT_ID_ING = 2005; KPISAMPLETYPE_INT_PORT_ID_EGR = 2006; KPISAMPLETYPE_INT_QUEUE_OCCUP = 2007; KPISAMPLETYPE_INT_QUEUE_ID = 2008; KPISAMPLETYPE_INT_HOP_LAT_SW01 = 2101; KPISAMPLETYPE_INT_HOP_LAT_SW02 = 2102; KPISAMPLETYPE_INT_HOP_LAT_SW03 = 2103; KPISAMPLETYPE_INT_HOP_LAT_SW04 = 2104; KPISAMPLETYPE_INT_HOP_LAT_SW05 = 2105; KPISAMPLETYPE_INT_HOP_LAT_SW06 = 2106; KPISAMPLETYPE_INT_HOP_LAT_SW07 = 2107; KPISAMPLETYPE_INT_HOP_LAT_SW08 = 2108; KPISAMPLETYPE_INT_HOP_LAT_SW09 = 2109; KPISAMPLETYPE_INT_HOP_LAT_SW10 = 2110; KPISAMPLETYPE_INT_LAT_ON_TOTAL = 2120; KPISAMPLETYPE_INT_IS_DROP = 2201; KPISAMPLETYPE_INT_DROP_REASON = 2202; } Loading
deploy/tfs.sh +11 −0 Original line number Diff line number Diff line Loading @@ -97,6 +97,11 @@ export GRAF_EXT_PORT_HTTP=${GRAF_EXT_PORT_HTTP:-"3000"} export KFK_NAMESPACE=${KFK_NAMESPACE:-"kafka"} # ----- Telemetry Config ------------------------------------------------------ # Replace LOAD_BALANCER_IP export LOAD_BALANCER_IP=${LOAD_BALANCER_IP:-""} ######################################################################################################################## # Automated steps start here ######################################################################################################################## Loading Loading @@ -215,6 +220,9 @@ else fi printf "\n" # Before deployment change the telemetry LOAD_BALANCER_IP sed -i "s|_LOAD_BALANCER_IP_|$LOAD_BALANCER_IP|g" manifests/telemetryservice.yaml for COMPONENT in $TFS_COMPONENTS; do echo "Processing '$COMPONENT' component..." Loading Loading @@ -597,6 +605,9 @@ if [[ "$TFS_COMPONENTS" == *"monitoring"* ]] && [[ "$TFS_COMPONENTS" == *"webui" printf "\n\n" fi # Revert _LOAD_BALANCER_IP_ for the next deployment sed -i "s|$LOAD_BALANCER_IP|_LOAD_BALANCER_IP_|g" manifests/telemetryservice.yaml echo "Pruning Docker Images..." docker image prune --force printf "\n\n" Loading
manifests/metallb.yaml 0 → 100644 +30 −0 Original line number Diff line number Diff line # Copyright 2022-2025 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/) # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Use this YAML to change configuration of MetalLB in real time. apiVersion: metallb.io/v1beta1 kind: IPAddressPool metadata: name: my-ip-pool namespace: metallb-system spec: addresses: - 192.168.5.250-192.168.5.251 # <-- Change this to match your network --- apiVersion: metallb.io/v1beta1 kind: L2Advertisement metadata: name: l2-adv namespace: metallb-system
manifests/telemetryservice.yaml +7 −1 Original line number Diff line number Diff line Loading @@ -94,10 +94,16 @@ metadata: labels: app: telemetryservice spec: type: ClusterIP type: LoadBalancer loadBalancerIP: _LOAD_BALANCER_IP_ externalTrafficPolicy: Local selector: app: telemetryservice ports: - name: dnsudp protocol: UDP port: 12345 targetPort: 12345 - name: grpc protocol: TCP port: 30050 Loading
my_deploy.sh +6 −0 Original line number Diff line number Diff line Loading @@ -215,3 +215,9 @@ export PROM_EXT_PORT_HTTP="9090" # Set the external port Grafana HTTP Dashboards will be exposed to. export GRAF_EXT_PORT_HTTP="3000" # ----- Telemetry Config ------------------------------------------------------ # Define a Load Balancer IP for Telemetry Collector components export LOAD_BALANCER_IP="192.168.5.250" # <-- Change this to match your network
proto/kpi_sample_types.proto +34 −9 Original line number Diff line number Diff line Loading @@ -49,4 +49,29 @@ enum KpiSampleType { KPISAMPLETYPE_BYTES_DROPPED_AGG_OUTPUT = 1203; KPISAMPLETYPE_SERVICE_LATENCY_MS_AGG_OUTPUT = 1701; // INT KPIs KPISAMPLETYPE_INT_SEQ_NUM = 2001; KPISAMPLETYPE_INT_TS_ING = 2002; KPISAMPLETYPE_INT_TS_EGR = 2003; KPISAMPLETYPE_INT_HOP_LAT = 2004; KPISAMPLETYPE_INT_PORT_ID_ING = 2005; KPISAMPLETYPE_INT_PORT_ID_EGR = 2006; KPISAMPLETYPE_INT_QUEUE_OCCUP = 2007; KPISAMPLETYPE_INT_QUEUE_ID = 2008; KPISAMPLETYPE_INT_HOP_LAT_SW01 = 2101; KPISAMPLETYPE_INT_HOP_LAT_SW02 = 2102; KPISAMPLETYPE_INT_HOP_LAT_SW03 = 2103; KPISAMPLETYPE_INT_HOP_LAT_SW04 = 2104; KPISAMPLETYPE_INT_HOP_LAT_SW05 = 2105; KPISAMPLETYPE_INT_HOP_LAT_SW06 = 2106; KPISAMPLETYPE_INT_HOP_LAT_SW07 = 2107; KPISAMPLETYPE_INT_HOP_LAT_SW08 = 2108; KPISAMPLETYPE_INT_HOP_LAT_SW09 = 2109; KPISAMPLETYPE_INT_HOP_LAT_SW10 = 2110; KPISAMPLETYPE_INT_LAT_ON_TOTAL = 2120; KPISAMPLETYPE_INT_IS_DROP = 2201; KPISAMPLETYPE_INT_DROP_REASON = 2202; }