On Wednesday, December 7, 2016 at 7:54:44 AM UTC-6, Trevor Vaughan wrote: > > I was looking through the puppetlabs-concat module as well as some of my > modules that have aggregation functionality and I realized that the catalog > really shouldn't be sending the intermediary resources to the client. >
Back in the day, of course, concat fragments were assembled on the client, so they needed to be in the catalog. Imagine my surprise when I discovered, just a few minutes ago, that Concat doesn't work like that any more. With that being the case, I'm inclined to agree that the fragment resources should not be included in catalogs delivered to clients. Any useful information they convey is redundant, so their net contribution is only noise and bloat. > While I'm not positive, the ability to mark resources as ephemeral *might* > go a long way toward solving the 10k+ resources issue. > > The idea is that only the final 'aggregation' resource would be present in > the catalog and all other resources would be removed right after they are > processed. > > The main issue that I see with this is in debugging. However, I think this > is pretty much the case with concat presently so I don't know that it > changes much. > > Thoughts? > I'm inclined to think that using resources to represent concat fragments is no longer appropriate at all. The module uses resources because Puppet provides no other mechanism that can be bent to its purposes, but this is really pushing up against the boundary of what a resource is (/ should be / has been). If Puppet needs to provide a repository for computed general node data accessible to the catalog compiler, then maybe it would be better to stop trying to shoehorn that data into resource-shaped cement shoes. Don't get me wrong: I *like* the simplicity of having resources as a consistent unit of data exchange, and I think that model served well for a long time. But for some time now people have been stretching (and sometimes passing) the borders of that model. Rather than continuing to weaken the meaning of "resource", I would prefer to see Puppet's model for data exchange extended or even replaced so as to accommodate data that aren't packaged as resources in the first place. To some extent this is a question of semantics. After all, in what sense would or should an ephemeral resource actually be a resource in anything but name? But really that's the point. We name and categorize things to help us reason about them, program with and for them, etc.. The more we weaken our concepts, such as "resource", the less useful they become. 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 puppet-dev+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-dev/58a174c9-9cbc-4e95-b82c-1d86f97d877c%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.