Issue #17616 has been updated by Andrew  Parker.

Status changed from Investigating to Accepted
Assignee deleted (Andrew  Parker)
Target version deleted (2.7.20)
Affected Puppet version changed from 2.7.19 to 2.6.10
Keywords set to gem, bundler, bundle, package, provider

I got this error all the way back to 2.6.10 (I didn't try any older than that) 
and it is still happening in 3.0.1.

<pre>
[14:13:59][Ruby(ruby-1.8.7-p358)][Git((no branch))] andy:puppet
> git checkout 2.6.10
Previous HEAD position was 9312a31... Updated CHANGELOG for 2.7.10
HEAD is now at 408d117... Updated CHANGELOG for 2.6.10
[14:14:13][Ruby(ruby-1.8.7-p358)][Git((no branch))] andy:puppet
> echo "gem 'puppet', '2.6.10', :path => '.'" > Gemfile
[14:14:19][Ruby(ruby-1.8.7-p358)][Git((no branch))] andy:puppet
> bundle exec puppet apply -e 'package { foreground: ensure => latest, provider 
> => gem }'
warning: Could not retrieve fact fqdn
err: /Stage[main]//Package[foreground]/ensure: change from absent to latest 
failed: Could not update: Execution of 
'/Users/andy/.rvm/rubies/ruby-1.8.7-p358/bin/gem install --include-dependencies 
--no-rdoc --no-ri foreground' returned 1: ERROR:  Error installing foreground:
        foreground requires mixlib-cli (~> 1.2.2)
INFO:  `gem install -y` is now default and will be removed
INFO:  use --ignore-dependencies to install only the gems you list
 at line 1
notice: Finished catalog run in 2.10 seconds
</pre>

I'm removing the target version from this, since it won't be making it into the 
2.7.20 release.
----------------------------------------
Bug #17616: Package update via Gem provider fails when running Puppet via 
bundler
https://projects.puppetlabs.com/issues/17616#change-76741

Author: Björn Albers
Status: Accepted
Priority: Normal
Assignee: 
Category: package
Target version: 
Affected Puppet version: 2.6.10
Keywords: gem, bundler, bundle, package, provider
Branch: 


Given a rubygem / package with dependencies to other package.
When I try do manage that package with Puppet all is fine.
But when I apply the same manifest with Puppet executed via Bundler then I get 
an error (Installing a package w/o dependencies, i.e. rake, works).
To my understanding installing Puppet with bundler is best practice when 
developing & testing modules, so this might have some relevance.
Here's my TPS report:

    # Bad:
    $ sudo bin/puppet apply --verbose --no-report foreground.pp
    info: Applying configuration version '1352903073'
    err: /Stage[main]//Package[foreground]/ensure: change from absent to latest 
failed: Could not update: Execution of '/usr/bin/gem install 
--include-dependencies --no-rdoc --no-ri foreground' returned 1: ERROR:  Error 
installing foreground:
    foreground requires mixlib-cli (~> 1.2.2)
    INFO:  `gem install -y` is now default and will be removed
    INFO:  use --ignore-dependencies to install only the gems you list
    at /Users/bjoern/Documents/puppet-zabbix_osx/foreground.pp:4
    notice: Finished catalog run in 78.69 seconds
    $ bin/puppet --version
    2.7.19

    # Good:
    $ sudo puppet apply --verbose --no-report foreground.pp 
    info: Applying configuration version '1352903176'
    notice: Finished catalog run in 3.82 seconds
    $ puppet --version
    2.7.19

    # Context:
    $ ruby --version
    ruby 1.8.7 (2011-12-28 patchlevel 357) [universal-darwin11.0]
    $ bundle --version
    Bundler version 1.2.1
    $ cat foreground.pp 
    package { 'foreground':
      ensure   => latest,
      provider => gem,
    }
    $ sw_vers 
    ProductName:    Mac OS X
    ProductVersion: 10.7.4
    BuildVersion:   11E53
    $ gem --version
    1.8.24

PS: This might be a bug in bundler / rubygems / whatever, but I think it should 
at least be documented here.


-- 
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