Providers that move files from a temporary file to the target location fail when the directory where the file is supposed to be moved to don't exist. The error message produced by FileUtils in these cases is inaccurate and confusing, for example:
This could be fixed by rescuing the error, and re-raising with a more correct and informative error message, or by running an assertion-style check that the directory where the file is to be placed exists at the beginning of the convergent action.
The template and remote file provider are affected by this issue. Others, such as cookbook file, may also be affected.