[PUP-5465] Resource Collectors cannot use resource references in search expressions Created: 2015/11/02 Updated: 2016/01/26 Resolved: 2016/01/12 Status: Project: Component/s: Affects Version/s: Fix Version/s: Closed Puppet DSL PUP 4.0.0 Type: Reporter: Resolution: Labels: Remaining Estimate: Time Spent: Original Estimate: Bug Thomas Linkin Fixed None Not Specified Issue Links: Relates relates to PUP-5489 investigate acceptance to ensure Reso... relates to PUP-5569 acceptance: to ensure Resource Collec... Template: Scrum Team: Story Points: Sprint: Release Notes: Release Notes Summary: Scope Change Category: Scope Change Reason: QA Contact: QA Risk Assessment: QA Risk Severity: PUP 4.3.2 Priority: Assignee: Votes: Normal Unassigned 0 Not Specified Not Specified Resolved In Progress customfield_10700 true Client Platform 1 Client 2016-01-13 Bug Fix Puppet 4.0 introduced a regression where resource collectors using resource references would produce an error. This fixes that regression. Adopted Straightforward community contribution so pulled it in while we were looking at it. Sean Griffin Medium Medium Medium QA Risk Probability: QA Highest Test Acceptance Level: QA Highest Test full stack required, through puppetdb Level Reason: Description In Puppet 4, resource collectors cannot use resource references in the search expression. This is an ability that did work in Puppet 3 and is currently in the documentation for Puppet 4. The following code in Puppet, File<| notify == Service['foo'] |> produces the error, Error: Evaluation Error: Error while evaluating a Virtual Query, Cannot transform object of class Puppet::Pops::Model::AccessExpression at /private/tmp/collection.pp:1:1 on node tom-mbp Comments Comment by Josh Cooper [ 2015/11/24 ] Currently merged to master, so adding 4.4.0 fix version. Comment by Josh Cooper [ 2016/01/05 ] Backported to stable in https://github.com/puppetlabs/puppet/commit/0f680387b21758bc5cde7cc670a2a96864b118c9 Comment by Eric Thompson [ 2016/01/12 ] validated on ubuntu12 at stable SHA: 5e27c223c410a4d41de2716315e8682156278a80 root@s9vxqgqf5cdagsg:~# puppet apply -e 'notify{"foo":} File<| require == Notify["foo"] |>' Notice: Compiled catalog for s9vxqgqf5cdagsg.delivery.puppetlabs.net in environment production in 0.05 seconds Notice: foo Notice: /Stage[main]/Main/Notify[foo]/message: defined 'message' as 'foo' Notice: Applied catalog in 0.03 seconds Generated at Tue Feb 09 20:39:08 PST 2016 using JIRA 6.4.12#64027sha1:e3691cc1283c0f3cef6d65d3ea82d47743692b57.