You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Registry cache install task fails with the cache off: loop value must resolve to a list #71
With the registry cache off (the default), running the github_runner_arc role fails at Registry cache: install the cache in roles/github_runner_arc/tasks/install_registry_cache.yml with:
The `loop` value must resolve to a 'list', not 'dict'.
The task sits in a block guarded by when: github_runner_arc_registry_cache_enabled | bool, but Ansible templates a task's loop before it evaluates when, so the guard never stops the loop from being resolved. The loop is github_runner_arc_registry_cache_resources, which tasks/render_registry_cache.yml only sets as a fact when the cache is on. With it off, the name resolves to the role default in defaults/main.yml, the container requests and limits dict, and the loop fails. The same name is therefore used for two different things: the container resources setting and the list of rendered manifests.
It is not specific to --check: it reproduces in a normal run and in check mode, on ansible-core 2.21.4, against a stand-in for kubernetes.core. Seen on release v1.26.1.
Fix: give the rendered manifests their own variable so the default can never be looped over, and cover the install tasks with the cache off and on, in both modes.
Activity
fix(arc): stop the registry cache install loop resolving the containe…