summaryrefslogtreecommitdiffstats
path: root/cts/lab/CTSlab.py.in
diff options
context:
space:
mode:
Diffstat (limited to 'cts/lab/CTSlab.py.in')
-rw-r--r--cts/lab/CTSlab.py.in135
1 files changed, 0 insertions, 135 deletions
diff --git a/cts/lab/CTSlab.py.in b/cts/lab/CTSlab.py.in
deleted file mode 100644
index bd990fd..0000000
--- a/cts/lab/CTSlab.py.in
+++ /dev/null
@@ -1,135 +0,0 @@
-#!@PYTHON@
-""" Command-line interface to Pacemaker's Cluster Test Suite (CTS)
-"""
-
-__copyright__ = "Copyright 2001-2023 the Pacemaker project contributors"
-__license__ = "GNU General Public License version 2 or later (GPLv2+) WITHOUT ANY WARRANTY"
-
-import sys, signal, os
-
-pdir = os.path.dirname(sys.path[0])
-sys.path.insert(0, pdir) # So that things work from the source directory
-
-try:
- from cts.CM_corosync import *
- from cts.CTSaudits import AuditList
- from cts.CTStests import TestList
- from cts.CTSscenarios import *
-
- from pacemaker._cts.CTS import CtsLab
- from pacemaker._cts.logging import LogFactory
-except ImportError as e:
- sys.stderr.write("abort: %s\n" % e)
- sys.stderr.write("check your install and PYTHONPATH; couldn't find cts libraries in:\n%s\n" %
- ' '.join(sys.path))
- sys.exit(1)
-
-# These are globals so they can be used by the signal handler.
-scenario = None
-LogFactory().add_stderr()
-
-
-def sig_handler(signum, frame) :
- LogFactory().log("Interrupted by signal %d"%signum)
- if scenario: scenario.summarize()
- if signum == 15 :
- if scenario: scenario.TearDown()
- sys.exit(1)
-
-
-def plural_s(n, uppercase=False):
- if n == 1:
- return ""
- elif uppercase:
- return "S"
- else:
- return "s"
-
-
-if __name__ == '__main__':
-
- Environment = CtsLab(sys.argv[1:])
- NumIter = Environment["iterations"]
- Tests = []
-
- # Set the signal handler
- signal.signal(15, sig_handler)
- signal.signal(10, sig_handler)
-
- # Create the Cluster Manager object
- cm = None
- if Environment["Stack"] == "corosync 2+":
- cm = crm_corosync()
-
- else:
- LogFactory().log("Unknown stack: "+Environment["stack"])
- sys.exit(1)
-
- if Environment["TruncateLog"]:
- if Environment["OutputFile"] is None:
- LogFactory().log("Ignoring truncate request because no output file specified")
- else:
- LogFactory().log("Truncating %s" % Environment["OutputFile"])
- with open(Environment["OutputFile"], "w") as outputfile:
- outputfile.truncate(0)
-
- Audits = AuditList(cm)
-
- if Environment["ListTests"]:
- Tests = TestList(cm, Audits)
- LogFactory().log("Total %d tests"%len(Tests))
- for test in Tests :
- LogFactory().log(str(test.name));
- sys.exit(0)
-
- elif len(Environment["tests"]) == 0:
- Tests = TestList(cm, Audits)
-
- else:
- Chosen = Environment["tests"]
- for TestCase in Chosen:
- match = None
-
- for test in TestList(cm, Audits):
- if test.name == TestCase:
- match = test
-
- if not match:
- LogFactory().log("--choose: No applicable/valid tests chosen")
- sys.exit(1)
- else:
- Tests.append(match)
-
- # Scenario selection
- if Environment["scenario"] == "basic-sanity":
- scenario = RandomTests(cm, [ BasicSanityCheck(Environment) ], Audits, Tests)
-
- elif Environment["scenario"] == "all-once":
- NumIter = len(Tests)
- scenario = AllOnce(
- cm, [ BootCluster(Environment) ], Audits, Tests)
- elif Environment["scenario"] == "sequence":
- scenario = Sequence(
- cm, [ BootCluster(Environment) ], Audits, Tests)
- elif Environment["scenario"] == "boot":
- scenario = Boot(cm, [ LeaveBooted(Environment)], Audits, [])
- else:
- scenario = RandomTests(
- cm, [ BootCluster(Environment) ], Audits, Tests)
-
- LogFactory().log(">>>>>>>>>>>>>>>> BEGINNING " + repr(NumIter) + " TEST" + plural_s(NumIter, True) + " ")
- LogFactory().log("Stack: %s (%s)" % (Environment["Stack"], Environment["Name"]))
- LogFactory().log("Schema: %s" % Environment["Schema"])
- LogFactory().log("Scenario: %s" % scenario.__doc__)
- LogFactory().log("CTS Exerciser: %s" % Environment["cts-exerciser"])
- LogFactory().log("CTS Logfile: %s" % Environment["OutputFile"])
- LogFactory().log("Random Seed: %s" % Environment["RandSeed"])
- LogFactory().log("Syslog variant: %s" % Environment["syslogd"].strip())
- LogFactory().log("System log files: %s" % Environment["LogFileName"])
- if Environment.has_key("IPBase"):
- LogFactory().log("Base IP for resources: %s" % Environment["IPBase"])
- LogFactory().log("Cluster starts at boot: %d" % Environment["at-boot"])
-
- Environment.dump()
- rc = Environment.run(scenario, NumIter)
- sys.exit(rc)