Issue #3155 has been updated by Jesse Wolfe. Status changed from Needs more information to Ready for Checkin Branch set to git://github.com/masterzen/puppet.git
Oops: this one. ---------------------------------------- Bug #3155: Strange if statement regex problem, matches fail with "Cannot reassign variable 0" http://projects.puppetlabs.com/issues/3155 Author: Josh Endries Status: Ready for Checkin Priority: Normal Assigned to: Jesse Wolfe Category: language Target version: 0.25.5 Affected version: 0.25.4 Keywords: Branch: git://github.com/masterzen/puppet.git I have been doing work on my puppet server itself. I recently changed this: <pre> if ($environment == 'testing') or ($fqdn =~ /repo[1256].nsdl.org/) { </pre> To this: <pre> if ($environment == 'testing') or ($fqdn =~ /repo[1256].nsdl.org/) or ($fqdn =~ /puppet.nsdl.org/) { </pre> And Puppet stopped functioning: <pre> puppetd[20829]: Could not retrieve catalog from remote server: Error 400 on SERVER: Cannot reassign variable 0 at /etc/puppet/manifests/classes/linux.pp:6 on node puppet.nsdl.org </pre> This was on 0.25.1, but I upgraded to .4 and it still happens. Anything I try that matches the $fqdn (or $hostname, which I tried) causes this error. Anything that doesn't match, works fine, e.g. these don't work: <pre> $fqdn =~ /pupp/ $fqdn =~ /puppet/ $fqdn =~ /^puppet\.nsdl\.org$/ $fqdn =~ /(repo[1256]|puppet).nsdl.org/ </pre> These work: <pre> $fqdn == 'puppet.nsdl.org' $hostname == 'puppet' </pre> Here is a trace: <pre> 14:49:22 [email protected]/etc/puppet puppetmasterd --debug --trace --verbose --no-daemonize debug: Failed to load library 'selinux' for feature 'selinux' debug: Puppet::Type::User::ProviderDirectoryservice: file /usr/bin/dscl does not exist debug: Puppet::Type::User::ProviderUser_role_add: file roledel does not exist debug: Failed to load library 'ldap' for feature 'ldap' debug: Puppet::Type::User::ProviderLdap: feature ldap is missing debug: Puppet::Type::User::ProviderPw: file pw does not exist debug: /File[/etc/puppet/ssl/crl.pem]: Autorequiring File[/etc/puppet/ssl] debug: /File[/etc/puppet/ssl/certs/puppet.nsdl.org.pem]: Autorequiring File[/etc/puppet/ssl/certs] debug: /File[/etc/puppet/ssl/public_keys]: Autorequiring File[/etc/puppet/ssl] debug: /File[/etc/puppet/puppet.conf]: Autorequiring File[/etc/puppet] debug: /File[/var/lib/puppet/lib]: Autorequiring File[/var/lib/puppet] debug: /File[/etc/puppet/auth.conf]: Autorequiring File[/etc/puppet] debug: /File[/etc/puppet/ssl]: Autorequiring File[/etc/puppet] debug: /File[/etc/puppet/ssl/private_keys]: Autorequiring File[/etc/puppet/ssl] debug: /File[/var/lib/puppet/rrd]: Autorequiring File[/var/lib/puppet] debug: /File[/var/lib/puppet/facts]: Autorequiring File[/var/lib/puppet] debug: /File[/var/lib/puppet/bucket]: Autorequiring File[/var/lib/puppet] debug: /File[/etc/puppet/ssl/certs]: Autorequiring File[/etc/puppet/ssl] debug: /File[/etc/puppet/ssl/public_keys/puppet.nsdl.org.pem]: Autorequiring File[/etc/puppet/ssl/public_keys] debug: /File[/var/lib/puppet/reports]: Autorequiring File[/var/lib/puppet] debug: /File[/var/lib/puppet/state]: Autorequiring File[/var/lib/puppet] debug: /File[/etc/puppet/fileserver.conf]: Autorequiring File[/etc/puppet] debug: /File[/etc/puppet/ssl/certs/ca.pem]: Autorequiring File[/etc/puppet/ssl/certs] debug: /File[/var/log/puppet/masterhttp.log]: Autorequiring File[/var/log/puppet] debug: /File[/etc/puppet/ssl/certificate_requests]: Autorequiring File[/etc/puppet/ssl] debug: /File[/etc/puppet/ssl/private]: Autorequiring File[/etc/puppet/ssl] debug: /File[/etc/puppet/manifests/site.pp]: Autorequiring File[/etc/puppet/manifests] debug: /File[/etc/puppet/ssl/private_keys/puppet.nsdl.org.pem]: Autorequiring File[/etc/puppet/ssl/private_keys] debug: /File[/etc/puppet/manifests]: Autorequiring File[/etc/puppet] debug: /File[/var/lib/puppet/yaml]: Autorequiring File[/var/lib/puppet] debug: Finishing transaction 23650725397220 with 0 changes debug: /File[/etc/puppet/ssl/ca/ca_crl.pem]: Autorequiring File[/etc/puppet/ssl/ca] debug: /File[/etc/puppet/ssl/ca/ca_pub.pem]: Autorequiring File[/etc/puppet/ssl/ca] debug: /File[/etc/puppet/ssl/ca/serial]: Autorequiring File[/etc/puppet/ssl/ca] debug: /File[/etc/puppet/ssl/ca/requests]: Autorequiring File[/etc/puppet/ssl/ca] debug: /File[/etc/puppet/ssl/ca/ca_crt.pem]: Autorequiring File[/etc/puppet/ssl/ca] debug: /File[/etc/puppet/ssl/ca/signed]: Autorequiring File[/etc/puppet/ssl/ca] debug: /File[/etc/puppet/ssl/ca/inventory.txt]: Autorequiring File[/etc/puppet/ssl/ca] debug: /File[/etc/puppet/ssl/ca/ca_key.pem]: Autorequiring File[/etc/puppet/ssl/ca] debug: /File[/etc/puppet/ssl/ca/private]: Autorequiring File[/etc/puppet/ssl/ca] debug: /File[/etc/puppet/ssl/ca/private/ca.pass]: Autorequiring File[/etc/puppet/ssl/ca/private] debug: Finishing transaction 23650724840360 with 0 changes debug: Using cached certificate for ca, good until Sun Jun 15 16:52:42 UTC 2014 debug: Using cached certificate for ca, good until Sun Jun 15 16:52:42 UTC 2014 debug: Using cached certificate for puppet.nsdl.org, good until Sun Jun 15 16:52:42 UTC 2014 notice: Starting Puppet server version 0.25.4 debug: Finishing transaction 23650723163440 with 0 changes debug: No modules mount given; autocreating with default permissions debug: No plugins mount given; autocreating with default permissions debug: Creating interpreter debug: Finishing transaction 23650723149960 with 0 changes info: access[^/catalog/([^/]+)$]: allowing 'method' find info: access[^/catalog/([^/]+)$]: allowing $1 access info: access[/certificate_revocation_list/ca]: allowing 'method' find info: access[/certificate_revocation_list/ca]: allowing * access info: access[/report]: allowing 'method' save info: access[/report]: allowing * access info: access[/file]: allowing * access info: access[/certificate/ca]: adding authentication no info: access[/certificate/ca]: allowing 'method' find info: access[/certificate/ca]: allowing * access info: access[/certificate/]: adding authentication no info: access[/certificate/]: allowing 'method' find info: access[/certificate/]: allowing * access info: access[/certificate_request]: adding authentication no info: access[/certificate_request]: allowing 'method' find info: access[/certificate_request]: allowing 'method' save info: access[/certificate_request]: allowing * access info: access[/]: adding authentication any info: Expiring the node cache of puppet.nsdl.org info: Not using expired node for puppet.nsdl.org from cache; expired at Fri Feb 05 14:49:30 -0500 2010 info: Caching node for puppet.nsdl.org debug: importing '/etc/puppet/manifests/classes/linux.pp' debug: importing '/etc/puppet/manifests/nodes/nsdl.org.pp' debug: importing '/etc/puppet/manifests/nodes/puppet.nsdl.org.pp' debug: importing '/etc/puppet/manifests/nodes/expertvoices.nsdlib.org.pp' debug: importing '/etc/puppet/manifests/nodes/ldap.nsdl.org.pp' debug: importing '/etc/puppet/manifests/nodes/content.nsdl.org.pp' debug: importing '/etc/puppet/manifests/nodes/repo2.nsdl.org.pp' debug: importing '/etc/puppet/manifests/nodes/server3.nsdl.org.pp' debug: importing '/etc/puppet/manifests/nodes/server14.nsdl.org.pp' debug: importing '/etc/puppet/manifests/nodes/wfi.nsdl.org.pp' debug: importing '/etc/puppet/manifests/nodes/repo3.nsdl.org.pp' debug: importing '/etc/puppet/manifests/nodes/fezdev.nsdlib.org.pp' debug: importing '/etc/puppet/manifests/nodes/server4.nsdl.org.pp' debug: importing '/etc/puppet/manifests/nodes/dds1.nsdlib.org.pp' debug: importing '/etc/puppet/manifests/nodes/ldap.nsdlib.org.pp' debug: importing '/etc/puppet/manifests/nodes/onramp.nsdlib.org.pp' debug: importing '/etc/puppet/manifests/nodes/server8.nsdl.org.pp' debug: importing '/etc/puppet/manifests/nodes/server7.nsdl.org.pp' debug: importing '/etc/puppet/manifests/nodes/repo6.nsdl.org.pp' debug: importing '/etc/puppet/manifests/nodes/service.nsdl.org.pp' debug: importing '/etc/puppet/manifests/nodes/repo1.nsdlib.org.pp' debug: importing '/etc/puppet/manifests/nodes/wfi.nsdlib.org.pp' debug: importing '/etc/puppet/manifests/nodes/phpdev.nsdlib.org.pp' debug: importing '/etc/puppet/manifests/nodes/server2.nsdl.org.pp' debug: importing '/etc/puppet/manifests/nodes/repo1.nsdl.org.pp' debug: importing '/etc/puppet/manifests/nodes/repo5.nsdl.org.pp' debug: importing '/etc/puppet/manifests/nodes/search1.nsdl.org.pp' debug: importing '/etc/puppet/manifests/nodes/search2.nsdl.org.pp' debug: importing '/etc/puppet/manifests/nodes/server5.nsdl.org.pp' debug: importing '/etc/puppet/manifests/nodes/server10.nsdl.org.pp' debug: importing '/etc/puppet/manifests/nodes/server9.nsdl.org.pp' debug: importing '/etc/puppet/manifests/nodes/repo4.nsdl.org.pp' debug: importing '/etc/puppet/manifests/nodes/repo2.nsdlib.org.pp' debug: importing '/etc/puppet/manifests/nodes/onramp-test.nsdlib.org.pp' debug: importing '/etc/puppet/manifests/nodes/www1.nsdl.org.pp' debug: Puppet::Type::Package::ProviderRpm: Executing '/bin/rpm --version' debug: Puppet::Type::Package::ProviderUrpmi: Executing '/bin/rpm -ql rpm' debug: Puppet::Type::Package::ProviderYum: Executing '/bin/rpm --version' debug: Puppet::Type::Package::ProviderAptrpm: Executing '/bin/rpm -ql rpm' /usr/lib/ruby/site_ruby/1.8/puppet/parser/scope.rb:311:in `setvar' /usr/lib/ruby/site_ruby/1.8/puppet/parser/scope.rb:423:in `ephemeral_from' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/leaf.rb:182:in `evaluate_match' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/match_operator.rb:19:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast.rb:72:in `safeevaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/ifstatement.rb:19:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast.rb:72:in `safeevaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/caseopt.rb:67:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast.rb:72:in `safeevaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/casestatement.rb:25:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/caseopt.rb:60:in `eachopt' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/casestatement.rb:24:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/branch.rb:16:in `each' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/branch.rb:15:in `each' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/casestatement.rb:23:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast.rb:72:in `safeevaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/astarray.rb:35:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/astarray.rb:34:in `collect' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/astarray.rb:34:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast.rb:72:in `safeevaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/caseopt.rb:67:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast.rb:72:in `safeevaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/casestatement.rb:25:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/caseopt.rb:60:in `eachopt' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/casestatement.rb:24:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/branch.rb:16:in `each' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/branch.rb:15:in `each' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/casestatement.rb:23:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast.rb:72:in `safeevaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/hostclass.rb:82:in `evaluate_code' /usr/lib/ruby/site_ruby/1.8/puppet/parser/resource.rb:73:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/compiler.rb:147:in `evaluate_classes' /usr/lib/ruby/site_ruby/1.8/puppet/parser/compiler.rb:138:in `each' /usr/lib/ruby/site_ruby/1.8/puppet/parser/compiler.rb:138:in `evaluate_classes' /usr/lib/ruby/site_ruby/1.8/puppet/parser/functions/include.rb:6:in `function_include' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/function.rb:42:in `send' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/function.rb:42:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast.rb:72:in `safeevaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/astarray.rb:35:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/astarray.rb:34:in `collect' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/astarray.rb:34:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast.rb:72:in `safeevaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/hostclass.rb:82:in `evaluate_code' /usr/lib/ruby/site_ruby/1.8/puppet/parser/resource.rb:73:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/compiler.rb:235:in `evaluate_ast_node' /usr/lib/ruby/site_ruby/1.8/puppet/parser/compiler.rb:94:in `compile' /usr/lib/ruby/site_ruby/1.8/puppet/parser/interpreter.rb:29:in `compile' /usr/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:88:in `compile' /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:178:in `benchmark' /usr/lib/ruby/1.8/benchmark.rb:293:in `measure' /usr/lib/ruby/1.8/benchmark.rb:307:in `realtime' /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:177:in `benchmark' /usr/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:86:in `compile' /usr/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:35:in `find' /usr/lib/ruby/site_ruby/1.8/puppet/indirector/indirection.rb:195:in `find' /usr/lib/ruby/site_ruby/1.8/puppet/indirector.rb:51:in `find' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:101:in `do_find' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:68:in `send' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:68:in `process' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick/rest.rb:23:in `service' /usr/lib/ruby/1.8/webrick/httpserver.rb:104:in `service' /usr/lib/ruby/1.8/webrick/httpserver.rb:65:in `run' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:45:in `listen' /usr/lib/ruby/1.8/webrick/server.rb:173:in `call' /usr/lib/ruby/1.8/webrick/server.rb:173:in `start_thread' /usr/lib/ruby/1.8/webrick/server.rb:162:in `start' /usr/lib/ruby/1.8/webrick/server.rb:162:in `start_thread' /usr/lib/ruby/1.8/webrick/server.rb:95:in `start' /usr/lib/ruby/1.8/webrick/server.rb:92:in `each' /usr/lib/ruby/1.8/webrick/server.rb:92:in `start' /usr/lib/ruby/1.8/webrick/server.rb:23:in `start' /usr/lib/ruby/1.8/webrick/server.rb:82:in `start' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:42:in `listen' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:41:in `initialize' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:41:in `new' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:41:in `listen' /usr/lib/ruby/1.8/thread.rb:135:in `synchronize' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:38:in `listen' /usr/lib/ruby/site_ruby/1.8/puppet/network/server.rb:131:in `listen' /usr/lib/ruby/site_ruby/1.8/puppet/network/server.rb:146:in `start' /usr/lib/ruby/site_ruby/1.8/puppet/daemon.rb:128:in `start' /usr/lib/ruby/site_ruby/1.8/puppet/application/puppetmasterd.rb:122: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/sbin/puppetmasterd:66 err: Cannot reassign variable 0 at /etc/puppet/manifests/classes/linux.pp:6 on node puppet.nsdl.org /usr/lib/ruby/site_ruby/1.8/puppet/parser/interpreter.rb:32:in `compile' /usr/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:88:in `compile' /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:178:in `benchmark' /usr/lib/ruby/1.8/benchmark.rb:293:in `measure' /usr/lib/ruby/1.8/benchmark.rb:307:in `realtime' /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:177:in `benchmark' /usr/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:86:in `compile' /usr/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:35:in `find' /usr/lib/ruby/site_ruby/1.8/puppet/indirector/indirection.rb:195:in `find' /usr/lib/ruby/site_ruby/1.8/puppet/indirector.rb:51:in `find' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:101:in `do_find' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:68:in `send' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:68:in `process' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick/rest.rb:23:in `service' /usr/lib/ruby/1.8/webrick/httpserver.rb:104:in `service' /usr/lib/ruby/1.8/webrick/httpserver.rb:65:in `run' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:45:in `listen' /usr/lib/ruby/1.8/webrick/server.rb:173:in `call' /usr/lib/ruby/1.8/webrick/server.rb:173:in `start_thread' /usr/lib/ruby/1.8/webrick/server.rb:162:in `start' /usr/lib/ruby/1.8/webrick/server.rb:162:in `start_thread' /usr/lib/ruby/1.8/webrick/server.rb:95:in `start' /usr/lib/ruby/1.8/webrick/server.rb:92:in `each' /usr/lib/ruby/1.8/webrick/server.rb:92:in `start' /usr/lib/ruby/1.8/webrick/server.rb:23:in `start' /usr/lib/ruby/1.8/webrick/server.rb:82:in `start' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:42:in `listen' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:41:in `initialize' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:41:in `new' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:41:in `listen' /usr/lib/ruby/1.8/thread.rb:135:in `synchronize' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:38:in `listen' /usr/lib/ruby/site_ruby/1.8/puppet/network/server.rb:131:in `listen' /usr/lib/ruby/site_ruby/1.8/puppet/network/server.rb:146:in `start' /usr/lib/ruby/site_ruby/1.8/puppet/daemon.rb:128:in `start' /usr/lib/ruby/site_ruby/1.8/puppet/application/puppetmasterd.rb:122: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/sbin/puppetmasterd:66 err: Cannot reassign variable 0 at /etc/puppet/manifests/classes/linux.pp:6 on node puppet.nsdl.org</pre> This was working fine, before I added puppet, so it could be something else entirely...but I have no idea what. :( This is the bit of that file which is erroring out: <pre> class linux { case $operatingsystem { redhat: { case $operatingsystemrelease { /^5/: { if ($fqdn =~ /puppet.nsdl.org/) { iptables { "0000 RHEL5 INPUT chain redirect": chain => 'INPUT', jump => 'RH-Firewall-1-INPUT', } </pre> I have tried removing everything inside the if statement so it's just a {} and that doesn't affect it. -- 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://reductivelabs.com/redmine/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.
