Skip to content
GitLab
Explore
Sign in
Show whitespace changes
Inline
Side-by-side
manifests/nbiservice.yaml
View file @
8c03968b
manifests/nginx_ingress_http.yaml
View file @
8c03968b
manifests/opticalattackdetectorservice.yaml
View file @
8c03968b
manifests/opticalattackmanagerservice.yaml
View file @
8c03968b
manifests/opticalattackmitigatorservice.yaml
View file @
8c03968b
manifests/opticalcontrollerservice.yaml
0 → 100644
View file @
8c03968b
# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (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
:
opticalcontrollerservice
spec
:
selector
:
matchLabels
:
app
:
opticalcontrollerservice
replicas
:
1
template
:
metadata
:
labels
:
app
:
opticalcontrollerservice
spec
:
terminationGracePeriodSeconds
:
5
containers
:
-
name
:
server
image
:
localhost:32000/tfs/opticalcontroller:dev
imagePullPolicy
:
Never
ports
:
-
containerPort
:
10060
-
containerPort
:
9192
env
:
-
name
:
LOG_LEVEL
value
:
"
INFO"
#readinessProbe:
# exec:
# command: ["/bin/grpc_health_probe", "-addr=:10060"]
#livenessProbe:
# exec:
# command: ["/bin/grpc_health_probe", "-addr=:10060"]
resources
:
requests
:
cpu
:
500m
memory
:
128Mi
limits
:
cpu
:
1000m
memory
:
1024Mi
---
apiVersion
:
v1
kind
:
Service
metadata
:
name
:
opticalcontrollerservice
labels
:
app
:
opticalcontrollerservice
spec
:
type
:
ClusterIP
selector
:
app
:
opticalcontrollerservice
ports
:
-
name
:
grpc
protocol
:
TCP
port
:
10060
targetPort
:
10060
-
name
:
metrics
protocol
:
TCP
port
:
9192
targetPort
:
9192
manifests/pathcompservice.yaml
View file @
8c03968b
...
@@ -38,7 +38,7 @@ spec:
...
@@ -38,7 +38,7 @@ spec:
-
name
:
LOG_LEVEL
-
name
:
LOG_LEVEL
value
:
"
INFO"
value
:
"
INFO"
-
name
:
ENABLE_FORECASTER
-
name
:
ENABLE_FORECASTER
value
:
"
YES
"
value
:
"
NO
"
readinessProbe
:
readinessProbe
:
exec
:
exec
:
command
:
[
"
/bin/grpc_health_probe"
,
"
-addr=:10020"
]
command
:
[
"
/bin/grpc_health_probe"
,
"
-addr=:10020"
]
...
...
manifests/policyservice.yaml
View file @
8c03968b
...
@@ -108,22 +108,22 @@ spec:
...
@@ -108,22 +108,22 @@ spec:
limits
:
limits
:
cpu
:
2000m
cpu
:
2000m
memory
:
2048Mi
memory
:
2048Mi
---
#
---
apiVersion
:
autoscaling/v2
#
apiVersion: autoscaling/v2
kind
:
HorizontalPodAutoscaler
#
kind: HorizontalPodAutoscaler
metadata
:
#
metadata:
name
:
policyservice-hpa
#
name: policyservice-hpa
spec
:
#
spec:
scaleTargetRef
:
#
scaleTargetRef:
apiVersion
:
apps/v1
#
apiVersion: apps/v1
kind
:
Deployment
#
kind: Deployment
name
:
policyservice
#
name: policyservice
minReplicas
:
1
#
minReplicas: 1
maxReplicas
:
10
#
maxReplicas: 10
metrics
:
#
metrics:
-
type
:
Resource
#
- type: Resource
resource
:
#
resource:
name
:
cpu
#
name: cpu
target
:
#
target:
type
:
Utilization
#
type: Utilization
averageUtilization
:
80
#
averageUtilization: 80
manifests/prometheus.yaml
View file @
8c03968b
...
@@ -90,3 +90,4 @@ spec:
...
@@ -90,3 +90,4 @@ spec:
port
:
9090
port
:
9090
targetPort
:
9090
targetPort
:
9090
---
---
manifests/servicemonitors.yaml
View file @
8c03968b
manifests/serviceservice.yaml
View file @
8c03968b
manifests/sliceservice.yaml
View file @
8c03968b
manifests/teservice.yaml
View file @
8c03968b
manifests/webuiservice.yaml
View file @
8c03968b
manifests/ztpservice.yaml
View file @
8c03968b
...
@@ -104,22 +104,22 @@ spec:
...
@@ -104,22 +104,22 @@ spec:
limits
:
limits
:
cpu
:
2000m
cpu
:
2000m
memory
:
2048Mi
memory
:
2048Mi
---
#
---
apiVersion
:
autoscaling/v2
#
apiVersion: autoscaling/v2
kind
:
HorizontalPodAutoscaler
#
kind: HorizontalPodAutoscaler
metadata
:
#
metadata:
name
:
ztpservice-hpa
#
name: ztpservice-hpa
spec
:
#
spec:
scaleTargetRef
:
#
scaleTargetRef:
apiVersion
:
apps/v1
#
apiVersion: apps/v1
kind
:
Deployment
#
kind: Deployment
name
:
ztpservice
#
name: ztpservice
minReplicas
:
1
#
minReplicas: 1
maxReplicas
:
10
#
maxReplicas: 10
metrics
:
#
metrics:
-
type
:
Resource
#
- type: Resource
resource
:
#
resource:
name
:
cpu
#
name: cpu
target
:
#
target:
type
:
Utilization
#
type: Utilization
averageUtilization
:
80
#
averageUtilization: 80
my_deploy.sh
View file @
8c03968b
...
@@ -20,11 +20,17 @@
...
@@ -20,11 +20,17 @@
export
TFS_REGISTRY_IMAGES
=
"http://localhost:32000/tfs/"
export
TFS_REGISTRY_IMAGES
=
"http://localhost:32000/tfs/"
# Set the list of components, separated by spaces, you want to build images for, and deploy.
# 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
load_generator
"
export
TFS_COMPONENTS
=
"context device pathcomp
opticalcontroller
service slice nbi webui "
# Uncomment to activate Monitoring
# Uncomment to activate Monitoring
#export TFS_COMPONENTS="${TFS_COMPONENTS} monitoring"
#export TFS_COMPONENTS="${TFS_COMPONENTS} monitoring"
# Uncomment to activate BGP-LS Speaker
#export TFS_COMPONENTS="${TFS_COMPONENTS} bgpls_speaker"
# Uncomment to activate Optical Controller
#export TFS_COMPONENTS="${TFS_COMPONENTS} opticalcontroller"
# Uncomment to activate ZTP
# Uncomment to activate ZTP
#export TFS_COMPONENTS="${TFS_COMPONENTS} ztp"
#export TFS_COMPONENTS="${TFS_COMPONENTS} ztp"
...
...
ofc24
0 → 100644
View file @
8c03968b
src/tests/ofc24/
\ No newline at end of file
proto/bgpls.proto
0 → 100644
View file @
8c03968b
// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (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
bgpls
;
import
"context.proto"
;
service
BgplsService
{
rpc
ListDiscoveredDevices
(
context.Empty
)
returns
(
DiscoveredDeviceList
)
{}
rpc
ListDiscoveredLinks
(
context.Empty
)
returns
(
DiscoveredLinkList
)
{}
rpc
AddBgplsSpeaker
(
BgplsSpeaker
)
returns
(
BgplsSpeakerId
)
{}
rpc
ListBgplsSpeakers
(
context.Empty
)
returns
(
BgplsSpeakerList
)
{}
rpc
DisconnectFromSpeaker
(
BgplsSpeaker
)
returns
(
context.Empty
)
{}
rpc
GetSpeakerInfoFromId
(
BgplsSpeakerId
)
returns
(
BgplsSpeaker
)
{}
rpc
NotifyAddNodeToContext
(
NodeDescriptors
)
returns
(
context.Empty
)
{}
}
message
DiscoveredDevice
{
string
nodeName
=
1
;
string
ip
=
2
;
string
igpID
=
3
;
string
learntFrom
=
4
;
}
message
DiscoveredDeviceList
{
repeated
DiscoveredDevice
discovereddevices
=
1
;
}
message
DiscoveredLinkList
{
repeated
DiscoveredLink
discoveredlinks
=
1
;
}
message
DiscoveredLink
{
NodeDescriptors
local
=
1
;
NodeDescriptors
remote
=
2
;
string
learntFrom
=
3
;
string
local_ipv4
=
4
;
string
remote_ipv4
=
5
;
}
message
NodeDescriptors
{
string
asNumber
=
1
;
string
igp_id
=
2
;
string
nodeName
=
3
;
}
message
BgplsSpeaker
{
string
address
=
1
;
string
port
=
2
;
string
asNumber
=
3
;
}
message
BgplsSpeakerId
{
uint32
id
=
1
;
}
message
BgplsSpeakerList
{
repeated
BgplsSpeakerId
speakers
=
1
;
}
proto/context.proto
View file @
8c03968b
...
@@ -74,6 +74,17 @@ service ContextService {
...
@@ -74,6 +74,17 @@ service ContextService {
rpc
SetConnection
(
Connection
)
returns
(
ConnectionId
)
{}
rpc
SetConnection
(
Connection
)
returns
(
ConnectionId
)
{}
rpc
RemoveConnection
(
ConnectionId
)
returns
(
Empty
)
{}
rpc
RemoveConnection
(
ConnectionId
)
returns
(
Empty
)
{}
rpc
GetConnectionEvents
(
Empty
)
returns
(
stream
ConnectionEvent
)
{}
rpc
GetConnectionEvents
(
Empty
)
returns
(
stream
ConnectionEvent
)
{}
// ------------------------------ Experimental -----------------------------
rpc
GetOpticalConfig
(
Empty
)
returns
(
OpticalConfigList
)
{}
rpc
SetOpticalConfig
(
OpticalConfig
)
returns
(
OpticalConfigId
)
{}
rpc
SelectOpticalConfig
(
OpticalConfigId
)
returns
(
OpticalConfig
)
{}
rpc
DeleteOpticalConfig
(
OpticalConfigId
)
returns
(
Empty
)
{}
rpc
SetOpticalLink
(
OpticalLink
)
returns
(
Empty
)
{}
rpc
GetOpticalLink
(
OpticalLinkId
)
returns
(
OpticalLink
)
{}
rpc
GetFiber
(
FiberId
)
returns
(
Fiber
)
{}
}
}
// ----- Generic -------------------------------------------------------------------------------------------------------
// ----- Generic -------------------------------------------------------------------------------------------------------
...
@@ -203,6 +214,7 @@ enum DeviceDriverEnum {
...
@@ -203,6 +214,7 @@ enum DeviceDriverEnum {
DEVICEDRIVER_GNMI_OPENCONFIG
=
8
;
DEVICEDRIVER_GNMI_OPENCONFIG
=
8
;
DEVICEDRIVER_FLEXSCALE
=
9
;
DEVICEDRIVER_FLEXSCALE
=
9
;
DEVICEDRIVER_IETF_ACTN
=
10
;
DEVICEDRIVER_IETF_ACTN
=
10
;
DEVICEDRIVER_OC
=
11
;
}
}
enum
DeviceOperationalStatusEnum
{
enum
DeviceOperationalStatusEnum
{
...
@@ -288,6 +300,7 @@ enum ServiceTypeEnum {
...
@@ -288,6 +300,7 @@ enum ServiceTypeEnum {
SERVICETYPE_TAPI_CONNECTIVITY_SERVICE
=
3
;
SERVICETYPE_TAPI_CONNECTIVITY_SERVICE
=
3
;
SERVICETYPE_TE
=
4
;
SERVICETYPE_TE
=
4
;
SERVICETYPE_E2E
=
5
;
SERVICETYPE_E2E
=
5
;
SERVICETYPE_OPTICAL_CONNECTIVITY
=
6
;
}
}
enum
ServiceStatusEnum
{
enum
ServiceStatusEnum
{
...
@@ -612,3 +625,59 @@ message AuthenticationResult {
...
@@ -612,3 +625,59 @@ message AuthenticationResult {
ContextId
context_id
=
1
;
ContextId
context_id
=
1
;
bool
authenticated
=
2
;
bool
authenticated
=
2
;
}
}
// ---------------- Experimental ------------------------
message
OpticalConfigId
{
string
opticalconfig_uuid
=
1
;
}
message
OpticalConfig
{
OpticalConfigId
opticalconfig_id
=
1
;
string
config
=
2
;
}
message
OpticalConfigList
{
repeated
OpticalConfig
opticalconfigs
=
1
;
}
message
OpticalConfigEvent
{
Event
event
=
1
;
OpticalConfigId
opticalconfig_id
=
2
;
}
// ---- Optical Link ----
message
OpticalLinkId
{
Uuid
optical_link_uuid
=
1
;
}
message
FiberId
{
Uuid
fiber_uuid
=
1
;
}
message
Fiber
{
string
ID
=
10
;
string
src_port
=
1
;
string
dst_port
=
2
;
string
local_peer_port
=
3
;
string
remote_peer_port
=
4
;
repeated
int32
c_slots
=
5
;
repeated
int32
l_slots
=
6
;
repeated
int32
s_slots
=
7
;
float
length
=
8
;
bool
used
=
9
;
FiberId
fiber_uuid
=
11
;
}
message
OpticalLinkDetails
{
float
length
=
1
;
string
source
=
2
;
string
target
=
3
;
repeated
Fiber
fibers
=
4
;
}
message
OpticalLink
{
string
name
=
1
;
OpticalLinkDetails
details
=
2
;
OpticalLinkId
optical_link_uuid
=
3
;
}
proto/openconfig_device.proto
0 → 100644
View file @
8c03968b
// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (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
openconfig_device
;
import
"context.proto"
;
service
OpenConfigService
{
rpc
AddOpenConfigDevice
(
context.OpticalConfig
)
returns
(
context.OpticalConfigId
)
{}
rpc
ConfigureOpticalDevice
(
context.OpticalConfig
)
returns
(
context.Empty
)
{}
}
Prev
1
2
3
4
5
6
…
28
Next