[chef] Re: Re: Re: Re: Re: Re: Re: Re: Issue with easy_install_package provider


Chronological Thread 
  • From: Rob Guttman < >
  • To:
  • Subject: [chef] Re: Re: Re: Re: Re: Re: Re: Re: Issue with easy_install_package provider
  • Date: Tue, 23 Nov 2010 16:16:48 -0500
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:reply-to:in-reply-to:references:date:message-id :subject:from:to:content-type; b=hDHu9ASG7l7Q17CY3QO9nue4sAp1sBDHla2Qf4shp5MBRNNas4HQ9S21FqWil0qNaL 0tBv9uEIEo3UWfK679QjBhEJ8H/wvAhByEhp/scIF4Cihtz4C4ihami8eZjLMo8ZHI49 2AHA3CqpwG+fmVHh0WQtGgMZjdioWIsiImIww=

Joe, just checked.  Unfortunately, web.py still doesn't work - although admitedly it's an unusually named package:

[Tue, 23 Nov 2010 16:08:37 -0500] ERROR: easy_install_package[web.py] (/srv/chef/cache/cookbooks/xxxxx/recipes/default.rb:18:in `from_file') had an error:
Expected process to exit 0, but it exited with 1
---- Begin output of python -c "import web.py; print web.py.__path__" ----
STDOUT:
STDERR: Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named py
---- End output of python -c "import web.py; print web.py.__path__" ----
Ran python -c "import web.py; print web.py.__path__" returned 1
/usr/lib/ruby/gems/1.8/gems/chef-0.9.10/bin/../lib/chef/shell_out.rb:232:in `invalid!'
/usr/lib/ruby/gems/1.8/gems/chef-0.9.10/bin/../lib/chef/shell_out.rb:218:in `error!'
/usr/lib/ruby/gems/1.8/gems/chef-0.9.10/bin/../lib/chef/mixin/shell_out.rb:33:in `shell_out!'
/usr/lib/ruby/gems/1.8/gems/chef-0.9.10/bin/../lib/chef/provider/package/easy_install.rb:69:in `load_current_resource'
/usr/lib/ruby/gems/1.8/gems/chef-0.9.10/bin/../lib/chef/resource.rb:394:in `run_action'
/usr/lib/ruby/gems/1.8/gems/chef-0.9.10/bin/../lib/chef/runner.rb:53:in `run_action'
/usr/lib/ruby/gems/1.8/gems/chef-0.9.10/bin/../lib/chef/runner.rb:89:in `converge'
/usr/lib/ruby/gems/1.8/gems/chef-0.9.10/bin/../lib/chef/runner.rb:89:in `each'
/usr/lib/ruby/gems/1.8/gems/chef-0.9.10/bin/../lib/chef/runner.rb:89:in `converge'
/usr/lib/ruby/gems/1.8/gems/chef-0.9.10/bin/../lib/chef/resource_collection.rb:94
/usr/lib/ruby/gems/1.8/gems/chef-0.9.10/bin/../lib/chef/resource_collection/stepable_iterator.rb:116:in `call'
/usr/lib/ruby/gems/1.8/gems/chef-0.9.10/bin/../lib/chef/resource_collection/stepable_iterator.rb:116:in `call_iterator_block'
/usr/lib/ruby/gems/1.8/gems/chef-0.9.10/bin/../lib/chef/resource_collection/stepable_iterator.rb:85:in `step'
/usr/lib/ruby/gems/1.8/gems/chef-0.9.10/bin/../lib/chef/resource_collection/stepable_iterator.rb:104:in `iterate'
/usr/lib/ruby/gems/1.8/gems/chef-0.9.10/bin/../lib/chef/resource_collection/stepable_iterator.rb:55:in `each_with_index'
/usr/lib/ruby/gems/1.8/gems/chef-0.9.10/bin/../lib/chef/resource_collection.rb:92:in `execute_each_resource'
/usr/lib/ruby/gems/1.8/gems/chef-0.9.10/bin/../lib/chef/runner.rb:84:in `converge'
/usr/lib/ruby/gems/1.8/gems/chef-0.9.10/bin/../lib/chef/client.rb:268:in `converge'
/usr/lib/ruby/gems/1.8/gems/chef-0.9.10/bin/../lib/chef/client.rb:171:in `run'
/usr/lib/ruby/gems/1.8/gems/chef-0.9.10/bin/../lib/chef/application/client.rb:222:in `run_application'
/usr/lib/ruby/gems/1.8/gems/chef-0.9.10/bin/../lib/chef/application/client.rb:212:in `loop'
/usr/lib/ruby/gems/1.8/gems/chef-0.9.10/bin/../lib/chef/application/client.rb:212:in `run_application'
/usr/lib/ruby/gems/1.8/gems/chef-0.9.10/bin/../lib/chef/application.rb:62:in `run'
/usr/lib/ruby/gems/1.8/gems/chef-0.9.10/bin/chef-client:26
/usr/bin/chef-client:19:in `load'
/usr/bin/chef-client:19
[Tue, 23 Nov 2010 16:08:37 -0500] ERROR: Running exception handlers
[Tue, 23 Nov 2010 16:08:37 -0500] ERROR: Exception handlers complete
/usr/lib/ruby/gems/1.8/gems/chef-0.9.10/bin/../lib/chef/shell_out.rb:232:in `invalid!': Expected process to exit 0, but it exited with 1 (Chef::Exceptions::ShellCommandFailed)
---- Begin output of python -c "import web.py; print web.py.__path__" ----
STDOUT:
STDERR: Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named py
---- End output of python -c "import web.py; print web.py.__path__" ----

Note that I don't actually use the EasyInstall provider because it doesn't support local files.  For our setup, we maintain all of our packages in an S3 bucket, download and install them.  So I've resorted to using an Execute resource to install python packages and touch a file when each is successful for idempotence.  I would prefer to use the EasyInstall provider if it supported local files as its idempotence check is more robust (except for web.py, of course :) ).

- Rob


On Tue, Nov 23, 2010 at 1:23 AM, Joe Williams < "> > wrote:

On Nov 22, 2010, at 10:17 PM, Grig Gheorghiu wrote:

> On Mon, Nov 22, 2010 at 9:56 PM, Joe Williams < "> > wrote:
>>
>>
>> I removed the __path__ business so it seems the patch didn't get applied
>> quite right. Here's the full file:
>> http://friendpaste.com/6olLDA3MZApdpZEJFGqNKa
>
> The problem, as it turns out, was that I had applied the patch to
> easy_install.rb on the chef server, not the chef client....For some
> reason I thought the client would get that updated file from the
> server. In any case, once I patched the client it worked fine for the
> 2 packages I had issues with initially: dnspython and pydkim,
>
> Thanks so much for your help, Joe! I hope your patch will make it in
> the next release.

Grig, awesome, glad to help.

Rob, mind seeing if it works for you as well?




Archive powered by MHonArc 2.6.16.

§