2
0
mirror of https://github.com/openvswitch/ovs synced 2025-10-29 15:28:56 +00:00

ovs-xapi-sync: Add unit test.

This commit is contained in:
Ben Pfaff
2011-09-26 13:07:29 -07:00
parent b54bdbe993
commit 1b0fdca5fa
5 changed files with 189 additions and 11 deletions

View File

@@ -40,6 +40,7 @@ import ovs.util
import ovs.daemon
import ovs.db.idl
root_prefix = '' # Prefix for absolute file names, for testing.
s_log = logging.getLogger("ovs-xapi-sync")
vsctl = "/usr/bin/ovs-vsctl"
session = None
@@ -59,9 +60,9 @@ def init_session():
try:
session = XenAPI.xapi_local()
session.xenapi.login_with_password("", "")
except:
except XenAPI.Failure, e:
session = None
s_log.warning("Couldn't login to XAPI")
s_log.warning("Couldn't login to XAPI (%s)" % e)
return False
return True
@@ -218,8 +219,10 @@ def usage():
print "usage: %s [OPTIONS] DATABASE" % sys.argv[0]
print "where DATABASE is a socket on which ovsdb-server is listening."
ovs.daemon.usage()
print "Other options:"
print " -h, --help display this help message"
print """\
Other options:
--root-prefix=DIR Use DIR as alternate root directory (for testing).
-h, --help display this help message"""
sys.exit(0)
@@ -232,16 +235,21 @@ def handler(signum, _):
def main(argv):
global force_run
l_handler = logging.handlers.RotatingFileHandler(
s_log.addHandler(logging.StreamHandler())
try:
l_handler = logging.handlers.RotatingFileHandler(
"/var/log/openvswitch/ovs-xapi-sync.log")
l_formatter = logging.Formatter('%(filename)s: %(levelname)s: %(message)s')
l_handler.setFormatter(l_formatter)
s_log.addHandler(l_handler)
l_formatter = logging.Formatter('%(filename)s: %(levelname)s: %(message)s')
l_handler.setFormatter(l_formatter)
s_log.addHandler(l_handler)
except IOError, e:
logging.basicConfig()
s_log.warn("failed to open logfile (%s)" % e)
s_log.setLevel(logging.INFO)
try:
options, args = getopt.gnu_getopt(
argv[1:], 'h', ['help'] + ovs.daemon.LONG_OPTIONS)
argv[1:], 'h', ['help', 'root-prefix='] + ovs.daemon.LONG_OPTIONS)
except getopt.GetoptError, geo:
sys.stderr.write("%s: %s\n" % (ovs.util.PROGRAM_NAME, geo.msg))
sys.exit(1)
@@ -249,6 +257,9 @@ def main(argv):
for key, value in options:
if key in ['-h', '--help']:
usage()
elif key == '--root-prefix':
global root_prefix
root_prefix = value
elif not ovs.daemon.parse_opt(key, value):
sys.stderr.write("%s: unhandled option %s\n"
% (ovs.util.PROGRAM_NAME, key))
@@ -269,7 +280,8 @@ def main(argv):
# This daemon is usually started before XAPI, but to complete our
# tasks, we need it. Wait here until it's up.
while not os.path.exists("/var/run/xapi_init_complete.cookie"):
cookie_file = root_prefix + "/var/run/xapi_init_complete.cookie"
while not os.path.exists(cookie_file):
time.sleep(1)
signal.signal(signal.SIGHUP, handler)