From 627f9d73ba9c5734cade9e65a57a8aabac615696 Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Mon, 21 Sep 2015 12:31:14 -0700 Subject: [PATCH] Detect if core modules aren't installed and warn if that is the case Fixes #11206 --- lib/ansible/parsing/mod_args.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/ansible/parsing/mod_args.py b/lib/ansible/parsing/mod_args.py index a6ccaa0a565..ad4293013b3 100644 --- a/lib/ansible/parsing/mod_args.py +++ b/lib/ansible/parsing/mod_args.py @@ -275,7 +275,14 @@ class ModuleArgsParser: # if we didn't see any module in the task at all, it's not a task really if action is None: - raise AnsibleParserError("no action detected in task", obj=self._task_ds) + if 'ping' not in module_loader: + raise AnsibleParserError("The requested action was not found in configured module paths. " + "Additionally, core modules are missing. If this is a checkout, " + "run 'git submodule update --init --recursive' to correct this problem.", + obj=self._task_ds) + + else: + raise AnsibleParserError("no action detected in task", obj=self._task_ds) elif args.get('_raw_params', '') != '' and action not in RAW_PARAM_MODULES: templar = Templar(loader=None) raw_params = args.pop('_raw_params')