Package: puppet
Version: 0.18.4-1
Severity: important
Hi,
I'm finding that running puppetd with a very simple (but possibly
wrong) setup leads to random Ruby back traces and SegVs. Here is the
setup:
The server ("home.phy.bnl.gov") is run like:
puppetmasterd --debug
The client ("lycastus.phy.bnl.gov") is run like:
puppetd --server servername --test
The site.pp file contains:
# site.pp
define remotefile(owner = root, server = "home.phy.bnl.gov", group = root,
mode, source, backup = false, recurse = false) {
file {
$name:
mode => $mode,
owner => $owner,
group => $group,
backup => $backup,
source => "puppet://$server/$source"
}
}
class banner {
remotefile { "/etc/issue.net":
mode => 444, source => "files/issue.net"
}
}
node lycastus {
include banner
}
### end site.pp
The fileserver.conf file contains:
### fileserver.conf
[files]
path /etc/puppet/dist/files
allow *.phy.bnl.gov
[private]
path /etc/puppet/dist/nodes/%h
allow *
### end fileserver.conf
Running the server shows no errors other than some (harmless?) missing
files. When the client attempts to connect the server gives:
info: Allowing lycastus.phy.bnl.gov(130.199.36.67) trusted access to
puppetmaster.getconfig
debug: Our client is remote
notice: Compiled configuration for lycastus.phy.bnl.gov in 0.01 seconds
info: Allowing lycastus.phy.bnl.gov(130.199.36.67) trusted access to
fileserver.describe
debug: mount[files]: Describing /files/issue.net for lycastus.phy.bnl.gov
Regardless of whether the client crashes or not.
Finally, here are some examples of failed and successful client runs:
lycastus:~# puppetd --server home.phy.bnl.gov --test
info: Caching configuration at /etc/puppet/localconfig.yaml
notice: Starting configuration run
/usr/lib/ruby/1.8/xmlrpc/client.rb:412:in `call': negative allocation size (or
too big) (NoMemoryError)
from /usr/lib/ruby/1.8/puppet/networkclient.rb:64:in `describe'
from /usr/lib/ruby/1.8/puppet/client/proxy.rb:15:in `describe'
from /usr/lib/ruby/1.8/puppet/type/pfile/source.rb:41:in `describe'
from /usr/lib/ruby/1.8/puppet/type/pfile/source.rb:93:in `retrieve'
from /usr/lib/ruby/1.8/puppet/type/pfile/source.rb:92:in `retrieve'
from /usr/lib/ruby/1.8/puppet/type/pfile.rb:731:in `retrieve'
from /usr/lib/ruby/1.8/puppet/type.rb:1847:in `evaluate'
from /usr/lib/ruby/1.8/puppet/transaction.rb:46:in `apply'
... 13 levels...
from /usr/lib/ruby/1.8/puppet/client/master.rb:435:in `run'
from /usr/lib/ruby/1.8/puppet/client/master.rb:349:in `lock'
from /usr/lib/ruby/1.8/puppet/client/master.rb:425:in `run'
from /usr/sbin/puppetd:421
lycastus:~# puppetd --server home.phy.bnl.gov --test
info: Caching configuration at /etc/puppet/localconfig.yaml
notice: Starting configuration run
/usr/lib/ruby/1.8/xmlrpc/client.rb:412: [BUG] Segmentation fault
ruby 1.8.4 (2005-12-24) [i486-linux]
Aborted
lycastus:~# puppetd --server home.phy.bnl.gov --test
notice: Stale lockfile /var/lib/puppet/state/puppetdlock left by process 17124;
removing
info: Caching configuration at /etc/puppet/localconfig.yaml
notice: Starting configuration run
notice: Finished configuration run in 0.17 seconds
If I call the client with --debug I get:
lycastus:~# puppetd --debug --server home.phy.bnl.gov --test
...
debug: puppetconfig/puppetd/file=/etc/puppet/localconfig: File does not exist
debug: puppetconfig/puppetd/file=/etc/puppet/localconfig: Changing owner,mode
debug: puppetconfig/puppetd/file=/etc/puppet/localconfig: 2 change(s)
debug: puppetconfig/puppetd/file=/etc/puppet/localconfig/owner: File does not
exist; cannot set owner
debug: puppetconfig/puppetd/file=/etc/puppet/localconfig/mode: File does not
exist; cannot set mode
debug: Finishing transaction -743089528 with 4 changes
info: Caching configuration at /etc/puppet/localconfig.yaml
debug: Creating default schedules
/usr/lib/ruby/1.8/puppet/parameter.rb:213: [BUG] Segmentation fault
ruby 1.8.4 (2005-12-24) [i486-linux]
Aborted
lycastus:~# puppetd --debug --server home.phy.bnl.gov --test
...
debug: puppetconfig/puppetd/file=/etc/puppet/localconfig: File does not exist
debug: puppetconfig/puppetd/file=/etc/puppet/localconfig: Changing owner,mode
debug: puppetconfig/puppetd/file=/etc/puppet/localconfig: 2 change(s)
debug: puppetconfig/puppetd/file=/etc/puppet/localconfig/owner: File does not
exist; cannot set owner
debug: puppetconfig/puppetd/file=/etc/puppet/localconfig/mode: File does not
exist; cannot set mode
debug: Finishing transaction -742838468 with 4 changes
info: Caching configuration at /etc/puppet/localconfig.yaml
debug: Creating default schedules
/usr/lib/ruby/1.8/puppet/parameter.rb:335: [BUG] Segmentation fault
ruby 1.8.4 (2005-12-24) [i486-linux]
Aborted
Note the locations are different.
Please let me know if I can provide additional info.
-Brett.
-- System Information:
Debian Release: testing/unstable
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.17-1-k7
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Versions of packages puppet depends on:
ii adduser 3.85 Add and remove users and groups
ii facter 1.3.3-1 a library for retrieving facts fro
ii libopenssl-ruby 1.0.0+ruby1.8.2-1 OpenSSL interface for Ruby
ii libxmlrpc-ruby 1.8.2-1 XML-RPC support for Ruby
ii lsb-base 3.1-4 Linux Standard Base 3.1 init scrip
ii ruby 1.8.2-1 An interpreter of object-oriented
Versions of packages puppet recommends:
ii rdoc 1.8.2-1 Generate documentation from ruby s
-- no debconf information
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]