from .call_wrappers import call, call_throws, CallVerbosity
from .constants import DEFAULT_TIMEOUT
from ceph.cephadm.images import DefaultImages
-from .container_engines import Docker, Podman
+from .container_engines import (
+ ContainerInfo,
+ Docker,
+ Podman,
+ parsed_container_stats,
+)
from .context import CephadmContext
from .daemon_identity import DaemonIdentity, DaemonSubIdentity
from .exceptions import Error
f'{mgr_prefix}{image.key}': image.image_ref for image in DefaultImages
}
return mgr_images
+
+
+def get_container_stats(
+ ctx: CephadmContext, identity: DaemonIdentity, *, container_path: str = ''
+) -> Optional[ContainerInfo]:
+ """returns container id, image name, image id, created time, and ceph version if available"""
+ c = CephContainer.for_daemon(ctx, identity, 'bash')
+ for name in (c.cname, c.old_cname):
+ ci = parsed_container_stats(ctx, name, container_path=container_path)
+ if ci is not None:
+ return ci
+ return None