From 487be8c49a8514f4249afd013aad33cadb4d3717 Mon Sep 17 00:00:00 2001 From: Enno Tensing Date: Wed, 30 Jul 2025 10:51:33 +0200 Subject: [PATCH] generate: container: Don't warn or crash on missing optional keys The entire accounting section is optional, so silently ignore when it is missing. Signed-off-by: Enno Tensing --- generate/container.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/generate/container.py b/generate/container.py index 026a6db..86cb3a3 100644 --- a/generate/container.py +++ b/generate/container.py @@ -66,6 +66,9 @@ class Cgroup: @classmethod def from_json(cls, val: ConfigValue, logger: Log) -> Self: """Create from JSON.""" + if val is None: + return cls([], "", "", "") + if not isinstance(val, dict): logger.log_warning("cgroup Config is invalid!") return cls([], "", "", "") @@ -130,6 +133,9 @@ class Cpu: @classmethod def from_json(cls, val: ConfigValue, logger: Log) -> Self: """Create from JSON.""" + if val is None: + return cls("", "", "", "", "", "") + if not isinstance(val, dict): logger.log_warning("cpu Config is invalid!") return cls("", "", "", "", "", "") @@ -184,6 +190,11 @@ class Accounting: @classmethod def from_json(cls, data: ConfigValue, logger: Log) -> Self: """Create from JSON.""" + if data is None: + return cls( + Cgroup.from_json(None, logger), Cpu.from_json(None, logger) + ) + cgroup_data = maybe(data, "cgroup") cpu_data = maybe(data, "cpu") cgroup = Cgroup.from_json(cgroup_data, logger)