So I took the shell command piece by piece, and it looks like it was failing due to two pipes strung together. Once I slimmted it down to ps -ef | grep '/apps/scope/manh/MIP/profile-root' it worked fine. My following conditional then handles the extra grep PID that it returns now.
On Wednesday, November 23, 2016 at 1:04:44 PM UTC-6, [email protected] wrote: > > Hello - Assistance requested > > I'm encountering a shell module failure in a play I'm testing. My end goal > is to validate if my app "MIP" is down or not. Plan is to check for the > running process, then conditionally fail out as needed. My sample shell > command is failing but I can't determine why. The actual error output isn't > helpful. > > Code: > - name: Validate MIP is down > hosts: "{{ target }}" > tasks: > - shell: "ps -ef | grep '/apps/scope/manh/MIP/profile-root' | grep -v > grep" > # - shell: "ps -ef | grep '{{ MIP_HOME }}/profile-root' | grep -v grep" > register: mip_output > changed_when: false > > Error Output: > >> wmspt@dtl01lnxap01a:/manh$ ansible-playbook pb-running-validation.yml >> --extra-vars "target=Test5 ant_handlers=false" -vvv >> > > >> Using /manh/ansible.cfg as config file >> PLAYBOOK: pb-running-validation.yml >> ******************************************** >> 1 plays in pb-running-validation.yml >> PLAY [Validate MIP is down] >> **************************************************** >> TASK [setup] >> ******************************************************************* >> <...> >> ok: [ptl01a0fap006] >> TASK [command] >> ***************************************************************** >> task path: /manh/pb-running-validation.yml:7 >> <...> >> fatal: [ptl01a0fap006]: FAILED! => {"changed": false, "cmd": "ps -ef | >> grep '/apps/scope/manh/MIP/profile-root' | grep -v grep", "delta": >> "0:00:00.125571", "end": "2016-11-23 12:58:48.369056", "failed": true, >> "invocation": {"module_args": {"_raw_params": "ps -ef | grep >> '/apps/scope/manh/MIP/profile-root' | grep -v grep", "_uses_shell": true, >> "chdir": null, "creates": null, "executable": null, "removes": null, >> "warn": true}, "module_name": "command"}, "rc": 1, "start": "2016-11-23 >> 12:58:48.243485", "stderr": "", "stdout": "", "stdout_lines": [], >> "warnings": []} > > > The command itself works fine when executed manually on the target server. > > Perhaps it's something with the shell module > <http://docs.ansible.com/ansible/shell_module.html>? It looks like shell > module is frowned upon based on the docs. Perhaps there is a way to turn > this command into something that the actually command module can parse. > > Thanks > -- 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/37cb6030-4b40-4104-b13f-6d15b751ea45%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
