Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • tfs/controller
1 result
Show changes
Showing
with 230 additions and 23 deletions
# Copyright 2022-2024 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
# 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.
......
# 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.
apiVersion: apps/v1
kind: Deployment
metadata:
name: ztp_serverservice
spec:
selector:
matchLabels:
app: ztp_serverservice
#replicas: 1
template:
metadata:
labels:
app: ztp_serverservice
spec:
terminationGracePeriodSeconds: 5
containers:
- name: server
image: labs.etsi.org:5050/tfs/controller/ztp_server:latest
imagePullPolicy: Always
ports:
- containerPort: 8005
- containerPort: 5051
- containerPort: 9192
env:
- name: LOG_LEVEL
value: "INFO"
readinessProbe:
exec:
command: ["/bin/grpc_health_probe", "-addr=:5051"]
livenessProbe:
exec:
command: ["/bin/grpc_health_probe", "-addr=:5051"]
resources:
requests:
cpu: 250m
memory: 128Mi
limits:
cpu: 1000m
memory: 1024Mi
---
apiVersion: v1
kind: Service
metadata:
name: ztp_serverservice
labels:
app: ztp_serverservice
spec:
type: ClusterIP
selector:
app: ztp_serverservice
ports:
- name: http
protocol: TCP
port: 8005
targetPort: 8005
- name: grpc
protocol: TCP
port: 5051
targetPort: 5051
- name: metrics
protocol: TCP
port: 9192
targetPort: 9192
# Copyright 2022-2024 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
# 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.
......
#!/bin/bash
# Copyright 2022-2024 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
# 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.
......@@ -20,13 +20,15 @@
export TFS_REGISTRY_IMAGES="http://localhost:32000/tfs/"
# Set the list of components, separated by spaces, you want to build images for, and deploy.
export TFS_COMPONENTS="context device pathcomp service slice nbi webui"
# export TFS_COMPONENTS="context device pathcomp service slice nbi webui"
export TFS_COMPONENTS="context device pathcomp service webui"
# Uncomment to activate Monitoring (old)
#export TFS_COMPONENTS="${TFS_COMPONENTS} monitoring"
# Uncomment to activate Monitoring Framework (new)
#export TFS_COMPONENTS="${TFS_COMPONENTS} kpi_manager kpi_value_writer kpi_value_api telemetry analytics automation"
export TFS_COMPONENTS="${TFS_COMPONENTS} kpi_manager telemetry"
# Uncomment to activate QoS Profiles
#export TFS_COMPONENTS="${TFS_COMPONENTS} qos_profile"
......@@ -134,7 +136,7 @@ export CRDB_PASSWORD="tfs123"
export CRDB_DEPLOY_MODE="single"
# Disable flag for dropping database, if it exists.
export CRDB_DROP_DATABASE_IF_EXISTS=""
export CRDB_DROP_DATABASE_IF_EXISTS="YES"
# Disable flag for re-deploying CockroachDB from scratch.
export CRDB_REDEPLOY=""
......
src/tests/ofc25/
\ No newline at end of file
# 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.
src/*/*
# used to prevent breaking symbolic links from source code folders
......
// Copyright 2022-2024 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
// 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.
......
// Copyright 2022-2024 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
// 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.
......
// Copyright 2022-2024 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
// 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.
......
// Copyright 2022-2024 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
// 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.
......
// Copyright 2022-2024 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
// 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.
......
// Copyright 2022-2024 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
// 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.
......@@ -15,6 +15,9 @@
syntax = "proto3";
package context;
//import "any.proto";
import "google/protobuf/any.proto";
import "acl.proto";
import "kpi_sample_types.proto";
......@@ -196,13 +199,13 @@ message Device {
DeviceId controller_id = 9; // Identifier of node controlling the actual device
}
message Component { //Defined previously to this section - Tested OK
Uuid component_uuid = 1;
string name = 2;
string type = 3;
message Component { // Defined previously in this section
Uuid component_uuid = 1;
string name = 2;
string type = 3;
map<string, string> attributes = 4; // dict[attr.name => json.dumps(attr.value)]
string parent = 5;
string parent = 5;
}
message DeviceConfig {
......@@ -223,6 +226,12 @@ enum DeviceDriverEnum {
DEVICEDRIVER_IETF_ACTN = 10;
DEVICEDRIVER_OC = 11;
DEVICEDRIVER_QKD = 12;
DEVICEDRIVER_IETF_L3VPN = 13;
DEVICEDRIVER_IETF_SLICE = 14;
DEVICEDRIVER_NCE = 15;
DEVICEDRIVER_SMARTNIC = 16;
DEVICEDRIVER_MORPHEUS = 17;
DEVICEDRIVER_RYU = 18;
}
enum DeviceOperationalStatusEnum {
......@@ -264,6 +273,7 @@ enum LinkTypeEnum {
LINKTYPE_FIBER = 2;
LINKTYPE_RADIO = 3;
LINKTYPE_VIRTUAL = 4;
LINKTYPE_MANAGEMENT = 5;
}
message LinkAttributes {
......@@ -318,6 +328,9 @@ enum ServiceTypeEnum {
SERVICETYPE_E2E = 5;
SERVICETYPE_OPTICAL_CONNECTIVITY = 6;
SERVICETYPE_QKD = 7;
SERVICETYPE_L1NM = 8;
SERVICETYPE_INT = 9;
SERVICETYPE_ACL = 10;
}
enum ServiceStatusEnum {
......@@ -495,6 +508,7 @@ message EndPoint {
string endpoint_type = 3;
repeated kpi_sample_types.KpiSampleType kpi_sample_types = 4;
Location endpoint_location = 5;
map<string, google.protobuf.Any> capabilities = 6;
}
message EndPointName {
......
// 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.
// References:
// https://www.nvidia.com/content/dam/en-zz/Solutions/networking/ethernet-adapters/connectX-6-dx-datasheet.pdf
// converged accel: https://www.nvidia.com/content/dam/en-zz/Solutions/gtcf21/converged-accelerator/pdf/datasheet.pdf
// bluefield-2 = connectX-6 + DPUs
// conv_accel = bluefield-2 + GPU (A30)
syntax = "proto3";
package context_ext_smartnics;
import "kpi_sample_types.proto";
message SmartnicsCapabilities {
string vendor = 1;
string model = 2;
string serial_number = 3;
repeated Transceiver transceivers = 4;
repeated DPU dpus = 5;
repeated GPU gpus = 6;
}
enum TransceiverPortTypeEnum {
TRANSCEIVER_PORT_TYPE_UNDEFINED = 0;
TRANSCEIVER_PORT_TYPE_SFP = 1;
TRANSCEIVER_PORT_TYPE_SFP_PLUS = 2;
TRANSCEIVER_PORT_TYPE_QSFP_28 = 3;
TRANSCEIVER_PORT_TYPE_QSFP_56 = 4;
TRANSCEIVER_PORT_TYPE_QSFP_DD = 5;
}
enum TransceiverPortSpeedEnum {
TRANSCEIVER_PORT_SPEED_UNDEFINED = 0;
TRANSCEIVER_PORT_SPEED_1G = 1;
TRANSCEIVER_PORT_SPEED_10G = 2;
TRANSCEIVER_PORT_SPEED_25G = 3;
TRANSCEIVER_PORT_SPEED_40G = 4;
TRANSCEIVER_PORT_SPEED_100G = 5;
TRANSCEIVER_PORT_SPEED_200G = 6;
TRANSCEIVER_PORT_SPEED_400G = 7;
TRANSCEIVER_PORT_SPEED_800G = 8;
}
message Transceiver {
TransceiverPortTypeEnum port_type = 1;
repeated TransceiverPortSpeedEnum port_speeds = 2;
repeated kpi_sample_types.KpiSampleType kpi_sample_types = 3;
}
message DPU {
uint32 num_cores = 1;
repeated DPU_Core cores = 2;
repeated DPU_Memory memories = 3;
}
enum DpuCoreArchitectureEnum {
DPU_CORE_ARCHITECTURE_UNDEFINED = 0;
DPU_CORE_ARCHITECTURE_32BIT = 1;
DPU_CORE_ARCHITECTURE_64BIT = 2;
}
message DPU_Core {
string model = 1;
DpuCoreArchitectureEnum architecture = 2;
uint64 l2_cache_size_mb = 3;
uint64 l3_cache_size_mb = 4;
}
message DPU_Memory {
string RamMemoryType = 1;
string eMMCMemoryType = 2;
uint64 RamMemorySizeGB = 3;
uint64 eMMCMemorySizeGB = 4;
}
message GPU {
string model = 1;
string architecture = 2;
string compute_capabilities = 3;
uint64 memory_size_gb = 4;
uint32 num_CUDA_cores = 5;
uint32 num_Tensor_cores = 6;
uint32 peak_fp_32 = 7;
uint32 peak_fp_64 = 8;
uint32 peak_fp_64_tensor_core = 9;
}
// Copyright 2022-2024 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
// 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.
......
// Copyright 2022-2024 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
// 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.
......
// Copyright 2022-2024 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
// 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.
......
// Copyright 2022-2024 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
// 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.
......
// Copyright 2022-2024 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
// 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.
......
// Copyright 2022-2024 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
// 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.
......
// Copyright 2022-2024 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
// 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.
......