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 <tim.moo...@ndsu.edu> 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 tim.moo...@ndsu.edu > 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 puppet-users+unsubscr...@googlegroups.com. > 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 puppet-users+unsubscr...@googlegroups.com. 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.