Tim, this is a very odd message that you're getting.

The reason I say so is that code is from the old hiera-puppet, and it
was removed from hiera-puppet before the 1.0.0 release (here's the
pull request: https://github.com/puppetlabs/hiera-puppet/pull/11), and
as such was never part of hiera-puppet that was merged into puppet
"proper" in 3.0.0.

Doesn't seem like it is, but do you possibly have an old hiera-puppet
somewhere that's still getting loaded by your master?

On Fri, Jan 17, 2014 at 3:09 PM, Tim Mooney <[email protected]> wrote:
> In regard to: [Puppet Users] error testing puppet 3.x upgrade: You need...:
>
> All-
>
> Does anyone have any thoughts on what's causing this issue?
>
> Since I posted the original question, I've also tried starting with
> a fresh RHEL 6.5 system that's never had puppet on it, and installed 3.4.2
> from Puppet Labs.  I still get exactly the same error when a client
> connects to the test master: "You need rubygems to use Hiera".
>
> I can't imagine what the problem really is, but it definitely isn't that
> rubygems is missing; it gets installed as part of the package dependency
> for puppet 3.4.2.
>
> Thanks,
>
> Tim
>
>
>
>> The TL;DR version:
>>
>> On a 2.7.14 puppet client promoted to be a test 3.4.2 master, whenever a
>> client connects I get:
>>
>> Warning: Puppet.features.rubygems? is deprecated. Require rubygems in your
>> application's entry point if you need it.
>>   (at /usr/lib/ruby/site_ruby/1.8/puppet/util/feature.rb:17:in `add')
>> Error: You need rubygems to use Hiera at
>> /etc/puppet/manifests/users.pp:243 on
>> node rh6client.example.com
>> Error: You need rubygems to use Hiera at
>> /etc/puppet/manifests/users.pp:243 on
>> node rh6client.example.com
>> Error: You need rubygems to use Hiera at
>> /etc/puppet/manifests/users.pp:243 on
>> node rh6client.example.com
>>
>> I have the RHEL-provided rubygems package installed (it gets installed
>> automatically as a dependency of puppet 3.4.2 from Puppet Labs), so why
>> the error?
>>
>>
>> The full version:
>>
>> We're currently using puppet 2.7.14 with facter 1.5.9, both on master and
>> on our clients.  All of our clients are currently RHEL 5.x or RHEL 6.x,
>> though we'll likely be adding other OSes once we're on Puppet 3.x.
>>
>> I'm beginning our testing of 3.4.x by following the documentation here:
>>
>>         http://docs.puppetlabs.com/guides/upgrading.html
>>
>> I'm following the "Option 1" route, promoting a client to be the master.
>> The client I'm promoting is a fresh install of RHEL 6.5 with our puppet
>> 2.7.14,
>> and I have done a puppet apply on it to get all local config in place for
>> a basic puppet client in our environment.
>>
>> I then copied all of /etc/puppet and /var/lib/puppet from our
>> current master over to the client I wish to promote.
>>
>> To promote the client to be the test master, I uninstall our locally-built
>> RPMs for facter & puppet, then install the PuppetLabs EL6 rpms for
>>
>>         facter-1.7.4-1.el6
>>         hiera-1.3.0-1.el6
>>         puppet-3.4.2-1.el6
>>         puppet-server-3.4.2-1.el6
>>         rubygem-json-1.5.5-1.el6
>>         ruby-rgen-0.6.5-1.el6
>>
>> That also auto-installed, for dependencies, Red Hat's packages for
>>
>>         ruby-rdoc-1.8.7.352-13.el6.x86_64
>>         ruby-irb-1.8.7.352-13.el6.x86_64
>>         rubygems-1.3.7-5.el6.noarch
>>
>> I have updated the auth.conf to have "allow_ip" stanzas for the one custom
>> file serving location we use.
>>
>> I start up the temporary puppet master:
>>
>> # puppet master --no-daemonize --verbose
>> Notice: Starting Puppet master version 3.4.2
>>
>> I then pick an existing client, rh6client.example.com, uninstall
>> facter & puppet, install the Puppet Labs facter & puppet, which also
>> pull in Puppet Labs' hiera & rubygem-json, as well as the Red Hat
>> ruby-rdoc,
>> ruby-irb, and rubygems.
>>
>> I point the client at the temporary master and receive (on the client)
>> the error:
>>
>> # puppet agent --server pm-tmp.example.com --test --noop
>> Info: Retrieving plugin
>> Info: Loading facts in /var/lib/puppet/lib/facter/printers.rb
>> Info: Loading facts in /var/lib/puppet/lib/facter/root_home.rb
>> Info: Loading facts in /var/lib/puppet/lib/facter/net_location.rb
>> Info: Loading facts in /var/lib/puppet/lib/facter/biosversion.rb
>> Info: Loading facts in /var/lib/puppet/lib/facter/net_info.rb
>> Info: Loading facts in /var/lib/puppet/lib/facter/ipmi_product.rb
>> Info: Loading facts in /var/lib/puppet/lib/facter/facter_dot_d.rb
>> Info: Loading facts in /var/lib/puppet/lib/facter/pacemaker.rb
>> Error: Could not retrieve catalog from remote server: Error 400 on SERVER:
>> You
>> need rubygems to use Hiera at /etc/puppet/manifests/users.pp:243 on node
>> rh6client.example.com
>> Warning: Not using cache on failed catalog
>> Error: Could not retrieve catalog; skipping run
>>
>>
>> On the temporary server, it has output a bunch of "Info" statements about
>> processing for auth.conf, but follows that with:
>>
>> Info: Caching node for rh6client.example.com
>> Info: Caching node for rh6client.example.com
>> Warning: Puppet.features.rubygems? is deprecated. Require rubygems in your
>> application's entry point if you need it.
>>   (at /usr/lib/ruby/site_ruby/1.8/puppet/util/feature.rb:17:in `add')
>> Error: You need rubygems to use Hiera at
>> /etc/puppet/manifests/users.pp:243 on
>> node rh6client.example.com
>> Error: You need rubygems to use Hiera at
>> /etc/puppet/manifests/users.pp:243 on
>> node rh6client.example.com
>> Error: You need rubygems to use Hiera at
>> /etc/puppet/manifests/users.pp:243 on
>> node rh6client.example.com
>>
>>
>> That part of the manifest looks like this:
>>
>>
>> # used on the netflow server
>> @user { 'ncsprime':
>>  home       => '/var/netflow/ncsprime',
>>  gid        => 'ncsprime',
>>  comment    => 'Cisco NCS Prime backup file owner',
>>  membership => inclusive,
>>  uid        => '709844',
>>  password   => hiera('ncsprime_password', '!!'),
>> }
>>
>> Our /etc/puppet/hiera.yaml that I copied from our existing 2.7.14 master
>> to the promoted 3.4.2 temporary master is
>>
>> ---
>> :backends: - yaml
>>
>> :hierarchy: - secure/fqdn/%{clientcert}
>>            - fqdn/%{clientcert}
>>            - secure/location/%{location}
>>            - location/%{location}
>>            - secure/common
>>            - common
>>
>> :yaml:
>>            :datadir: /etc/puppet/hiera-data
>>
>>
>>
>>
>> I don't understand what I'm missing; I have the rubygems package installed
>> on both the promoted master and the client I'm trying to test with.  I
>> know
>> that hiera moved into the core at 3.x and that on my real master I will
>> need
>> to uninstall the 'rubygem-hiera-puppet' package, but the client I promoted
>> to be the temporary master has never had that installed.
>>
>> Google searches for this error just turn up the "install rubygems"
>> response.
>> Brent Clark posted to this list in December with the same problem, but
>> there were no follow-up responses.
>>
>> Any suggestions as to what the problem really is, because it's *not* that
>> I'm missing rubygems.
>>
>> Thanks,
>>
>> Tim
>>
>
> --
> Tim Mooney                                             [email protected]
> Enterprise Computing & Infrastructure                  701-231-1076 (Voice)
> Room 242-J6, Quentin Burdick Building                  701-231-8541 (Fax)
> North Dakota State University, Fargo, ND 58105-5164
>
> --
> You received this message because you are subscribed to the Google Groups
> "Puppet Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/puppet-users/alpine.SOC.2.11.1401171651430.29424%40dogbert.cc.ndsu.NoDak.edu.
>
> For more options, visit https://groups.google.com/groups/opt_out.



-- 
Moses Mendoza
Puppet Labs

Join us at PuppetConf 2014, September 23-24 in San Francisco

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/CA%2B421WYmsO4fQnUqRgFNb-BCGwm-AycKiGEEn0fcVeW1bYrmVQ%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to