Fix container resource sampling and surface collection failures
This commit is contained in:
@@ -124,6 +124,7 @@ class AgentTests(unittest.TestCase):
|
||||
self.assertEqual(samples[0]["cpuCores"], 1.5)
|
||||
self.assertEqual(samples[0]["memoryBytes"], int(384.5 * 1024 ** 2))
|
||||
self.assertGreater(samples[0]["uptimeSeconds"], 300)
|
||||
self.assertEqual(call.call_args_list[0].args, ("container", "ls", "--filter", "label=io.electric-cherry.managed=true", "--no-trunc", "--format", "{{.ID}}"))
|
||||
self.assertEqual(call.call_args_list[-1].args, ("stats", "--no-stream", "--no-trunc", "--format", "{{json .}}", name))
|
||||
|
||||
def test_instance_resources_ignores_stopped_foreign_and_mismatched_containers(self):
|
||||
@@ -149,7 +150,13 @@ class AgentTests(unittest.TestCase):
|
||||
with patch.object(self.docker, "call", side_effect=["container-id\n", json.dumps([self.resource_container()]), json.dumps(good)]):
|
||||
self.assertEqual(self.agent.instance_resources()[0]["cpuCores"], 0)
|
||||
with patch.object(self.agent, "instance_resources", side_effect=AgentError("timed out")):
|
||||
self.assertNotIn("instanceResources", self.agent.inventory())
|
||||
inventory = self.agent.inventory()
|
||||
self.assertNotIn("instanceResources", inventory)
|
||||
self.assertIn("sampling failed", inventory["instanceResourcesError"])
|
||||
with patch.object(self.agent, "instance_resources", return_value=[]):
|
||||
inventory = self.agent.inventory()
|
||||
self.assertEqual(inventory["instanceResources"], [])
|
||||
self.assertNotIn("instanceResourcesError", inventory)
|
||||
|
||||
def operation(self, kind, payload=None, op_id="operation-1", generation=1):
|
||||
return {"id": op_id, "kind": kind, "instanceId": INSTANCE, "generation": generation, "payload": payload or {}}
|
||||
|
||||
Reference in New Issue
Block a user