self.db_lock.acquire()
result, content = self.db.get_table(
FROM='ports',
- WHERE={'p.type': 'instance:ovs', 'p.net_id': net_uuid}
+ WHERE={'type': 'instance:ovs', 'net_id': net_uuid}
)
self.db_lock.release()
(_, stdout, _) = self.ssh_conn.exec_command(command)
content = stdout.read()
+ command = 'sudo ip netns exec ' + net_namespace + ' ip link set dev lo up'
+ self.logger.debug("command: " + command)
+ (_, stdout, _) = self.ssh_conn.exec_command(command)
+ content = stdout.read()
+
command = 'sudo ip netns exec ' + net_namespace + ' ' + ' ifconfig ' + namespace_interface \
+ ' ' + ip_listen_address + ' netmask ' + netmask
self.logger.debug("command: " + command)
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
: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