From 3db781c8ea0f3194f800dce08de896649ecc861a Mon Sep 17 00:00:00 2001 From: Kyr Shatskyy Date: Tue, 30 Jun 2020 19:51:45 +0200 Subject: [PATCH] lock/cli: show up/down status when --brief This change makes --brief option to display 'up' and 'down' statuses. Fixes: https://tracker.ceph.com/issues/45569 Signed-off-by: Kyr Shatskyy --- teuthology/lock/cli.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/teuthology/lock/cli.py b/teuthology/lock/cli.py index ecb8374a45..9cc8210a22 100644 --- a/teuthology/lock/cli.py +++ b/teuthology/lock/cli.py @@ -122,13 +122,22 @@ def main(ctx): print(json.dumps(statuses, indent=4)) elif ctx.brief: + maxname = max((len(_['name'] or '') + for _ in statuses), default=0) + maxuser = max((len(_['locked_by'] or 'None') + for _ in statuses), default=0) + node_status_template = ( + '{{host:<{name}}} {{up:<4}} {{locked:<8}} ' + '{{owner:<{user}}} "{{desc}}"' + ).format(name=maxname, user=maxuser) for s in sorted(statuses, key=lambda s: s.get('name')): - locked = "un" if s['locked'] == 0 else " " + locked = 'unlocked' if s['locked'] == 0 else 'locked' + up = 'up' if s['up'] else 'down' mo = re.match('\w+@(\w+?)\..*', s['name']) host = mo.group(1) if mo else s['name'] - print('{host} {locked}locked {owner} "{desc}"'.format( - locked=locked, host=host, - owner=s['locked_by'], desc=s['description'])) + print(node_status_template.format( + up=up, locked=locked, host=host, + owner=s['locked_by'] or 'None', desc=s['description'])) else: frag = {'targets': {}} -- 2.39.5