I'm running an ansible playbook on my machine, and every task completes successfully except for several steps that involve unpacking various zip and tar.gz archives into /usr/local/lib. Here's an example of such an error message:

TASK: [sd_dev | Unpack /usr/local/lib/eclipse-standard-kepler-SR2-linux-gtk-x86_64.tar.gz] ***
failed: [localhost] => {"failed": true}
msg: dest '/usr/local/lib' must be an existing dir

I can't figure out why this happens because manually running the command works fine. Is it possible this is related to sudo permissions (I was prompted for my sudo password when running the playbook). Any ideas what could be going wrong?

  • 1
    Have you tried a file task to ensure /usr/local/lib exists as a directory first? Seems like a pretty clear error message... – ceejayoz Oct 16 '14 at 18:13
  • The directory exists (see the last part of the question where I mentioned that unpacking works fine on the command line). – jonderry Oct 16 '14 at 20:07
  • 2
    run with -vvv to see a lot more details about what's happening. – Mxx Oct 17 '14 at 5:08

This appears to be an ansible bug. You will probably be able to work around it if you read the ticket.

  • I'd be tempted to convert the tgz into a system package (deb, rpm) etc, then use package management modules to install it – Tom O'Connor Oct 18 '14 at 7:17
  • v1.9.1 seems fix the problem. – okwap Jun 5 '15 at 0:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.