Issue #18053 has been updated by Gerard Hickey.
I get the same results. The following is the manifest I tested with.
package {'log4r':
ensure => present,
provider => gem,
source => 'http://gemrepo.example.com/',
}
Then attempting to apply the manifest, I get the following results:
ghickey@slc4b01c-d756:tmp:1$ sudo puppet apply -v -d gemtest.pp
Debug: Executing '/bin/rpm --version'
Debug: Executing '/bin/rpm -ql rpm'
Debug: Executing '/bin/rpm -ql rpm'
Debug: Executing '/bin/rpm --version'
Debug: Puppet::Type::Package::ProviderAix: file /usr/bin/lslpp does not
exist
Debug: Puppet::Type::Package::ProviderNim: file /usr/sbin/nimclient does
not exist
Debug: Puppet::Type::Package::ProviderUrpmi: file urpmi does not exist
Debug: Puppet::Type::Package::ProviderZypper: file /usr/bin/zypper does not
exist
Debug: Puppet::Type::Package::ProviderPortupgrade: file
/usr/local/sbin/portupgrade does not exist
Debug: Puppet::Type::Package::ProviderDpkg: file /usr/bin/dpkg does not
exist
Debug: Puppet::Type::Package::ProviderFink: file /sw/bin/fink does not exist
Debug: Puppet::Type::Package::ProviderOpenbsd: file pkg_info does not exist
Debug: Puppet::Type::Package::ProviderUp2date: file /usr/sbin/up2date-nox
does not exist
Debug: Puppet::Type::Package::ProviderSun: file /usr/bin/pkginfo does not
exist
Debug: Puppet::Type::Package::ProviderPortage: file /usr/bin/emerge does
not exist
Debug: Puppet::Type::Package::ProviderRug: file /usr/bin/rug does not exist
Debug: Puppet::Type::Package::ProviderAptrpm: file apt-get does not exist
Debug: Puppet::Type::Package::ProviderApt: file /usr/bin/apt-get does not
exist
Debug: Puppet::Type::Package::ProviderAptitude: file /usr/bin/aptitude does
not exist
Debug: Puppet::Type::Package::ProviderFreebsd: file /usr/sbin/pkg_info does
not exist
Debug: Puppet::Type::Package::ProviderPorts: file
/usr/local/sbin/portupgrade does not exist
Debug: Puppet::Type::Package::ProviderSunfreeware: file pkg-get does not
exist
Debug: Puppet::Type::Package::ProviderHpux: file /usr/sbin/swinstall does
not exist
Debug: Puppet::Type::Package::ProviderPacman: file /usr/bin/pacman does not
exist
Debug: Puppet::Type::Package::ProviderPkgin: file pkgin does not exist
Debug: Puppet::Type::Package::ProviderPkg: file /usr/bin/pkg does not exist
Debug: Creating default schedules
Debug: Failed to load library 'selinux' for feature 'selinux'
Debug: Using settings: adding file resource 'confdir':
'File[/etc/puppet]{:path=>"/etc/puppet", :ensure=>:directory,
:loglevel=>:debug, :links=>:follow, :backup=>false}'
Debug: Using settings: adding file resource 'vardir':
'File[/var/lib/puppet]{:path=>"/var/lib/puppet", :ensure=>:directory,
:loglevel=>:debug, :links=>:follow, :backup=>false}'
Debug: Failed to load library 'shadow' for feature 'libshadow'
Debug: Puppet::Type::User::ProviderPw: file pw does not exist
Debug: Puppet::Type::User::ProviderDirectoryservice: file /usr/bin/dscl
does not exist
Debug: Puppet::Type::User::ProviderUser_role_add: file roleadd does not
exist
Debug: Failed to load library 'ldap' for feature 'ldap'
Debug: Puppet::Type::User::ProviderLdap: feature ldap is missing
Debug: Using settings: adding file resource 'logdir':
'File[/var/log/puppet]{:path=>"/var/log/puppet", :mode=>"750",
:owner=>"puppet", :group=>"puppet", :ensure=>:directory, :loglevel=>:debug,
:links=>:follow, :backup=>false}'
Debug: Using settings: adding file resource 'statedir':
'File[/var/lib/puppet/state]{:path=>"/var/lib/puppet/state", :mode=>"1755",
:ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'
Debug: Using settings: adding file resource 'rundir':
'File[/var/run/puppet]{:path=>"/var/run/puppet", :mode=>"755",
:ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'
Debug: Using settings: adding file resource 'libdir':
'File[/var/lib/puppet/lib]{:path=>"/var/lib/puppet/lib", :ensure=>:directory,
:loglevel=>:debug, :links=>:follow, :backup=>false}'
Debug: Using settings: adding file resource 'certdir':
'File[/var/lib/puppet/ssl/certs]{:path=>"/var/lib/puppet/ssl/certs",
:owner=>"puppet", :ensure=>:directory, :loglevel=>:debug, :links=>:follow,
:backup=>false}'
Debug: Using settings: adding file resource 'ssldir':
'File[/var/lib/puppet/ssl]{:path=>"/var/lib/puppet/ssl", :mode=>"771",
:owner=>"puppet", :ensure=>:directory, :loglevel=>:debug, :links=>:follow,
:backup=>false}'
Debug: Using settings: adding file resource 'publickeydir':
'File[/var/lib/puppet/ssl/public_keys]{:path=>"/var/lib/puppet/ssl/public_keys",
:owner=>"puppet", :ensure=>:directory, :loglevel=>:debug, :links=>:follow,
:backup=>false}'
Debug: Using settings: adding file resource 'requestdir':
'File[/var/lib/puppet/ssl/certificate_requests]{:path=>"/var/lib/puppet/ssl/certificate_requests",
:owner=>"puppet", :ensure=>:directory, :loglevel=>:debug, :links=>:follow,
:backup=>false}'
Debug: Using settings: adding file resource 'privatekeydir':
'File[/var/lib/puppet/ssl/private_keys]{:path=>"/var/lib/puppet/ssl/private_keys",
:mode=>"750", :owner=>"puppet", :ensure=>:directory, :loglevel=>:debug,
:links=>:follow, :backup=>false}'
Debug: Using settings: adding file resource 'privatedir':
'File[/var/lib/puppet/ssl/private]{:path=>"/var/lib/puppet/ssl/private",
:mode=>"750", :owner=>"puppet", :ensure=>:directory, :loglevel=>:debug,
:links=>:follow, :backup=>false}'
Debug: Using settings: adding file resource 'hostcert':
'File[/var/lib/puppet/ssl/certs/slc4b01c-d756.pem]{:path=>"/var/lib/puppet/ssl/certs/slc4b01c-d756.pem",
:mode=>"644", :owner=>"puppet", :ensure=>:file, :loglevel=>:debug,
:links=>:follow, :backup=>false}'
Debug: Using settings: adding file resource 'hostprivkey':
'File[/var/lib/puppet/ssl/private_keys/slc4b01c-d756.pem]{:path=>"/var/lib/puppet/ssl/private_keys/slc4b01c-d756.pem",
:mode=>"600", :owner=>"puppet", :ensure=>:file, :loglevel=>:debug,
:links=>:follow, :backup=>false}'
Debug: Using settings: adding file resource 'hostpubkey':
'File[/var/lib/puppet/ssl/public_keys/slc4b01c-d756.pem]{:path=>"/var/lib/puppet/ssl/public_keys/slc4b01c-d756.pem",
:mode=>"644", :owner=>"puppet", :ensure=>:file, :loglevel=>:debug,
:links=>:follow, :backup=>false}'
Debug: Using settings: adding file resource 'localcacert':
'File[/var/lib/puppet/ssl/certs/ca.pem]{:path=>"/var/lib/puppet/ssl/certs/ca.pem",
:mode=>"644", :owner=>"puppet", :ensure=>:file, :loglevel=>:debug,
:links=>:follow, :backup=>false}'
Debug: Using settings: adding file resource 'hostcrl':
'File[/var/lib/puppet/ssl/crl.pem]{:path=>"/var/lib/puppet/ssl/crl.pem",
:mode=>"644", :owner=>"puppet", :ensure=>:file, :loglevel=>:debug,
:links=>:follow, :backup=>false}'
Debug: Using settings: adding file resource 'statefile':
'File[/var/lib/puppet/state/state.yaml]{:path=>"/var/lib/puppet/state/state.yaml",
:mode=>"660", :ensure=>:file, :loglevel=>:debug, :links=>:follow,
:backup=>false}'
Debug: Using settings: adding file resource 'clientyamldir':
'File[/var/lib/puppet/client_yaml]{:path=>"/var/lib/puppet/client_yaml",
:mode=>"750", :ensure=>:directory, :loglevel=>:debug, :links=>:follow,
:backup=>false}'
Debug: Using settings: adding file resource 'client_datadir':
'File[/var/lib/puppet/client_data]{:path=>"/var/lib/puppet/client_data",
:mode=>"750", :ensure=>:directory, :loglevel=>:debug, :links=>:follow,
:backup=>false}'
Debug: Using settings: adding file resource 'resourcefile':
'File[/var/lib/puppet/state/resources.txt]{:path=>"/var/lib/puppet/state/resources.txt",
:mode=>"640", :owner=>"root", :ensure=>:file, :loglevel=>:debug,
:links=>:follow, :backup=>false}'
Debug: Using settings: adding file resource 'clientbucketdir':
'File[/var/lib/puppet/clientbucket]{:path=>"/var/lib/puppet/clientbucket",
:mode=>"750", :ensure=>:directory, :loglevel=>:debug, :links=>:follow,
:backup=>false}'
Debug: Using settings: adding file resource 'lastrunfile':
'File[/var/lib/puppet/state/last_run_summary.yaml]{:path=>"/var/lib/puppet/state/last_run_summary.yaml",
:mode=>"644", :ensure=>:file, :loglevel=>:debug, :links=>:follow,
:backup=>false}'
Debug: Using settings: adding file resource 'lastrunreport':
'File[/var/lib/puppet/state/last_run_report.yaml]{:path=>"/var/lib/puppet/state/last_run_report.yaml",
:mode=>"640", :ensure=>:file, :loglevel=>:debug, :links=>:follow,
:backup=>false}'
Debug: Using settings: adding file resource 'graphdir':
'File[/var/lib/puppet/state/graphs]{:path=>"/var/lib/puppet/state/graphs",
:ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'
Debug: /File[/var/lib/puppet/state]: Autorequiring File[/var/lib/puppet]
Debug: /File[/var/lib/puppet/lib]: Autorequiring File[/var/lib/puppet]
Debug: /File[/var/lib/puppet/ssl/certs]: Autorequiring
File[/var/lib/puppet/ssl]
Debug: /File[/var/lib/puppet/ssl]: Autorequiring File[/var/lib/puppet]
Debug: /File[/var/lib/puppet/ssl/public_keys]: Autorequiring
File[/var/lib/puppet/ssl]
Debug: /File[/var/lib/puppet/ssl/certificate_requests]: Autorequiring
File[/var/lib/puppet/ssl]
Debug: /File[/var/lib/puppet/ssl/private_keys]: Autorequiring
File[/var/lib/puppet/ssl]
Debug: /File[/var/lib/puppet/ssl/private]: Autorequiring
File[/var/lib/puppet/ssl]
Debug: /File[/var/lib/puppet/ssl/certs/slc4b01c-d756.pem]: Autorequiring
File[/var/lib/puppet/ssl/certs]
Debug: /File[/var/lib/puppet/ssl/private_keys/slc4b01c-d756.pem]:
Autorequiring File[/var/lib/puppet/ssl/private_keys]
Debug: /File[/var/lib/puppet/ssl/public_keys/slc4b01c-d756.pem]:
Autorequiring File[/var/lib/puppet/ssl/public_keys]
Debug: /File[/var/lib/puppet/ssl/certs/ca.pem]: Autorequiring
File[/var/lib/puppet/ssl/certs]
Debug: /File[/var/lib/puppet/ssl/crl.pem]: Autorequiring
File[/var/lib/puppet/ssl]
Debug: /File[/var/lib/puppet/state/state.yaml]: Autorequiring
File[/var/lib/puppet/state]
Debug: /File[/var/lib/puppet/client_yaml]: Autorequiring
File[/var/lib/puppet]
Debug: /File[/var/lib/puppet/client_data]: Autorequiring
File[/var/lib/puppet]
Debug: /File[/var/lib/puppet/state/resources.txt]: Autorequiring
File[/var/lib/puppet/state]
Debug: /File[/var/lib/puppet/clientbucket]: Autorequiring
File[/var/lib/puppet]
Debug: /File[/var/lib/puppet/state/last_run_summary.yaml]: Autorequiring
File[/var/lib/puppet/state]
Debug: /File[/var/lib/puppet/state/last_run_report.yaml]: Autorequiring
File[/var/lib/puppet/state]
Debug: /File[/var/lib/puppet/state/graphs]: Autorequiring
File[/var/lib/puppet/state]
Debug: Finishing transaction 19187920
Debug: Loaded state in 0.01 seconds
Debug: Loaded state in 0.01 seconds
Info: Applying configuration version '1356311844'
Debug: /Schedule[daily]: Skipping device resources because running on a host
Debug: /Schedule[monthly]: Skipping device resources because running on a
host
Debug: /Schedule[hourly]: Skipping device resources because running on a
host
Debug: /Schedule[never]: Skipping device resources because running on a host
Debug: /Schedule[weekly]: Skipping device resources because running on a
host
Debug: Prefetching gem resources for package
Debug: Executing '/usr/bin/gem list --local'
Debug: Executing '/usr/bin/gem list --local log4r$'
Debug: Executing '/usr/bin/gem install --include-dependencies --source
http://gemrepo.example.com/ log4r'
Error: Execution of '/usr/bin/gem install --include-dependencies --source
http://gemrepo.example.com/ log4r' returned 1: ERROR: Could not find a valid
gem 'log4r' (>= 0) in any repository
ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError)
Errno::ETIMEDOUT: Connection timed out - connect(2)
(http://rubygems.org/latest_specs.4.8.gz)
INFO: `gem install -y` is now default and will be removed
INFO: use --ignore-dependencies to install only the gems you list
Error: /Stage[main]//Package[log4r]/ensure: change from absent to present
failed: Execution of '/usr/bin/gem install --include-dependencies --source
http://gemrepo.example.com/ log4r' returned 1: ERROR: Could not find a valid
gem 'log4r' (>= 0) in any repository
ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError)
Errno::ETIMEDOUT: Connection timed out - connect(2)
(http://rubygems.org/latest_specs.4.8.gz)
INFO: `gem install -y` is now default and will be removed
INFO: use --ignore-dependencies to install only the gems you list
Debug: /Schedule[puppet]: Skipping device resources because running on a
host
Debug: Finishing transaction 30486060
Debug: Storing state
Debug: Stored state in 0.02 seconds
Finished catalog run in 84.52 seconds
Debug: Using settings: adding file resource 'rrddir':
'File[/var/lib/puppet/rrd]{:path=>"/var/lib/puppet/rrd", :mode=>"750",
:owner=>"puppet", :group=>"puppet", :ensure=>:directory, :loglevel=>:debug,
:links=>:follow, :backup=>false}'
Debug: Finishing transaction 25510820
Debug: Received report to process from slc4b01c-d756
Debug: Processing report from slc4b01c-d756 with processor
Puppet::Reports::Store
Yet again, if I execute the same command that puppet agent is executing, It
completes successfully.
ghickey@slc4b01c-d756:tmp:0$ sudo /usr/bin/gem install
--include-dependencies --source http://gemrepo.example.com/ log4r
[sudo] password for ghickey:
INFO: `gem install -y` is now default and will be removed
INFO: use --ignore-dependencies to install only the gems you list
Fetching: log4r-1.1.10.gem (100%)
Successfully installed log4r-1.1.10
1 gem installed
Installing ri documentation for log4r-1.1.10...
Installing RDoc documentation for log4r-1.1.10...
----------------------------------------
Bug #18053: source attribute not honored for gem provider
https://projects.puppetlabs.com/issues/18053#change-79382
Author: Gerard Hickey
Status: Needs More Information
Priority: Normal
Assignee: Gerard Hickey
Category: package
Target version:
Affected Puppet version: 3.0.1
Keywords:
Branch:
When attempting to provide another source for a package resource using the gem
provider, the install fails.
Error output from 'puppet agent -tv':
<pre>
Error: Execution of '/usr/bin/gem install --include-dependencies --source
http://<internal.gemrepo.com>/ passenger' returned 1: ERROR: Could not find a
valid gem 'passenger' (>= 0) in any repository
ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError)
Errno::ETIMEDOUT: Connection timed out - connect(2)
(http://rubygems.org/latest_specs.4.8.gz)
INFO: `gem install -y` is now default and will be removed
INFO: use --ignore-dependencies to install only the gems you list
Error: /Stage[main]/Puppet::Master/Package[passenger]/ensure: change from
absent to present failed: Execution of '/usr/bin/gem install
--include-dependencies --source http://<internal.gemrepo.com>/ passenger'
returned 1: ERROR: Could not find a valid gem 'passenger' (>= 0) in any
repository
ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError)
Errno::ETIMEDOUT: Connection timed out - connect(2)
(http://rubygems.org/latest_specs.4.8.gz)
INFO: `gem install -y` is now default and will be removed
INFO: use --ignore-dependencies to install only the gems you list
Finished catalog run in 106.88 seconds
ghickey@slc4b01c-69c8:rack:6$ gem source
*** CURRENT SOURCES ***
http://rubygems.org/
ghickey@slc4b01c-69c8:rack:0$ sudo gem install --include-dependencies --source
http://<internal.gemrepo.com>/ passenger
[sudo] password for ghickey:
INFO: `gem install -y` is now default and will be removed
INFO: use --ignore-dependencies to install only the gems you list
Fetching: fastthread-1.0.7.gem (100%)
Building native extensions. This could take a while...
Fetching: daemon_controller-1.1.0.gem (100%)
Fetching: passenger-3.0.18.gem (100%)
Successfully installed fastthread-1.0.7
Successfully installed daemon_controller-1.1.0
Successfully installed passenger-3.0.18
3 gems installed
Installing ri documentation for fastthread-1.0.7...
Installing ri documentation for daemon_controller-1.1.0...
Installing ri documentation for passenger-3.0.18...
Installing RDoc documentation for fastthread-1.0.7...
Installing RDoc documentation for daemon_controller-1.1.0...
Installing RDoc documentation for passenger-3.0.18...
</pre>
The system that produced the output is behind a firewall and can not directly
connect to rubygems.org. There is an internal gem repo inside the firewall that
contains mirrored gems for the purpose of distributing within the firewall. As
you can see if the same command is executed from the command line, it succeeds.
--
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.