def remove_vrrp_group(self, vlan_number, group_id): vlan = self.get_vlan_interface_data(vlan_number) if not [group for group in vlan.vrrp_groups if group.id == group_id]: raise VrrpDoesNotExistForVlan(vlan=vlan_number, vrrp_group_id=group_id) with self.config(), self.interface_vlan(vlan_number): result = self.ssh.do('no standby {group_id}'.format(group_id=group_id)) if len(result) > 0: raise VrrpDoesNotExistForVlan(vlan=vlan_number, vrrp_group_id=group_id)
def remove_vrrp_group(self, vlan_number, group_id): vlan = self._get_vlan(vlan_number, include_vif_data=True) if not [group for group in vlan.vrrp_groups if group.id == group_id]: raise VrrpDoesNotExistForVlan(vlan=vlan_number, vrrp_group_id=group_id) with self.config(), self.interface_vlan(vlan): result = self.shell.do('no ip vrrp-extended vrid {group_id}'.format(group_id=group_id)) if len(result) > 0: raise VrrpDoesNotExistForVlan(vlan=vlan_number, vrrp_group_id=group_id) if len(vlan.vrrp_groups) == 1: self.shell.do('ip vrrp-extended auth-type no-auth')
def remove_vrrp_group(self, vlan_id, group_id): config = self.query(one_interface_vlan(vlan_id)) if len(config.xpath( "data/configuration/interfaces/interface/unit")) < 1: raise UnknownVlan(vlan_id) address_node = first( config.xpath( "data/configuration/interfaces/interface/unit/family" "/inet/address/vrrp-group/name[text()=\"{}\"]/../..".format( group_id))) if address_node is None: raise VrrpDoesNotExistForVlan(vlan=vlan_id, vrrp_group_id=group_id) vrrp_node = to_ele(""" <vrrp-group operation="delete"> <name>{group_id}</name> </vrrp-group>""".format(group_id=group_id)) update = Update() update.add_interface( irb_address_update(vlan_id, first_text(address_node.xpath("name")), children=[vrrp_node])) self._push(update)