I just saw the mistake. The fields for parsedfile need to be properties, not parameters.
change newparam(:value) do desc "The value to set" end to newproperty(:value) do desc "The value to set" end and it should work. On Mon, Mar 29, 2010 at 11:36 AM, .Nox <dot...@gmail.com> wrote: > Hello, > > [r...@vps1 ~]$ puppetd --server test --waitforcert 60 --test --trace > info: Retrieving plugin > warning: newstate() has been deprecrated; use newproperty(value) > info: Caching catalog for vps1.srv171.rackco.com > info: Applying configuration version '1269887449' > notice: //r::ssh/Ssh::Set_value[PermitRootLogin]/ > Sshd_param[PermitRootLogin]/ensure: created > /usr/lib/ruby/site_ruby/1.8/puppet/util/fileparsing.rb:95:in `join' > /usr/lib/ruby/site_ruby/1.8/puppet/util/fileparsing.rb:89:in `collect' > /usr/lib/ruby/site_ruby/1.8/puppet/util/fileparsing.rb:89:in `join' > /usr/lib/ruby/site_ruby/1.8/puppet/util/fileparsing.rb:341:in > `to_line' > /usr/lib/ruby/site_ruby/1.8/puppet/util/fileparsing.rb:314:in > `to_file' > /usr/lib/ruby/site_ruby/1.8/puppet/util/fileparsing.rb:314:in > `collect' > /usr/lib/ruby/site_ruby/1.8/puppet/util/fileparsing.rb:314:in > `to_file' > /usr/lib/ruby/site_ruby/1.8/puppet/provider/parsedfile.rb:316:in > `to_file' > /usr/lib/ruby/site_ruby/1.8/puppet/provider/parsedfile.rb:102:in > `flush_target' > /usr/lib/ruby/site_ruby/1.8/puppet/provider/parsedfile.rb:74:in > `flush' > /usr/lib/ruby/site_ruby/1.8/puppet/provider/parsedfile.rb:72:in `each' > /usr/lib/ruby/site_ruby/1.8/puppet/provider/parsedfile.rb:72:in > `flush' > /usr/lib/ruby/site_ruby/1.8/puppet/provider/parsedfile.rb:356:in > `flush' > /usr/lib/ruby/site_ruby/1.8/puppet/type.rb:752:in `flush' > /usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:94: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/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: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/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: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/configurer.rb:169:in `run' > /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/configurer.rb:168:in `run' > /usr/lib/ruby/site_ruby/1.8/puppet/agent.rb:53:in `run' > /usr/lib/ruby/site_ruby/1.8/puppet/agent/locker.rb:21:in `lock' > /usr/lib/ruby/site_ruby/1.8/puppet/agent.rb:53:in `run' > /usr/lib/ruby/1.8/sync.rb:229:in `synchronize' > /usr/lib/ruby/site_ruby/1.8/puppet/agent.rb:53:in `run' > /usr/lib/ruby/site_ruby/1.8/puppet/agent.rb:134:in `with_client' > /usr/lib/ruby/site_ruby/1.8/puppet/agent.rb:51:in `run' > /usr/lib/ruby/site_ruby/1.8/puppet/application/puppetd.rb:103:in > `onetime' > /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/puppetd:159 > err: Got an uncaught exception of type ArgumentError: Field 'value' is > required > warning: Value of 'preferred_serialization_format' (pson) is invalid > for report, using default (marshal) > notice: Finished catalog run in 3.01 seconds > > Thank you. > -- > Maxim Ianoglo > > On Mar 29, 8:04 pm, Dan Bode <d...@reductivelabs.com> wrote: > > On Sun, Mar 28, 2010 at 2:09 AM, .Nox <dot...@gmail.com> wrote: > > > Hello, > > > > > I wrote a custom type for managing sshd configuration file > > > > > Type: > > > ======================================================== > > > module Puppet > > > newtype(:sshd_param) do > > > @doc = "Manages parameters of sshd" > > > > > ensurable > > > > > newparam(:name) do > > > desc "The name of the parameter." > > > isnamevar > > > end > > > > > newproperty(:target) do > > > desc "Location of sshd configuration file" > > > > > defaultto { > > > if > > > @resource.class.defaultprovider.ancestors.include? > > > Puppet::Provider::ParsedFile > > > @resource.class.defaultprovider.default_target > > > else > > > nil > > > end > > > } > > > end > > > > > newparam(:value) do > > > desc "The value to set" > > > end > > > end > > > end > > > > > Provider: > > > ======================================================== > > > require 'puppet/provider/parsedfile' > > > > > conf = "/etc/ssh/sshd_config" > > > > > Puppet::Type.type(:sshd_param).provide( > > > :parsed, > > > :parent => Puppet::Provider::ParsedFile, > > > :default_target => conf, > > > :filetype => :flat > > > ) do > > > > > confine :exists => conf > > > > > text_line :comment, > > > :match => /^#/ > > > text_line :blank, > > > :match => /^\s*$/ > > > record_line :parsed, > > > :fields => %w{name value}, > > > :separator => /\s*\ \s*|#.*|\s*$/, > > > :joiner => ' ' > > > end > > > > > Define: > > > ======================================================== > > > define ssh::set_value($value, > > > $target = "/etc/ssh/sshd_config") > > > { > > > include ssh::server > > > > > sshd_param > > > { > > > $name: > > > value => $value, > > > target => $target, > > > notify => Service[sshd_server], > > > require => Package[sshd_package] > > > } > > > } > > > > > Package sshd_package and Service sshd_server are defined in > > > ssh::server > > > > > In manifest file I have: > > > ssh::set_value > > > { > > > "PermitRootLogin": > > > value => "yes", > > > target => "/etc/ssh/sshd_config" > > > } > > > > > And at every run I get: > > > err: Got an uncaught exception of type ArgumentError: Field 'value' is > > > required > > > > can you reproduce with with --trace. > > > > > Does anyone know how to fix this issue ? > > > > > OS: RHEL 5.4 > > > PUPPET_VER: 0.25.4 > > > PUPPET_MASTER_VER: 0.25.4 > > > > > Thank you. > > > -- > > > Maxim Ianoglo > > > > > -- > > > You received this message because you are subscribed to the Google > Groups > > > "Puppet Users" group. > > > To post to this group, send email to puppet-us...@googlegroups.com. > > > To unsubscribe from this group, send email to > > > puppet-users+unsubscr...@googlegroups.com<puppet-users%2bunsubscr...@googlegroups.com> > <puppet-users%2bunsubscr...@googlegroups.com<puppet-users%252bunsubscr...@googlegroups.com> > > > > > . > > > For more options, visit this group at > > >http://groups.google.com/group/puppet-users?hl=en. > > > > > > -- > You received this message because you are subscribed to the Google Groups > "Puppet Users" group. > To post to this group, send email to puppet-us...@googlegroups.com. > To unsubscribe from this group, send email to > puppet-users+unsubscr...@googlegroups.com<puppet-users%2bunsubscr...@googlegroups.com> > . > For more options, visit this group at > http://groups.google.com/group/puppet-users?hl=en. > > -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.