def _update_arp_monitor(self, key, want, have):
        commands = []
        want_arp_target = []
        have_arp_target = []
        want_arp_monitor = want.get(key) or {}
        have_arp_monitor = have.get(key) or {}

        if want_arp_monitor and "target" in want_arp_monitor:
            want_arp_target = want_arp_monitor["target"]

        if have_arp_monitor and "target" in have_arp_monitor:
            have_arp_target = have_arp_monitor["target"]

        if "interval" in have_arp_monitor and not want_arp_monitor:
            commands.append(
                self._compute_command(
                    key=have["name"] + " arp-monitor",
                    attrib="interval",
                    remove=True,
                ))
        if "target" in have_arp_monitor:
            target_diff = list_diff_have_only(want_arp_target, have_arp_target)
            if target_diff:
                for target in target_diff:
                    commands.append(
                        self._compute_command(
                            key=have["name"] + " arp-monitor",
                            attrib="target",
                            value=target,
                            remove=True,
                        ))

        return commands
Ejemplo n.º 2
0
    def _update_arp_monitor(self, key, want, have):
        commands = []
        want_arp_target = []
        have_arp_target = []
        want_arp_monitor = want.get(key) or {}
        have_arp_monitor = have.get(key) or {}

        if want_arp_monitor and 'target' in want_arp_monitor:
            want_arp_target = want_arp_monitor['target']

        if have_arp_monitor and 'target' in have_arp_monitor:
            have_arp_target = have_arp_monitor['target']

        if 'interval' in have_arp_monitor and not want_arp_monitor:
            commands.append(
                self._compute_command(
                    key=have['name'] + ' arp-monitor', attrib='interval', remove=True
                )
            )
        if 'target' in have_arp_monitor:
            target_diff = list_diff_have_only(want_arp_target, have_arp_target)
            if target_diff:
                for target in target_diff:
                    commands.append(
                        self._compute_command(
                            key=have['name'] + ' arp-monitor', attrib='target', value=target, remove=True
                        )
                    )

        return commands
Ejemplo n.º 3
0
    def _update_lldp_protocols(self, want_item, have_item):
        commands = []
        want_protocols = want_item.get("legacy_protocols") or []
        have_protocols = have_item.get("legacy_protocols") or []

        members_diff = list_diff_have_only(want_protocols, have_protocols)
        if members_diff:
            for member in members_diff:
                commands.append(
                    self._compute_command("legacy-protocols",
                                          member,
                                          remove=True))
        return commands
Ejemplo n.º 4
0
    def _update_bond_members(self, key, want, have):
        commands = []
        want_members = want.get(key) or []
        have_members = have.get(key) or []

        members_diff = list_diff_have_only(want_members, have_members)
        if members_diff:
            for member in members_diff:
                commands.append(
                    self._compute_command(
                        member['member'], 'bond-group', have['name'], True, 'ethernet'
                    )
                )
        return commands
    def _update_bond_members(self, key, want, have):
        commands = []
        want_members = want.get(key) or []
        have_members = have.get(key) or []

        members_diff = list_diff_have_only(want_members, have_members)
        if members_diff:
            for member in members_diff:
                commands.append(
                    self._compute_command(
                        member["member"],
                        "bond-group",
                        have["name"],
                        True,
                        "ethernet",
                    ))
        return commands