Loading deploy/all.sh +3 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,9 @@ export TFS_COMPONENTS=${TFS_COMPONENTS:-"context device pathcomp service slice n # Uncomment to activate E2E Orchestrator #export TFS_COMPONENTS="${TFS_COMPONENTS} e2e_orchestrator" # Uncomment to activate Pluggables Component #export TFS_COMPONENTS="${TFS_COMPONENTS} pluggables" # If not already set, set the tag you want to use for your images. export TFS_IMAGE_TAG=${TFS_IMAGE_TAG:-"dev"} Loading my_deploy.sh +3 −0 Original line number Diff line number Diff line Loading @@ -95,6 +95,9 @@ export TFS_COMPONENTS="context device pathcomp service nbi webui" # Uncomment to activate Load Generator #export TFS_COMPONENTS="${TFS_COMPONENTS} load_generator" # Uncomment to activate Pluggables Component #export TFS_COMPONENTS="${TFS_COMPONENTS} pluggables" # Set the tag you want to use for your images. export TFS_IMAGE_TAG="dev" Loading proto/pluggables.proto +24 −8 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. syntax = "proto3"; package tfs.pluggables.v0; package pluggables; import "context.proto"; import "google/protobuf/field_mask.proto"; service PluggablesService { rpc CreatePluggable (CreatePluggableRequest) returns (Pluggable) {} Loading @@ -14,7 +28,6 @@ service PluggablesService { } message PluggableId { context.DeviceId device = 1; int32 pluggable_index = 2; // physical slot number in the device Loading Loading @@ -65,6 +78,10 @@ message DigitalSubcarrierGroupState { message PluggableConfig { PluggableId id = 1; double target_output_power_dbm = 2; // target output power for the pluggable double center_frequency_mhz = 3; // center frequency in MHz int32 operational_mode = 4; // e.g., 0=off and 1=on int32 line_port = 5; // line port number repeated DigitalSubcarrierGroupConfig dsc_groups = 10; } Loading Loading @@ -109,8 +126,7 @@ message DeletePluggableRequest { message ConfigurePluggableRequest { PluggableConfig config = 1; google.protobuf.FieldMask update_mask = 2; // Not Implemented yet (for partial updates) View view_level = 3; View view_level = 2; int32 apply_timeout_seconds = 10; // Not Implemented yet (for timeout) } Loading proto/policy.proto +1 −1 Original line number Diff line number Diff line Loading @@ -16,7 +16,7 @@ syntax = "proto3"; package policy; import "context.proto"; import "policy_condition.proto"; // WARNING: Not used import "policy_condition.proto"; import "policy_action.proto"; import "monitoring.proto"; // to be migrated to: "kpi_manager.proto" Loading src/common/Constants.py +2 −2 Original line number Diff line number Diff line Loading @@ -75,7 +75,7 @@ class ServiceNameEnum(Enum): ANALYTICSBACKEND = 'analytics-backend' QOSPROFILE = 'qos-profile' OSMCLIENT = 'osm-client' DSCMPLUGGABLE = 'dscm-pluggable' PLUGGABLES = 'dscm-pluggable' # Used for test and debugging only DLT_GATEWAY = 'dltgateway' Loading Loading @@ -118,7 +118,7 @@ DEFAULT_SERVICE_GRPC_PORTS = { ServiceNameEnum.ANALYTICSBACKEND .value : 30090, ServiceNameEnum.AUTOMATION .value : 30200, ServiceNameEnum.OSMCLIENT .value : 30210, ServiceNameEnum.DSCMPLUGGABLE .value : 30220, ServiceNameEnum.PLUGGABLES .value : 30220, # Used for test and debugging only ServiceNameEnum.DLT_GATEWAY .value : 50051, Loading Loading
deploy/all.sh +3 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,9 @@ export TFS_COMPONENTS=${TFS_COMPONENTS:-"context device pathcomp service slice n # Uncomment to activate E2E Orchestrator #export TFS_COMPONENTS="${TFS_COMPONENTS} e2e_orchestrator" # Uncomment to activate Pluggables Component #export TFS_COMPONENTS="${TFS_COMPONENTS} pluggables" # If not already set, set the tag you want to use for your images. export TFS_IMAGE_TAG=${TFS_IMAGE_TAG:-"dev"} Loading
my_deploy.sh +3 −0 Original line number Diff line number Diff line Loading @@ -95,6 +95,9 @@ export TFS_COMPONENTS="context device pathcomp service nbi webui" # Uncomment to activate Load Generator #export TFS_COMPONENTS="${TFS_COMPONENTS} load_generator" # Uncomment to activate Pluggables Component #export TFS_COMPONENTS="${TFS_COMPONENTS} pluggables" # Set the tag you want to use for your images. export TFS_IMAGE_TAG="dev" Loading
proto/pluggables.proto +24 −8 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. syntax = "proto3"; package tfs.pluggables.v0; package pluggables; import "context.proto"; import "google/protobuf/field_mask.proto"; service PluggablesService { rpc CreatePluggable (CreatePluggableRequest) returns (Pluggable) {} Loading @@ -14,7 +28,6 @@ service PluggablesService { } message PluggableId { context.DeviceId device = 1; int32 pluggable_index = 2; // physical slot number in the device Loading Loading @@ -65,6 +78,10 @@ message DigitalSubcarrierGroupState { message PluggableConfig { PluggableId id = 1; double target_output_power_dbm = 2; // target output power for the pluggable double center_frequency_mhz = 3; // center frequency in MHz int32 operational_mode = 4; // e.g., 0=off and 1=on int32 line_port = 5; // line port number repeated DigitalSubcarrierGroupConfig dsc_groups = 10; } Loading Loading @@ -109,8 +126,7 @@ message DeletePluggableRequest { message ConfigurePluggableRequest { PluggableConfig config = 1; google.protobuf.FieldMask update_mask = 2; // Not Implemented yet (for partial updates) View view_level = 3; View view_level = 2; int32 apply_timeout_seconds = 10; // Not Implemented yet (for timeout) } Loading
proto/policy.proto +1 −1 Original line number Diff line number Diff line Loading @@ -16,7 +16,7 @@ syntax = "proto3"; package policy; import "context.proto"; import "policy_condition.proto"; // WARNING: Not used import "policy_condition.proto"; import "policy_action.proto"; import "monitoring.proto"; // to be migrated to: "kpi_manager.proto" Loading
src/common/Constants.py +2 −2 Original line number Diff line number Diff line Loading @@ -75,7 +75,7 @@ class ServiceNameEnum(Enum): ANALYTICSBACKEND = 'analytics-backend' QOSPROFILE = 'qos-profile' OSMCLIENT = 'osm-client' DSCMPLUGGABLE = 'dscm-pluggable' PLUGGABLES = 'dscm-pluggable' # Used for test and debugging only DLT_GATEWAY = 'dltgateway' Loading Loading @@ -118,7 +118,7 @@ DEFAULT_SERVICE_GRPC_PORTS = { ServiceNameEnum.ANALYTICSBACKEND .value : 30090, ServiceNameEnum.AUTOMATION .value : 30200, ServiceNameEnum.OSMCLIENT .value : 30210, ServiceNameEnum.DSCMPLUGGABLE .value : 30220, ServiceNameEnum.PLUGGABLES .value : 30220, # Used for test and debugging only ServiceNameEnum.DLT_GATEWAY .value : 50051, Loading