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
Commits on Source (119)
Showing
with 80 additions and 22 deletions
......@@ -20,6 +20,7 @@ spec:
selector:
matchLabels:
app: computeservice
replicas: 1
template:
metadata:
labels:
......@@ -44,16 +45,18 @@ spec:
command: ["/bin/grpc_health_probe", "-addr=:9090"]
resources:
requests:
cpu: 250m
memory: 512Mi
cpu: 50m
memory: 64Mi
limits:
cpu: 700m
memory: 1024Mi
cpu: 500m
memory: 512Mi
---
apiVersion: v1
kind: Service
metadata:
name: computeservice
labels:
app: computeservice
spec:
type: ClusterIP
selector:
......
......@@ -20,6 +20,7 @@ spec:
selector:
matchLabels:
app: webuiservice
replicas: 1
template:
metadata:
labels:
......@@ -55,11 +56,11 @@ spec:
timeoutSeconds: 1
resources:
requests:
cpu: 100m
memory: 512Mi
cpu: 50m
memory: 64Mi
limits:
cpu: 700m
memory: 1024Mi
cpu: 500m
memory: 512Mi
- name: grafana
image: grafana/grafana:8.5.11
imagePullPolicy: IfNotPresent
......@@ -92,16 +93,18 @@ spec:
timeoutSeconds: 1
resources:
requests:
cpu: 250m
memory: 750Mi
cpu: 150m
memory: 512Mi
limits:
cpu: 700m
cpu: 500m
memory: 1024Mi
---
apiVersion: v1
kind: Service
metadata:
name: webuiservice
labels:
app: webuiservice
spec:
type: ClusterIP
selector:
......
src/tests/ofc23/
\ No newline at end of file
......@@ -191,6 +191,7 @@ enum DeviceDriverEnum {
DEVICEDRIVER_IETF_NETWORK_TOPOLOGY = 4;
DEVICEDRIVER_ONF_TR_352 = 5;
DEVICEDRIVER_XR = 6;
DEVICEDRIVER_IETF_L2VPN = 7;
}
enum DeviceOperationalStatusEnum {
......
......@@ -24,4 +24,4 @@ export TFS_K8S_NAMESPACE=${TFS_K8S_NAMESPACE:-"tfs"}
# Automated steps start here
########################################################################################################################
kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/computeservice
kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/computeservice -c server
......@@ -24,4 +24,4 @@ export TFS_K8S_NAMESPACE=${TFS_K8S_NAMESPACE:-"tfs"}
# Automated steps start here
########################################################################################################################
kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/deviceservice
kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/deviceservice -c server
......@@ -24,4 +24,4 @@ export TFS_K8S_NAMESPACE=${TFS_K8S_NAMESPACE:-"tfs"}
# Automated steps start here
########################################################################################################################
kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/load-generatorservice
kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/load-generatorservice -c server
......@@ -24,4 +24,4 @@ export TFS_K8S_NAMESPACE=${TFS_K8S_NAMESPACE:-"tfs"}
# Automated steps start here
########################################################################################################################
kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/monitoringservice server
kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/monitoringservice -c server
......@@ -24,4 +24,4 @@ export TFS_K8S_NAMESPACE=${TFS_K8S_NAMESPACE:-"tfs"}
# Automated steps start here
########################################################################################################################
kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/serviceservice
kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/serviceservice -c server
......@@ -24,4 +24,4 @@ export TFS_K8S_NAMESPACE=${TFS_K8S_NAMESPACE:-"tfs"}
# Automated steps start here
########################################################################################################################
kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/sliceservice
kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/sliceservice -c server
......@@ -853,6 +853,8 @@ public class Serializer {
return ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_ONF_TR_352;
case XR:
return ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_XR;
case IETF_L2VPN:
return ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_IETF_L2VPN;
case UNDEFINED:
default:
return ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_UNDEFINED;
......@@ -874,6 +876,8 @@ public class Serializer {
return DeviceDriverEnum.ONF_TR_352;
case DEVICEDRIVER_XR:
return DeviceDriverEnum.XR;
case DEVICEDRIVER_IETF_L2VPN:
return DeviceDriverEnum.IETF_L2VPN;
case DEVICEDRIVER_UNDEFINED:
case UNRECOGNIZED:
default:
......
......@@ -23,5 +23,6 @@ public enum DeviceDriverEnum {
P4,
IETF_NETWORK_TOPOLOGY,
ONF_TR_352,
XR
XR,
IETF_L2VPN
}
......@@ -1215,6 +1215,8 @@ class SerializerTest {
DeviceDriverEnum.ONF_TR_352,
ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_ONF_TR_352),
Arguments.of(DeviceDriverEnum.XR, ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_XR),
Arguments.of(
DeviceDriverEnum.IETF_L2VPN, ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_IETF_L2VPN),
Arguments.of(
DeviceDriverEnum.UNDEFINED, ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_UNDEFINED));
}
......
......@@ -177,6 +177,10 @@ public final class ContextOuterClass {
* <code>DEVICEDRIVER_XR = 6;</code>
*/
DEVICEDRIVER_XR(6),
/**
* <code>DEVICEDRIVER_IETF_L2VPN = 7;</code>
*/
DEVICEDRIVER_IETF_L2VPN(7),
UNRECOGNIZED(-1),
;
 
......@@ -212,6 +216,10 @@ public final class ContextOuterClass {
* <code>DEVICEDRIVER_XR = 6;</code>
*/
public static final int DEVICEDRIVER_XR_VALUE = 6;
/**
* <code>DEVICEDRIVER_IETF_L2VPN = 7;</code>
*/
public static final int DEVICEDRIVER_IETF_L2VPN_VALUE = 7;
 
 
public final int getNumber() {
......@@ -245,6 +253,7 @@ public final class ContextOuterClass {
case 4: return DEVICEDRIVER_IETF_NETWORK_TOPOLOGY;
case 5: return DEVICEDRIVER_ONF_TR_352;
case 6: return DEVICEDRIVER_XR;
case 7: return DEVICEDRIVER_IETF_L2VPN;
default: return null;
}
}
......@@ -25,9 +25,12 @@ class DeviceTypeEnum(Enum):
EMULATED_OPEN_LINE_SYSTEM = 'emu-open-line-system'
EMULATED_OPTICAL_ROADM = 'emu-optical-roadm'
EMULATED_OPTICAL_TRANSPONDER = 'emu-optical-transponder'
EMULATED_OPTICAL_SPLITTER = 'emu-optical-splitter' # passive component required for XR Constellation
EMULATED_P4_SWITCH = 'emu-p4-switch'
EMULATED_PACKET_RADIO_ROUTER = 'emu-packet-radio-router'
EMULATED_PACKET_ROUTER = 'emu-packet-router'
EMULATED_PACKET_SWITCH = 'emu-packet-switch'
EMULATED_XR_CONSTELLATION = 'emu-xr-constellation'
# Real device types
DATACENTER = 'datacenter'
......@@ -36,6 +39,10 @@ class DeviceTypeEnum(Enum):
OPTICAL_ROADM = 'optical-roadm'
OPTICAL_TRANSPONDER = 'optical-transponder'
P4_SWITCH = 'p4-switch'
PACKET_RADIO_ROUTER = 'packet-radio-router'
PACKET_ROUTER = 'packet-router'
PACKET_SWITCH = 'packet-switch'
XR_CONSTELLATION = 'xr-constellation'
\ No newline at end of file
XR_CONSTELLATION = 'xr-constellation'
# ETSI TeraFlowSDN controller
TERAFLOWSDN_CONTROLLER = 'teraflowsdn'
......@@ -43,6 +43,9 @@ DEVICE_MICROWAVE_DRIVERS = [DeviceDriverEnum.DEVICEDRIVER_IETF_NETWORK_TOPOLOGY]
DEVICE_P4_TYPE = DeviceTypeEnum.P4_SWITCH.value
DEVICE_P4_DRIVERS = [DeviceDriverEnum.DEVICEDRIVER_P4]
DEVICE_TFS_TYPE = DeviceTypeEnum.TERAFLOWSDN_CONTROLLER.value
DEVICE_TFS_DRIVERS = [DeviceDriverEnum.DEVICEDRIVER_IETF_L2VPN]
def json_device_id(device_uuid : str):
return {'device_uuid': {'uuid': device_uuid}}
......@@ -120,6 +123,13 @@ def json_device_p4_disabled(
return json_device(
device_uuid, DEVICE_P4_TYPE, DEVICE_DISABLED, endpoints=endpoints, config_rules=config_rules, drivers=drivers)
def json_device_tfs_disabled(
device_uuid : str, endpoints : List[Dict] = [], config_rules : List[Dict] = [],
drivers : List[Dict] = DEVICE_TFS_DRIVERS
):
return json_device(
device_uuid, DEVICE_TFS_TYPE, DEVICE_DISABLED, endpoints=endpoints, config_rules=config_rules, drivers=drivers)
def json_device_connect_rules(address : str, port : int, settings : Dict = {}):
return [
json_config_rule_set('_connect/address', address),
......
......@@ -33,6 +33,7 @@ def validate_device_driver_enum(message):
'DEVICEDRIVER_IETF_NETWORK_TOPOLOGY',
'DEVICEDRIVER_ONF_TR_352',
'DEVICEDRIVER_XR',
'DEVICEDRIVER_IETF_L2VPN',
]
def validate_device_operational_status_enum(message):
......
......@@ -22,6 +22,7 @@ from .ComputeService import ComputeService
from .rest_server.RestServer import RestServer
from .rest_server.nbi_plugins.debug_api import register_debug_api
from .rest_server.nbi_plugins.ietf_l2vpn import register_ietf_l2vpn
from .rest_server.nbi_plugins.ietf_network_slice import register_ietf_nss
terminate = threading.Event()
LOGGER = None
......@@ -58,8 +59,9 @@ def main():
grpc_service.start()
rest_server = RestServer()
register_ietf_l2vpn(rest_server) # Registering L2VPN entrypoint
register_ietf_nss(rest_server) # Registering NSS entrypoint
register_debug_api(rest_server)
register_ietf_l2vpn(rest_server)
rest_server.start()
# Wait for Ctrl+C or termination signal
......
......@@ -74,4 +74,18 @@ BEARER_MAPPINGS = {
'R3:1/3': ('R3', '1/3', '5.3.1.3', None, 0, None, None, None, None),
'R4:1/2': ('R4', '1/2', '5.4.1.2', None, 0, None, None, None, None),
'R4:1/3': ('R4', '1/3', '5.4.1.3', None, 0, None, None, None, None),
# OFC'23
'PE1:1/1': ('PE1', '1/1', '10.1.1.1', None, 0, None, None, None, None),
'PE1:1/2': ('PE1', '1/2', '10.1.1.2', None, 0, None, None, None, None),
'PE2:1/1': ('PE2', '1/1', '10.2.1.1', None, 0, None, None, None, None),
'PE2:1/2': ('PE2', '1/2', '10.2.1.2', None, 0, None, None, None, None),
'PE3:1/1': ('PE3', '1/1', '10.3.1.1', None, 0, None, None, None, None),
'PE3:1/2': ('PE3', '1/2', '10.3.1.2', None, 0, None, None, None, None),
'PE4:1/1': ('PE4', '1/1', '10.4.1.1', None, 0, None, None, None, None),
'PE4:1/2': ('PE4', '1/2', '10.4.1.2', None, 0, None, None, None, None),
'R149:eth-1/0/22': ('R149', 'eth-1/0/22', '5.5.5.5', None, 0, None, None, '5.5.5.1', '100'),
'R155:eth-1/0/22': ('R155', 'eth-1/0/22', '5.5.5.1', None, 0, None, None, '5.5.5.5', '100'),
'R199:eth-1/0/21': ('R199', 'eth-1/0/21', '5.5.5.6', None, 0, None, None, '5.5.5.5', '100'),
}
......@@ -20,8 +20,8 @@ from common.proto.context_pb2 import SliceStatusEnum
from common.tools.context_queries.Slice import get_slice
from context.client.ContextClient import ContextClient
from slice.client.SliceClient import SliceClient
from .tools.Authentication import HTTP_AUTH
from .tools.HttpStatusCodes import HTTP_GATEWAYTIMEOUT, HTTP_NOCONTENT, HTTP_OK, HTTP_SERVERERROR
from ..tools.Authentication import HTTP_AUTH
from ..tools.HttpStatusCodes import HTTP_GATEWAYTIMEOUT, HTTP_NOCONTENT, HTTP_OK, HTTP_SERVERERROR
LOGGER = logging.getLogger(__name__)
......