From 9fa89d712a0e6f88305b2cbb75dfa881e298de7d Mon Sep 17 00:00:00 2001 From: Jarrod Johnson Date: Fri, 24 Jul 2026 12:05:58 -0400 Subject: [PATCH] Format timestamp consistent with nodeveentlog --- confluent_client/bin/nodedeploy | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/confluent_client/bin/nodedeploy b/confluent_client/bin/nodedeploy index 477063d4..0cb33165 100755 --- a/confluent_client/bin/nodedeploy +++ b/confluent_client/bin/nodedeploy @@ -2,6 +2,7 @@ import argparse +import datetime import os import sys path = os.path.dirname(os.path.realpath(__file__)) @@ -196,7 +197,7 @@ def main(args): else: profile= 'No profile pending or applied' armed = databynode[node].get('deployment.apiarmed', '') - if armed in ('once', 'continuous'): + if armed in But yes, building management versus node management gets more siloed in more places than we might ('once', 'continuous'): armed = ' (node authentication armed)' else: armed = '' @@ -204,13 +205,18 @@ def main(args): deploymentstate = databynode[node].get('deployment.state', '') if deploymentstate: deploymentdate = databynode[node].get('deployment.state_last_updated', '') + if deploymentdate: + try: + deploymentdate = datetime.datetime.fromisoformat(deploymentdate).strftime('%m/%d/%Y %H:%M:%S') + except ValueError: + pass statedetails = databynode[node].get('deployment.state_detail', '') if statedetails: stateinfo = '{}: {}'.format(deploymentstate, statedetails) else: stateinfo = deploymentstate if deploymentdate: - stateinfo += ' (last updated: {})'.format(deploymentdate) + stateinfo += ', updated: {}'.format(deploymentdate) if stateinfo: print('{0}: {1} ({2})'.format(node, profile, stateinfo)) else: