diff --git a/lib/ansible/runner/action_plugins/group_by.py b/lib/ansible/runner/action_plugins/group_by.py index d65ec24dd0f..35c39d226ba 100644 --- a/lib/ansible/runner/action_plugins/group_by.py +++ b/lib/ansible/runner/action_plugins/group_by.py @@ -20,7 +20,7 @@ import ansible from ansible.callbacks import vv from ansible.errors import AnsibleError as ae from ansible.runner.return_data import ReturnData -from ansible.utils import parse_kv, template +from ansible.utils import parse_kv, template, check_conditional class ActionModule(object): ''' Create inventory groups based on variables ''' @@ -46,6 +46,8 @@ class ActionModule(object): groups = {} for host in self.runner.host_set: data = inject['hostvars'][host] + if not check_conditional(template(self.runner.basedir, self.runner.conditional, data)): + continue group_name = template(self.runner.basedir, args['key'], data) group_name = group_name.replace(' ','-') if group_name not in groups: