X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=host_thread.py;h=97c57baa12d2d98218827f8f94a2f4fc6429be56;hb=1817f966ef776fcf99fd063c677d13138966cb59;hp=c29f79a62b9eb2452cc8d4106c0959f3b58aa33f;hpb=e9317ff999987c09369b9eab6bcd044ced8f1048;p=osm%2Fopenvim.git diff --git a/host_thread.py b/host_thread.py index c29f79a..97c57ba 100644 --- a/host_thread.py +++ b/host_thread.py @@ -41,6 +41,7 @@ from vim_schema import localinfo_schema, hostinfo_schema import random import os +#TODO: insert a logging system # from logging import Logger # import auxiliary_functions as af @@ -48,9 +49,6 @@ import os # TODO: insert a logging system -# global lvirt_module -# lvirt_module=None #libvirt module is charged only if not in test mode - class host_thread(threading.Thread): lvirt_module = None @@ -343,23 +341,20 @@ class host_thread(threading.Thread): elif task[0] == 'new-ovsbridge': print self.name, ": Creating compute OVS bridge" self.create_ovs_bridge() - break elif task[0] == 'new-vxlan': print self.name, ": Creating vxlan tunnel=" + task[1] + ", remote ip=" + task[2] self.create_ovs_vxlan_tunnel(task[1], task[2]) - break elif task[0] == 'del-ovsbridge': print self.name, ": Deleting OVS bridge" self.delete_ovs_bridge() - break elif task[0] == 'del-vxlan': print self.name, ": Deleting vxlan " + task[1] + " tunnel" self.delete_ovs_vxlan_tunnel(task[1]) - break elif task[0] == 'create-ovs-bridge-port': print self.name, ": Adding port ovim-" + task[1] + " to OVS bridge" self.create_ovs_bridge_port(task[1]) elif task[0] == 'del-ovs-port': + print self.name, ": Delete bridge attached to ovs port vlan {} net {}".format(task[1], task[2]) self.delete_bridge_port_attached_to_ovs(task[1], task[2]) else: print self.name, ": unknown task", task @@ -1032,7 +1027,7 @@ class host_thread(threading.Thread): else: return False - def launch_dhcp_server(self, vlan, ip_range, netmask, dhcp_path): + def launch_dhcp_server(self, vlan, ip_range, netmask, dhcp_path, gateway): """ Generate a linux bridge and attache the port to a OVS bridge :param self: @@ -1040,6 +1035,7 @@ class host_thread(threading.Thread): :param ip_range: IP dhcp range :param netmask: network netmask :param dhcp_path: dhcp conf file path that live in namespace side + :param gateway: Gateway address for dhcp net :return: True if success """ @@ -1074,7 +1070,8 @@ class host_thread(threading.Thread): if not content: command = 'sudo ip netns exec ' + net_namespace + ' /usr/sbin/dnsmasq --strict-order --except-interface=lo ' \ '--interface=' + interface + ' --bind-interfaces --dhcp-hostsdir=' + dhcp_path + \ - ' --dhcp-range ' + dhcp_range + ' --pid-file=' + pid_file + ' --dhcp-leasefile=' + leases_path + ' --listen-address ' + ip_range[0] + ' --dhcp-range ' + dhcp_range + ' --pid-file=' + pid_file + ' --dhcp-leasefile=' + leases_path + \ + ' --listen-address ' + gateway print self.name, ': command:', command (_, stdout, _) = self.ssh_conn.exec_command(command)