From e95aa008efa6eeddd89e02487c8a06a9c45a4aec Mon Sep 17 00:00:00 2001 From: Ghe Rivero Date: Thu, 17 Nov 2011 09:21:09 +0100 Subject: [PATCH] Added timeout flag to ovs-vsctl to avoid infinte waiting Fixes bug 890180 Change-Id: Iba76359d5ee4f625b6a7007b318cf0eb5f1119da --- quantum/plugins/openvswitch/agent/ovs_quantum_agent.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/quantum/plugins/openvswitch/agent/ovs_quantum_agent.py b/quantum/plugins/openvswitch/agent/ovs_quantum_agent.py index 398b8b994..afeb6b404 100755 --- a/quantum/plugins/openvswitch/agent/ovs_quantum_agent.py +++ b/quantum/plugins/openvswitch/agent/ovs_quantum_agent.py @@ -24,6 +24,7 @@ import MySQLdb import os import sys import time +import signal from optparse import OptionParser from subprocess import * @@ -51,10 +52,14 @@ class OVSBridge: def run_cmd(self, args): # LOG.debug("## running command: " + " ".join(args)) - return Popen(args, stdout=PIPE).communicate()[0] + p = Popen(args, stdout=PIPE) + retval = p.communicate()[0] + if p.returncode == -(signal.SIGALRM): + LOG.debug("## timeout running command: " + " ".join(args)) + return retval def run_vsctl(self, args): - full_args = ["ovs-vsctl"] + args + full_args = ["ovs-vsctl", "--timeout=2"] + args return self.run_cmd(full_args) def reset_bridge(self): -- 2.45.2