Resolve "(CTTC) MWC26-F5G-SIMAP-Demo"

Closes #369 (closed)

Merge request reports

Loading
+1 −1
Changes for manifests/simap_connectorservice.yaml: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -43,7 +43,7 @@ spec:
              # Assuming SIMAP Server is deployed in a local Docker container, as per:
              # - ./src/tests/tools/simap_datastore/build.sh
              # - ./src/tests/tools/simap_datastore/deploy.sh
              value: "172.17.0.1"
              value: "10.254.0.9"
            - name: SIMAP_DATASTORE_PORT
              # Assuming SIMAP Server is deployed in a local Docker container, as per:
              # - ./src/tests/tools/simap_datastore/build.sh
+3 −3
Changes for src/common/tools/rest_conf/server/restconf_server/Callbacks.py: 3 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -49,7 +49,7 @@ class _Callback:
        @param old_data: Resource representation before retrieval, if applicable, otherwise `None`
        @returns boolean indicating whether additional callbacks should be executed, defaults to False
        '''
        MSG = 'match={:s}, path={:s}, old_data={:s}'
        MSG = 'match={}, path={}, old_data={}'
        msg = MSG.format(match.groupdict(), path, old_data)
        raise NotImplementedError(msg)

@@ -66,7 +66,7 @@ class _Callback:
        @param new_data: Resource representation after change, if applicable, otherwise `None`
        @returns boolean indicating whether additional callbacks should be executed, defaults to False
        '''
        MSG = 'match={:s}, path={:s}, old_data={:s}, new_data={:s}'
        MSG = 'match={}, path={}, old_data={}, new_data={}'
        msg = MSG.format(match.groupdict(), path, old_data, new_data)
        raise NotImplementedError(msg)

@@ -81,7 +81,7 @@ class _Callback:
        @param input_data: Input data, if applicable, otherwise `None`
        @returns Optional[Dict] containing output data, defaults to None
        '''
        MSG = 'match={:s}, path={:s}, input_data={:s}'
        MSG = 'match={}, path={}, input_data={:s}'
        msg = MSG.format(match.groupdict(), path, input_data)
        raise NotImplementedError(msg)

+1 −0
Changes for src/device/service/drivers/ietf_l3vpn/IetfL3VpnDriver.py: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -186,6 +186,7 @@ class IetfL3VpnDriver(_Driver):
    def SetConfig(
        self, resources : List[Tuple[str, Any]]
    ) -> List[Union[bool, Exception]]:
        LOGGER.info('SetConfig called with resources: {:s}'.format(str(resources)))
        results = []
        if len(resources) == 0: return results
        with self.__lock:
+8 −8
Changes for src/service/service/service_handlers/l3nm_ietfl3vpn/ConfigRules.py: 8 added lines, 8 removed lines.
Original line number Diff line number Diff line
@@ -259,10 +259,10 @@ def setup_config_rules(
            "/service[{:s}]/IETFL3VPN".format(service_uuid),
            l3_vpn_data_model,
        ),
        #json_config_rule_set(
        #    "/service[{:s}]/IETFL3VPN/operation".format(service_uuid),
        #    {"type": operation_type},
        #),
        json_config_rule_set(
            "/service[{:s}]/IETFL3VPN/operation".format(service_uuid),
            {"type": operation_type},
        ),
    ]

    return json_config_rules
@@ -274,10 +274,10 @@ def teardown_config_rules(service_uuid: str) -> List[Dict]:
            "/service[{:s}]/IETFL3VPN".format(service_uuid),
            {"id": service_uuid},
        ),
        #json_config_rule_delete(
        #    "/service[{:s}]/IETFL3VPN/operation".format(service_uuid),
        #    {},
        #),
        json_config_rule_delete(
            "/service[{:s}]/IETFL3VPN/operation".format(service_uuid),
            {"type": "delete"},
        ),
    ]
    return json_config_rules

+23 −4
Changes for src/simap_connector/service/simap_updater/AllowedLinks.py: 23 added lines, 4 removed lines.
Original line number Diff line number Diff line
@@ -13,8 +13,27 @@
# limitations under the License.

ALLOWED_LINKS_PER_CONTROLLER = {
    'e2e'      : { 'L1',    'L2',    'L3',    'L4'            },
    'agg'      : { 'L7ab',  'L7ba',  'L8ab',  'L8ba', 'L11ab',
                   'L11ba', 'L12ab', 'L12ba', 'L13',  'L14'   },
    'trans-pkt': { 'L5',    'L6',    'L9',    'L10'           },
    'e2e'      : { 'L1',  'L2'                          },
    'agg'      : { 'L14'                                },
    'trans-pkt': { 'L3',  'L5', 'L6', 'L9', 'L10', 'L13' },
    # The remaining can not be monitored therefore they are not included in the allowed links for the controllers
    # 'agg'      : { 'L7ab',  'L7ba',  'L8ab',  'L8ba', 'L11ab', 'L11ba', 'L12ab', 'L12ba',  },
}
# NOTE: Ranges should be less than 100 because the schema does not allow
# bandwidth-utilization to exceed 100% 
# As per schema below: (percentage of link capacity)
#     /* --- Local typedefs --- */
    # typedef percent {
    #     type decimal64 {
    #         fraction-digits 2;
    #         range "0 .. 100";
    #     }
    #     units "percent";
    #     description "0–100 percent value.";
    # }
LINKS_CAPACITY = {
    'L1'    : 100, 'L2'   : 100,   'L3'   : 100,  'L4'   : 100,
    'L5'    : 100, 'L6'   : 100,  'L9'   : 100,  'L10'  : 100,
    'L7ab'  : 100, 'L7ba' : 100, 'L8ab' : 100, 'L8ba' : 100, 'L11ab' : 100,
    'L11ba' : 100, 'L12ab': 100, 'L12ba': 100, 'L13'  : 100,  'L14'   : 100,
}
Loading
Loading