Skip to content

Commit 510a9b9

Browse files
authored
Add date to show version (sonic-net#2086)
- What I did Add the current date attribute to the "show version" output that includes the current date and hour on the switch. - How I did it In sonic-utilities, in the "version" subcommand, print of the current date will be added using "datetime" from the "datetime" library. - How to verify it Execute "show version" command and verify "Date" row under the "Uptime" row. Signed-off-by: EdenGri <[email protected]>
1 parent 61b1396 commit 510a9b9

File tree

2 files changed

+15
-10
lines changed

2 files changed

+15
-10
lines changed

doc/Command-Reference.md

+1
Original file line numberDiff line numberDiff line change
@@ -480,6 +480,7 @@ This command displays relevant information as the SONiC and Linux kernel version
480480
Model Number: MSN2700-CS2FO
481481
Hardware Rev: A1
482482
Uptime: 14:40:15 up 3 min, 1 user, load average: 1.26, 1.45, 0.66
483+
Date: Fri 22 Mar 2019 14:40:15
483484
484485
Docker images:
485486
REPOSITORY TAG IMAGE ID SIZE

show/main.py

+14-10
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
from tabulate import tabulate
1515
from utilities_common import util_base
1616
from utilities_common.db import Db
17+
from datetime import datetime
1718
import utilities_common.constants as constants
1819
from utilities_common.general import load_db_config
1920

@@ -1083,10 +1084,12 @@ def version(verbose):
10831084
version_info = device_info.get_sonic_version_info()
10841085
platform_info = device_info.get_platform_info()
10851086
chassis_info = platform.get_chassis_info()
1086-
1087+
10871088
sys_uptime_cmd = "uptime"
10881089
sys_uptime = subprocess.Popen(sys_uptime_cmd, shell=True, text=True, stdout=subprocess.PIPE)
10891090

1091+
sys_date = datetime.now()
1092+
10901093
click.echo("\nSONiC Software Version: SONiC.{}".format(version_info['build_version']))
10911094
click.echo("Distribution: Debian {}".format(version_info['debian_version']))
10921095
click.echo("Kernel: {}".format(version_info['kernel_version']))
@@ -1101,6 +1104,7 @@ def version(verbose):
11011104
click.echo("Model Number: {}".format(chassis_info['model']))
11021105
click.echo("Hardware Revision: {}".format(chassis_info['revision']))
11031106
click.echo("Uptime: {}".format(sys_uptime.stdout.read().strip()))
1107+
click.echo("Date: {}".format(sys_date.strftime("%a %d %b %Y %X")))
11041108
click.echo("\nDocker images:")
11051109
cmd = 'sudo docker images --format "table {{.Repository}}\\t{{.Tag}}\\t{{.ID}}\\t{{.Size}}"'
11061110
p = subprocess.Popen(cmd, shell=True, text=True, stdout=subprocess.PIPE)
@@ -1158,7 +1162,7 @@ def techsupport(since, global_timeout, cmd_timeout, verbose, allow_process_stop,
11581162

11591163
if since:
11601164
cmd += " -s '{}'".format(since)
1161-
1165+
11621166
if debug_dump:
11631167
cmd += " -d "
11641168

@@ -1263,7 +1267,7 @@ def snmp(ctx, db):
12631267

12641268
# ("show runningconfiguration snmp community")
12651269
@snmp.command('community')
1266-
@click.option('--json', 'json_output', required=False, is_flag=True, type=click.BOOL,
1270+
@click.option('--json', 'json_output', required=False, is_flag=True, type=click.BOOL,
12671271
help="Display the output in JSON format")
12681272
@clicommon.pass_db
12691273
def community(db, json_output):
@@ -1284,7 +1288,7 @@ def community(db, json_output):
12841288

12851289
# ("show runningconfiguration snmp contact")
12861290
@snmp.command('contact')
1287-
@click.option('--json', 'json_output', required=False, is_flag=True, type=click.BOOL,
1291+
@click.option('--json', 'json_output', required=False, is_flag=True, type=click.BOOL,
12881292
help="Display the output in JSON format")
12891293
@clicommon.pass_db
12901294
def contact(db, json_output):
@@ -1312,7 +1316,7 @@ def contact(db, json_output):
13121316

13131317
# ("show runningconfiguration snmp location")
13141318
@snmp.command('location')
1315-
@click.option('--json', 'json_output', required=False, is_flag=True, type=click.BOOL,
1319+
@click.option('--json', 'json_output', required=False, is_flag=True, type=click.BOOL,
13161320
help="Display the output in JSON format")
13171321
@clicommon.pass_db
13181322
def location(db, json_output):
@@ -1339,13 +1343,13 @@ def location(db, json_output):
13391343

13401344
# ("show runningconfiguration snmp user")
13411345
@snmp.command('user')
1342-
@click.option('--json', 'json_output', required=False, is_flag=True, type=click.BOOL,
1346+
@click.option('--json', 'json_output', required=False, is_flag=True, type=click.BOOL,
13431347
help="Display the output in JSON format")
13441348
@clicommon.pass_db
13451349
def users(db, json_output):
13461350
"""show SNMP running configuration user"""
13471351
snmp_users = db.cfgdb.get_table('SNMP_USER')
1348-
snmp_user_header = ['User', "Permission Type", "Type", "Auth Type", "Auth Password", "Encryption Type",
1352+
snmp_user_header = ['User', "Permission Type", "Type", "Auth Type", "Auth Password", "Encryption Type",
13491353
"Encryption Password"]
13501354
snmp_user_body = []
13511355
if json_output:
@@ -1358,7 +1362,7 @@ def users(db, json_output):
13581362
snmp_user_encryption_type = snmp_users[snmp_user].get('SNMP_USER_ENCRYPTION_TYPE', 'Null')
13591363
snmp_user_encryption_password = snmp_users[snmp_user].get('SNMP_USER_ENCRYPTION_PASSWORD', 'Null')
13601364
snmp_user_type = snmp_users[snmp_user].get('SNMP_USER_TYPE', 'Null')
1361-
snmp_user_body.append([snmp_user, snmp_user_permissions_type, snmp_user_type, snmp_user_auth_type,
1365+
snmp_user_body.append([snmp_user, snmp_user_permissions_type, snmp_user_type, snmp_user_auth_type,
13621366
snmp_user_auth_password, snmp_user_encryption_type, snmp_user_encryption_password])
13631367
click.echo(tabulate(natsorted(snmp_user_body), snmp_user_header))
13641368

@@ -1375,7 +1379,7 @@ def show_run_snmp(db, ctx):
13751379
snmp_contact_body = []
13761380
snmp_comm_header = ["Community String", "Community Type"]
13771381
snmp_comm_body = []
1378-
snmp_user_header = ['User', "Permission Type", "Type", "Auth Type", "Auth Password", "Encryption Type",
1382+
snmp_user_header = ['User', "Permission Type", "Type", "Auth Type", "Auth Password", "Encryption Type",
13791383
"Encryption Password"]
13801384
snmp_user_body = []
13811385
try:
@@ -1409,7 +1413,7 @@ def show_run_snmp(db, ctx):
14091413
snmp_user_encryption_type = snmp_users[snmp_user].get('SNMP_USER_ENCRYPTION_TYPE', 'Null')
14101414
snmp_user_encryption_password = snmp_users[snmp_user].get('SNMP_USER_ENCRYPTION_PASSWORD', 'Null')
14111415
snmp_user_type = snmp_users[snmp_user].get('SNMP_USER_TYPE', 'Null')
1412-
snmp_user_body.append([snmp_user, snmp_user_permissions_type, snmp_user_type, snmp_user_auth_type,
1416+
snmp_user_body.append([snmp_user, snmp_user_permissions_type, snmp_user_type, snmp_user_auth_type,
14131417
snmp_user_auth_password, snmp_user_encryption_type, snmp_user_encryption_password])
14141418
click.echo(tabulate(natsorted(snmp_user_body), snmp_user_header))
14151419

0 commit comments

Comments
 (0)