Skip to content
Snippets Groups Projects
Commit 24acbcd7 authored by Carlos Manso's avatar Carlos Manso
Browse files

Merge branch...

Merge branch 'feat/147-integrate-support-for-ip-e2e-optical-sdn-controllers-to-manage-hierarchical-virtual' of https://labs.etsi.org/rep/tfs/controller into feat/147-integrate-support-for-ip-e2e-optical-sdn-controllers-to-manage-hierarchical-virtual
parents acf8c193 fb67c199
No related branches found
No related tags found
2 merge requests!294Release TeraFlowSDN 4.0,!225Resolve "Integrate Support for IP-E2E-Optical SDN controllers to manage hierarchical virtual topologies"
...@@ -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
...@@ -30,38 +30,38 @@ URL_PREFIX = '/tfs-api' ...@@ -30,38 +30,38 @@ URL_PREFIX = '/tfs-api'
# Use 'path' type since some identifiers might contain char '/' and Flask is unable to recognize them in 'string' type. # Use 'path' type since some identifiers might contain char '/' and Flask is unable to recognize them in 'string' type.
RESOURCES = [ RESOURCES = [
# (endpoint_name, resource_class, resource_url) # (endpoint_name, resource_class, resource_url)
('api.context_ids', ContextIds, '/context_ids'), ('api.context_ids', ContextIds, '/context_ids'),
('api.contexts', Contexts, '/contexts'), ('api.contexts', Contexts, '/contexts'),
('api.dummy_contexts', DummyContexts, '/dummy_contexts'), ('api.dummy_contexts', DummyContexts, '/dummy_contexts'),
('api.context', Context, '/context/<path:context_uuid>'), ('api.context', Context, '/context/<path:context_uuid>'),
('api.topology_ids', TopologyIds, '/context/<path:context_uuid>/topology_ids'), ('api.topology_ids', TopologyIds, '/context/<path:context_uuid>/topology_ids'),
('api.topologies', Topologies, '/context/<path:context_uuid>/topologies'), ('api.topologies', Topologies, '/context/<path:context_uuid>/topologies'),
('api.topology', Topology, '/context/<path:context_uuid>/topology/<path:topology_uuid>'), ('api.topology', Topology, '/context/<path:context_uuid>/topology/<path:topology_uuid>'),
('api.service_ids', ServiceIds, '/context/<path:context_uuid>/service_ids'), ('api.service_ids', ServiceIds, '/context/<path:context_uuid>/service_ids'),
('api.services', Services, '/context/<path:context_uuid>/services'), ('api.services', Services, '/context/<path:context_uuid>/services'),
('api.service', Service, '/context/<path:context_uuid>/service/<path:service_uuid>'), ('api.service', Service, '/context/<path:context_uuid>/service/<path:service_uuid>'),
('api.slice_ids', SliceIds, '/context/<path:context_uuid>/slice_ids'), ('api.slice_ids', SliceIds, '/context/<path:context_uuid>/slice_ids'),
('api.slices', Slices, '/context/<path:context_uuid>/slices'), ('api.slices', Slices, '/context/<path:context_uuid>/slices'),
('api.slice', Slice, '/context/<path:context_uuid>/slice/<path:slice_uuid>'), ('api.slice', Slice, '/context/<path:context_uuid>/slice/<path:slice_uuid>'),
('api.device_ids', DeviceIds, '/device_ids'), ('api.device_ids', DeviceIds, '/device_ids'),
('api.devices', Devices, '/devices'), ('api.devices', Devices, '/devices'),
('api.device', Device, '/device/<path:device_uuid>'), ('api.device', Device, '/device/<path:device_uuid>'),
('api.link_ids', LinkIds, '/link_ids'), ('api.link_ids', LinkIds, '/link_ids'),
('api.links', Links, '/links'), ('api.links', Links, '/links'),
('api.link', Link, '/link/<path:link_uuid>'), ('api.link', Link, '/link/<path:link_uuid>'),
('api.connection_ids', ConnectionIds, '/context/<path:context_uuid>/service/<path:service_uuid>/connection_ids'), ('api.connection_ids', ConnectionIds, '/context/<path:context_uuid>/service/<path:service_uuid>/connection_ids'),
('api.connections', Connections, '/context/<path:context_uuid>/service/<path:service_uuid>/connections'), ('api.connections', Connections, '/context/<path:context_uuid>/service/<path:service_uuid>/connections'),
('api.connection', Connection, '/connection/<path:connection_uuid>'), ('api.connection', Connection, '/connection/<path:connection_uuid>'),
('api.policyrule_ids', PolicyRuleIds, '/policyrule_ids'), ('api.policyrule_ids', PolicyRuleIds, '/policyrule_ids'),
('api.policyrules', PolicyRules, '/policyrules'), ('api.policyrules', PolicyRules, '/policyrules'),
('api.policyrule', PolicyRule, '/policyrule/<path:policyrule_uuid>'), ('api.policyrule', PolicyRule, '/policyrule/<path:policyrule_uuid>'),
] ]
def register_tfs_api(rest_server : RestServer): def register_tfs_api(rest_server : RestServer):
......
#!/bin/bash
# Copyright 2022-2024 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.
# Delete old namespaces
kubectl delete namespace tfs-e2e tfs-ip
# Delete secondary ingress controllers
kubectl delete -f src/tests/ecoc24/nginx-ingress-controller-e2e.yaml
kubectl delete -f src/tests/ecoc24/nginx-ingress-controller-ip.yaml
#!/bin/bash
# Copyright 2022-2024 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.
# Delete old namespaces
kubectl delete namespace tfs-e2e tfs-ip
# Delete secondary ingress controllers
kubectl delete -f ./src/tests/ecoc24/nginx-ingress-controller-e2e.yaml
kubectl delete -f ./src/tests/ecoc24/nginx-ingress-controller-ip.yaml
# Create secondary ingress controllers
kubectl apply -f ./src/tests/ecoc24/nginx-ingress-controller-e2e.yaml
kubectl apply -f ./src/tests/ecoc24/nginx-ingress-controller-ip.yaml
# Deploy TFS for ip
source ./src/tests/ecoc24/deploy_specs_ip.sh
./deploy/all.sh
mv tfs_runtime_env_vars.sh tfs_runtime_env_vars_ip.sh
# Deploy TFS for e2e
source ./src/tests/ecoc24/deploy_specs_e2e.sh
./deploy/all.sh
mv tfs_runtime_env_vars.sh tfs_runtime_env_vars_e2e.sh
...@@ -23,7 +23,6 @@ from common.proto.vnt_manager_pb2_grpc import VNTManagerServiceStub ...@@ -23,7 +23,6 @@ from common.proto.vnt_manager_pb2_grpc import VNTManagerServiceStub
from common.Settings import get_service_host, get_service_port_grpc from common.Settings import get_service_host, get_service_port_grpc
from common.tools.client.RetryDecorator import delay_exponential, retry from common.tools.client.RetryDecorator import delay_exponential, retry
from common.tools.grpc.Tools import grpc_message_to_json from common.tools.grpc.Tools import grpc_message_to_json
# from common.proto.e2eorchestrator_pb2 import E2EOrchestratorRequest, E2EOrchestratorReply
from common.proto.context_pb2 import ( from common.proto.context_pb2 import (
Link, LinkId, LinkIdList, LinkList, Link, LinkId, LinkIdList, LinkList,
) )
...@@ -64,9 +63,9 @@ class VNTManagerClient: ...@@ -64,9 +63,9 @@ class VNTManagerClient:
@RETRY_DECORATOR @RETRY_DECORATOR
def VNTSubscript(self, request: VNTSubscriptionRequest) -> VNTSubscriptionReply: def VNTSubscript(self, request: VNTSubscriptionRequest) -> VNTSubscriptionReply:
LOGGER.info("Subscript request: {:s}".format(str(grpc_message_to_json(request)))) LOGGER.debug("Subscript request: {:s}".format(str(grpc_message_to_json(request))))
response = self.stub.VNTSubscript(request) response = self.stub.VNTSubscript(request)
LOGGER.info("Subscript result: {:s}".format(str(grpc_message_to_json(response)))) LOGGER.debug("Subscript result: {:s}".format(str(grpc_message_to_json(response))))
return response return response
@RETRY_DECORATOR @RETRY_DECORATOR
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment