The Puppet Labs Issue Tracker has Moved: https://tickets.puppetlabs.com

This issue tracker is now in read-only archive mode and automatic ticket export has been disabled. Redmine users will need to create a new JIRA account to file tickets using https://tickets.puppetlabs.com. See the following page for information on filing tickets with JIRA:

Feature #1621

Composite resource identifier

Added by Francois Deppierraz over 7 years ago. Updated almost 4 years ago.

Status:ClosedStart date:09/29/2008
Priority:HighDue date:
Assignee:-% Done:

0%

Category:RAL
Target version:2.6.0
Affected Puppet version:0.22.1 Branch:http://github.com/jes5199/puppet/tree/feature/master/1621-namevars
Keywords:

We've Moved!

Ticket tracking is now hosted in JIRA: https://tickets.puppetlabs.com


Description

Quote From Luke on puppet-dev in thread “Composite resource identifier”.

http://groups.google.com/group/puppet-dev/browse_thread/thread/30fe5694ca9a39dd?fwc=1

Yeah, composite keys are the way to go, and I think we're actually at  
the point (at least, in the master branch) where this is approachable.

Previously, we had lots of code that was responsible for determining  
resource uniqueness, but it's essentially all been consolidated into  
the Catalog class.

We'd likely still require unique titles, but it should be possible to,  
um, make it possible to define resource types with multiple namevars.   
Thus, any combination of namevars would have to be unique, but no  
single value would be unique.

The reason you'd still probably want unique titles is so you could do  
relationships; e.g., Key[foo] works, but how would you do composite  
keys?  Key[foo; comment => bar]?  That would suck.

I suppose the unique titles could be optional -- you'd only need them  
if you were specifying relationships.

It'd be a bit problematic, though, in that Puppet uses this resource  
reference syntax a lot.  Maybe have the namevars always in a specific  
order, and do something like Foo[key/other/bar]?

In other words, this is technically feasible now, but we need an  
appropriate internal design and an appropriate syntax to go with it.

Related issues

Related to Puppet - Feature #1716: What is the status of the port type Closed 10/29/2008
Related to Puppet - Bug #1398: Common package name in two different providers Accepted 07/07/2008
Related to Puppet - Bug #10857: File resource fails for root(/) directory. Accepted 11/15/2011
Duplicated by Puppet - Refactor #2285: Improved Resource Identification Duplicate 05/19/2009
Blocks Puppet - Bug #1531: ssh_authorized_keys should not use the key 'comment' as a... Accepted 08/25/2008

History

#1 Updated by Francois Deppierraz over 7 years ago

This feature is necessary to fix #1531

#2 Updated by Luke Kanies over 7 years ago

  • Category changed from plumbing to RAL
  • Status changed from Unreviewed to Accepted

#3 Updated by Luke Kanies almost 6 years ago

  • Priority changed from Normal to High
  • Target version set to 2.7.x
  • Affected Puppet version set to 0.22.1

#4 Updated by Jesse Wolfe almost 6 years ago

  • Status changed from Accepted to In Topic Branch Pending Review
  • Target version changed from 2.7.x to 2.6.0
  • Branch set to http://github.com/jes5199/puppet/tree/feature/master/1621-namevars

#5 Updated by Nick Lewis almost 6 years ago

  • Status changed from In Topic Branch Pending Review to Closed

Pushed in 7c6b8836453b2b1e8679923f98854be3b0022edd to master

Also available in: Atom PDF