Issue #16770 has been updated by Josh Cooper.

OK, so some progress on this:

>From the mailing list 
><https://groups.google.com/d/topic/puppet-users/3tC0gYg9XA0/discussion>
Jonathan Gazeley wrote:
> Both puppetmasters are running identical puppet configs. The *old* 
> puppetmaster has these gems: 

<pre>
activemodel (3.2.8, 3.2.3, 3.0.9) 
activerecord (2.1.1) 
activesupport (3.2.8, 3.2.3, 3.0.9, 2.1.1) 
arel (3.0.2, 2.0.10) 
builder (3.0.0, 2.1.2) 
hiera (1.0.0) 
i18n (0.6.0, 0.5.0) 
multi_json (1.3.2) 
rake (0.8.7) 
tzinfo (0.3.33, 0.3.29) 
</pre>

> The *new* puppetmaster has these: 
<pre>
activerecord (2.1.1) 
activesupport (2.1.1) 
</pre>

Using inconsistent activesupport/activerecord gems is definitely a problem. I 
can reproduce the error on ubuntu 10.10:

<pre>
# cat /etc/puppet/puppet.conf
[rails]
rails_loglevel=debug

[master]
storeconfigs=true
dbadapter=sqlite3

# puppet --version
3.0.0
# ruby --version
ruby 1.8.7 (2010-06-23 patchlevel 299) [x86_64-linux]
# gem list

*** LOCAL GEMS ***

activemodel (3.2.8)
activerecord (2.1.1)
activesupport (3.2.8, 2.1.1)
builder (3.0.3)
i18n (0.6.1)
multi_json (1.3.6)

# tail -f /var/log/syslog
...
Oct  9 21:36:14 ubuntu1010 puppet-master[8914]: Could not autoload 
puppet/indirector/node/active_record: uninitialized constant ActiveRecord
</pre>

Removing all gems and installing libactiverecord-ruby solves the problem:

<pre>
# gem uninstall activemodel
...
# apt-get install libactiverecord-ruby
...
Errors were encountered while processing:
 puppetmaster
</pre>

The install didn't restart puppetmaster correctly. So stopped puppetmaster, 
re-did install, and it started puppetmaster:

<pre>
# /etc/init.d/puppetmaster stop
 * Stopping puppet master                                                [ OK ] 
# apt-get install libactiverecord-ruby
Setting up puppetmaster (3.0.0-1puppetlabs1) ...
 * Starting puppet master                                                [ OK ] 
</pre>

And now storeconfigs are working as expected:

<pre>
Oct  9 21:39:39 ubuntu1010 puppet-master[9616]: Connecting to sqlite3 database: 
/var/lib/puppet/state/clientconfigs.sqlite3
Oct  9 21:39:39 ubuntu1010 puppet-master[9616]: Using cached facts for 
localagent
Oct  9 21:39:39 ubuntu1010 puppet-master[9616]: Using cached node for localagent
Oct  9 21:39:39 ubuntu1010 puppet-master[9616]: Warning: calling Plugins.search 
with empty module path.
Oct  9 21:39:40 ubuntu1010 puppet-master[9616]: Using cached facts for 
localagent
Oct  9 21:39:40 ubuntu1010 puppet-master[9616]: Expiring the node cache of 
localagent
Oct  9 21:39:40 ubuntu1010 puppet-master[9616]: Using cached facts for 
localagent
Oct  9 21:39:40 ubuntu1010 puppet-master[9616]: Using cached node for localagent
Oct  9 21:39:40 ubuntu1010 puppet-master[9616]: Compiled catalog for localagent 
in environment production in 0.02 seconds
Oct  9 21:39:40 ubuntu1010 puppet-master[9616]: Caching catalog for localagent
Oct  9 21:39:40 ubuntu1010 puppet-master[9616]: Searched for resources in 0.01 
seconds
Oct  9 21:39:40 ubuntu1010 puppet-master[9616]: Searched for resource params 
and tags in 0.00 seconds
Oct  9 21:39:40 ubuntu1010 puppet-master[9616]: Resource removal in 0.00 seconds
Oct  9 21:39:40 ubuntu1010 puppet-master[9616]: Resource merger in 0.03 seconds
Oct  9 21:39:40 ubuntu1010 puppet-master[9616]: Resource addition in 0.00 
seconds
Oct  9 21:39:40 ubuntu1010 puppet-master[9616]: Performed resource comparison 
in 0.03 seconds
Oct  9 21:39:40 ubuntu1010 puppet-master[9616]: Using cached facts for 
localagent
Oct  9 21:39:40 ubuntu1010 puppet-master[9616]: Using cached node for localagent
Oct  9 21:39:40 ubuntu1010 puppet-master[9616]: Saved catalog to database in 
0.09 seconds
</pre>

Separately, Andy and I saw the same error when running:

<pre>
ruby 1.9.3p125 
activerecord 2.2.3
activesupport 2.2.3
</pre>

However, when using ruby 1.8.7 with the libactiverecord-ruby package, the 
activerecord, activesupport, etc code is placed directly in the ruby source, 
e.g. `/usr/lib/ruby/1.8/activerecord.rb`, and so ruby will ignore whatever gems 
you may have installed, even if those gems are inconsistent.

Joe/Jonathan, can you guys remove all of your gems and install the package 
containing the ruby activerecord bindings (for me it was libactiverecord-ruby), 
and see if the problem is resolved. Also check which version of ruby puppet is 
using.
----------------------------------------
Bug #16770: "uninitialized constant ActiveRecord" on puppet 3 w/ storedconfigs
https://projects.puppetlabs.com/issues/16770#change-73096

Author: eric sorenson
Status: Needs More Information
Priority: Normal
Assignee: 
Category: 
Target version: 3.0.1
Affected Puppet version: 3.0.0
Keywords: 
Branch: 


Two users on the mailing list reported the same error loading active record on 
Telly: https://groups.google.com/d/topic/puppet-users/3tC0gYg9XA0/discussion

One is on EL6, the other Ubuntu 10.4

<pre>
Yesterday my puppetmaster and nodes got upgraded to puppet-3.0.0. 

Since then, all puppet runs have been failing with this error: 

Error: Could not retrieve catalog from remote server: Error 400 on 
SERVER: Could not autoload puppet/indirector/node/active_record: 
uninitialized constant ActiveRecord 


My colleague and I have put a few hours into trying to work out what's 
wrong. rubygem-activerecord-2.1.1-2.el6.noarch is installed from the 
puppetlabs RPM repo. We've reinstalled all components but made no progress. 
</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