diff --git a/lib/ansible/plugins/action/unarchive.py b/lib/ansible/plugins/action/unarchive.py index 6a43259763..63ab6c549c 100644 --- a/lib/ansible/plugins/action/unarchive.py +++ b/lib/ansible/plugins/action/unarchive.py @@ -61,7 +61,10 @@ class ActionModule(ActionBase): if '_original_file' in task_vars: source = self._loader.path_dwim_relative(task_vars['_original_file'], 'files', source) else: - source = self._loader.path_dwim(source) + if self._task._role is not None: + source = self._loader.path_dwim_relative(self._task._role._role_path, 'files', source) + else: + source = self._loader.path_dwim(source) remote_checksum = self._remote_checksum(tmp, dest) if remote_checksum != '3':