diff --git a/lib/ansible/callbacks.py b/lib/ansible/callbacks.py index 0ab0db1dd6a..b534d2b9dcf 100644 --- a/lib/ansible/callbacks.py +++ b/lib/ansible/callbacks.py @@ -595,6 +595,11 @@ class PlaybookCallbacks(object): if name == self.start_at or fnmatch.fnmatch(name, self.start_at): # we found out match, we can get rid of this now del self.start_at + elif self.task.role_name: + # handle tasks prefixed with rolenames + actual_name = name.split('|', 1)[1].lstrip() + if actual_name == self.start_at or fnmatch.fnmatch(actual_name, self.start_at): + del self.start_at if hasattr(self, 'start_at'): # we still have start_at so skip the task self.skip_task = True