On Tuesday, September 3, 2013 6:15:39 AM UTC-5, Sean Millichamp wrote: > > On Mon, 2013-09-02 at 23:50 -0700, Luke Kanies wrote: > > > However, I still disagree that fixing bugs should constitute a change > > worth upping a major rev. If it's a bug, then fixing it shouldn't be > > an incompatibility, should it? > >
No, but Puppet's behavior with respect to classes (not) containing the classes they declare is not rightly characterized as a bug. On the contrary, it is a documented, essential feature of classes that the same class can be declared in multiple places, and that is incompatible with automatic containment. The fact that at most one declaration of a given class can use parameterized syntax is irrelevant, because use of a parameterized declaration of a class in one place does not prevent 'include' or 'require' declarations of the same class appearing in other places. There can be good reasons for such usage, and it is not safe for Puppet to assume that any one declaration among several can be chosen as the containment site. Tying containment to parameterized-style declarations would not solve the problem anyway; it would only move it -- and break an unknown number of existing manifest sets in the process. Where users want containment but not parameterized syntax, they would still be stuck with the anchor pattern. Where users rely on Puppet's current behavior and documentation in their current manifest sets, altering Puppet to change the semantics of their existing code must be expected to break some of that code. > I would argue that it has been the behavior for so long that fixing it > now could possibly break things in production and, at this point, it's > more or less past "a bug" and into a new feature. I'm sure there are > lots of users of Puppet at this point who have never known another > behavior. > > Inasmuch as the current behavior has always been the only alternative consistent with Puppet's documentation, even if it was not spelled out explicitly, I don't think the time factor is a required element in this equation. But if you're not persuaded that this was never a bug in the first place, Sean's point is still sound: it is unreasonable to think that people will not have relied on the current behavior, whether intentionally or incidentally. John -- 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. For more options, visit https://groups.google.com/groups/opt_out.
