Bug #4397

A toplevel class is shadowing a class inside a namespace when it shouldn't

Added by Jesse Wolfe almost 2 years ago. Updated almost 2 years ago.

Status:Closed Start date:07/29/2010
Priority:High Due date:
Assignee:- % Done:

0%

Category:parser
Target version:2.6.1
Affected Puppet version:2.6.1rc1 Branch:
Keywords:
Votes: 0

Description

When running this manifest:

class foo {
  class bar {
  }
  notify { "test" : require => Class[Bar] }
}
class bar {
}
include foo
include foo::bar

An error is thrown: “Could not find dependency Class[Bar] for Notify[test] at line 4”

If the outer “class bar” definition is removed, the manifest compiles correctly. Expected behavior: Class[Bar] should refer to Foo::Bar


Related issues

related to Puppet - Bug #4257: include ::foo is not working anymore Closed 07/16/2010
related to Puppet - Bug #4344: Templates fails sometimes on 2.6 Closed 07/23/2010
related to Puppet - Bug #5298: Cannot find an exported define if code haven't yet been a... Closed 11/15/2010
related to Puppet - Bug #5318: puppet master behind passenger does not re-parse manifest... Closed 11/16/2010

History

Updated by Jesse Wolfe almost 2 years ago

  • Priority changed from Normal to High

Updated by Markus Roberts almost 2 years ago

  • Status changed from Unreviewed to In Topic Branch Pending Review

If the branch for #4344 fixes this, it should be closed as a duplicate (though it wouldn’t hurt to add it as a regression test).

Updated by Markus Roberts almost 2 years ago

  • Status changed from In Topic Branch Pending Review to Closed

commit:449315a2c705df2396852462a1d1e14774b9f117 [#4397]+[#4344] Move type-name resolution out of Puppet::Resource into the AST

Also available in: Atom PDF