From cd432715c1b91449b4f3193ae4cd137300d9952a Mon Sep 17 00:00:00 2001 From: Nils Philippsen Date: Tue, 9 Jun 2020 15:33:11 +0200 Subject: [PATCH] Don't pop from currently iterated dict Avoids: "RuntimeError: dictionary changed size during iteration" Signed-off-by: Nils Philippsen --- lib/ansiblereview/groupvars.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/ansiblereview/groupvars.py b/lib/ansiblereview/groupvars.py index 3245c80..70441c0 100644 --- a/lib/ansiblereview/groupvars.py +++ b/lib/ansiblereview/groupvars.py @@ -38,12 +38,15 @@ def remove_inherited_and_overridden_vars(vars, group, inventory): if group not in _vars: _vars[group] = get_group_vars(group, inventory) gv = _vars[group] + keys_to_pop = [] for (k, v) in vars.items(): if k in gv: if gv[k] == v: - vars.pop(k) + keys_to_pop.append(k) else: gv.pop(k) + for k in keys_to_pop: + vars.pop(k) def remove_inherited_and_overridden_group_vars(group, inventory): -- 2.26.2