Thanks for the suggestions. Here are the logs and relevant portions
of the manifests. I have the ldap.conf file set in an even earlier
stage, so that doesn't seem to be the problem.
Feb 14 18:40:32 puppettest02 puppet-agent[2884]: (/Stage[pre]/Samba/
Package[samba]/ensure) created
Feb 14 18:40:32 puppettest02 puppet-agent[2884]: (/Stage[pre]/Samba/
Package[samba]) Scheduling refresh of Exec[joindomain]
Feb 14 18:40:32 puppettest02 puppet-agent[2884]: FileBucket adding /
etc/krb5.conf as {md5}94be488988fe3690414d521eeb3d07cb
Feb 14 18:40:32 puppettest02 puppet-agent[2884]: (/Stage[pre]/Samba/
File[/etc/krb5.conf]) Filebucketed /etc/krb5.conf to main with sum
94be488988fe3690414d521eeb3d07cb
Feb 14 18:40:32 puppettest02 puppet-agent[2884]: (/Stage[pre]/Samba/
File[/etc/krb5.conf]/content) content changed '{md5}
94be488988fe3690414d521eeb3d07cb' to '{md5}
0673a8a7c9d801b1ee465654f0fb47b8'
Feb 14 18:40:32 puppettest02 puppet-agent[2884]: FileBucket adding /
etc/samba/smb.conf as {md5}eb2bea901479ef4f6bd200e86a037e3b
Feb 14 18:40:32 puppettest02 puppet-agent[2884]: (/Stage[pre]/Samba/
File[/etc/samba/smb.conf]) Filebucketed /etc/samba/smb.conf to main
with sum eb2bea901479ef4f6bd200e86a037e3b
Feb 14 18:40:33 puppettest02 puppet-agent[2884]: (/Stage[pre]/Samba/
File[/etc/samba/smb.conf]/content) content changed '{md5}
eb2bea901479ef4f6bd200e86a037e3b' to '{md5}
3df3f064d8d1c9bfa5950552b43c2ff0'
Feb 14 18:40:33 puppettest02 puppet-agent[2884]: FileBucket adding /
etc/nsswitch.conf as {md5}c2bd306b205ad9e81fb02ce6b225d384
Feb 14 18:40:33 puppettest02 puppet-agent[2884]: (/Stage[pre]/Samba/
File[/etc/nsswitch.conf]) Filebucketed /etc/nsswitch.conf to main with
sum c2bd306b205ad9e81fb02ce6b225d384
Feb 14 18:40:33 puppettest02 puppet-agent[2884]: (/Stage[pre]/Samba/
File[/etc/nsswitch.conf]/content) content changed '{md5}
c2bd306b205ad9e81fb02ce6b225d384' to '{md5}
d214e24671ee6aede2adb4b651892dfe'
Feb 14 18:40:33 puppettest02 puppet-agent[2884]: (/Stage[pre]/Samba/
Exec[joindomain]/returns) executed successfully
Feb 14 18:40:33 puppettest02 puppet-agent[2884]: (/Stage[pre]/Samba/
Exec[joindomain]) Triggered 'refresh' from 1 events
…
Feb 14 18:50:15 puppettest02 puppet-agent[2884]: (/Stage[post]/
Makeadprod/File[/home/CORP]/ensure) created
Feb 14 18:50:15 puppettest02 puppet-agent[2884]: (/Stage[post]/
Makeadprod/File[/home/CORP/abba]/ensure) change from absent to
directory failed: Could not set 'directory on ensure: Could not find
user abba at /etc/puppet/modules/makeadprod/manifests/init.pp:344
# /etc/puppet/modules/samba/manifests/init.pp
class samba {
include "ntp"
package { samba:
ensure => latest,
notify => Exec["joindomain"],
# require => Class["localusers"],
}
file { "/etc/samba/smb.conf":
owner => "root",
group => "root",
mode => 644,
source => "puppet:///modules/samba/smb.conf",
require => Package["samba"],
}
file { "/etc/krb5.conf":
owner => "root",
group => "root",
mode => 644,
source => "puppet:///modules/samba/krb5.conf.$dc_location",
require => Package["samba"],
}
file { "/etc/nsswitch.conf":
owner => "root",
group => "root",
mode => 644,
source => "puppet:///modules/samba/nsswitch.conf",
require => [ Package["samba"], Class ["ldapconf"] ],
}
exec { "joindomain" :
path => "/usr/bin:/usr/sbin",
command => $ad_joined ? {
"true" => "/bin/true",
"false" => "net ads join -U <domainaccount%password>",
},
require => [ Package["samba"], Class["ntp"], File["/etc/
krb5.conf"], File["/etc/samba/smb.conf"], File["/etc/
nsswitch.conf"], ],
}
}
# /etc/puppet/modules/makeadprod/manifests/init.pp
class makeadprod {
include "samba"
include "localusers"
file { "/home/CORP":
owner => "root",
group => "root",
mode => 644,
ensure => directory,
}
file { "/home/CORP/abba":
owner => "abba",
group => "Ops",
mode => 640,
ensure => directory,
recurse => true,
purge => false,
source => "puppet:///modules/makeadprod/abba",
require => [ Class["samba"], Exec["joindomain"], File["/home/
CORP"] ],
#require => [ Class["samba"], File["/home/CORP"] ],
}
... The rest of the manifest just creates the user directories,
installs their keys, etc.