- From: "Julian C. Dunn" <
>
- To: "
" <
>
- Subject: [chef] Re: Error in running python script through python resource.
- Date: Thu, 6 Mar 2014 12:09:32 -0500
You are generating a python script that contains the code
python test.py
which will cause an error when passed to the Python interpreter:
$ cat test.py
python test.py
$ python test.py
File "test.py", line 1
python test.py
^
SyntaxError: invalid syntax
If you want to execute an external script, just use the 'execute'
resource. However, if you want to execute in-line python, then just
write the Python code in the "code" attribute.
- Julian
On Thu, Mar 6, 2014 at 7:24 AM, Peeyush Gupta
<
>
wrote:
>
Hi all,
>
>
I am trying to run a simple python script using python resource of
>
chef-cookbook. Here is what my recipe looks like:
>
>
filename = "test.py"
>
python "excute_file" do
>
cwd '/home/peeyush/'
>
code <<-EOH
>
python #{filename}
>
EOH
>
action :run
>
end
>
>
The error I am getting is:
>
>
Recipe: hellochef::default
>
* python[excute_file] action run
>
================================================================================
>
Error executing action `run` on resource 'python[excute_file]'
>
================================================================================
>
>
>
Mixlib::ShellOut::ShellCommandFailed
>
------------------------------------
>
Expected process to exit with [0], but received '1'
>
---- Begin output of "python" "/tmp/chef-script20140306-20614-1mjuchc" ----
>
STDOUT:
>
STDERR: File "/tmp/chef-script20140306-20614-1mjuchc", line 1
>
python test.py
>
^
>
SyntaxError: invalid syntax
>
---- End output of "python" "/tmp/chef-script20140306-20614-1mjuchc" ----
>
Ran "python" "/tmp/chef-script20140306-20614-1mjuchc" returned 1
>
>
>
Resource Declaration:
>
---------------------
>
# In /home/peeyush/chef/cookbook/hellochef/recipes/default.rb
>
>
17: python "excute_file" do
>
18: cwd '/home/peeyush/'
>
19: code <<-EOH
>
20: python #{filename}
>
21: EOH
>
22: action :run
>
23: end
>
>
>
>
Compiled Resource:
>
------------------
>
# Declared in /home/peeyush/chef/cookbook/hellochef/recipes/default.rb:17:in
>
`from_file'
>
>
python("excute_file") do
>
action [:run]
>
retries 0
>
retry_delay 2
>
command "\"python\" \"/tmp/chef-script20140306-20614-1mjuchc\""
>
backup 5
>
cwd "/home/peeyush/"
>
returns 0
>
code "python test.py\n"
>
interpreter "python"
>
cookbook_name :hellochef
>
recipe_name "default"
>
end
>
>
>
>
>
Running handlers:
>
[2014-03-06T17:49:48+05:30] ERROR: Running exception handlers
>
Running handlers complete
>
>
[2014-03-06T17:49:48+05:30] ERROR: Exception handlers complete
>
[2014-03-06T17:49:48+05:30] FATAL: Stacktrace dumped to
>
/home/peeyush/chef/chef-stacktrace.out
>
Chef Client failed. 0 resources updated in 1.216862761 seconds
>
[2014-03-06T17:49:48+05:30] ERROR: python[excute_file] (hellochef::default
>
line 17) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected
>
process to exit with [0], but received '1'
>
---- Begin output of "python" "/tmp/chef-script20140306-20614-1mjuchc" ----
>
STDOUT:
>
STDERR: File "/tmp/chef-script20140306-20614-1mjuchc", line 1
>
python test.py
>
^
>
SyntaxError: invalid syntax
>
---- End output of "python" "/tmp/chef-script20140306-20614-1mjuchc" ----
>
Ran "python" "/tmp/chef-script20140306-20614-1mjuchc" returned 1
>
[2014-03-06T17:49:48+05:30] FATAL: Chef::Exceptions::ChildConvergeError:
>
Chef run process exited unsuccessfully (exit code 1)
>
>
I am not sure what I am doing wrong as there is no example to run a python
>
script. Please help me resolve this issue.
>
>
Thanks,
>
>
~Peeyush Gupta
--
[ Julian C. Dunn
<
>
* Sorry, I'm ]
[ WWW:
http://www.aquezada.com/staff/julian * only Web 1.0 ]
[
gopher://sdf.org/1/users/keymaker/ * compliant! ]
[ PGP: 91B3 7A9D 683C 7C16 715F 442C 6065 D533 FDC2 05B9 ]
Archive powered by MHonArc 2.6.16.