def validates_bonding(obj, target_regex): checker = Checker() check = True _ = obj._ checker.errors = [] count = 0 for input in obj.input: m = target_regex.match(input) if m: count += 1 check = checker.check_netdev_name( _('Target Device Name'), m.group('dev'), CHECK_EMPTY | CHECK_VALID, ) and check if count < 2: check = False checker.add_error(_('Not enough target devices for bonding.')) if is_param(obj.input, 'bonding_target_dev_primary'): check = checker.check_netdev_name( _('Primary Device Name'), obj.input.bonding_target_dev_primary, CHECK_EMPTY | CHECK_VALID, ) and check else: check = False checker.add_error(_('"%s" is required.') % _('Primary Device Name')) if is_param(obj.input, 'bonding_mode'): if obj.input.bonding_mode not in BONDING_MODE: check = False checker.add_error(_('Unknown bonding mode.')) else: check = False checker.add_error(_('"%s" is required.') % _('Bonding Mode')) obj.view.alert = checker.errors return check
def validates_bonding(obj, target_regex): checker = Checker() check = True _ = obj._ checker.errors = [] count = 0 for input in obj.input: m = target_regex.match(input) if m: count += 1 check = checker.check_netdev_name(_('Target Device Name'), m.group('dev'), CHECK_EMPTY | CHECK_VALID, ) and check if count < 2: check = False checker.add_error(_('Not enough target devices for bonding.')) if is_param(obj.input, 'bonding_target_dev_primary'): check = checker.check_netdev_name(_('Primary Device Name'), obj.input.bonding_target_dev_primary, CHECK_EMPTY | CHECK_VALID, ) and check else: check = False checker.add_error(_('"%s" is required.') %_('Primary Device Name')) if is_param(obj.input, 'bonding_mode'): if obj.input.bonding_mode not in BONDING_MODE: check = False checker.add_error(_('Unknown bonding mode.')) else: check = False checker.add_error(_('"%s" is required.') %_('Bonding Mode')) obj.view.alert = checker.errors return check
def validates_network(obj, network_name=None): checker = Checker() check = True _ = obj._ checker.errors = [] if not network_name: check = False checker.add_error(_('Specify network name.')) if not is_param(obj.input, 'cidr'): check = False checker.add_error(_('Specify bridge IP address for the network.')) else: check = checker.check_ipaddr( _('Bridge IP Address/Netmask'), obj.input.cidr, CHECK_EMPTY | CHECK_VALID, ) and check if not is_param(obj.input, 'bridge'): check = False checker.add_error(_('Specify bridge name to create for the network.')) else: check = checker.check_netdev_name( _('Bridge Device Name'), obj.input.bridge, CHECK_EMPTY | CHECK_VALID, ) and check A = is_param(obj.input, 'dhcp_start') B = is_param(obj.input, 'dhcp_end') #if not ( ((not A) and (not B)) or (A and B)): if not (A and B): check = False checker.add_error( _('Specify both %s and %s') % (_('DHCP Start Address'), _('DHCP End Address'))) if is_param(obj.input, 'dhcp_start'): check = checker.check_ipaddr( _('DHCP Start Address'), obj.input.dhcp_start, CHECK_EMPTY | CHECK_ONLYSPACE | CHECK_VALID, ) and check if is_param(obj.input, 'dhcp_end'): check = checker.check_ipaddr( _('DHCP End Address'), obj.input.dhcp_end, CHECK_EMPTY | CHECK_ONLYSPACE | CHECK_VALID, ) and check check = checker.check_if_ips_are_in_network([ _('DHCP Start Address'), _('DHCP End Address'), _('Bridge IP Address/Netmask') ], [obj.input.dhcp_start, obj.input.dhcp_end], obj.input.cidr, CHECK_VALID | CHECK_UNIQUE) and check check = checker.check_ip_range([ _('DHCP Start Address'), _('DHCP End Address'), _('Bridge IP Address/Netmask') ], [obj.input.dhcp_start, obj.input.dhcp_end, obj.input.cidr], CHECK_VALID) and check check = checker.check_virt_network_address_conflict( _('Bridge IP Address/Netmask'), obj.input.cidr, [network_name], # names to ignore CHECK_VALID) and check if is_param(obj.input, 'forward_mode'): check = checker.check_forward_mode( _('Forward Mode'), obj.input.forward_mode, CHECK_VALID, ) and check obj.view.alert = checker.errors return check
def validates_network(obj, network_name=None): checker = Checker() check = True _ = obj._ checker.errors = [] if not network_name: check = False checker.add_error(_('Specify network name.')) if not is_param(obj.input, 'cidr'): check = False checker.add_error(_('Specify bridge IP address for the network.')) else: check = checker.check_ipaddr( _('Bridge IP Address/Netmask'), obj.input.cidr, CHECK_EMPTY | CHECK_VALID, ) and check if not is_param(obj.input, 'bridge'): check = False checker.add_error(_('Specify bridge name to create for the network.')) else: check = checker.check_netdev_name( _('Bridge Device Name'), obj.input.bridge, CHECK_EMPTY | CHECK_VALID, ) and check A = is_param(obj.input, 'dhcp_start') B = is_param(obj.input, 'dhcp_end') #if not ( ((not A) and (not B)) or (A and B)): if not (A and B): check = False checker.add_error(_('Specify both %s and %s') % (_('DHCP Start Address'), _('DHCP End Address'))) if is_param(obj.input, 'dhcp_start'): check = checker.check_ipaddr( _('DHCP Start Address'), obj.input.dhcp_start, CHECK_EMPTY | CHECK_ONLYSPACE | CHECK_VALID, ) and check if is_param(obj.input, 'dhcp_end'): check = checker.check_ipaddr( _('DHCP End Address'), obj.input.dhcp_end, CHECK_EMPTY | CHECK_ONLYSPACE | CHECK_VALID, ) and check check = checker.check_if_ips_are_in_network( [ _('DHCP Start Address'), _('DHCP End Address'), _('Bridge IP Address/Netmask')], [obj.input.dhcp_start, obj.input.dhcp_end], obj.input.cidr, CHECK_VALID | CHECK_UNIQUE) and check check = checker.check_ip_range( [ _('DHCP Start Address'), _('DHCP End Address'), _('Bridge IP Address/Netmask')], [obj.input.dhcp_start, obj.input.dhcp_end, obj.input.cidr], CHECK_VALID) and check check = checker.check_virt_network_address_conflict( _('Bridge IP Address/Netmask'), obj.input.cidr, [network_name], # names to ignore CHECK_VALID) and check if is_param(obj.input, 'forward_mode'): check = checker.check_forward_mode( _('Forward Mode'), obj.input.forward_mode, CHECK_VALID, ) and check obj.view.alert = checker.errors return check
def validates_network(obj, network_name=None): checker = Checker() check = True _ = obj._ checker.errors = [] if not is_param(obj.input, "name"): check = False checker.add_error(_("Specify network name.")) else: check = checker.check_network_name(_("Network Name"), obj.input.name, CHECK_EMPTY | CHECK_VALID) and check if not is_param(obj.input, "cidr"): check = False checker.add_error(_("Specify bridge IP address for the network.")) else: check = ( checker.check_ipaddr(_("Bridge IP Address/Netmask"), obj.input.cidr, CHECK_EMPTY | CHECK_VALID) and check ) if not is_param(obj.input, "bridge"): check = False checker.add_error(_("Specify bridge name to create for the network.")) else: check = ( checker.check_netdev_name(_("Bridge Device Name"), obj.input.bridge, CHECK_EMPTY | CHECK_VALID) and check ) A = is_param(obj.input, "dhcp_start") B = is_param(obj.input, "dhcp_end") # if not ( ((not A) and (not B)) or (A and B)): if not (A and B): check = False checker.add_error(_("Specify both %s and %s") % (_("DHCP Start Address"), _("DHCP End Address"))) if is_param(obj.input, "dhcp_start"): check = ( checker.check_ipaddr( _("DHCP Start Address"), obj.input.dhcp_start, CHECK_EMPTY | CHECK_ONLYSPACE | CHECK_VALID ) and check ) if is_param(obj.input, "dhcp_end"): check = ( checker.check_ipaddr(_("DHCP End Address"), obj.input.dhcp_end, CHECK_EMPTY | CHECK_ONLYSPACE | CHECK_VALID) and check ) check = ( checker.check_if_ips_are_in_network( [_("DHCP Start Address"), _("DHCP End Address"), _("Bridge IP Address/Netmask")], [obj.input.dhcp_start, obj.input.dhcp_end], obj.input.cidr, CHECK_VALID | CHECK_UNIQUE, ) and check ) check = ( checker.check_ip_range( [_("DHCP Start Address"), _("DHCP End Address"), _("Bridge IP Address/Netmask")], [obj.input.dhcp_start, obj.input.dhcp_end, obj.input.cidr], CHECK_VALID, ) and check ) check = ( checker.check_virt_network_address_conflict( _("Bridge IP Address/Netmask"), obj.input.cidr, [network_name], CHECK_VALID # names to ignore ) and check ) if is_param(obj.input, "forward_mode"): check = checker.check_forward_mode(_("Forward Mode"), obj.input.forward_mode, CHECK_VALID) and check obj.view.alert = checker.errors return check