Commit 4728d07c authored by Lluis Gifre Renom's avatar Lluis Gifre Renom
Browse files

Adaptation of Compute:

- Corrected usage of ConfigRules to use new custom ConfigRules
parent de63d115
Loading
Loading
Loading
Loading
+12 −10
Original line number Diff line number Diff line
@@ -66,8 +66,9 @@ def process_site_network_access(context_client : ContextClient, site_network_acc
    if isinstance(target, Slice): return target

    for config_rule in target.service_config.config_rules:                  # pylint: disable=no-member
        if config_rule.resource_key != '/settings': continue
        json_settings = json.loads(config_rule.resource_value)
        if config_rule.WhichOneof('config_rule') != 'custom': continue
        if config_rule.custom.resource_key != '/settings': continue
        json_settings = json.loads(config_rule.custom.resource_value)

        if 'mtu' not in json_settings:                                      # missing, add it
            json_settings['mtu'] = DEFAULT_MTU
@@ -93,14 +94,14 @@ def process_site_network_access(context_client : ContextClient, site_network_acc
            msg = 'Specified BgpRouteTarget({:s}) differs from Service BgpRouteTarget({:s})'
            raise Exception(msg.format(str(json_settings['bgp_route_target']), str(DEFAULT_BGP_ROUTE_TARGET)))

        config_rule.resource_value = json.dumps(json_settings, sort_keys=True)
        config_rule.custom.resource_value = json.dumps(json_settings, sort_keys=True)
        break
    else:
        # not found, add it
        config_rule = target.service_config.config_rules.add()              # pylint: disable=no-member
        config_rule.action = ConfigActionEnum.CONFIGACTION_SET
        config_rule.resource_key = '/settings'
        config_rule.resource_value = json.dumps({
        config_rule.custom.resource_key = '/settings'
        config_rule.custom.resource_value = json.dumps({
            'mtu'             : DEFAULT_MTU,
            'address_families': DEFAULT_ADDRESS_FAMILIES,
            'bgp_as'          : DEFAULT_BGP_AS,
@@ -109,8 +110,9 @@ def process_site_network_access(context_client : ContextClient, site_network_acc

    endpoint_settings_key = '/device[{:s}]/endpoint[{:s}]/settings'.format(device_uuid, endpoint_uuid)
    for config_rule in target.service_config.config_rules:                  # pylint: disable=no-member
        if config_rule.resource_key != endpoint_settings_key: continue
        json_settings = json.loads(config_rule.resource_value)
        if config_rule.WhichOneof('config_rule') != 'custom': continue
        if config_rule.custom.resource_key != endpoint_settings_key: continue
        json_settings = json.loads(config_rule.custom.resource_value)

        if 'router_id' not in json_settings:                                # missing, add it
            json_settings['router_id'] = router_id
@@ -152,14 +154,14 @@ def process_site_network_access(context_client : ContextClient, site_network_acc
            raise Exception(msg.format(
                str(json_settings['address_prefix']), str(address_prefix)))

        config_rule.resource_value = json.dumps(json_settings, sort_keys=True)
        config_rule.custom.resource_value = json.dumps(json_settings, sort_keys=True)
        break
    else:
        # not found, add it
        config_rule = target.service_config.config_rules.add()              # pylint: disable=no-member
        config_rule.action = ConfigActionEnum.CONFIGACTION_SET
        config_rule.resource_key = endpoint_settings_key
        config_rule.resource_value = json.dumps({
        config_rule.custom.resource_key = endpoint_settings_key
        config_rule.custom.resource_value = json.dumps({
            'router_id': router_id,
            'route_distinguisher': route_distinguisher,
            'sub_interface_index': sub_if_index,