From afc678e2c7bedf02a408614e614d46a38fc6ba55 Mon Sep 17 00:00:00 2001 From: Marcin Date: Tue, 21 May 2019 17:11:16 +0200 Subject: [PATCH] Raise error in case of empty hosts list in playbook (#56354) Fixes cases of playbook contaiing: - hosts: - ERROR! Unexpected Exception, this is probably a bug: sequence item 0: expected string, NoneType found --- lib/ansible/playbook/play.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/ansible/playbook/play.py b/lib/ansible/playbook/play.py index 706d396222..892c7ec2f5 100644 --- a/lib/ansible/playbook/play.py +++ b/lib/ansible/playbook/play.py @@ -103,6 +103,8 @@ class Play(Base, Taggable, CollectionSearch): @staticmethod def load(data, variable_manager=None, loader=None, vars=None): if ('name' not in data or data['name'] is None) and 'hosts' in data: + if data['hosts'] is None or all(host is None for host in data['hosts']): + raise AnsibleParserError("Hosts list cannot be empty - please check your playbook") if isinstance(data['hosts'], list): data['name'] = ','.join(data['hosts']) else: