Issue #18755 has been updated by Josh Cooper.
Thanks Ashley. It appears puppet on your system is loading an older version of
`lib/puppet/type/group.rb` that doesn't contain the `exists?` method, which was
added in commit 006c5def for #9862. Can try the following?
<pre>
# irb
# require 'puppet'
# puts Puppet::Type.type(:group).new(:name => :service).exists?
</pre>
Another possibility is that the group provider on your system doesn't implement
the exists? method. Can you try the same as above, but this time call the
method on the provider directly?
<pre>
# puts Puppet::Type.type(:group).new(:name => :service).provider.exists?
</pre>
Do you have another version of puppet installed as a gem? If the 3.0.2 version
is still installed, can you try removing it?
Do you have a pluginsync'ed module in `/var/lib/puppet/lib` that includes the
group type? To be sure can you `rm -rf /var/lib/puppet/lib` and then run
`puppet apply -e "notice('')" --modulepath /dev/null`
----------------------------------------
Bug #18755: Puppet apply completely broken in 3.1rc1
https://projects.puppetlabs.com/issues/18755#change-81514
Author: Ashley Penney
Status: Needs More Information
Priority: High
Assignee: Ashley Penney
Category:
Target version:
Affected Puppet version: 3.1.0-rc1
Keywords:
Branch:
I recently installed 3.1 (via a gem) to fix the rspec testing issues but
discovered a new problem:
<pre>
[root@arch manifests]# puppet apply test.pp
Could not retrieve macaddress: undefined method `each_line' for nil:NilClass
Could not retrieve macaddress: undefined method `each_line' for nil:NilClass
Could not retrieve macaddress: undefined method `each_line' for nil:NilClass
Could not retrieve ipaddress6: undefined method `scan' for nil:NilClass
Error: Could not create resources for managing Puppet's files and directories
in sections [:main, :ssl, :agent]: undefined method `exists?' for
Group[puppet]:Puppet::Type::Group
Error: Could not create resources for managing Puppet's files and directories
in sections [:main, :ssl, :agent]: undefined method `exists?' for
Group[puppet]:Puppet::Type::Group
undefined method `exists?' for Group[puppet]:Puppet::Type::Group
</pre>
As soon as I revert to 3.0.2 this works again.
test.pp is just a quick call to a single define:
<pre>
json::add_file { 'env.json': }
</pre>
My puppet.conf:
<pre>
[main]
logdir=/var/log/puppet
vardir=/var/lib/puppet
ssldir=/var/lib/puppet/ssl
rundir=/var/run/puppet
factpath=$vardir/lib/facter
templatedir=$confdir/templates
environment = production
pluginsync = true
modulepath=/home/apenney/git/configuration/modules
[master]
modulepath=/home/apenney/git/configuration/modules
[agent]
modulepath=/home/apenney/git/configuration/modules
</pre>
/etc/group entry:
<pre>
puppet:x:1000:
</pre>
/etc/passwd:
<pre>
puppet:x:1001:1000::/var/lib/puppet:/bin/false
</pre>
This is using ruby 1.9.3p374 on arch linux. I set the priority as high only
because this seems a fairly large change in behavior that might have slipped
through the cracks and will upset users! :) If there's any other info I can
get for you just let me know.
--
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.