Commit 3cd5d40a authored by Shayan Hajipour's avatar Shayan Hajipour
Browse files

feat:

- IETF data added to l3nm default config rules in the frontend pathcomp
- controller device type added to the devices that are managed by a controller in get_devices_from_connection function
parent 3aea4dc0
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ LOGGER = logging.getLogger(__name__)

SETTINGS_RULE_NAME = '/settings'
STATIC_ROUTING_RULE_NAME = '/static_routing'
IETF_DATA = 'ietf_data'

RE_UUID = re.compile(r'([0-9a-fA-F]{8})\-([0-9a-fA-F]{4})\-([0-9a-fA-F]{4})\-([0-9a-fA-F]{4})\-([0-9a-fA-F]{12})')

@@ -93,6 +94,7 @@ def compose_l3nm_config_rules(main_service_config_rules : List, subservice_confi
    CONFIG_RULES = [
        (SETTINGS_RULE_NAME, L3NM_SETTINGS_FIELD_DEFAULTS),
        (STATIC_ROUTING_RULE_NAME, {}),
        (IETF_DATA, {}),
    ]
    for rule_name, defaults in CONFIG_RULES:
        compose_config_rules(main_service_config_rules, subservice_config_rules, rule_name, defaults)
+7 −3
Original line number Diff line number Diff line
@@ -287,6 +287,10 @@ class TaskExecutor:
                devices.setdefault(device_type, dict())[device_uuid] = device
            else:
                if not exclude_managed_by_controller:
                    controller_device_type_enum = DeviceTypeEnum._value2member_map_[controller.device_type]
                    if controller_device_type_enum == DeviceTypeEnum.IETF_SLICE:
                        devices.setdefault(controller_device_type_enum, dict())[device_uuid] = device
                    else:
                        device_type = DeviceTypeEnum._value2member_map_[device.device_type]
                        devices.setdefault(device_type, dict())[device_uuid] = device
                device_type = DeviceTypeEnum._value2member_map_[controller.device_type]
@@ -321,7 +325,7 @@ class TaskExecutor:
        self, connection : Connection, service : Service, **service_handler_settings
    ) -> Dict[DeviceTypeEnum, Tuple['_ServiceHandler', Dict[str, Device]]]:
        connection_device_types : Dict[DeviceTypeEnum, Dict[str, Device]] = self.get_devices_from_connection(
            connection, exclude_managed_by_controller=True
            connection, exclude_managed_by_controller=False
        )
        service_handlers : Dict[DeviceTypeEnum, Tuple['_ServiceHandler', Dict[str, Device]]] = dict()
        for device_type, connection_devices in connection_device_types.items():