(cross posting here as I originally posted in puppet-users - I figure
the question is more of a dev one then for puppet-users)




Hi everyone, I'm experimenting with converting some of my live puppet
content to Ruby DSL and have found a few gaps I wouldn't mind some
advice on. I'm not sure how many of you have already experimented in
this arena yet. I've already read Dan Bode's excellent blog article on
the subject: http://www.puppetlabs.com/blog/ruby-dsl/ I know the Ruby
DSL is quite new - but I figured perhaps some of these items deserve to
be tickets (or perhaps documented) and I thought I'd ask first :-). 1.
Defaults How do I set defaults in Ruby DSL? For example what is the
ruby DSL equivalent to this: Service { hasstatus => true } 2. Top scope
I notice the convenience methodology does not work at 'top scope' for
example this will fail: file "/tmp/zzz", :content => "foo" But this
will not: node "default" do file "/tmp/zzz", :content => "foo" end Is
there a proper way to call resources without using the convenience
methods? Or perhaps is there a way to define elements that reside in
top scope? 3. Class resource I think Dan Bode already raised this as a
bug: https://projects.puppetlabs.com/issues/5236 The following returns
an error 'method_missing': hostclass :foo do notify "bar" end
node "default" do hostclass "foo", :stage => "baz" end This is because
hostclass has not been defined as a convenience method it would seem.
Just like issues 2 If someone knows a way to call a resource directly
without requiring the convenience method that would be a decent enough
work-around. 4. exec Resource The 'exec' resource as a convenience
method is overlapping with the ruby 'exec' method. So if you do this:
node "default" do exec "ls", :command => "/bin/ls" end You get: can't
convert Hash into String on node obelisk.usr.bob.sh Returned from the
Kernel.exec call. 5. Referencing other resources I'm not quite clear
how to reference other resources that already exist. This is obviously
a problem for the 'require' attribute: node "default" do
package "foo", :ensure => "installed" service "foo", :enable
=> "true", :ensure => "running", :require => ??? end 6. Chaining
Resources Is there a syntactical equivalent to this in Ruby DSL yet?
For example: Stage[pre] -> Stage[main] -> Stage[post] Without knowing
how to solve 5 I'm kind of stuck when it comes to defining
dependencies :-). Cheers :-).

ken.

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" 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-dev?hl=en.

Reply via email to