Skip to content

Commit

Permalink
lock.query.find_stale_locks: Fix a false positive
Browse files Browse the repository at this point in the history
Also fix the return type and docstring, which were inconsistent.

Signed-off-by: Zack Cerza <[email protected]>
  • Loading branch information
zmc committed May 28, 2024
1 parent b853422 commit 5022dfb
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions teuthology/lock/query.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import os
import requests

from typing import Union
from typing import Dict, List, Union

from teuthology import misc
from teuthology.config import config
Expand Down Expand Up @@ -87,7 +87,7 @@ def list_locks(keyed_by_name=False, tries=10, **kwargs):
return dict()


def find_stale_locks(owner=None):
def find_stale_locks(owner=None) -> List[Dict]:
"""
Return a list of node dicts corresponding to nodes that were locked to run
a job, but the job is no longer running. The purpose of this is to enable
Expand Down Expand Up @@ -136,14 +136,17 @@ def node_active_job(name: str, status: Union[dict, None] = None) -> Union[str, N
:param node: The node dict as returned from the lock server
:param cache: A set() used for caching results
:returns: True or False
:returns: A string if the node has an active job, or None if not
"""
status = status or get_status(name)
if not status:
# This should never happen with a normal node
return "node had no status"
description = status['description']
(run_name, job_id) = description.split('/')[-2:]
if not run_name or job_id == '':
# We thought this node might have a stale job, but no.
return "node description does not contained scheduled job info"
url = f"{config.results_server}/runs/{run_name}/jobs/{job_id}/"
job_status = ""
with safe_while(
Expand Down

0 comments on commit 5022dfb

Please sign in to comment.