import auxiliary_functions as af
import json
import logging
-from netaddr import IPNetwork, IPSet, IPRange, all_matching_cidrs
+from netaddr import IPNetwork, IPAddress
HTTP_Bad_Request = 400
HTTP_Unauthorized = 401
#get dedicated ports and SRIOV
cmd = "SELECT port_id as iface_id, p.vlan as vlan, p.mac as mac_address, net_id, if(model='PF',\
- 'yes',if(model='VF','no','yes:sriov')) as dedicated, rp.Mbps as bandwidth, name, vpci, \
+ 'yes',if(model='VF','no','yes:sriov')) as dedicated, p.Mbps as bandwidth, name, vpci, \
pci as source \
FROM resources_port as rp join ports as p on port_id=uuid WHERE p.instance_id = '%s' AND numa_id = '%s' and p.type='instance:data'" % (instance_id, numa_id)
self.logger.debug(cmd)
:param ip_used_list: contain all used ips to avoid ip collisions
:return:
"""
-
ip_tools = IPNetwork(cidr)
cidr_len = ip_tools.prefixlen
ips = IPNetwork(first_ip + '/' + str(cidr_len))
- ip_used_list.append(str(ips[0])) # first ip
- ip_used_list.append(str(ips[1])) # gw ip
- ip_used_list.append(str(ips[-1])) # broadcast ip
+
+ ip_used_list.append(str(ips[1])) # gw ip
+ ip_used_list.append(str(ips[-1])) # broadcast ip
+
for vm_ip in ips:
- if str(vm_ip) not in ip_used_list:
+ if str(vm_ip) not in ip_used_list and IPAddress(first_ip) <= IPAddress(vm_ip) <= IPAddress(last_ip):
return vm_ip
return None