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.
