From a119a2c8180237458ef2a939e4838739f8fcd4fd Mon Sep 17 00:00:00 2001 From: Zack Cerza Date: Thu, 10 Apr 2025 13:22:08 -0600 Subject: [PATCH] scripts: Delay imports for performance Signed-off-by: Zack Cerza --- scripts/dispatcher.py | 7 ++++--- scripts/exporter.py | 3 +-- scripts/lock.py | 8 ++++---- scripts/ls.py | 3 +-- scripts/prune_logs.py | 2 +- scripts/report.py | 4 +++- scripts/results.py | 2 +- scripts/schedule.py | 5 ++--- scripts/supervisor.py | 6 +++--- scripts/updatekeys.py | 5 ++--- 10 files changed, 22 insertions(+), 23 deletions(-) diff --git a/scripts/dispatcher.py b/scripts/dispatcher.py index 45dd61b264..2d84300913 100644 --- a/scripts/dispatcher.py +++ b/scripts/dispatcher.py @@ -1,8 +1,6 @@ import argparse import sys -import teuthology.dispatcher.supervisor - from .supervisor import parse_args as parse_supervisor_args @@ -46,6 +44,7 @@ def parse_args(argv): def main(): if "--supervisor" in sys.argv: + import teuthology.dispatcher.supervisor # This is for transitional compatibility, so the old dispatcher can # invoke the new supervisor. Once old dispatchers are phased out, # this block can be as well. @@ -55,7 +54,9 @@ def main(): parse_supervisor_args(sys.argv[1:]) )) else: - sys.exit(teuthology.dispatcher.main(parse_args(sys.argv[1:]))) + args = parse_args(sys.argv[1:]) + import teuthology.dispatcher + sys.exit(teuthology.dispatcher.main(args)) if __name__ == "__main__": diff --git a/scripts/exporter.py b/scripts/exporter.py index 438d5d3f32..a886c9c7a7 100644 --- a/scripts/exporter.py +++ b/scripts/exporter.py @@ -1,7 +1,5 @@ import docopt -import teuthology.exporter - doc = """ usage: teuthology-exporter --help teuthology-exporter [--interval INTERVAL] @@ -15,4 +13,5 @@ optional arguments: def main(): args = docopt.docopt(doc) + import teuthology.exporter teuthology.exporter.main(args) diff --git a/scripts/lock.py b/scripts/lock.py index 69e50ccafb..7915cc9939 100644 --- a/scripts/lock.py +++ b/scripts/lock.py @@ -2,9 +2,6 @@ import argparse import textwrap import sys -import teuthology.lock -import teuthology.lock.cli - def _positive_int(string): value = int(string) @@ -15,7 +12,10 @@ def _positive_int(string): def main(): - sys.exit(teuthology.lock.cli.main(parse_args(sys.argv[1:]))) + args = parse_args(sys.argv[1:]) + import teuthology.lock + import teuthology.lock.cli + sys.exit(teuthology.lock.cli.main(args)) def parse_args(argv): diff --git a/scripts/ls.py b/scripts/ls.py index 5c9b33be36..71edcada9a 100644 --- a/scripts/ls.py +++ b/scripts/ls.py @@ -11,9 +11,8 @@ optional arguments: -v, --verbose show reasons tests failed """ import docopt -import teuthology.ls - def main(): args = docopt.docopt(__doc__) + import teuthology.ls teuthology.ls.main(args) diff --git a/scripts/prune_logs.py b/scripts/prune_logs.py index 424b4b7b7d..4d2a638c68 100644 --- a/scripts/prune_logs.py +++ b/scripts/prune_logs.py @@ -1,7 +1,6 @@ import docopt import teuthology.config -import teuthology.prune doc = """ usage: @@ -35,4 +34,5 @@ optional arguments: def main(): args = docopt.docopt(doc) + import teuthology.prune teuthology.prune.main(args) diff --git a/scripts/report.py b/scripts/report.py index d2b39d3c5a..aa969bd149 100644 --- a/scripts/report.py +++ b/scripts/report.py @@ -1,6 +1,7 @@ import docopt -import teuthology.report +import teuthology.config + doc = """ usage: @@ -39,4 +40,5 @@ optional arguments: def main(): args = docopt.docopt(doc) + import teuthology.report teuthology.report.main(args) diff --git a/scripts/results.py b/scripts/results.py index 99e70a3fd0..2deca5f5a6 100644 --- a/scripts/results.py +++ b/scripts/results.py @@ -17,9 +17,9 @@ optional arguments: --no-nested-subset disable nested subsets used in teuthology-suite """ import docopt -import teuthology.results def main(): args = docopt.docopt(__doc__) + import teuthology.results teuthology.results.main(args) diff --git a/scripts/schedule.py b/scripts/schedule.py index 58f7a46249..dcdacb515c 100644 --- a/scripts/schedule.py +++ b/scripts/schedule.py @@ -1,7 +1,4 @@ import docopt - -import teuthology.misc -import teuthology.schedule import sys doc = """ @@ -58,4 +55,6 @@ optional arguments: def main(argv=sys.argv[1:]): args = docopt.docopt(doc, argv=argv) + import teuthology.misc + import teuthology.schedule teuthology.schedule.main(args) diff --git a/scripts/supervisor.py b/scripts/supervisor.py index 7450473eb1..90691f19f3 100644 --- a/scripts/supervisor.py +++ b/scripts/supervisor.py @@ -1,8 +1,6 @@ import argparse import sys -import teuthology.dispatcher.supervisor - def parse_args(argv): parser = argparse.ArgumentParser( @@ -37,7 +35,9 @@ def parse_args(argv): def main(): - sys.exit(teuthology.dispatcher.supervisor.main(parse_args(sys.argv[1:]))) + args = parse_args(sys.argv[1:]) + import teuthology.dispatcher.supervisor + sys.exit(teuthology.dispatcher.supervisor.main(args)) if __name__ == "__main__": diff --git a/scripts/updatekeys.py b/scripts/updatekeys.py index 394ae32bb1..36d601dde0 100644 --- a/scripts/updatekeys.py +++ b/scripts/updatekeys.py @@ -1,9 +1,6 @@ import docopt import sys -import teuthology.lock -import teuthology.lock.cli - doc = """ usage: teuthology-updatekeys -h teuthology-updatekeys [-v] -t @@ -27,5 +24,7 @@ optional arguments: def main(): args = docopt.docopt(doc) + import teuthology.lock + import teuthology.lock.cli status = teuthology.lock.cli.updatekeys(args) sys.exit(status) -- 2.39.5