Feature #2416

Ability to specify Tags in the require/before metaparameters

Added by Nigel Kersten almost 3 years ago. Updated about 2 years ago.

Status:Rejected Start date:07/15/2009
Priority:Normal Due date:
Assignee:- % Done:

0%

Category:transactions
Target version:2.6.0
Affected Puppet version:0.25.0 Branch:
Keywords:
Votes: 5

Description

I was attempting to clean something up today where we have a large collection of resources that all must be applied ‘before’ another resource, but not all those resources are necessarily defined for all clients, so we end up needing to scatter ‘before’ calls all over the place rather than having a central ‘require’.

It would be awesomely useful if you could do:

require => Tag[“foo”],

and all resources tagged with that tag were required. Same goes for before.

I have no idea how feasible this is though.

History

Updated by James Turnbull almost 3 years ago

+1!

Updated by James Turnbull almost 3 years ago

  • Category set to transactions
  • Status changed from Unreviewed to Accepted

Updated by Brice Figureau almost 3 years ago

Nigel Kersten wrote:

I was attempting to clean something up today where we have a large collection of resources that all must be applied ‘before’ another resource, but not all those resources are necessarily defined for all clients, so we end up needing to scatter ‘before’ calls all over the place rather than having a central ‘require’.

It would be awesomely useful if you could do:

require => Tag[“foo”],

and all resources tagged with that tag were required. Same goes for before.

That would be very cool! I don’t really like the Tag part, imagine if you have a class named tag, it would collide. On the other hand I fail to find a better idea…

I have no idea how feasible this is though.

I don’t know either, but what I’m sure is that can generate some dependencies cycles if not used carefully :–)

Updated by Luke Kanies almost 3 years ago

  • Status changed from Accepted to Needs Decision

Yeah, you’re almost guaranteed to result in quite nasty circular dependencies if you do this, and they’ll be ridiculous to resolve, and I’ll get blamed even though it’s your fault.

I think the right approach is to find a way to really have resources that we can pin to the beginning or end of a transaction, or at least very close.

Does anyone think this feature is really feasible?

Updated by Markus Roberts over 2 years ago

  • Target version set to 0.25.3

Updated by Luke Kanies over 2 years ago

Isn’t this a feature? If so, shouldn’t it be held for the next major release (i.e., rowlf)?

Updated by Markus Roberts over 2 years ago

  • Target version changed from 0.25.3 to 0.25.4

Updated by James Turnbull over 2 years ago

  • Target version changed from 0.25.4 to 0.25.5

Updated by James Turnbull about 2 years ago

  • Target version changed from 0.25.5 to 2.6.0

Updated by Jesse Wolfe about 2 years ago

  • Status changed from Needs Decision to Rejected

We think the solution is going to look more like #2658

Updated by Nigel Kersten about 2 years ago

That would do everything I need. Thanks.

Also available in: Atom PDF