diff --git a/platform_monitoring/kube_client.py b/platform_monitoring/kube_client.py index 71373d12..0d3a4219 100644 --- a/platform_monitoring/kube_client.py +++ b/platform_monitoring/kube_client.py @@ -278,8 +278,10 @@ def from_primitive(cls, payload: JSON) -> t.Self: def get_container_status(self, name: str) -> ContainerStatus: for status in self.status.container_statuses: if status.name == name: - return status.with_pod_restart_policy(self.spec.restart_policy) - return ContainerStatus(name=name) + break + else: + status = ContainerStatus(name=name) + return status.with_pod_restart_policy(self.spec.restart_policy) def get_container_id(self, name: str) -> str | None: for status in self.status.container_statuses: @@ -383,7 +385,7 @@ class ContainerStatus: state: t.Mapping[str, t.Any] = field(default_factory=dict) last_state: t.Mapping[str, t.Any] = field(default_factory=dict) - pod_restart_policy: PodRestartPolicy = PodRestartPolicy.NEVER + pod_restart_policy: PodRestartPolicy = PodRestartPolicy.ALWAYS @classmethod def from_primitive(cls, payload: JSON) -> t.Self: diff --git a/tests/unit/test_kube.py b/tests/unit/test_kube.py index a8e314c6..d731c3f0 100644 --- a/tests/unit/test_kube.py +++ b/tests/unit/test_kube.py @@ -15,6 +15,7 @@ Pod, PodContainerStats, PodPhase, + PodRestartPolicy, StatsSummary, ) from platform_monitoring.logs import filter_out_rpc_error @@ -63,7 +64,9 @@ def test_container_status(self) -> None: } ) container_status = pod.get_container_status("testcontainer") - assert container_status == ContainerStatus(name="testcontainer") + assert container_status == ContainerStatus( + name="testcontainer", pod_restart_policy=PodRestartPolicy.NEVER + ) def test_no_container_id(self) -> None: pod = Pod.from_primitive(