From d6f2ea90a8dd4eac0c0aeb8505e1b10d4ad58710 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torbj=C3=B8rn=20Lindahl?= Date: Wed, 4 Feb 2026 22:04:29 +0100 Subject: [PATCH] fix: add missing _get_container_info method to AsyncDockerClient docker_service.get_container_info() was calling self._docker_client._get_container_info() but AsyncDockerClient didn't have this method, causing silent AttributeError and returning None, which triggered false health check failures. Added _get_container_info() using aiodocker's container.show() to properly retrieve container state information for health monitoring. --- session-manager/async_docker_client.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/session-manager/async_docker_client.py b/session-manager/async_docker_client.py index 5c00b0d..e6ffb44 100644 --- a/session-manager/async_docker_client.py +++ b/session-manager/async_docker_client.py @@ -199,6 +199,23 @@ class AsyncDockerClient: except DockerError: return None + async def _get_container_info(self, container_id: str) -> Optional[Dict[str, Any]]: + """ + Get detailed container information (equivalent to docker inspect). + + Returns the full container info dict including State, Config, etc. + """ + try: + container = await self._docker.containers.get(container_id) + if container: + # show() returns the full container inspect data + return await container.show() + except DockerError as e: + logger.debug(f"Failed to get container info for {container_id}: {e}") + except Exception as e: + logger.debug(f"Unexpected error getting container info: {e}") + return None + async def list_containers( self, all: bool = False, filters: Optional[Dict[str, Any]] = None ) -> List[DockerContainer]: