from ceph.deployment.hostspec import SpecValidationError
from ceph.utils import datetime_now
-from mgr_util import to_pretty_timedelta, format_dimless
+from mgr_util import to_pretty_timedelta, format_dimless, format_bytes
from mgr_module import MgrModule, HandleCommandResult, Option
from ._interface import OrchestratorClientMixin, DeviceLightLoc, _cli_read_command, \
return '-'
+def nice_bytes(v: Optional[int]) -> str:
+ if not v:
+ return '-'
+ return format_bytes(v, 5)
+
+
class Format(enum.Enum):
plain = 'plain'
json = 'json'
table = PrettyTable(
['NAME', 'HOST', 'PORTS',
'STATUS', 'REFRESHED', 'AGE',
+ 'MEM USE', 'MEM LIM',
'VERSION', 'IMAGE ID', 'CONTAINER ID'],
border=False)
table.align = 'l'
+ table._align['REFRESHED'] = 'r'
+ table._align['AGE'] = 'r'
+ table._align['MEM USE'] = 'r'
+ table._align['MEM LIM'] = 'r'
table.left_padding_width = 0
table.right_padding_width = 2
for s in sorted(daemons, key=lambda s: s.name()):
status,
nice_delta(now, s.last_refresh, ' ago'),
nice_delta(now, s.created),
+ nice_bytes(s.memory_usage),
+ nice_bytes(s.memory_request),
ukn(s.version),
ukn(s.container_image_id)[0:12],
ukn(s.container_id)))