Closed Bug 674811 Opened 13 years ago Closed 13 years ago

Puppet class names are relative

Categories

(Release Engineering :: General, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: dustin, Assigned: dustin)

Details

Attachments

(1 file)

We have, abbreviated:

modules/puppet/manifests/master.pp:
 class puppet::master {
   include master
 }

modules/master/manifests/init.pp:
 class master {
   fail("hello")
 }

And

node "foo" {
  include puppet::master
}

In this case, the fail() is never seen; in fact, init.pp isn't even loaded.  Here's why: the |include master| in master.pp searches first for puppet::master, which it finds, so it stops searching.  I verified this by writing puppet::foober in modules/puppet/manifests/foober.pp, and observing that an 'include foober' in the puppet::master class definition will find that new foober.pp.

Kinda sucks, but hey, it's puppet.

So we should rename the 'master' module to something less generic.
Easy change to releng::master, plus changes to the 'prefs' class.  This worked fine on scl-production-puppet-new (bug 659005)
Attachment #549025 - Flags: review?(catlee)
Comment on attachment 549025 [details] [diff] [review]
m674811-puppet-manifests-p1-r1.patch

Review of attachment 549025 [details] [diff] [review]:
-----------------------------------------------------------------
Attachment #549025 - Flags: review?(catlee) → review+
Committed.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Product: mozilla.org → Release Engineering
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: