Issue #3006 has been updated by John Lyman.

I discovered that this is only an issue if `ensure => latest`.
----------------------------------------
Bug #3006: Using gem package provider with a local source should not require 
access to a remote gem repository
http://projects.puppetlabs.com/issues/3006

Author: John Lyman
Status: Investigating
Priority: Normal
Assigned to: 
Category: package
Target version: 0.25.6
Affected version: 0.25.2
Keywords: 
Branch: 


On nodes _without_ internet access, the following package resources fail:
<pre>
package { "puppet":
   provider => gem,
   source   => "/source/gems/puppet-0.25.2.gem",
   require  => Package["facter"],
}
package { "facter":
   provider => gem,
   source   => "/source/gems/facter-1.5.7.gem",
}
</pre>

It appears that puppet is calling @gem list --remote {gem name}@ even though 
the source is local:
<pre>
info: Caching catalog for puptest
info: Applying configuration version '1262714566'
notice: Applying configuration from the testing puppet environment
notice: //Notify[testing]/message: defined 'message' as 'Applying configuration 
from the testing puppet environment'
err: //puppet/Package[facter]: Failed to retrieve current state of resource: 
Could not get latest version: Could not list gems: Execution of 
'/usr/local/bin/gem list --remote facter' returned 1: ERROR:  
http://gems.rubyforge.org/ does not appear to be a repository
ERROR:  While executing gem ... (Gem::RemoteFetcher::FetchError)
    Errno::EHOSTUNREACH: No route to host - connect(2) 
(http://gems.rubyforge.org/yaml)

notice: //puppet/Package[puppet]: Dependency package[facter] has 1 failures
warning: //puppet/Package[puppet]: Skipping because of failed dependencies
notice: //puppet/Service[puppetd]: Dependency package[facter] has 1 failures
warning: //puppet/Service[puppetd]: Skipping because of failed dependencies
notice: Finished catalog run in 341.66 seconds
</pre>

If I configure the node to use a proxy for internet access, it successfully 
executes @gem list --remote@, and then installs from the local source:
<pre>
debug: Puppet::Type::Package::ProviderGem: Executing '/usr/local/bin/gem list 
--remote facter'
debug: Puppet::Type::Package::ProviderGem: Executing '/usr/local/bin/gem list 
--remote puppet'
debug: //puppet/Package[puppet]/ensure: puppet "0.25.1" is installed, latest is 
"0.25.2"
debug: //puppet/Package[puppet]: Changing ensure
debug: //puppet/Package[puppet]: 1 change(s)
debug: Package[puppet](provider=gem): Executing '/usr/local/bin/gem install 
--include-dependencies /source/gems/puppet-0.25.2.gem'
notice: //puppet/Package[puppet]/ensure: ensure changed '0.25.1' to '0.25.2'
</pre>



-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

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

Reply via email to