Ok so from your playbook: - name: Execute .osx
# TODO: doesn't run commands that use PlistBuddy or sqlite3 shell: ./osx.sh --ansible notify: killall Inside osx.sh are PlistBuddy and sqlite3 absolute-pathed? I assume they are not. I suspect they are in a path defined in your local environment, and won't be in the path for ansible, because of the way we enforce centralized and reliable configurations - not trusting 500 servers who might all have different .bashrcs, etc, we don't log in with interactive shells. You'll want to read this section: http://docs.ansible.com/playbooks_environment.html Then: - name: Execute .osx # TODO: doesn't run commands that use PlistBuddy or sqlite3 shell: ./osx.sh --ansible notify: killall environment: PATH: "/usr/bin:/opt/where/is/buddy/bin:/opt/where/is/sqlite3/bin" And you should be good to go. I got a very nice recent PR to make the environment keyword also be applied at play level, though right now it's task level only. On Wed, Aug 20, 2014 at 6:20 AM, Dan Bohea <[email protected]> wrote: > Sure, the role that attempts to run the bash script is here: > > > https://bitbucket.org/dbohea/mac-setup-playbook/src/414cda3c20b9e20d82c34a2776d0d0c34b6c5d97/roles/osx/tasks/main.yml?at=master > > > > On Wednesday, 20 August 2014 02:44:24 UTC+1, Michael DeHaan wrote: > >> Can I see the playbook line in question. >> >> Many things don't trust the system path, but most of them do. The >> command module is one of those things. >> >> Though if you need explicit environment variable control, take a look >> here: >> >> http://docs.ansible.com/playbooks_environment.html >> >> >> >> On Tue, Aug 19, 2014 at 3:41 PM, Mark McCoy <[email protected]> wrote: >> >>> Yes, if the which command found the binary from within ansible, then it >>> should find it when running the script via ansible. That seems pretty odd >>> that it doesn't. I know that the script asks for the sudo password so you >>> can run it locally, but does it run via sudo when run by ansible? If so >>> then it would be using root's path and not yours. >>> >>> >>> ---- >>> Mark McCoy <http://markmccoy.us> >>> >>> >>> >>> On Tue, Aug 19, 2014 at 11:50 AM, Dan Bohea <[email protected]> wrote: >>> >>>> Thanks to some advice from elsewhere, I did try to run "shell: which >>>> sqlite3" from within my playbook and then compared the output to what >>>> I receive when I run "which sqlite3" in the command line. The results >>>> are the same. >>>> >>>> If there was a PATH issue with Ansible trying to run sqlite3, wouldn't >>>> the above test fail (i.e. output from each command wouldn't match)? >>>> >>>> On Tuesday, 19 August 2014 17:07:38 UTC+1, Mark McCoy wrote: >>>>> >>>>> It's probable something to do with the PATH in your bash environment. >>>>> When you login interactively, the .profile rc file gets run and normally >>>>> sets up the PATH. I would imagine that when you login via ansible you >>>>> don't >>>>> have the directory for PlistBuddy or sqlite3 in your PATH so those >>>>> commands >>>>> fail. >>>>> >>>>> You can either fiddle with your ssh_args in the ansible config files >>>>> to tell ssh to make the shell a login shell, or you can just put the full >>>>> path to Sqlite3 and PlistBuddy on those lines of your .bashrc file. >>>>> >>>>> >>>>> ---- >>>>> Mark McCoy <http://markmccoy.us> >>>>> >>>>> >>>>> >>>>> On Tue, Aug 19, 2014 at 4:16 AM, Dan Bohea <[email protected]> wrote: >>>>> >>>>>> I'm writing a Mac setup playbook and am borrowing heavily from >>>>>> various "dotfiles" around the web to help with configuring certain >>>>>> aspects >>>>>> of OS X. >>>>>> >>>>>> Here's my current dotfile which is effectively just a bash script: >>>>>> >>>>>> https://bitbucket.org/dbohea/mac-setup-playbook/src/0b4d30a3 >>>>>> e44a16462d94808c66e15eba0aa44f7d/osx.sh?at=master >>>>>> >>>>>> This runs just fine directly from the command line. Oddly, when run >>>>>> from an Ansible playbook, none of the PlistBuddy or sqlite3 commands seem >>>>>> to work. >>>>>> >>>>>> Anyone know why this may be or what I can do to fix it? >>>>>> >>>>>> >>>>>> PS - Before anyone suggests it, it's nothing to do with the if >>>>>> statement at the end of the file - I've tested this. >>>>>> >>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "Ansible Project" group. >>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>> send an email to [email protected]. >>>>>> To post to this group, send email to [email protected]. >>>>>> To view this discussion on the web visit https://groups.google.com/d/ >>>>>> msgid/ansible-project/3d8b6856-9fb6-479e-a15b-7367d073264c% >>>>>> 40googlegroups.com >>>>>> <https://groups.google.com/d/msgid/ansible-project/3d8b6856-9fb6-479e-a15b-7367d073264c%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>> . >>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>> >>>>> >>>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Ansible Project" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> To post to this group, send email to [email protected]. >>>> To view this discussion on the web visit https://groups.google.com/d/ >>>> msgid/ansible-project/5bc8a7ec-e0ff-437d-9f33- >>>> ba305726833a%40googlegroups.com >>>> <https://groups.google.com/d/msgid/ansible-project/5bc8a7ec-e0ff-437d-9f33-ba305726833a%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Ansible Project" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To post to this group, send email to [email protected]. >>> To view this discussion on the web visit https://groups.google.com/d/ >>> msgid/ansible-project/CAP2%3DG9OU2fJBZskiMivMcV7PkJ6tJbeb >>> 3bwaOTOWDwbR2yGDQQ%40mail.gmail.com >>> <https://groups.google.com/d/msgid/ansible-project/CAP2%3DG9OU2fJBZskiMivMcV7PkJ6tJbeb3bwaOTOWDwbR2yGDQQ%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- > You received this message because you are subscribed to the Google Groups > "Ansible Project" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/ansible-project/bb810cc3-e386-4a39-ba49-43e47d11c0d9%40googlegroups.com > <https://groups.google.com/d/msgid/ansible-project/bb810cc3-e386-4a39-ba49-43e47d11c0d9%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Ansible Project" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/CA%2BnsWgzsT6%2BOZwnPtoVEeYxHgrx0fRD6z1KaoqSP9SDC5ts%3DYQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
