Commit 979117e1 authored by Carlos Manso's avatar Carlos Manso
Browse files

deploy

parent da760b84
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -37,7 +37,7 @@ spec:
          ports:
            - containerPort: 10050
            - containerPort: 9192
            - containerPort: 8761
            - containerPort: 8762
          env:
            - name: LOG_LEVEL
              value: "INFO"
@@ -49,6 +49,10 @@ spec:
              value: "e2e-orchestratorservice.tfs-e2e.svc.cluster.local"
            - name: WS_E2E_PORT
              value: "8762"
            - name: EXT_CONTROLLER1_ADD
              value: "10.1.1.96"
            - name: EXT_CONTROLLER1_PORT
              value: "8003"
          readinessProbe:
            exec:
              command: ["/bin/grpc_health_probe", "-addr=:10050"]
@@ -81,5 +85,5 @@ spec:
      port: 9192
      targetPort: 9192
    - name: ws
      port: 8761
      targetPort: 8761
      port: 8762
      targetPort: 8762
+6 −6
Original line number Diff line number Diff line
@@ -38,14 +38,14 @@ spec:
            - containerPort: 8080
            - containerPort: 9090
            - containerPort: 9192
            - containerPort: 8762
            - containerPort: 8761
          env:
            - name: LOG_LEVEL
              value: "INFO"
            - name: IETF_NETWORK_RENDERER
              value: "LIBYANG"
            - name: WS_E2E_PORT
              value: "8762"
            - name: WS_IP_PORT
              value: "8761"
          readinessProbe:
            exec:
              command: ["/bin/grpc_health_probe", "-addr=:9090"]
@@ -83,7 +83,7 @@ spec:
      protocol: TCP
      port: 9192
      targetPort: 9192
    - name: ws
    - name: websocket
      protocol: TCP
      port: 8762
      targetPort: 8762
      port: 8761
      targetPort: 8761
+1 −1
Original line number Diff line number Diff line
@@ -36,7 +36,7 @@ spec:
            - containerPort: 9192
          env:
            - name: LOG_LEVEL
              value: "INFO"
              value: "DEBUG"
          readinessProbe:
            exec:
              command: ["/bin/grpc_health_probe", "-addr=:3030"]
+1 −0
Original line number Diff line number Diff line
@@ -14,3 +14,4 @@

networkx
websockets==12.0
requests==2.27.*
+34 −5
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@
# limitations under the License.

import copy
import requests
from common.method_wrappers.Decorator import MetricsPool, safe_and_metered_rpc_method
from common.proto.e2eorchestrator_pb2 import E2EOrchestratorRequest, E2EOrchestratorReply
from common.proto.context_pb2 import (
@@ -33,7 +34,7 @@ import networkx as nx
from threading import Thread
from websockets.sync.client import connect
from websockets.sync.server import serve
from common.Constants import DEFAULT_CONTEXT_NAME
from common.Constants import DEFAULT_CONTEXT_NAME, DEFAULT_TOPOLOGY_NAME


LOGGER = logging.getLogger(__name__)
@@ -98,7 +99,6 @@ class SubscriptionServer(Thread):


    def _event_received(self, connection):
        LOGGER.info("EVENT received!")
        for message in connection:
            message_json = json.loads(message)
            # LOGGER.info("message_json: {}".format(message_json))
@@ -142,7 +142,6 @@ class SubscriptionServer(Thread):
                connection.send(grpc_message_to_json_string(link))
            # Link removal
            elif 'link_uuid' in message_json:
                LOGGER.info('REMOVING VIRTUAL LINK')
                link_id = LinkId(**message_json)

                service_id = ServiceId()
@@ -153,7 +152,6 @@ class SubscriptionServer(Thread):
                context_client.RemoveLink(link_id)
            # Topology received
            else:
                LOGGER.info('TOPOLOGY')
                topology_details = TopologyDetails(**message_json)

                context = Context()
@@ -181,10 +179,41 @@ class E2EOrchestratorServiceServicerImpl(E2EOrchestratorServiceServicer):
            sub_server = SubscriptionServer()
            sub_server.start()
            LOGGER.debug("Servicer Created")

            self.retrieve_external_topologies()
        except Exception as ex:
            LOGGER.info("Exception!: {}".format(ex))

    def retrieve_external_topologies(self):
        i = 1
        while True:
            try:
                LOGGER.info(f'Retrieving external controller #{i}')
                ADD = str(get_setting(f'EXT_CONTROLLER{i}_ADD'))
                PORT = str(get_setting(f'EXT_CONTROLLER{i}_PORT'))
            except Exception as e:
                break
            try:
                url = f'http://{ADD}:{PORT}/tfs-api/context/{DEFAULT_CONTEXT_NAME}/topology_details/{DEFAULT_TOPOLOGY_NAME}'
                topo = requests.get(url).json()
            except Exception as e:
                LOGGER.info(f'Exception retrieven topology from external controler #{i}: {e}')
            topology_details = TopologyDetails(**topo)
            context = Context()
            context.context_id.context_uuid.uuid = topology_details.topology_id.context_id.context_uuid.uuid
            context_client.SetContext(context)

            topology = Topology()
            topology.topology_id.context_id.CopyFrom(context.context_id)
            topology.topology_id.topology_uuid.uuid = topology_details.topology_id.topology_uuid.uuid
            context_client.SetTopology(topology)

            for device in topology_details.devices:
                context_client.SetDevice(device)

            for link in topology_details.links:
                context_client.SetLink(link)

            i+=1

        
    @safe_and_metered_rpc_method(METRICS_POOL, LOGGER)
Loading