Rewrite 'exists' to 'get_by_name'
This commit is contained in:
		| @@ -5,6 +5,25 @@ class NullHandler(logging.Handler): | ||||
|     def emit(self, record): | ||||
|         pass | ||||
|  | ||||
| def get_by_name(yaml, ifname): | ||||
|     """ Returns the interface or sub-interface by a given name, or None if it does not exist """ | ||||
|     if '.' in ifname: | ||||
|         ifname, subid = ifname.split('.') | ||||
|         subid = int(subid) | ||||
|         try: | ||||
|             iface = yaml['interfaces'][ifname]['sub-interfaces'][subid] | ||||
|             return iface | ||||
|         except: | ||||
|             return None | ||||
|  | ||||
|     try: | ||||
|         iface = yaml['interfaces'][ifname] | ||||
|         return iface | ||||
|     except: | ||||
|         pass | ||||
|     return None | ||||
|  | ||||
|  | ||||
| def has_sub(yaml, ifname): | ||||
|     """ Returns True if this interface has sub-interfaces """ | ||||
|     if not 'interfaces' in yaml: | ||||
| @@ -16,6 +35,7 @@ def has_sub(yaml, ifname): | ||||
|             return True | ||||
|     return False | ||||
|  | ||||
|  | ||||
| def has_address(yaml, ifname): | ||||
|     """ Returns True if this interface or sub-interface has one or more addresses""" | ||||
|     if not 'interfaces' in yaml: | ||||
| @@ -38,6 +58,7 @@ def has_address(yaml, ifname): | ||||
|         pass | ||||
|     return False | ||||
|  | ||||
|  | ||||
| def is_bond_member(yaml, ifname): | ||||
|     """ Returns True if this interface is a member of a BondEthernet """ | ||||
|     if not 'bondethernets' in yaml: | ||||
| @@ -50,6 +71,7 @@ def is_bond_member(yaml, ifname): | ||||
|             return True | ||||
|     return False | ||||
|  | ||||
|  | ||||
| def has_lcp(yaml, ifname): | ||||
|     """ Returns True if this interface or sub-interface has an LCP""" | ||||
|     if not 'interfaces' in yaml: | ||||
| @@ -72,19 +94,6 @@ def has_lcp(yaml, ifname): | ||||
|         pass | ||||
|     return False | ||||
|  | ||||
| def exists(yaml, ifname): | ||||
|     """ Returns true if ifname exists as a phy or sub-int """ | ||||
|     try: | ||||
|         if ifname in yaml['interfaces']: | ||||
|             return True | ||||
|         if '.' in ifname: | ||||
|             ifname, subid = ifname.split('.') | ||||
|             subid = int(subid) | ||||
|             if subid in yaml['interfaces'][ifname]['sub-interfaces']: | ||||
|                 return True | ||||
|     except: | ||||
|         pass | ||||
|     return False | ||||
|  | ||||
| def valid_encapsulation(yaml, sub_ifname): | ||||
|     try: | ||||
| @@ -117,7 +126,7 @@ def interface(args, yaml): | ||||
|  | ||||
|     for ifname, iface in yaml['interfaces'].items(): | ||||
|         logger.debug("interface %s" % iface) | ||||
|         if ifname.startswith("BondEthernet") and not bondethernet.exists(yaml, ifname): | ||||
|         if ifname.startswith("BondEthernet") and not bondethernet.get_by_name(yaml, ifname): | ||||
|             msgs.append("interface %s does not exist in bondethernets" % ifname) | ||||
|             result = False | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user