Python 2.7.12 netaddr.IPNetwork AddrFormatError
版本:Python 2.7.12 操作系统:Ubuntu 16.04.1 内核:4.4.0-31-generic#50 Ubuntu SMP 拱门:ppc64le NetAddress.IPNetwork出现以下故障: netaddr.core.addr格式错误:无效的IPNetwork“9.2.0.0/16” 我有一个功能:Python 2.7.12 netaddr.IPNetwork AddrFormatError,python,cidr,Python,Cidr,版本:Python 2.7.12 操作系统:Ubuntu 16.04.1 内核:4.4.0-31-generic#50 Ubuntu SMP 拱门:ppc64le NetAddress.IPNetwork出现以下故障: netaddr.core.addr格式错误:无效的IPNetwork“9.2.0.0/16” 我有一个功能: def innet2(ip, net): print("ip: "+ip, "net: " + net) ip = IPAddress(ip).value
def innet2(ip, net):
print("ip: "+ip, "net: " + net)
ip = IPAddress(ip).value
print("ipnew: " + str(ip))
network = IPNetwork(net)
print("network-first: " + str(network.first))
print("network-last: " + str(network.last))
if ip >= network.first and ip <= network.last:
return True
else:
return False
从getHostIPStr()调用时,它会生成AddrFormatError
def getHostIpStr():
hostsStr = "-host "
isChef = False
print("namespace= " + namespace)
print("FLAGS.job_name= " + FLAGS.job_name)
print("FLAGS.network= " + FLAGS.network)
ps_pods = v1.list_namespaced_pod(namespace, label_selector="job="
+ FLAGS.job_name)
job = v1batch.list_namespaced_job(namespace, label_selector="job="
+ FLAGS.job_name)
worker_num = job.items[0].spec.parallelism
items = ps_pods.items
print("items= ", len(items))
print("worker_num= " + str(worker_num))
if (len(items) < worker_num):
return False, "", False
for i in range(0, len(items)):
podIp = items[i].status.pod_ip
print("podIp:" + podIp)
print("localIp:" + localIp)
if (i == 0 and podIp == localIp):
isChef = True
hostIPs = getIp(podIp)
net = FLAGS.network
print("len of Ips: " + str(len(hostIPs)))
for j in range(0, len(hostIPs)):
print("j: " + str(j), "hostIPs[j]: " + hostIPs[j],
"network: " + FLAGS.network)
ip = hostIPs[j];
res = innet2(ip, net)
if (res is True):
podIp = hostIPs[j]
hostsStr = hostsStr + podIp
break
if (i < len(items)-1):
hostsStr = hostsStr + ","
return True, hostsStr, isChef
def getHostIpStr():
hostsStr=“-host”
isChef=False
打印(“名称空间=”+名称空间)
打印(“FLAGS.job_name=“+FLAGS.job_name”)
打印(“FLAGS.network=“+FLAGS.network”)
ps\u pods=v1。列出\u名称空间\u pod(名称空间,标签\u选择器=“作业=”
+标志。作业(名称)
job=v1batch.list\u namespaced\u job(名称空间,label\u selector=“job=”
+标志。作业(名称)
worker\u num=job.items[0].spec.parallelism
项目=ps_pods.items
打印(“items=,len(items))
打印(“worker_num=“+str(worker_num))
如果(长度(项目)<工人数量):
返回False,“,False
对于范围(0,长度(项目))中的i:
podIp=项目[i].status.pod_ip
打印(“podIp:+podIp”)
打印(“localIp:+localIp)
如果(i==0和podIp==localIp):
isChef=真
hostIPs=getIp(podIp)
net=FLAGS.network
打印(“IP的len:+str(len(hostIPs)))
对于范围(0,len(hostIPs))内的j:
打印(“j:+str(j),“hostIPs[j]:”+hostIPs[j],
“网络:”+标志。网络)
ip=主机ip[j];
res=innet2(ip,净)
如果(res为True):
podIp=hostIPs[j]
hostsStr=hostsStr+podIp
打破
如果(i
我发现了我的问题
我正在传递带引号的网络地址,而IPNetwork在尝试将ip地址的八位字节转换为十进制格式时失败,因为第一个八位字节中有字符串引号。我发现了我的问题 我正在传递一个带引号的网络地址,而IPNetwork在尝试将ip地址的八位字节转换为十进制格式时失败,因为第一个八位字节中有字符串引号
def getHostIpStr():
hostsStr = "-host "
isChef = False
print("namespace= " + namespace)
print("FLAGS.job_name= " + FLAGS.job_name)
print("FLAGS.network= " + FLAGS.network)
ps_pods = v1.list_namespaced_pod(namespace, label_selector="job="
+ FLAGS.job_name)
job = v1batch.list_namespaced_job(namespace, label_selector="job="
+ FLAGS.job_name)
worker_num = job.items[0].spec.parallelism
items = ps_pods.items
print("items= ", len(items))
print("worker_num= " + str(worker_num))
if (len(items) < worker_num):
return False, "", False
for i in range(0, len(items)):
podIp = items[i].status.pod_ip
print("podIp:" + podIp)
print("localIp:" + localIp)
if (i == 0 and podIp == localIp):
isChef = True
hostIPs = getIp(podIp)
net = FLAGS.network
print("len of Ips: " + str(len(hostIPs)))
for j in range(0, len(hostIPs)):
print("j: " + str(j), "hostIPs[j]: " + hostIPs[j],
"network: " + FLAGS.network)
ip = hostIPs[j];
res = innet2(ip, net)
if (res is True):
podIp = hostIPs[j]
hostsStr = hostsStr + podIp
break
if (i < len(items)-1):
hostsStr = hostsStr + ","
return True, hostsStr, isChef