exec command: command works on cli, but not via puppet

175 views
Skip to first unread message

hohum

unread,
May 27, 2012, 4:18:45 PM5/27/12
to puppet...@googlegroups.com
I'm a noob.  I'm wondering if I'm doing something fundamentally wrong and am looking for some debugging advise.

I get an error that the exec command failed because it returned 1 instead of 0 but when I copy the command puppet outputs as an error, and paste that into a shell it works perfectly.  The command's syntax is this:

/usr/bin/mysql -uroot -ppass < /path/to/sqlfile.sql # obviously not exactly the same

an exit code of 1 is "Operation not permitted"

I have temporarily disabled selinux.  puppet can create files owned by root in directories that only root can create them, so it shouldn't be a permissions problem.

Any ideas are very welcome.


Marc

hohum

unread,
May 27, 2012, 9:02:24 PM5/27/12
to puppet...@googlegroups.com
solved:

cat /path/to/sqlfile.sql | /usr/bin/mysql -uroot -ppass

works.  Obviously some issue with the redirection.

Ryan Coleman

unread,
May 30, 2012, 5:00:03 PM5/30/12
to puppet...@googlegroups.com
On Sun, May 27, 2012 at 1:18 PM, hohum <ma...@marcsnet.com> wrote:
> I get an error that the exec command failed because it returned 1 instead of
> 0 but when I copy the command puppet outputs as an error, and paste that
> into a shell it works perfectly.  The command's syntax is this:

Hi,

After you run your command in your shell, try running the following
command: echo $?

This will echo back the return code of the previous command, which I
suspect will be 1. Just because a command doesn't return any output
doesn't mean it exited 0.

If it turns out that the exit code of 1 (or whatever) is what you'd
like to consider success, you can tell Puppet what return code should
indicate success with the returns parameter:
http://docs.puppetlabs.com/references/stable/type.html#exec

HTH!

--Ryan

Gary Larizza

unread,
May 30, 2012, 5:07:27 PM5/30/12
to puppet...@googlegroups.com
If Ryan's solution doesn't work, can you paste the Puppet code you're using for the exec?  It might also be that the redirection you're trying to do requires that "provider => shell" be set.
 

--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To post to this group, send email to puppet...@googlegroups.com.
To unsubscribe from this group, send email to puppet-users...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.




--

Gary Larizza
Professional Services Engineer
Puppet Labs

Reply all
Reply to author
Forward
0 new messages