From 7e6651baf5364c9c2a22d2ae26f09feac9f2e539 Mon Sep 17 00:00:00 2001 From: Zack Cerza Date: Mon, 22 Jun 2026 12:57:41 -0600 Subject: [PATCH 1/2] teuthology-node-cleanup: improve logging --- scripts/node_cleanup.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/scripts/node_cleanup.py b/scripts/node_cleanup.py index a2cb82602..928dfb7cf 100755 --- a/scripts/node_cleanup.py +++ b/scripts/node_cleanup.py @@ -15,10 +15,12 @@ def main(): teuthology.log.setLevel(logging.DEBUG) else: teuthology.log.setLevel(100) + # regardless of verbosity we do not want to log console stuff + logging.getLogger("teuthology.orchestra.console").setLevel(logging.WARNING) logger = logging.getLogger() for handler in logger.handlers: handler.setFormatter( - logging.Formatter('%(message)s') + logging.Formatter("%(asctime)s %(message)s", datefmt="%Y-%m-%dT%H:%M:%S") ) try: stale = query.find_stale_locks( @@ -28,8 +30,8 @@ def main(): except Exception: log.exception(f"Error while check for stale locks held by {args.owner}") return + log.debug(f"Stale nodes: {len(stale)}") if not stale: - log.debug("No stale nodes found.") return by_owner = {} for node in stale: @@ -50,7 +52,7 @@ def main(): else: for owner, nodes in by_owner.items(): ops.unlock_safe([node["name"] for node in nodes], owner) - log.info(f"unlocked {len(stale)} nodes") + log.info(f"Unlocked {len(stale)} nodes") def parse_args(argv): parser = argparse.ArgumentParser( From fd3a3c5879d51b23f4a39ba389647b499fd930c1 Mon Sep 17 00:00:00 2001 From: Zack Cerza Date: Tue, 23 Jun 2026 16:32:05 -0600 Subject: [PATCH 2/2] systemd: Add files for teuthology-node-cleanup Signed-off-by: Zack Cerza --- systemd/teuthology-node-cleanup@.service | 9 +++++++++ systemd/teuthology-node-cleanup@.timer | 8 ++++++++ 2 files changed, 17 insertions(+) create mode 100644 systemd/teuthology-node-cleanup@.service create mode 100644 systemd/teuthology-node-cleanup@.timer diff --git a/systemd/teuthology-node-cleanup@.service b/systemd/teuthology-node-cleanup@.service new file mode 100644 index 000000000..c46d5cebb --- /dev/null +++ b/systemd/teuthology-node-cleanup@.service @@ -0,0 +1,9 @@ +[Unit] +Description=Teuthology Node Cleanup + +[Service] +Type=simple +User=teuthworker +Environment=REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt +ExecSearchPath=/home/teuthworker/src/teuthology_main/.venv/bin +ExecStart=uv run teuthology-node-cleanup --machine-type %i diff --git a/systemd/teuthology-node-cleanup@.timer b/systemd/teuthology-node-cleanup@.timer new file mode 100644 index 000000000..bfff5fdb3 --- /dev/null +++ b/systemd/teuthology-node-cleanup@.timer @@ -0,0 +1,8 @@ +[Unit] +Description=Run Teuthology Node Cleanup + +[Timer] +OnUnitActiveSec=15m + +[Install] +WantedBy=timers.target