Fix ovs-vsctl call in add_tunnel_port()

When a new GRE tunnel is created OVS agent calls ovs-vsctl
incorrectly. Command:

    sudo ovs-vsctl --timeout=2 --may-exist add-port br-tun gre-1

is produced instead of correct one:

   sudo ovs-vsctl --timeout=2 -- --may-exist add-port br-tun gre-1

Fixes bug 1227675

Change-Id: I010961658a37028e41621c4a529b5a14e7587c7f
This commit is contained in:
Roman Podolyaka 2013-09-19 16:57:49 +03:00
parent 289d353d8c
commit c5bdd78f81
2 changed files with 3 additions and 2 deletions

View File

@ -207,7 +207,8 @@ class OVSBridge:
def add_tunnel_port(self, port_name, remote_ip, local_ip,
tunnel_type=constants.TYPE_GRE,
vxlan_udp_port=constants.VXLAN_UDP_PORT):
self.run_vsctl(["--may-exist", "add-port", self.br_name, port_name])
self.run_vsctl(["--", "--may-exist", "add-port", self.br_name,
port_name])
self.set_db_attribute("Interface", port_name, "type", tunnel_type)
if tunnel_type == constants.TYPE_VXLAN:
# Only set the VXLAN UDP port if it's not the default

View File

@ -219,7 +219,7 @@ class OVS_Lib_Test(base.BaseTestCase):
remote_ip = "9.9.9.9"
ofport = "6"
utils.execute(["ovs-vsctl", self.TO, "--may-exist", "add-port",
utils.execute(["ovs-vsctl", self.TO, '--', "--may-exist", "add-port",
self.BR_NAME, pname], root_helper=self.root_helper)
utils.execute(["ovs-vsctl", self.TO, "set", "Interface",
pname, "type=gre"], root_helper=self.root_helper)