Пример #1
0
    def _clear_config(self, want, have):
        # Delete the interface config based on the want and have config
        commands = []

        if want.get('name'):
            interface_type = get_interface_type(want['name'])
            interface = 'interface ' + want['name']
        else:
            interface_type = get_interface_type(have['name'])
            interface = 'interface ' + have['name']

        if have.get('description'
                    ) and want.get('description') != have.get('description'):
            remove_command_from_config_list(interface, 'description', commands)
        if not have.get(
                'enabled') and want.get('enabled') != have.get('enabled'):
            # if enable is False set enable as True which is the default behavior
            remove_command_from_config_list(interface, 'shutdown', commands)

        if interface_type.lower() == 'gigabitethernet':
            if have.get('speed') and have.get('speed') != 'auto' and want.get(
                    'speed') != have.get('speed'):
                remove_command_from_config_list(interface, 'speed', commands)
            if have.get(
                    'duplex') and have.get('duplex') != 'auto' and want.get(
                        'duplex') != have.get('duplex'):
                remove_command_from_config_list(interface, 'duplex', commands)
            if have.get('mtu') and want.get('mtu') != have.get('mtu'):
                remove_command_from_config_list(interface, 'mtu', commands)

        return commands
Пример #2
0
    def _clear_config(self, want, have):
        # Delete the interface config based on the want and have config
        commands = []

        if want.get("name"):
            interface_type = get_interface_type(want["name"])
            interface = "interface " + want["name"]
        else:
            interface_type = get_interface_type(have["name"])
            interface = "interface " + have["name"]

        if have.get("description"
                    ) and want.get("description") != have.get("description"):
            remove_command_from_config_list(interface, "description", commands)
        if not have.get(
                "enabled") and want.get("enabled") != have.get("enabled"):
            # if enable is False set enable as True which is the default behavior
            remove_command_from_config_list(interface, "shutdown", commands)

        if interface_type.lower() == "gigabitethernet":
            if (have.get("speed") and have.get("speed") != "auto"
                    and want.get("speed") != have.get("speed")):
                remove_command_from_config_list(interface, "speed", commands)
            if (have.get("duplex") and have.get("duplex") != "auto"
                    and want.get("duplex") != have.get("duplex")):
                remove_command_from_config_list(interface, "duplex", commands)
            if have.get("mtu") and want.get("mtu") != have.get("mtu"):
                remove_command_from_config_list(interface, "mtu", commands)

        return commands
    def _clear_config(self, want, have):
        # Delete the interface config based on the want and have config
        commands = []
        if want.get('name'):
            interface = 'interface ' + want['name']
        else:
            interface = 'interface ' + have['name']

        if have.get('receive') and have.get('receive') != want.get('receive'):
            cmd = 'lldp receive'
            remove_command_from_config_list(interface, cmd, commands)
        if have.get(
                'transmit') and have.get('transmit') != want.get('transmit'):
            cmd = 'lldp transmit'
            remove_command_from_config_list(interface, cmd, commands)

        return commands
Пример #4
0
    def _clear_config(self, want, have):
        # Delete the interface config based on the want and have config
        commands = []
        if want.get("name"):
            interface = "interface " + want["name"]
        else:
            interface = "interface " + have["name"]

        if have.get("receive") and have.get("receive") != want.get("receive"):
            cmd = "lldp receive"
            remove_command_from_config_list(interface, cmd, commands)
        if have.get(
                "transmit") and have.get("transmit") != want.get("transmit"):
            cmd = "lldp transmit"
            remove_command_from_config_list(interface, cmd, commands)

        return commands
    def _clear_config(self, want, have):
        # Delete the interface config based on the want and have config
        count = 0
        commands = []
        if want.get("name"):
            interface = "interface " + want["name"]
        else:
            interface = "interface " + have["name"]

        if have.get("ipv4") and want.get("ipv4"):
            for each in have.get("ipv4"):
                if each.get("secondary") and not (
                    want.get("ipv4")[count].get("secondary")
                ):
                    cmd = "ipv4 address {0} secondary".format(
                        each.get("address")
                    )
                    remove_command_from_config_list(interface, cmd, commands)
                count += 1
        if have.get("ipv4") and not want.get("ipv4"):
            remove_command_from_config_list(interface, "ip address", commands)
        if have.get("ipv6") and not want.get("ipv6"):
            remove_command_from_config_list(
                interface, "ipv6 address", commands
            )
        return commands
Пример #6
0
    def _clear_config(self, want, have):
        # Delete the interface config based on the want and have config
        commands = []
        if want.get('name'):
            interface = 'interface ' + want['name']
        else:
            interface = 'interface ' + have['name']

        if have.get('port_priority') and have.get('port_priority') != want.get('port_priority'):
            cmd = 'lacp port-priority'
            remove_command_from_config_list(interface, cmd, commands)
        if have.get('max_bundle') and have.get('max_bundle') != want.get('max_bundle'):
            cmd = 'lacp max-bundle'
            remove_command_from_config_list(interface, cmd, commands)
        if have.get('fast_switchover'):
            cmd = 'lacp fast-switchover'
            remove_command_from_config_list(interface, cmd, commands)

        return commands
Пример #7
0
    def _clear_config(self, want, have):
        # Delete the interface config based on the want and have config
        count = 0
        commands = []
        if want.get('name'):
            interface = 'interface ' + want['name']
        else:
            interface = 'interface ' + have['name']

        if have.get('ipv4') and want.get('ipv4'):
            for each in have.get('ipv4'):
                if each.get('secondary') and not (want.get('ipv4')[count].get('secondary')):
                    cmd = 'ipv4 address {0} secondary'.format(each.get('address'))
                    remove_command_from_config_list(interface, cmd, commands)
                count += 1
        if have.get('ipv4') and not want.get('ipv4'):
            remove_command_from_config_list(interface, 'ip address', commands)
        if have.get('ipv6') and not want.get('ipv6'):
            remove_command_from_config_list(interface, 'ipv6 address', commands)
        return commands
Пример #8
0
    def _clear_config(self, want, have):
        # Delete the interface config based on the want and have config
        commands = []
        if want.get("name"):
            interface = "interface " + want["name"]
        else:
            interface = "interface " + have["name"]

        if have.get("port_priority") and have.get("port_priority") != want.get(
                "port_priority"):
            cmd = "lacp port-priority"
            remove_command_from_config_list(interface, cmd, commands)
        if have.get("max_bundle"
                    ) and have.get("max_bundle") != want.get("max_bundle"):
            cmd = "lacp max-bundle"
            remove_command_from_config_list(interface, cmd, commands)
        if have.get("fast_switchover"):
            cmd = "lacp fast-switchover"
            remove_command_from_config_list(interface, cmd, commands)

        return commands
Пример #9
0
    def _clear_config(self, want, have):
        # Delete the interface config based on the want and have config
        commands = []
        if want.get("name"):
            interface = "interface " + want["name"]
        else:
            interface = "interface " + have["name"]

        if have.get("mode") or want.get("mode"):
            remove_command_from_config_list(
                interface, "switchport mode", commands
            )

        if have.get("access") and want.get("access") is None:
            remove_command_from_config_list(
                interface, L2_Interfaces.access_cmds["access_vlan"], commands
            )
        elif have.get("access") and want.get("access"):
            if have.get("access").get("vlan") != want.get("access").get(
                "vlan"
            ):
                remove_command_from_config_list(
                    interface,
                    L2_Interfaces.access_cmds["access_vlan"],
                    commands,
                )

        if have.get("voice") and want.get("voice") is None:
            remove_command_from_config_list(
                interface, L2_Interfaces.voice_cmds["voice_vlan"], commands
            )
        elif have.get("voice") and want.get("voice"):
            if have.get("voice").get("vlan") != want.get("voice").get("vlan"):
                remove_command_from_config_list(
                    interface, L2_Interfaces.voice_cmds["voice_vlan"], commands
                )

        if have.get("trunk") and want.get("trunk") is None:
            # Check when no config is passed
            if have.get("trunk").get("encapsulation"):
                remove_command_from_config_list(
                    interface, self.trunk_cmds["encapsulation"], commands
                )
            if have.get("trunk").get("native_vlan"):
                remove_command_from_config_list(
                    interface, self.trunk_cmds["native_vlan"], commands
                )
            if have.get("trunk").get("allowed_vlans"):
                remove_command_from_config_list(
                    interface, self.trunk_cmds["allowed_vlans"], commands
                )
            if have.get("trunk").get("pruning_vlans"):
                remove_command_from_config_list(
                    interface, self.trunk_cmds["pruning_vlans"], commands
                )
        elif have.get("trunk") and want.get("trunk"):
            # Check when config is passed, also used in replaced and override state
            if have.get("trunk").get("encapsulation") and have.get(
                "trunk"
            ).get("encapsulation") != want.get("trunk").get("encapsulation"):
                remove_command_from_config_list(
                    interface, self.trunk_cmds["encapsulation"], commands
                )
            if have.get("trunk").get("native_vlan") and have.get("trunk").get(
                "native_vlan"
            ) != want.get("trunk").get("native_vlan"):
                remove_command_from_config_list(
                    interface, self.trunk_cmds["native_vlan"], commands
                )
            if have.get("trunk").get("allowed_vlans") and have.get(
                "trunk"
            ).get("allowed_vlans") != want.get("trunk").get("allowed_vlans"):
                remove_command_from_config_list(
                    interface, self.trunk_cmds["allowed_vlans"], commands
                )
            if have.get("trunk").get("pruning_vlans") and have.get(
                "trunk"
            ).get("pruning_vlans") != want.get("trunk").get("pruning_vlans"):
                remove_command_from_config_list(
                    interface, self.trunk_cmds["pruning_vlans"], commands
                )

        return commands
Пример #10
0
    def _clear_config(self, want, have):
        # Delete the interface config based on the want and have config
        commands = []
        if want.get('name'):
            interface = 'interface ' + want['name']
        else:
            interface = 'interface ' + have['name']

        if have.get('mode') or want.get('mode'):
            remove_command_from_config_list(interface, 'switchport mode',
                                            commands)

        if have.get('access') and want.get('access') is None:
            remove_command_from_config_list(
                interface, L2_Interfaces.access_cmds['access_vlan'], commands)
        elif have.get('access') and want.get('access'):
            if have.get('access').get('vlan') != want.get('access').get(
                    'vlan'):
                remove_command_from_config_list(
                    interface, L2_Interfaces.access_cmds['access_vlan'],
                    commands)

        if have.get('voice') and want.get('voice') is None:
            remove_command_from_config_list(
                interface, L2_Interfaces.voice_cmds['voice_vlan'], commands)
        elif have.get('voice') and want.get('voice'):
            if have.get('voice').get('vlan') != want.get('voice').get('vlan'):
                remove_command_from_config_list(
                    interface, L2_Interfaces.voice_cmds['voice_vlan'],
                    commands)

        if have.get('trunk') and want.get('trunk') is None:
            # Check when no config is passed
            if have.get('trunk').get('encapsulation'):
                remove_command_from_config_list(
                    interface, self.trunk_cmds['encapsulation'], commands)
            if have.get('trunk').get('native_vlan'):
                remove_command_from_config_list(interface,
                                                self.trunk_cmds['native_vlan'],
                                                commands)
            if have.get('trunk').get('allowed_vlans'):
                remove_command_from_config_list(
                    interface, self.trunk_cmds['allowed_vlans'], commands)
            if have.get('trunk').get('pruning_vlans'):
                remove_command_from_config_list(
                    interface, self.trunk_cmds['pruning_vlans'], commands)
        elif have.get('trunk') and want.get('trunk'):
            # Check when config is passed, also used in replaced and override state
            if have.get('trunk').get('encapsulation')\
                    and have.get('trunk').get('encapsulation') != want.get('trunk').get('encapsulation'):
                remove_command_from_config_list(
                    interface, self.trunk_cmds['encapsulation'], commands)
            if have.get('trunk').get('native_vlan') \
                    and have.get('trunk').get('native_vlan') != want.get('trunk').get('native_vlan'):
                remove_command_from_config_list(interface,
                                                self.trunk_cmds['native_vlan'],
                                                commands)
            if have.get('trunk').get('allowed_vlans') \
                    and have.get('trunk').get('allowed_vlans') != want.get('trunk').get('allowed_vlans'):
                remove_command_from_config_list(
                    interface, self.trunk_cmds['allowed_vlans'], commands)
            if have.get('trunk').get('pruning_vlans') \
                    and have.get('trunk').get('pruning_vlans') != want.get('trunk').get('pruning_vlans'):
                remove_command_from_config_list(
                    interface, self.trunk_cmds['pruning_vlans'], commands)

        return commands