On Jan 28, 2013, at 2:03 AM, Luke Kanies wrote:

> It's not completely clear from this email, but the point is that we
> will still be adding the new dsl, but not unto 1) users realize there
> will be a new, incompatible dsl, and 2) that new dal is stable.
> 
> I think the new dsl was pulled because of these concerns, and since we
> don't know how many people actually use the current one, we don't know
> how big of a problem this is.

Sorry for the lack of clarity around this communication. I should have expanded 
the release note and/or sent this first to get it out early.

After holding the Puppet 3.1 release last week when exploratory testing 
revealed some show-stopper bugs in the Puppet Ruby DSL, the dev team focused on 
responding to the issues and getting patches in. Henrik Lindberg and Patrick 
Carlisle in particular turned in some rapid fixes, but I made the call on 
Thursday to revert the code entirely. 

When we tried to use the new Ruby DSL to accomplish real-world tasks, things 
blew up in fundamental ways: ruby manifests didn't reload without a 
puppetmaster restart, resource requirements only worked if the dependent 
resources came first in the manifest, we absolutely must run on ruby 1.9 or 
'exec' resources end up running Kernel.exec on the master... and this was just 
in a couple of hours of a couple of people testing. All of these things had 
eventual workarounds, but they led down a path that was so limited, expensive 
to support, and user-hostile I feel pretty confident Puppet is better off 
without it. 

Ultimately, I feel it would be best to instead focus on improving the parts of 
the Puppet DSL which address those users' needs that drive them towards wanting 
Ruby manifests. We threw this out to the "target market" of advanced users via 
#puppet-dev[1]  and got back consistent answers: it basically boils down to 
variable iteration/expansion and direct access to the scope-related parts of 
the API. Henrik has already done some interesting work on getting iteration 
into the Puppet DSL[2] and we'd love feedback on whether this approach works 
for people who would previously have turned to Ruby.


[1] http://puppetlogs.com/puppetdev/%23puppet-dev-2013-01-24.log.html
[2] http://projects.puppetlabs.com/issues/11331


Eric Sorenson - [email protected]
#puppet irc: eric0 

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-dev?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to