Move redudant check_ip_addr method to common ce (#25575)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
This commit is contained in:
parent
a51d64dfe3
commit
8ad04d6348
10 changed files with 32 additions and 212 deletions
|
@ -29,6 +29,8 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
import re
|
import re
|
||||||
|
import socket
|
||||||
|
import sys
|
||||||
|
|
||||||
from ansible.module_utils.basic import env_fallback
|
from ansible.module_utils.basic import env_fallback
|
||||||
from ansible.module_utils.network_common import to_list, ComplexList
|
from ansible.module_utils.network_common import to_list, ComplexList
|
||||||
|
@ -443,3 +445,21 @@ def execute_nc_cli(module, xml_str):
|
||||||
|
|
||||||
conn = get_nc_connection(module)
|
conn = get_nc_connection(module)
|
||||||
return conn.execute_cli(xml_str)
|
return conn.execute_cli(xml_str)
|
||||||
|
|
||||||
|
|
||||||
|
def check_ip_addr(ipaddr):
|
||||||
|
""" check ip address, Supports IPv4 and IPv6 """
|
||||||
|
|
||||||
|
if not ipaddr or '\x00' in ipaddr:
|
||||||
|
return False
|
||||||
|
|
||||||
|
try:
|
||||||
|
res = socket.getaddrinfo(ipaddr, 0, socket.AF_UNSPEC,
|
||||||
|
socket.SOCK_STREAM,
|
||||||
|
0, socket.AI_NUMERICHOST)
|
||||||
|
return bool(res)
|
||||||
|
except socket.gaierror:
|
||||||
|
err = sys.exc_info()[1]
|
||||||
|
if err.args[0] == socket.EAI_NONAME:
|
||||||
|
return False
|
||||||
|
raise
|
||||||
|
|
|
@ -282,12 +282,9 @@ updates:
|
||||||
"hwtacacs server authorization 10.135.182.157 vpn-instance test_vpn public-net"]
|
"hwtacacs server authorization 10.135.182.157 vpn-instance test_vpn public-net"]
|
||||||
'''
|
'''
|
||||||
|
|
||||||
import sys
|
|
||||||
import socket
|
|
||||||
from xml.etree import ElementTree
|
from xml.etree import ElementTree
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.ce import get_nc_config, set_nc_config, ce_argument_spec
|
from ansible.module_utils.ce import get_nc_config, set_nc_config, ce_argument_spec, check_ip_addr
|
||||||
|
|
||||||
|
|
||||||
SUCCESS = """success"""
|
SUCCESS = """success"""
|
||||||
FAILED = """failed"""
|
FAILED = """failed"""
|
||||||
|
@ -2193,25 +2190,6 @@ class AaaServerHost(object):
|
||||||
return cmds
|
return cmds
|
||||||
|
|
||||||
|
|
||||||
def check_ip_addr(ipaddr):
|
|
||||||
""" check_ip_addr, Supports IPv4 and IPv6 """
|
|
||||||
|
|
||||||
if not ipaddr or '\x00' in ipaddr:
|
|
||||||
return False
|
|
||||||
|
|
||||||
try:
|
|
||||||
res = socket.getaddrinfo(ipaddr, 0, socket.AF_UNSPEC,
|
|
||||||
socket.SOCK_STREAM,
|
|
||||||
0, socket.AI_NUMERICHOST)
|
|
||||||
return bool(res)
|
|
||||||
except socket.gaierror:
|
|
||||||
err = sys.exc_info()[1]
|
|
||||||
if err.args[0] == socket.EAI_NONAME:
|
|
||||||
return False
|
|
||||||
raise
|
|
||||||
return True
|
|
||||||
|
|
||||||
|
|
||||||
def check_name(**kwargs):
|
def check_name(**kwargs):
|
||||||
""" Check invalid name """
|
""" Check invalid name """
|
||||||
|
|
||||||
|
|
|
@ -210,12 +210,9 @@ updates:
|
||||||
sample: ["undo acl name test"]
|
sample: ["undo acl name test"]
|
||||||
'''
|
'''
|
||||||
|
|
||||||
import socket
|
|
||||||
import sys
|
|
||||||
from xml.etree import ElementTree
|
from xml.etree import ElementTree
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.ce import get_nc_config, set_nc_config, ce_argument_spec
|
from ansible.module_utils.ce import get_nc_config, set_nc_config, ce_argument_spec, check_ip_addr
|
||||||
|
|
||||||
|
|
||||||
# get acl
|
# get acl
|
||||||
CE_GET_ACL_HEADER = """
|
CE_GET_ACL_HEADER = """
|
||||||
|
@ -319,25 +316,6 @@ CE_DELETE_ACL_BASE_RULE_TAIL = """
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
def check_ip_addr(ipaddr):
|
|
||||||
""" check_ip_addr, Supports IPv4 and IPv6 """
|
|
||||||
|
|
||||||
if not ipaddr or '\x00' in ipaddr:
|
|
||||||
return False
|
|
||||||
|
|
||||||
try:
|
|
||||||
res = socket.getaddrinfo(ipaddr, 0, socket.AF_UNSPEC,
|
|
||||||
socket.SOCK_STREAM,
|
|
||||||
0, socket.AI_NUMERICHOST)
|
|
||||||
return bool(res)
|
|
||||||
except socket.gaierror:
|
|
||||||
err = sys.exc_info()[1]
|
|
||||||
if err.args[0] == socket.EAI_NONAME:
|
|
||||||
return False
|
|
||||||
raise
|
|
||||||
return True
|
|
||||||
|
|
||||||
|
|
||||||
class BaseAcl(object):
|
class BaseAcl(object):
|
||||||
""" Manages base acl configuration """
|
""" Manages base acl configuration """
|
||||||
|
|
||||||
|
|
|
@ -356,11 +356,9 @@ updates:
|
||||||
sample: ["undo acl name test"]
|
sample: ["undo acl name test"]
|
||||||
'''
|
'''
|
||||||
|
|
||||||
import socket
|
|
||||||
import sys
|
|
||||||
from xml.etree import ElementTree
|
from xml.etree import ElementTree
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.ce import get_nc_config, set_nc_config, ce_argument_spec
|
from ansible.module_utils.ce import get_nc_config, set_nc_config, ce_argument_spec, check_ip_addr
|
||||||
|
|
||||||
|
|
||||||
# get acl
|
# get acl
|
||||||
|
@ -486,25 +484,6 @@ IGMP_TYPE_NUM = {"host-query": "17",
|
||||||
"v3host-report": "34"}
|
"v3host-report": "34"}
|
||||||
|
|
||||||
|
|
||||||
def check_ip_addr(ipaddr):
|
|
||||||
""" check ip address, Supports IPv4 and IPv6 """
|
|
||||||
|
|
||||||
if not ipaddr or '\x00' in ipaddr:
|
|
||||||
return False
|
|
||||||
|
|
||||||
try:
|
|
||||||
res = socket.getaddrinfo(ipaddr, 0, socket.AF_UNSPEC,
|
|
||||||
socket.SOCK_STREAM,
|
|
||||||
0, socket.AI_NUMERICHOST)
|
|
||||||
return bool(res)
|
|
||||||
except socket.gaierror:
|
|
||||||
err = sys.exc_info()[1]
|
|
||||||
if err.args[0] == socket.EAI_NONAME:
|
|
||||||
return False
|
|
||||||
raise
|
|
||||||
return True
|
|
||||||
|
|
||||||
|
|
||||||
def get_wildcard_mask(mask):
|
def get_wildcard_mask(mask):
|
||||||
""" convert mask length to ip address wildcard mask, i.e. 24 to 0.0.0.255 """
|
""" convert mask length to ip address wildcard mask, i.e. 24 to 0.0.0.255 """
|
||||||
|
|
||||||
|
|
|
@ -497,11 +497,8 @@ updates:
|
||||||
'''
|
'''
|
||||||
|
|
||||||
import re
|
import re
|
||||||
import sys
|
|
||||||
import socket
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.ce import get_nc_config, set_nc_config, ce_argument_spec
|
from ansible.module_utils.ce import get_nc_config, set_nc_config, ce_argument_spec, check_ip_addr
|
||||||
|
|
||||||
|
|
||||||
# get bgp address family
|
# get bgp address family
|
||||||
CE_GET_BGP_ADDRESS_FAMILY_HEADER = """
|
CE_GET_BGP_ADDRESS_FAMILY_HEADER = """
|
||||||
|
@ -882,27 +879,6 @@ CE_BGP_DELETE_NETWORK_UNIT = """
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
def check_ip_addr(**kwargs):
|
|
||||||
""" check_ip_addr, Supports IPv4 and IPv6"""
|
|
||||||
|
|
||||||
ipaddr = kwargs["ipaddr"]
|
|
||||||
|
|
||||||
if not ipaddr or '\x00' in ipaddr:
|
|
||||||
return False
|
|
||||||
|
|
||||||
try:
|
|
||||||
res = socket.getaddrinfo(ipaddr, 0, socket.AF_UNSPEC,
|
|
||||||
socket.SOCK_STREAM,
|
|
||||||
0, socket.AI_NUMERICHOST)
|
|
||||||
return bool(res)
|
|
||||||
except socket.gaierror:
|
|
||||||
err = sys.exc_info()[1]
|
|
||||||
if err.args[0] == socket.EAI_NONAME:
|
|
||||||
return False
|
|
||||||
raise
|
|
||||||
return True
|
|
||||||
|
|
||||||
|
|
||||||
class BgpAf(object):
|
class BgpAf(object):
|
||||||
""" Manages BGP Address-family configuration """
|
""" Manages BGP Address-family configuration """
|
||||||
|
|
||||||
|
|
|
@ -293,10 +293,8 @@ updates:
|
||||||
'''
|
'''
|
||||||
|
|
||||||
import re
|
import re
|
||||||
import sys
|
|
||||||
import socket
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.ce import get_nc_config, set_nc_config, ce_argument_spec
|
from ansible.module_utils.ce import get_nc_config, set_nc_config, ce_argument_spec, check_ip_addr
|
||||||
|
|
||||||
|
|
||||||
# get bgp peer
|
# get bgp peer
|
||||||
|
@ -461,27 +459,6 @@ CE_DELETE_PEER_BFD_TAIL = """
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
def check_ip_addr(**kwargs):
|
|
||||||
""" check_ip_addr, Supports IPv4 and IPv6 """
|
|
||||||
|
|
||||||
ipaddr = kwargs["ipaddr"]
|
|
||||||
|
|
||||||
if not ipaddr or '\x00' in ipaddr:
|
|
||||||
return False
|
|
||||||
|
|
||||||
try:
|
|
||||||
res = socket.getaddrinfo(ipaddr, 0, socket.AF_UNSPEC,
|
|
||||||
socket.SOCK_STREAM,
|
|
||||||
0, socket.AI_NUMERICHOST)
|
|
||||||
return bool(res)
|
|
||||||
except socket.gaierror:
|
|
||||||
err = sys.exc_info()[1]
|
|
||||||
if err.args[0] == socket.EAI_NONAME:
|
|
||||||
return False
|
|
||||||
raise
|
|
||||||
return True
|
|
||||||
|
|
||||||
|
|
||||||
class BgpNeighbor(object):
|
class BgpNeighbor(object):
|
||||||
""" Manages BGP peer configuration """
|
""" Manages BGP peer configuration """
|
||||||
|
|
||||||
|
|
|
@ -460,11 +460,8 @@ updates:
|
||||||
'''
|
'''
|
||||||
|
|
||||||
import re
|
import re
|
||||||
import sys
|
|
||||||
import socket
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.ce import get_nc_config, set_nc_config, ce_argument_spec
|
from ansible.module_utils.ce import get_nc_config, set_nc_config, ce_argument_spec, check_ip_addr
|
||||||
|
|
||||||
|
|
||||||
# get bgp peer af
|
# get bgp peer af
|
||||||
CE_GET_BGP_PEER_AF_HEADER = """
|
CE_GET_BGP_PEER_AF_HEADER = """
|
||||||
|
@ -571,27 +568,6 @@ CE_DELETE_BGP_PEER_AF = """
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
def check_ip_addr(**kwargs):
|
|
||||||
""" check_ip_addr, Supports IPv4 and IPv6 """
|
|
||||||
|
|
||||||
ipaddr = kwargs["ipaddr"]
|
|
||||||
|
|
||||||
if not ipaddr or '\x00' in ipaddr:
|
|
||||||
return False
|
|
||||||
|
|
||||||
try:
|
|
||||||
res = socket.getaddrinfo(ipaddr, 0, socket.AF_UNSPEC,
|
|
||||||
socket.SOCK_STREAM,
|
|
||||||
0, socket.AI_NUMERICHOST)
|
|
||||||
return bool(res)
|
|
||||||
except socket.gaierror:
|
|
||||||
err = sys.exc_info()[1]
|
|
||||||
if err.args[0] == socket.EAI_NONAME:
|
|
||||||
return False
|
|
||||||
raise
|
|
||||||
return True
|
|
||||||
|
|
||||||
|
|
||||||
class BgpNeighborAf(object):
|
class BgpNeighborAf(object):
|
||||||
""" Manages BGP neighbor Address-family configuration """
|
""" Manages BGP neighbor Address-family configuration """
|
||||||
|
|
||||||
|
|
|
@ -326,11 +326,10 @@ changed:
|
||||||
type: boolean
|
type: boolean
|
||||||
sample: true
|
sample: true
|
||||||
'''
|
'''
|
||||||
import socket
|
|
||||||
import sys
|
|
||||||
from xml.etree import ElementTree
|
from xml.etree import ElementTree
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.ce import ce_argument_spec, get_nc_config, set_nc_config
|
from ansible.module_utils.ce import ce_argument_spec, get_nc_config, set_nc_config, check_ip_addr
|
||||||
|
|
||||||
|
|
||||||
CE_NC_GET_CENTER_GLOBAL_INFO_HEADER = """
|
CE_NC_GET_CENTER_GLOBAL_INFO_HEADER = """
|
||||||
|
@ -571,25 +570,6 @@ CE_NC_DELETE_SERVER_DNS_INFO_TAIL = """
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
def is_valid_address(address):
|
|
||||||
""" check ip address, Supports IPv4 and IPv6"""
|
|
||||||
|
|
||||||
if not address or '\x00' in address:
|
|
||||||
return False
|
|
||||||
|
|
||||||
try:
|
|
||||||
res = socket.getaddrinfo(address, 0, socket.AF_UNSPEC,
|
|
||||||
socket.SOCK_STREAM,
|
|
||||||
0, socket.AI_NUMERICHOST)
|
|
||||||
return bool(res)
|
|
||||||
except socket.gaierror:
|
|
||||||
err = sys.exc_info()[1]
|
|
||||||
if err.args[0] == socket.EAI_NONAME:
|
|
||||||
return False
|
|
||||||
raise
|
|
||||||
return True
|
|
||||||
|
|
||||||
|
|
||||||
def get_out_direct_default(out_direct):
|
def get_out_direct_default(out_direct):
|
||||||
"""get default out direct"""
|
"""get default out direct"""
|
||||||
|
|
||||||
|
@ -1433,12 +1413,12 @@ class InfoCenterGlobal(object):
|
||||||
|
|
||||||
# server_ip check
|
# server_ip check
|
||||||
if self.server_ip:
|
if self.server_ip:
|
||||||
if not is_valid_address(self.server_ip):
|
if not check_ip_addr(self.server_ip):
|
||||||
self.module.fail_json(
|
self.module.fail_json(
|
||||||
msg='Error: The %s is not a valid ip address' % self.server_ip)
|
msg='Error: The %s is not a valid ip address' % self.server_ip)
|
||||||
# source_ip check
|
# source_ip check
|
||||||
if self.source_ip:
|
if self.source_ip:
|
||||||
if not is_valid_address(self.source_ip):
|
if not check_ip_addr(self.source_ip):
|
||||||
self.module.fail_json(
|
self.module.fail_json(
|
||||||
msg='Error: The %s is not a valid ip address' % self.source_ip)
|
msg='Error: The %s is not a valid ip address' % self.source_ip)
|
||||||
|
|
||||||
|
|
|
@ -243,12 +243,10 @@ changed:
|
||||||
sample: true
|
sample: true
|
||||||
'''
|
'''
|
||||||
|
|
||||||
import sys
|
|
||||||
import re
|
import re
|
||||||
import socket
|
|
||||||
from xml.etree import ElementTree
|
from xml.etree import ElementTree
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.ce import get_nc_config, set_nc_config, ce_argument_spec
|
from ansible.module_utils.ce import get_nc_config, set_nc_config, ce_argument_spec, check_ip_addr
|
||||||
from ansible.module_utils.ce import get_config, load_config
|
from ansible.module_utils.ce import get_config, load_config
|
||||||
|
|
||||||
CE_NC_GET_SFLOW = """
|
CE_NC_GET_SFLOW = """
|
||||||
|
@ -331,26 +329,6 @@ def is_valid_ip_vpn(vpname):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
def check_ip_addr(ipaddr):
|
|
||||||
"""check ip address, Supports IPv4 and IPv6"""
|
|
||||||
|
|
||||||
if not ipaddr or '\x00' in ipaddr:
|
|
||||||
return False
|
|
||||||
|
|
||||||
try:
|
|
||||||
res = socket.getaddrinfo(ipaddr, 0, socket.AF_UNSPEC,
|
|
||||||
socket.SOCK_STREAM,
|
|
||||||
0, socket.AI_NUMERICHOST)
|
|
||||||
return bool(res)
|
|
||||||
except socket.gaierror:
|
|
||||||
err = sys.exc_info()[1]
|
|
||||||
if err.args[0] == socket.EAI_NONAME:
|
|
||||||
return False
|
|
||||||
raise
|
|
||||||
|
|
||||||
return True
|
|
||||||
|
|
||||||
|
|
||||||
def get_ip_version(address):
|
def get_ip_version(address):
|
||||||
"""get ip version fast"""
|
"""get ip version fast"""
|
||||||
|
|
||||||
|
|
|
@ -170,13 +170,10 @@ updates:
|
||||||
sample: ["snmp-agent target-host host-name test2 trap address udp-domain 10.135.182.158 vpn-instance js params securityname wdz v3 authentication"]
|
sample: ["snmp-agent target-host host-name test2 trap address udp-domain 10.135.182.158 vpn-instance js params securityname wdz v3 authentication"]
|
||||||
'''
|
'''
|
||||||
|
|
||||||
import sys
|
|
||||||
import socket
|
|
||||||
from xml.etree import ElementTree
|
from xml.etree import ElementTree
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.ce import get_nc_config, set_nc_config, \
|
from ansible.module_utils.ce import get_nc_config, set_nc_config, \
|
||||||
ce_argument_spec, get_config, load_config
|
ce_argument_spec, get_config, load_config, check_ip_addr
|
||||||
|
|
||||||
|
|
||||||
# get snmp version
|
# get snmp version
|
||||||
CE_GET_SNMP_VERSION = """
|
CE_GET_SNMP_VERSION = """
|
||||||
|
@ -263,25 +260,6 @@ INTERFACE_TYPE = ['ethernet', 'eth-trunk', 'tunnel', 'null', 'loopback',
|
||||||
'vlanif', '100ge', '40ge', 'mtunnel', '10ge', 'ge', 'meth', 'vbdif', 'nve']
|
'vlanif', '100ge', '40ge', 'mtunnel', '10ge', 'ge', 'meth', 'vbdif', 'nve']
|
||||||
|
|
||||||
|
|
||||||
def check_ip_addr(ipaddr):
|
|
||||||
""" check_ip_addr, Supports IPv4 and IPv6 """
|
|
||||||
|
|
||||||
if not ipaddr or '\x00' in ipaddr:
|
|
||||||
return False
|
|
||||||
|
|
||||||
try:
|
|
||||||
res = socket.getaddrinfo(ipaddr, 0, socket.AF_UNSPEC,
|
|
||||||
socket.SOCK_STREAM,
|
|
||||||
0, socket.AI_NUMERICHOST)
|
|
||||||
return bool(res)
|
|
||||||
except socket.gaierror:
|
|
||||||
err = sys.exc_info()[1]
|
|
||||||
if err.args[0] == socket.EAI_NONAME:
|
|
||||||
return False
|
|
||||||
raise
|
|
||||||
return True
|
|
||||||
|
|
||||||
|
|
||||||
class SnmpTargetHost(object):
|
class SnmpTargetHost(object):
|
||||||
""" Manages SNMP target host configuration """
|
""" Manages SNMP target host configuration """
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue