Hi,

I'm sorry, this may not be the response you are waiting for.
Unfortunately, I have only questions to add...

> 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 :-).
> 


Is there, besides the mentioned blog post, any official documentation? I
haven't been able to find any.

How can I use facts in pure-Ruby manifests? I don't know how to reference
them, and anything I have tried failed.

Best regards,
Martijn.

-- 
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.

Reply via email to