Issue #945 has been updated by Todd Zullinger.

I think this may be caused by http://redmine.ruby-lang.org/issues/show/1068

I ran into it just now on CentOS 5 (ruby 1.8.5 (2006-08-25) [x86_64-linux]) and 
on Fedora 12 (ruby 1.8.6 (2010-02-05 patchlevel 399) [x86_64-linux]).  I have a 
user account for nfsnobody with uid 4294967294.

Perl, python, and coreutils (chown) have no problems with this uid.  But 
puppet, or ruby rather, chokes on it:

<pre>
$ cat /tmp/test.pp
file { '/tmp/test.pp':
  ensure => present,
  owner  => 'nfsnobody',
}

$ sudo puppet --verbose --debug --trace /tmp/test.pp 
[...]
err: Tried to get name field for silly id 4294967294
debug: //File[/tmp/test.pp]: Changing owner
debug: //File[/tmp/test.pp]: 1 change(s)
/usr/lib/ruby/site_ruby/1.8/puppet/type/file/owner.rb:137:in `sync'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction/change.rb:54:in `go'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction/change.rb:72:in `forward'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:120:in `apply_changes'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:113:in `collect'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:113:in `apply_changes'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:85:in `apply'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:251:in 
`eval_children_and_apply_resource'
/usr/lib/ruby/site_ruby/1.8/puppet/util.rb:418:in `thinmark'
/usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/core_ext/benchmark.rb:8:in
 `realtime'
/usr/lib/ruby/site_ruby/1.8/puppet/util.rb:417:in `thinmark'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:250:in 
`eval_children_and_apply_resource'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:207:in `eval_resource'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:296:in `evaluate'
/usr/lib/ruby/site_ruby/1.8/puppet/util.rb:418:in `thinmark'
/usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/core_ext/benchmark.rb:8:in
 `realtime'
/usr/lib/ruby/site_ruby/1.8/puppet/util.rb:417:in `thinmark'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:295:in `evaluate'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:289:in `collect'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:289:in `evaluate'
/usr/lib/ruby/site_ruby/1.8/puppet/resource/catalog.rb:142:in `apply'
/usr/lib/ruby/site_ruby/1.8/puppet/application/puppet.rb:132:in `main'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:226:in `send'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:226:in `run_command'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:217:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:306:in `exit_on_fail'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:217:in `run'
/usr/bin/puppet:71
err: //File[/tmp/test.pp]/owner: change from tmz to 4294967294 failed: Failed 
to set owner to '4294967294': integer 4294967294 too big to convert to `int'
debug: Finishing transaction 23456256699900 with 1 changes

$ ruby -r etc -e 'nobody = Etc.getpwnam("nfsnobody"); p nobody; Process.uid = 
nobody.uid'
#<struct Struct::Passwd name="nfsnobody", passwd="x", uid=4294967294, 
gid=4294967294, gecos="Anonymous NFS User", dir="/var/lib/nfs", 
shell="/sbin/nologin">
-e:1:in `uid=': integer 4294967294 too big to convert to `int' (RangeError)
        from -e:1
</pre>

----------------------------------------
Bug #945: puppetmasterd does not run with leopard
http://projects.puppetlabs.com/issues/945

Author: Mario Martelli
Status: Re-opened
Priority: Normal
Assigned to: 
Category: OSX
Target version: 
Patch: None
Affected version: 0.25.5
Keywords: 
Branch: 


I created user and group for puppet manually and invoked puppetmasterd with 
this commandline:
<pre>
sudo puppetmasterd --confdir /Users/mgm/svn/testbed-automation/conf -v
</pre>

I got puppet errors:

<pre>
err: Tried to get gid field for silly id 4294967294
err: /puppetconfig/reporting/File[/opt/puppet/var/reports]/ensure: change from 
absent to directory failed: Could not find group 4294967294
err: Tried to get gid field for silly id 4294967294
err: /puppetconfig/metrics/File[/opt/puppet/var/rrd]/ensure: change from absent 
to directory failed: Could not find group 4294967294
err: Tried to get gid field for silly id 4294967294
err: /puppetconfig/main/File[/opt/puppet/var/log]/ensure: change from absent to 
directory failed: Could not find group 4294967294
err: Tried to get gid field for silly id 4294967294
err: 
/puppetconfig/ca/File[/Users/mgm/svn/testbed-automation/conf/ssl/ca]/ensure: 
change from absent to directory failed: Could not find group 4294967294
</pre>

and ruby error:

<pre>
bignum too big to convert into @long'
</pre>

The directories look like this:

<pre>
mgm$ ls -l /opt/puppet/var/
total 0
drwxr-xr-x  2 root    admin  68  3 Dez 14:17 lib
drwxr-x---  2 puppet  admin  68  3 Dez 14:17 log
drwxr-x---  2 puppet  admin  68  3 Dez 14:17 reports
drwxr-xr-x  2 puppet  admin  68  3 Dez 14:17 rrd
drwxrwxrwt  2 root    admin  68  3 Dez 14:17 run
drwxrwxrwt  2 root    admin  68  3 Dez 14:17 state
</pre>

and this:

<pre>
ls -l conf/
total 40
-rw-r--r--   1 mgm   mgm     2 29 Nov 13:13 autosign.conf
-rw-r--r--   1 mgm   mgm   228 29 Nov 13:13 fileserver.conf
-rw-r--r--   1 mgm   mgm  3239 29 Nov 13:13 hosts.pp
drwxr-xr-x  14 mgm   mgm   476  3 Dez 13:24 manifests
-rw-r--r--   1 mgm   mgm   164 29 Nov 13:13 puppetca.conf
-rw-r--r--   1 mgm   mgm   168 29 Nov 13:13 puppetmasterd.conf
drwxrwx--x   7 root  mgm   238  3 Dez 14:17 ssl
</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