- controller_host.create_linux_bridge(vlan)
- controller_host.create_dhcp_interfaces(vlan, gateway, dhcp_netmask)
- controller_host.launch_dhcp_server(vlan, ip_range, dhcp_netmask, dhcp_path, gateway)
+
+ # controller_host.create_linux_bridge(vlan)
+ controller_host.create_dhcp_interfaces(vlan, first_ip, dhcp_netmask)
+ dhcp_path = self.config['ovs_controller_file_path']
+ controller_host.launch_dhcp_server(vlan, ip_range, dhcp_netmask, dhcp_path, gateway, dns, routes)
+
+ def launch_link_bridge_to_ovs(self, vlan, gateway, dhcp_cidr, links=None, routes=None):
+ """
+ Launch creating of connections (veth) between user bridge (link) and OVS
+ :param vlan:
+ :param gateway:
+ :param links:
+ :return:
+ """
+
+ if links:
+ controller_host = self.get_dhcp_controller()
+ for link in links:
+ if 'iface' in link and 'nat' not in link:
+ controller_host.create_link_bridge_to_ovs(vlan, link['iface'])
+ elif 'nat' in link:
+ controller_host.create_qrouter_ovs_connection(vlan, gateway, dhcp_cidr)
+ controller_host.create_qrouter_br_connection(vlan, dhcp_cidr, link)
+
+ if len(routes):
+ controller_host.add_ns_routes(vlan, routes)
+
+ def delete_link_bridge_to_ovs(self, vlan, links=None):
+ """
+ Delete connections (veth) between user bridge (link) and OVS
+ :param vlan:
+ :param links:
+ :return:
+ """
+ if links:
+ controller_host = self.get_dhcp_controller()
+
+ for link in links:
+ if 'iface' in link and 'nat' not in link:
+ controller_host.remove_link_bridge_to_ovs(vlan, link['iface'])
+ elif 'nat' in link:
+ controller_host.delete_qrouter_connection(vlan, link['iface'])
+