Вместо того, чтобы исправить ваш отказ (который, вероятно, сработает в конце), я предлагаю выполнить работу заранее: удалите хост из группы all
перед извлечением данных. Вот идея:
discovery_hosts: >-
{{
groups['all'] |
difference([inventory_hostname]) |
map('extract', hostvars, 'ansible_host') |
join(',')
}}
Обратите внимание, что имя для удаления содержится в inventory_hostname
(как заявлено в вашем инвентаре). Помните также, что ansible_host
будет существовать, только если вы явно заявили об этом в своем инвентаре.