diff options
author | Viacheslav Hletenko <v.gletenko@vyos.io> | 2022-10-28 23:33:15 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-28 23:33:15 +0300 |
commit | 0514a2b854634b9073719519b7da3049efca90ad (patch) | |
tree | 2f0817796f5d2e4b5b27b3c5721bd12681ba5368 /src/op_mode/storage.py | |
parent | 562c367e8877086bbc66005f441339b847f243a2 (diff) | |
parent | b8b752d5b3503f2874a490582e212edd38c902fc (diff) | |
download | vyos-1x-0514a2b854634b9073719519b7da3049efca90ad.tar.gz vyos-1x-0514a2b854634b9073719519b7da3049efca90ad.zip |
Merge pull request #1624 from dmbaturin/op-mode-bytes
T4779: output raw memory and storage values in bytes
Diffstat (limited to 'src/op_mode/storage.py')
-rwxr-xr-x | src/op_mode/storage.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/op_mode/storage.py b/src/op_mode/storage.py index 75964c493..d16e271bd 100755 --- a/src/op_mode/storage.py +++ b/src/op_mode/storage.py @@ -20,6 +20,16 @@ import sys import vyos.opmode from vyos.util import cmd +# FIY: As of coreutils from Debian Buster and Bullseye, +# the outpt looks like this: +# +# $ df -h -t ext4 --output=source,size,used,avail,pcent +# Filesystem Size Used Avail Use% +# /dev/sda1 16G 7.6G 7.3G 51% +# +# Those field names are automatically normalized by vyos.opmode.run, +# so we don't touch them here, +# and only normalize values. def _get_system_storage(only_persistent=False): if not only_persistent: @@ -32,11 +42,19 @@ def _get_system_storage(only_persistent=False): return res def _get_raw_data(): + from re import sub as re_sub + from vyos.util import human_to_bytes + out = _get_system_storage(only_persistent=True) lines = out.splitlines() lists = [l.split() for l in lines] res = {lists[0][i]: lists[1][i] for i in range(len(lists[0]))} + res["Size"] = human_to_bytes(res["Size"]) + res["Used"] = human_to_bytes(res["Used"]) + res["Avail"] = human_to_bytes(res["Avail"]) + res["Use%"] = re_sub(r'%', '', res["Use%"]) + return res def _get_formatted_output(): |