Commit da5aa154 authored by Lluis Gifre Renom's avatar Lluis Gifre Renom
Browse files

Service component - L3NM OpenConfig:

- Rolling back malformed config rules, left backup for future integration
parent 8842d9b7
Loading
Loading
Loading
Loading
+31 −25
Original line number Diff line number Diff line
@@ -223,50 +223,57 @@ def teardown_config_rules(
    network_instance_name     = '{:s}-NetInst'.format(service_short_uuid)
    #network_interface_desc    = '{:s}-NetIf'.format(service_uuid)
    #network_subinterface_desc = '{:s}-NetSubIf'.format(service_uuid)
    network_subinterface_desc = ''

    mtu                 = json_settings.get('mtu',                          1450     )  # 1512
    #mtu                 = json_settings.get('mtu',                          1450     )  # 1512
    #address_families    = json_settings.get('address_families',             []       )  # ['IPV4']
    #bgp_as              = json_device_settings.get('bgp_as',                       65000    )  # 65000
    #bgp_as              = json_settings.get('bgp_as',                       65000    )  # 65000
    route_distinguisher = json_device_settings.get('route_distinguisher',          '0:0'    )  # '60001:801'
    sub_interface_index = json_endpoint_settings.get('sub_interface_index', 0        )  # 1
    #router_id           = json_device_settings.get('router_id',           '0.0.0.0')  # '10.95.0.10'
    vlan_id             = json_endpoint_settings.get('vlan_id',             1        )  # 400
    address_ip          = json_endpoint_settings.get('address_ip',          '0.0.0.0')  # '2.2.2.1'
    address_prefix      = json_endpoint_settings.get('address_prefix',      24       )  # 30
    #sub_interface_index = json_endpoint_settings.get('sub_interface_index', 0        )  # 1
    #router_id           = json_endpoint_settings.get('router_id',           '0.0.0.0')  # '10.95.0.10'
    #address_ip          = json_endpoint_settings.get('address_ip',          '0.0.0.0')  # '2.2.2.1'
    #address_prefix      = json_endpoint_settings.get('address_prefix',      24       )  # 30
    policy_import       = json_device_settings.get('policy_AZ',            '2'      )  # 2
    policy_export       = json_device_settings.get('policy_ZA',            '7'      )  # 30

    json_config_rules = [
        #Delete table connections
        json_config_rule_delete(
            '/network_instance[{:s}]/table_connections[DIRECTLY_CONNECTED][BGP][IPV4]'.format(network_instance_name),{
                'name'          : network_instance_name, 
                'src_protocol'  : 'DIRECTLY_CONNECTED',
                'dst_protocol'  : 'BGP',
                'address_family': 'IPV4', 
        }),

        
        json_config_rule_delete(
            '/network_instance[{:s}]/table_connections[STATIC][BGP][IPV4]'.format(network_instance_name), {
                'name'          : network_instance_name,
                'src_protocol'  : 'STATIC',
                'dst_protocol'  : 'BGP',
                'address_family': 'IPV4',
        }),

        #Delete export routing policy 

        json_config_rule_delete(
            # pylint: disable=duplicate-string-formatting-argument
            '/routing_policy/policy_definition[{:s}_export]/statement[{:s}]'.format(policy_export, policy_export), {
                'policy_name'           : policy_export,
                'statement_name'        : 'stm_{:s}'.format(policy_export),
                'ext_community_set_name': 'set_{:s}'.format(policy_export),
                'policy_result'         : 'ACCEPT_ROUTE',
            '/routing_policy/policy_definition[{:s}_export]'.format(network_instance_name), {
                'policy_name': '{:s}_export'.format(network_instance_name),
        }),
        json_config_rule_delete(
            '/routing_policy/bgp_defined_set[{:s}_rt_export][{:s}]'.format(policy_export, route_distinguisher), {
                'ext_community_set_name': 'set_{:s}'.format(policy_export),
                'ext_community_member'  : route_distinguisher,
        }),

        #Delete import routing policy 

        json_config_rule_delete(
            # pylint: disable=duplicate-string-formatting-argument
            '/routing_policy/policy_definition[{:s}_import]/statement[{:s}]'.format(policy_import, policy_import), {
                'policy_name'           : policy_import,
                'statement_name'        : 'stm_{:s}'.format(policy_import),
                'ext_community_set_name': 'set_{:s}'.format(policy_import),
                'policy_result'         : 'ACCEPT_ROUTE',
            '/routing_policy/policy_definition[{:s}_import]'.format(network_instance_name), {
                'policy_name': '{:s}_import'.format(network_instance_name),
        }),
        json_config_rule_delete(
            '/routing_policy/bgp_defined_set[{:s}_rt_import][{:s}]'.format(policy_import, route_distinguisher), {
                'ext_community_set_name': 'set_{:s}'.format(policy_import),
                'ext_community_member'  : route_distinguisher,
        }),

        #Delete interface; automatically deletes:
@@ -280,7 +287,6 @@ def teardown_config_rules(
        # - /network_instance[]/interface[]
        # - /network_instance[]/protocols[]
        # - /network_instance[]/inter_instance_policies[]

        json_config_rule_delete('/network_instance[{:s}]'.format(network_instance_name),
        {
            'name': network_instance_name