Commit e7e34ba2 authored by Pablo Armingol's avatar Pablo Armingol
Browse files

TODO tested

parent 430d8aa3
Loading
Loading
Loading
Loading
+30 −46
Original line number Diff line number Diff line
@@ -82,14 +82,14 @@ def setup_config_rules(
                'protocol_name': 'DIRECTLY_CONNECTED',
        }),

        # TODO: TO BE TESTED (TID)
        ##Add STATIC protocol to network instance
        #json_config_rule_set(
        #    '/network_instance[{:s}]/protocols[STATIC]'.format(network_instance_name), {
        #        'name': network_instance_name, 
        #        'identifier': 'STATIC', 
        #        'protocol_name': 'STATIC',
        #}),
        
        #Add STATIC protocol to network instance
        json_config_rule_set(
            '/network_instance[{:s}]/protocols[STATIC]'.format(network_instance_name), {
                'name': network_instance_name, 
                'identifier': 'STATIC', 
                'protocol_name': 'STATIC',
        }),

        #Create interface with subinterface
        json_config_rule_set(
@@ -167,15 +167,14 @@ def setup_config_rules(
                'default_import_policy': 'ACCEPT_ROUTE',
        }),

        # TODO: TO BE TESTED (TID)
        #json_config_rule_set(
        #    '/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',
        #        'default_import_policy': 'ACCEPT_ROUTE',
        #}),
        json_config_rule_set(
            '/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',
                'default_import_policy': 'ACCEPT_ROUTE',
        }),

    ]
    return json_config_rules
@@ -220,51 +219,36 @@ def teardown_config_rules(
                'address_family': 'IPV4', 
        }),

        # TODO: TO BE TESTED (TID)
        #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',
        #}),
        
        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,
            '/routing_policy/policy_definition[{:s}_export]'.format(network_instance_name), {
                'policy_name': '{:s}_export'.format(network_instance_name),
        }),
        # TODO: TO BE TESTED IF IT IS ENOUGH ERASING "/routing_policy/policy_definition[{:s}_export]"
        #json_config_rule_delete(
        #    '/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),
        }),

        #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,
            '/routing_policy/policy_definition[{:s}_import]'.format(network_instance_name), {
                'policy_name': '{:s}_import'.format(network_instance_name),
        }),
        # TODO: TO BE TESTED IF IT IS ENOUGH ERASING "/routing_policy/policy_definition[{:s}_import]"
        #json_config_rule_delete(
        #    '/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),
        }),
        # TODO: TO BE TESTED IF IT IS NEEDED
        #json_config_rule_delete(
        #    '/routing_policy/bgp_defined_set[{:s}_rt_import]'.format(network_instance_name), {
        #        'ext_community_set_name': '{:s}_rt_import'.format(network_instance_name),
        #}),

        #Delete interface; automatically deletes:
        # - /interface[]/subinterface[]