diff --git a/lib/ansible/playbook.py b/lib/ansible/playbook.py index 3f411de144..6f404f39c2 100755 --- a/lib/ansible/playbook.py +++ b/lib/ansible/playbook.py @@ -338,16 +338,20 @@ class PlayBook(object): # for all registered handlers in the ansible playbook # for this particular pattern group + found = False for x in handlers: name = x.get('name', None) if name is None: raise errors.AnsibleError('handler is missing a name') if match_name == name: + found = True self.callbacks.on_notify(host, name) # flag the handler with the list of hosts it needs to be run on, it will be run later if not 'run' in x: x['run'] = [] x['run'].append(host) + if not found: + raise errors.AnsibleError("change handler (%s) is not defined" % match_name) # *****************************************************