On Sep 18, 2009, at 11:16 PM, Markus Roberts wrote: > > > From one perspective, perhaps. But you can also look at it as a > > simplification, in that it removes a number of tricky questions in > an > > elegant, easy to understand way. > > > > We can't, in the general case, tell if two regular expressions > overlap. > > So if we discover at run time that a node matches two regular > > expressions, which one applies? Saying "both" cuts the knot in a way > > that's easy to understand and could even be useful. > > To be honest - and please don't take offence - that's spoken like a > developer. :) > > No offense taken. But I'll return the serve. > > > As a sysadmin and one of the people who spends a lot of time > > helping people with Puppet I sense huge potential for multiple > > matching node statements to trip people over and create > > mayhem and chaos. But maybe I am just a cynic. :P > > There are a few ways we could prevent it. But none of them are that > great. Which of the following are you proposing: > > * Taking regexps out? > * Imposing a limit of at most one node-regexp per environment? > * Do you have a golden rule for which one to apply when two match? > * The shorter regexp wins > * The "most specific" wins > * The first regexp in alphabets order wins > * The newest wins > * Pick one at random > * Prompt the user > * Add a priority field to the node definitions? > * Or should it fail? > * Just for that node, or is the whole configuration now > suspect? > * Should it wait to see if there's a conflict? > * Require all node names to be registered in advance, and reject > them if they'd match two? > * Water down the regexps to something more tractable (say like > shell glomming)? > > If your plan is to just ignore the issue and hope it never comes up > (or even better, have a policy against it happening), well, I'd have > to say that that's sounding like something a sysadmin would do :). > > But only to tweak you.
Well, the rule we have now is the longest matching non-regex wins, and otherwise, the first specified matching regex wins. -- The most incomprehensible thing about the world is that it is at all comprehensible. --Albert Einstein --------------------------------------------------------------------- Luke Kanies | http://reductivelabs.com | http://madstop.com --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
