Closed Bug 902577 Opened 7 years ago Closed 6 years ago

Full support for toplevel::base on windows (PuppetAgain)

Categories

(Infrastructure & Operations :: RelOps: Puppet, task)

x86_64
Windows 7
task
Not set

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: markco, Assigned: markco)

References

Details

Attachments

(3 files, 3 obsolete files)

Setting up this bug to track my initial TO DOs and initial work for Windows support with PuppetAgain manifests.
Based off of https://bug891991.bugzilla.mozilla.org/attachment.cgi?id=785876, this is a list of TO DOs within existing PuppetAgain Manifests:


manifests/site.pp

# TODO-WIN: figre out how to not purge system users on windows (solve the puppetlabs bug)
+if ($::operatingsystem != "windows") {

modules/motd/manifests/base.pp

 # TODO-WIN: add support for showing motd if KTS supports it

/modules/packages/manifests/diffutils.pp

  # TODO-WIN: no-op

/modules/packages/manifests/editors.pp

 # TODO-WIN: add support

/modules/packages/manifests/puppet.pp

 # TODO-WIN: add support

/modules/packages/manifests/screen.pp

  # TODO-WIN: add support

/modules/powermanagement/manifests/setup.pp

# TODO-WIN: add support

/modules/ssh/manifests/service.pp

# TODO-WIN: add support

modules/sudoers/manifests/customfile.pp

WIN-TODO: this should be replaced with an equivalent on windows

/modules/sudoers/manifests/init.pp

WIN-TODO: this should be replaced with an equivalent on windows

modules/sudoers/manifests/reboot.pp

WIN-TODO: this should be replaced with an equivalent on windows
file {
/modules/timezone/manifests/init.pp

  # TODO-WIN: add support

/modules/users/manifests/global.pp

# TODO-WIN: no-op



I am going to start with going through each one and identify what in Windows would be changed, how to change it, what the options are, and any concerns.
This is the initial list of GPOs and/or portions of the GPO that are candidates to be replaced by Puppet support. 

Disable_notifications:

File copy of script located at \\releng\SYSVOL\releng.ad.mozilla.com\files\disable_notifications\*.*
Target C:\Monitor_config\

Files_Monitor_config:

File copy of \\releng\SYSVOL\releng.ad.mozilla.com\files\monitor_config\
Target C:\Monitor_config\

Files_mozilla_build:

File copy \\wds1\data-mdt\depshares\ProdShare\Applications\BuildBot_Upgrade\mozilla-build\buildbotve\Lib\site-packages\twisted\internet\_dumbwin*.py
Target c:\mozilla-build\buildbotve\Lib\site-packages\twisted\internet\
Delete c:\mozilla-build\buildbotve\Lib\site-packages\twisted\internet\_dumbwin32proc.pyc

Files_sshd_testers_builders:

This will be completely replaced by Puppet and will rely on the same method as other platforms for receiving ssh keys and files.  

Files_UVNC_config:

File copy of \\releng\SYSVOL\releng.ad.mozilla.com\files\uvnc_config\*.*
Target C:\Program Files\uvnc bvba\UltraVnc\

Files_win7_apache:

File copy of \\releng\SYSVOL\releng.ad.mozilla.com\files\apache_32\*.*
Target C:\Program Files\Apache Software Foundation\Apache2.2\conf\
Start Apache Service 

Install_hg:

File copy of \\releng\SYSVOL\releng.ad.mozilla.com\files\hg\*.*
Target c:\gpo_files\install_hg\
Run script :\gpo_files\install_hg\Mercurial-2.5.4-x64.exe
Scheduled_tasks_testers_builders Data collected on: 8/1/2013 10:15:46 PM
File copy \\releng.ad.mozilla.com\data\mdt\depshares\DevShare\Applications\BuildBot_Upgrade\mozilla-build\*.py and *.bat
Target c:\mozilla-build\
Keep in mind that bug 891991 just leaves windows running 'toplevel::base' - not any of toplevel::slave::*, so you'll have a bunch more work to do there, too.  I can help you figure out how to break that down if you'd like, but otherwise have at it!
No longer blocks: 891991
Depends on: 891991
Blocks: 891991
No longer depends on: 891991
Summary: Windows support in PuppetAgain manifests → Full support for toplevel::base on windows (PuppetAgain)
Went through this list and added notes. I think when it comes to software installation, user accounts, and OS settings that we stick with group policy and use Puppet when it comes to files and services. 

Dustin, Q, thoughts? 


manifests/site.pp

# TODO-WIN: figre out how to not purge system users on windows (solve the puppetlabs bug)
+if ($::operatingsystem != "windows") {

(1)I think anything dealing with users accounts should be kept solely with in group policy. 

modules/motd/manifests/base.pp

 # TODO-WIN: add support for showing motd if KTS supports it

(2)It doesn't appear that KTS supports this. According to the kts.ini  login message can olny be custumized  for telenet sessions, and there is no info on the KTS site about MOTD. 

/modules/packages/manifests/diffutils.pp

  # TODO-WIN: no-op

/modules/packages/manifests/editors.pp

 # TODO-WIN: add support

(3)Currently gvim is being installed through an Autoit script in MDT. Though because it is an Autoit script we should figure out another solution for this do we want to put it into Puppet?

/modules/packages/manifests/puppet.pp

 # TODO-WIN: add support

(4)The Puppet msi is being installed through group policy. However, I think we want the puppet.conf file handled by puppet, but that doesn't appear to be with in this manifest. 

/modules/packages/manifests/screen.pp

  # TODO-WIN: add support

(5)I believe that screen really isn't applicable to Windows. Should we look for a Windows equivalent? And if so depending on the equivalent decide whether it should be managed by Puppet? 

/modules/powermanagement/manifests/setup.pp

# TODO-WIN: add support

(6)These items in the manifest can be managed directly by GPO

/modules/ssh/manifests/service.pp

# TODO-WIN: add support

(7) Add support to enable and ensure running of  KpyM Telent SSH Server v1.19c. How does puppet handle services with multiple word names? 


modules/sudoers/manifests/customfile.pp


/modules/sudoers/manifests/init.pp
WIN-TODO: this should be replaced with an equivalent on windows

(8)Currently there really isn't an equivalent for sudo on Windows. However, maybe down the road we can set something up using the “runas /noprofile /user:root cmd” to launch a shell with sudo(ish) privileges.

For now these may need to be no-op for Windows.   


modules/sudoers/manifests/reboot.pp

WIN-TODO: this should be replaced with an equivalent on windows

(9)Group policy grants rights to the cltbld and root to reboot machines. This most likely should be no-op for Windows. 
/modules/timezone/manifests/init.pp

  # TODO-WIN: add support

(10)It maybe the best bet to let anything dealing with time to the Dcs. 

/modules/users/manifests/global.pp

# TODO-WIN: no-op
Longer-term, I'd like for things that are managed by Puppet on UNIX and GPO on Windows to at least be *verified* by puppet on Windows.  So, for example, it'd be great for puppet to verify that the appropriate users exist, and that the appropriate power-management settings are in place.  The bit of code to do these verifications also gives us a good place to add a comment saying its managed by GPO.

(In reply to Mark Cornmesser [:markco] from comment #4)
> manifests/site.pp
> 
> # TODO-WIN: figre out how to not purge system users on windows (solve the
> puppetlabs bug)
> +if ($::operatingsystem != "windows") {
> 
> (1)I think anything dealing with users accounts should be kept solely with
> in group policy. 

Fair enough.

> modules/motd/manifests/base.pp
> 
>  # TODO-WIN: add support for showing motd if KTS supports it
> 
> (2)It doesn't appear that KTS supports this. According to the kts.ini  login
> message can olny be custumized  for telenet sessions, and there is no info
> on the KTS site about MOTD. 

That's a shame.  I already didn't like KTS, and now that I find out it claims to be open source but charges a license fee.. DIAF, KTS.

The 'welcome_message' parameter looks like it would be useful, but it doesn't appear when I login.  However, allusers.bat looks helpful - just adding an echo (or maybe @type c:\something\motd.txt) there does the trick.

In general, I'd like to manage SSH access with puppet, if that's possible, since it's something that changes frequently and should be as consistent as possible across platforms.

> /modules/packages/manifests/diffutils.pp
> 
>   # TODO-WIN: no-op

This won't be necessary on UNIX soon.

> /modules/packages/manifests/editors.pp
> 
>  # TODO-WIN: add support
> 
> (3)Currently gvim is being installed through an Autoit script in MDT. Though
> because it is an Autoit script we should figure out another solution for
> this do we want to put it into Puppet?

I'd like that, too, at least for the command-line version of it (which may be easier to install, since no shell shortcuts or file type associations need to be registered).

> /modules/packages/manifests/puppet.pp
> 
>  # TODO-WIN: add support
> 
> (4)The Puppet msi is being installed through group policy. However, I think
> we want the puppet.conf file handled by puppet, but that doesn't appear to
> be with in this manifest. 

Correct - puppet.conf is already managed by puppet in this patch (that's how I destroyed every puppet.conf in releng).

> /modules/packages/manifests/screen.pp
> 
>   # TODO-WIN: add support
> 
> (5)I believe that screen really isn't applicable to Windows. Should we look
> for a Windows equivalent? And if so depending on the equivalent decide
> whether it should be managed by Puppet? 

I think this will depend on how UNIX-y we want to get our ssh environment.  If we switch to an SSH server that gives us bash-like access, then it would be useful.  But for the moment, no, no need.

Rather than have 'include packages::screen' mysteriously do nothing, it should fail on Windows.  Then, where it is invoked (toplevel::base), it should be conditionalized on $operatingsystem != "Windows".  That way it's obvious from looking at toplevel::base that screen isn't installed on Windows.  The principle of least surprise :)

> /modules/powermanagement/manifests/setup.pp
> 
> # TODO-WIN: add support
> 
> (6)These items in the manifest can be managed directly by GPO

Sounds good.

> /modules/ssh/manifests/service.pp
> 
> # TODO-WIN: add support
> 
> (7) Add support to enable and ensure running of  KpyM Telent SSH Server
> v1.19c. How does puppet handle services with multiple word names? 

I'd assume it's OK if you put the name in quotes.  Is that not the case?

Did I warn you, we may end up filing and fixing a lot of bugs in puppet itself in this process? :)

> modules/sudoers/manifests/customfile.pp
> 
> 
> /modules/sudoers/manifests/init.pp
> WIN-TODO: this should be replaced with an equivalent on windows
> 
> (8)Currently there really isn't an equivalent for sudo on Windows. However,
> maybe down the road we can set something up using the “runas /noprofile
> /user:root cmd” to launch a shell with sudo(ish) privileges.
> 
> For now these may need to be no-op for Windows.   

Is there a way to configure runas to not prompt for a password for certain users or certain commands?

> modules/sudoers/manifests/reboot.pp
> 
> WIN-TODO: this should be replaced with an equivalent on windows
> 
> (9)Group policy grants rights to the cltbld and root to reboot machines.
> This most likely should be no-op for Windows. 

Very cool.  It should have a comment to that effect, then.

> /modules/timezone/manifests/init.pp
> 
>   # TODO-WIN: add support
> 
> (10)It maybe the best bet to let anything dealing with time to the Dcs. 

OK - cool, needs a comment then.

> /modules/users/manifests/global.pp
> 
> # TODO-WIN: no-op

This is actually a big one - we want to get to a place where users login as themselves, and only use sudo or runas when necessary.  Whether to use domain accounts for that, or to generate a local account on each machine, remains to be seen.  The deliberate choice on UNIX is to have individual local accounts.
This is where this list is at now. 


manifests/site.pp
# TODO-WIN: figre out how to not purge system users on windows (solve the puppetlabs bug)
+if ($::operatingsystem != "windows") {
New TODO-WIN 
Add support to manifest to verify the existence of the correct users. 

modules/motd/manifests/base.pp
# TODO-WIN: add support for showing motd if KTS supports it
New TODO-WIN 
Though KTS doesn't directly support, Dustin correct about the allusers.bat:

type “C:\Program Files\KTS\scripts\MOTD.txt”
echo. 
Cd %USERPROFILE%

The todo will be add file support to this manifest for the allusers.bat and MOTD.txt

/modules/packages/manifests/diffutils.pp
# TODO-WIN: no-op

/modules/packages/manifests/editors.pp
# TODO-WIN: add support
New TODO-WIN 
For now NO-OP for Windows. Long term replace the the AutoIt script for installation. Once the installation method is replaced we can take look at and evaluate if Group Policy or Puppet is the best method to manage it. 

 /modules/packages/manifests/puppet.pp
# TODO-WIN: add support
New TODO-WIN
NO-OP for Windows. Puppet agent installation and management to remain in Group Policy.


/modules/packages/manifests/screen.pp
# TODO-WIN: add support
In toplevel::base “$operatingsystem != "Windows"” in relation to “include packages::screen”

/modules/powermanagement/manifests/setup.pp
# TODO-WIN: add support
New TODO-WIN NO-OP for Windows. This items will continue to be supported through Group Policy. 
/modules/ssh/manifests/service.pp
# TODO-WIN: add support
New TODO-WIN add support to manifest for the “KpyM Telent SSH Server v1.19c” service. 
 

modules/sudoers/manifests/customfile.pp
/modules/sudoers/manifests/init.pp
> WIN-TODO: this should be replaced with an equivalent on windows
> 
> (8)Currently there really isn't an equivalent for sudo on Windows. However,
> maybe down the road we can set something up using the “runas /noprofile
> /user:root cmd” to launch a shell with sudo(ish) privileges.
> 
> For now these may need to be no-op for Windows.   

“Is there a way to configure runas to not prompt for a password for certain users or certain commands?”
Not sure. Will need to dive deeper into that in the future. 
New TODO-WIN NO-OP for Windows.

modules/sudoers/manifests/reboot.pp
WIN-TODO: this should be replaced with an equivalent on windows
New TODO-WIN add comment to manifest stating that this is supported by group policy. 

 /modules/users/manifests/global.pp
 # TODO-WIN: no-op
“This is actually a big one - we want to get to a place where users login as themselves, and only use sudo or runas when necessary.  Whether to use domain accounts for that, or to generate a local account on each machine, remains to be seen.  The deliberate choice on UNIX is to have individual local accounts.”

WIN-TODO I will need to put some additional thought and research in this one to figure out the best way to approach it.
Puppet first run out mcornmesser test environment after the patch from https://bugzilla.mozilla.org/show_bug.cgi?id=891991 was applied. 

C:\Program Files\Puppet Labs\Puppet\bin>puppet agent --test --environment=mcornm
esser --server=releng-puppet2.srv.releng.scl3.mozilla.com
Info: Retrieving plugin
Info: Loading facts in C:/ProgramData/PuppetLabs/puppet/var/lib/facter/concat_ba
sedir.rb
Info: Loading facts in C:/ProgramData/PuppetLabs/puppet/var/lib/facter/concat_ru
by_interpreter.rb
Info: Loading facts in C:/ProgramData/PuppetLabs/puppet/var/lib/facter/facter_do
t_d.rb
Info: Loading facts in C:/ProgramData/PuppetLabs/puppet/var/lib/facter/ip6tables
_version.rb
Info: Loading facts in C:/ProgramData/PuppetLabs/puppet/var/lib/facter/iptables_
persistent_version.rb
Info: Loading facts in C:/ProgramData/PuppetLabs/puppet/var/lib/facter/iptables_
version.rb
Info: Loading facts in C:/ProgramData/PuppetLabs/puppet/var/lib/facter/num_maste
rs.rb
Info: Loading facts in C:/ProgramData/PuppetLabs/puppet/var/lib/facter/pe_versio
n.rb
Info: Loading facts in C:/ProgramData/PuppetLabs/puppet/var/lib/facter/puppet_va
rdir.rb
Info: Loading facts in C:/ProgramData/PuppetLabs/puppet/var/lib/facter/root_home
.rb
Info: Loading facts in C:/ProgramData/PuppetLabs/puppet/var/lib/facter/vmwaretoo
ls_version.rb
Info: Caching catalog for t-w732-ix-003.wintest.releng.scl3.mozilla.com
Info: Applying configuration version 'caba4fb6ba63'
Notice: /Stage[main]/Users::Global/File[c:/windows/profile.d/ps1.sh]/content:
\"DIFFS DISABLED - https://bugzilla.mozilla.org/show_bug.cgi?id=791102" c:/windo
ws/profile.d/ps1.sh C:/Users/cltbld/AppData/Local/Temp/puppet-file20130813-3024-
wxqnkq

Error: Permission denied - c:/windows/profile.d/ps1.sh.puppettmp_1408
Error: /Stage[main]/Users::Global/File[c:/windows/profile.d/ps1.sh]/content: cha
nge from {md5}d65c1077baed7e6aff0d1cbca55478a7 to {md5}8956a37187aaa800ac3dd8c5e
101d95f failed: Permission denied - c:/windows/profile.d/ps1.sh.puppettmp_1408
Notice: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/File[c:/windows/motd
.txt]/content:
\"DIFFS DISABLED - https://bugzilla.mozilla.org/show_bug.cgi?id=791102" c:/windo
ws/motd.txt C:/Users/cltbld/AppData/Local/Temp/puppet-file20130813-3024-18g2san

Info: FileBucket got a duplicate file {md5}c3d14c15624e2598aef67981d82151f1
Info: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/File[c:/windows/motd.t
xt]: Filebucketed c:/windows/motd.txt to puppet with sum c3d14c15624e2598aef6798
1d82151f1
Error: Could not rename temporary file c:/windows/motd.txt.puppettmp_2352 to c:/
windows/motd.txt: Permission denied - (c:/windows/motd.txt.puppettmp_2352, c:/wi
ndows/motd.txt)
Error: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/File[c:/windows/motd.
txt]/content: change from {md5}c3d14c15624e2598aef67981d82151f1 to {md5}417abff7
61f04784bdea1d3c1f0d5f45 failed: Could not rename temporary file c:/windows/motd
.txt.puppettmp_2352 to c:/windows/motd.txt: Permission denied - (c:/windows/motd
.txt.puppettmp_2352, c:/windows/motd.txt)
Error: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat[C:/Users/roo
t/.ssh/authorized_keys]/File[C:/Users/root/.ssh/authorized_keys]: Could not eval
uate: Could not read file C:/Users/root/.ssh/authorized_keys: Permission denied
- C:/Users/root/.ssh/authorized_keys
Notice: /Stage[main]/Users::Root::Setup/Python::User_pip_conf[root]/File[C:/User
s/root/.pip/pip.conf]/content:
\"DIFFS DISABLED - https://bugzilla.mozilla.org/show_bug.cgi?id=791102" C:/Users
/root/.pip/pip.conf C:/Users/cltbld/AppData/Local/Temp/puppet-file20130813-3024-
1crydnq

Error: Permission denied - C:/Users/root/.pip/pip.conf.puppettmp_6631
Error: /Stage[main]/Users::Root::Setup/Python::User_pip_conf[root]/File[C:/Users
/root/.pip/pip.conf]/content: change from {md5}e19529d7c96a772571a42040ef823538
to {md5}834b2caa3ba56d5aeb1d580c71c57cde failed: Permission denied - C:/Users/ro
ot/.pip/pip.conf.puppettmp_6631
Error: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/File[C:/Users/root/
.ssh/known_hosts]: Could not evaluate: Could not read file C:/Users/root/.ssh/kn
own_hosts: Permission denied - C:/Users/root/.ssh/known_hosts
Notice: /Stage[main]/Users::Root::Setup/Anchor[users::root::setup::end]: Depende
ncy File[C:/Users/root/.ssh/known_hosts] has failures: true
Notice: /Stage[main]/Users::Root::Setup/Anchor[users::root::setup::end]: Depende
ncy File[C:/Users/root/.ssh/authorized_keys] has failures: true
Notice: /Stage[main]/Users::Root::Setup/Anchor[users::root::setup::end]: Depende
ncy File[C:/Users/root/.pip/pip.conf] has failures: true
Warning: /Stage[main]/Users::Root::Setup/Anchor[users::root::setup::end]: Skippi
ng because of failed dependencies
Notice: /Stage[main]/Users::Root/Anchor[users::root::end]: Dependency File[C:/Us
ers/root/.ssh/known_hosts] has failures: true
Notice: /Stage[main]/Users::Root/Anchor[users::root::end]: Dependency File[C:/Us
ers/root/.ssh/authorized_keys] has failures: true
Notice: /Stage[main]/Users::Root/Anchor[users::root::end]: Dependency File[C:/Us
ers/root/.pip/pip.conf] has failures: true
Warning: /Stage[main]/Users::Root/Anchor[users::root::end]: Skipping because of
failed dependencies
Notice: Finished catalog run in 42.33 seconds

C:\Program Files\Puppet Labs\Puppet\bin>
Due to an anonymity with the users GPO being applied the root account was created in additional to the administrator account and did not replace the account. After correcting this and putting a fail safe in the GPO to prevent hat from happening again ran puppet again out of the same test environment. 




Notice: /Stage[main]/Users::Global/File[c:/windows/profile.d/ps1.sh]/group: grou
p changed 'S-1-5-21-2865640655-714445986-3841245407-1001' to 'T-W732-IX-003\root
'
Notice: /Stage[main]/Concat::Setup/File[C:/ProgramData/PuppetLabs/puppet/var/con
cat]/owner: owner changed 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Concat::Setup/File[C:/ProgramData/PuppetLabs/puppet/var/con
cat]/group: group changed 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/File[C:/ProgramData/
PuppetLabs/puppet/var/concat/c__windows_motd.txt]/owner: owner changed 'T-W732-I
X-003\cltbld' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/File[C:/ProgramData/
PuppetLabs/puppet/var/concat/c__windows_motd.txt]/group: group changed 'S-1-5-21
-2865640655-714445986-3841245407-1001' to 'T-W732-IX-003\root'
Info: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/File[C:/ProgramData/Pu
ppetLabs/puppet/var/concat/c__windows_motd.txt]: Scheduling refresh of Exec[conc
at_c:/windows/motd.txt]
Info: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/File[C:/ProgramData/Pu
ppetLabs/puppet/var/concat/c__windows_motd.txt]: Scheduling refresh of Exec[conc
at_c:/windows/motd.txt]
Notice: /Stage[main]/Concat::Setup/File[C:/ProgramData/PuppetLabs/puppet/var/con
cat/bin]/owner: owner changed 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Concat::Setup/File[C:/ProgramData/PuppetLabs/puppet/var/con
cat/bin]/group: group changed 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Concat::Setup/File[C:/ProgramData/PuppetLabs/puppet/var/con
cat/bin/concatfragments.rb]/owner: owner changed 'T-W732-IX-003\cltbld' to 'T-W7
32-IX-003\root'
Notice: /Stage[main]/Concat::Setup/File[C:/ProgramData/PuppetLabs/puppet/var/con
cat/bin/concatfragments.rb]/group: group changed 'T-W732-IX-003\cltbld' to 'T-W7
32-IX-003\root'
Notice: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/File[C:/ProgramData/
PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments]/owner: owner changed
 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/File[C:/ProgramData/
PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments]/group: group changed
 'S-1-5-21-2865640655-714445986-3841245407-1001' to 'T-W732-IX-003\root'
Info: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/File[C:/ProgramData/Pu
ppetLabs/puppet/var/concat/c__windows_motd.txt/fragments]: Scheduling refresh of
 Exec[concat_c:/windows/motd.txt]
Info: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/File[C:/ProgramData/Pu
ppetLabs/puppet/var/concat/c__windows_motd.txt/fragments]: Scheduling refresh of
 Exec[concat_c:/windows/motd.txt]
Notice: /Stage[main]/Users::Global/Motd[hostid]/Concat::Fragment[hostid]/File[C:
/ProgramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments/00_hosti
d]/content:
\"DIFFS DISABLED - https://bugzilla.mozilla.org/show_bug.cgi?id=791102" C:/Progr
amData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments/00_hostid C:/U
sers/ADMINI~1.T-W/AppData/Local/Temp/puppet-file20130813-2396-1d56s8d

Info: FileBucket got a duplicate file {md5}a08a01eca90e99ca175c0648d347ccec
Info: /Stage[main]/Users::Global/Motd[hostid]/Concat::Fragment[hostid]/File[C:/P
rogramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments/00_hostid]
: Filebucketed C:/ProgramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/f
ragments/00_hostid to puppet with sum a08a01eca90e99ca175c0648d347ccec
Notice: /Stage[main]/Users::Global/Motd[hostid]/Concat::Fragment[hostid]/File[C:
/ProgramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments/00_hosti
d]/content: content changed '{md5}a08a01eca90e99ca175c0648d347ccec' to '{md5}4f0
404192995d282689556ffaabe8d0c'
Notice: /Stage[main]/Users::Global/Motd[hostid]/Concat::Fragment[hostid]/File[C:
/ProgramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments/00_hosti
d]/owner: owner changed 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Users::Global/Motd[hostid]/Concat::Fragment[hostid]/File[C:
/ProgramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments/00_hosti
d]/group: group changed 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'
Info: /Stage[main]/Users::Global/Motd[hostid]/Concat::Fragment[hostid]/File[C:/P
rogramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments/00_hostid]
: Scheduling refresh of Exec[concat_c:/windows/motd.txt]
Info: /Stage[main]/Users::Global/Motd[hostid]/Concat::Fragment[hostid]/File[C:/P
rogramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments/00_hostid]
: Scheduling refresh of Exec[concat_c:/windows/motd.txt]
Info: /Stage[main]/Users::Global/Motd[hostid]/Concat::Fragment[hostid]/File[C:/P
rogramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments/00_hostid]
: Scheduling refresh of Exec[concat_c:/windows/motd.txt]
Notice: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/File[C:/ProgramData/
PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments.concat]/owner: owner
changed 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/File[C:/ProgramData/
PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments.concat]/group: group
changed 'S-1-5-21-2865640655-714445986-3841245407-1001' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/File[C:/ProgramData/
PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments.concat.out]/owner: ow
ner changed 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/File[C:/ProgramData/
PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments.concat.out]/group: gr
oup changed 'S-1-5-21-2865640655-714445986-3841245407-1001' to 'T-W732-IX-003\ro
ot'
Notice: /Stage[main]/Motd::Base/Concat::Fragment[empty-motd]/File[C:/ProgramData
/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments/10_empty-motd]/owner
: owner changed 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Motd::Base/Concat::Fragment[empty-motd]/File[C:/ProgramData
/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments/10_empty-motd]/group
: group changed 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'
Info: /Stage[main]/Motd::Base/Concat::Fragment[empty-motd]/File[C:/ProgramData/P
uppetLabs/puppet/var/concat/c__windows_motd.txt/fragments/10_empty-motd]: Schedu
ling refresh of Exec[concat_c:/windows/motd.txt]
Info: /Stage[main]/Motd::Base/Concat::Fragment[empty-motd]/File[C:/ProgramData/P
uppetLabs/puppet/var/concat/c__windows_motd.txt/fragments/10_empty-motd]: Schedu
ling refresh of Exec[concat_c:/windows/motd.txt]
Notice: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/Exec[concat_c:/windo
ws/motd.txt]/returns: executed successfully
Notice: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/Exec[concat_c:/windo
ws/motd.txt]: Triggered 'refresh' from 9 events
Notice: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/File[c:/windows/motd
.txt]/owner: owner changed 'S-1-5-21-2865640655-714445986-3841245407-1001' to 'T
-W732-IX-003\root'
Notice: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/File[c:/windows/motd
.txt]/group: group changed 'S-1-5-21-2865640655-714445986-3841245407-1001' to 'T
-W732-IX-003\root'
Notice: /Stage[main]/Users::Root::Setup/File[C:/Users/root/.hgrc]/owner: owner c
hanged 'S-1-5-21-2865640655-714445986-3841245407-1001' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Users::Root::Setup/File[C:/Users/root/.hgrc]/group: group c
hanged 'S-1-5-21-2865640655-714445986-3841245407-1001' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/File[C:/Users/root
/.ssh]/owner: owner changed 'S-1-5-21-2865640655-714445986-3841245407-1001' to '
T-W732-IX-003\root'
Notice: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/File[C:/Users/root
/.ssh]/group: group changed 'S-1-5-21-2865640655-714445986-3841245407-1001' to '
T-W732-IX-003\root'
Notice: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat[C:/Users/ro
ot/.ssh/authorized_keys]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/C__Use
rs_root_.ssh_authorized_keys]/owner: owner changed 'T-W732-IX-003\cltbld' to 'T-
W732-IX-003\root'
Notice: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat[C:/Users/ro
ot/.ssh/authorized_keys]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/C__Use
rs_root_.ssh_authorized_keys]/group: group changed 'S-1-5-21-2865640655-71444598
6-3841245407-1001' to 'T-W732-IX-003\root'
Info: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat[C:/Users/root
/.ssh/authorized_keys]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/C__Users
_root_.ssh_authorized_keys]: Scheduling refresh of Exec[concat_C:/Users/root/.ss
h/authorized_keys]
Info: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat[C:/Users/root
/.ssh/authorized_keys]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/C__Users
_root_.ssh_authorized_keys]: Scheduling refresh of Exec[concat_C:/Users/root/.ss
h/authorized_keys]
Notice: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat[C:/Users/ro
ot/.ssh/authorized_keys]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/C__Use
rs_root_.ssh_authorized_keys/fragments]/owner: owner changed 'T-W732-IX-003\cltb
ld' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat[C:/Users/ro
ot/.ssh/authorized_keys]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/C__Use
rs_root_.ssh_authorized_keys/fragments]/group: group changed 'S-1-5-21-286564065
5-714445986-3841245407-1001' to 'T-W732-IX-003\root'
Info: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat[C:/Users/root
/.ssh/authorized_keys]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/C__Users
_root_.ssh_authorized_keys/fragments]: Scheduling refresh of Exec[concat_C:/User
s/root/.ssh/authorized_keys]
Info: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat[C:/Users/root
/.ssh/authorized_keys]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/C__Users
_root_.ssh_authorized_keys/fragments]: Scheduling refresh of Exec[concat_C:/User
s/root/.ssh/authorized_keys]
Notice: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat[C:/Users/ro
ot/.ssh/authorized_keys]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/C__Use
rs_root_.ssh_authorized_keys/fragments.concat.out]/owner: owner changed 'T-W732-
IX-003\cltbld' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat[C:/Users/ro
ot/.ssh/authorized_keys]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/C__Use
rs_root_.ssh_authorized_keys/fragments.concat.out]/group: group changed 'S-1-5-2
1-2865640655-714445986-3841245407-1001' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat[C:/Users/ro
ot/.ssh/authorized_keys]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/C__Use
rs_root_.ssh_authorized_keys/fragments.concat]/owner: owner changed 'T-W732-IX-0
03\cltbld' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat[C:/Users/ro
ot/.ssh/authorized_keys]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/C__Use
rs_root_.ssh_authorized_keys/fragments.concat]/group: group changed 'S-1-5-21-28
65640655-714445986-3841245407-1001' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat::Fragment[C
:/Users/root::]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/C__Users_root_.
ssh_authorized_keys/fragments/10_C__Users_root__]/owner: owner changed 'T-W732-I
X-003\cltbld' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat::Fragment[C
:/Users/root::]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/C__Users_root_.
ssh_authorized_keys/fragments/10_C__Users_root__]/group: group changed 'T-W732-I
X-003\cltbld' to 'T-W732-IX-003\root'
Info: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat::Fragment[C:/
Users/root::]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/C__Users_root_.ss
h_authorized_keys/fragments/10_C__Users_root__]: Scheduling refresh of Exec[conc
at_C:/Users/root/.ssh/authorized_keys]
Info: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat::Fragment[C:/
Users/root::]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/C__Users_root_.ss
h_authorized_keys/fragments/10_C__Users_root__]: Scheduling refresh of Exec[conc
at_C:/Users/root/.ssh/authorized_keys]
Notice: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat[C:/Users/ro
ot/.ssh/authorized_keys]/Exec[concat_C:/Users/root/.ssh/authorized_keys]: Trigge
red 'refresh' from 6 events
Error: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat[C:/Users/roo
t/.ssh/authorized_keys]/File[C:/Users/root/.ssh/authorized_keys]: Could not eval
uate: Could not read file C:/Users/root/.ssh/authorized_keys: Permission denied
- C:/Users/root/.ssh/authorized_keys
Notice: /Stage[main]/Users::Root::Setup/Python::User_pip_conf[root]/File[C:/User
s/root/.pip]/owner: owner changed 'S-1-5-21-2865640655-714445986-3841245407-1001
' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Users::Root::Setup/Python::User_pip_conf[root]/File[C:/User
s/root/.pip]/group: group changed 'S-1-5-21-2865640655-714445986-3841245407-1001
' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Users::Root::Setup/Python::User_pip_conf[root]/File[C:/User
s/root/.pip/pip.conf]/content:
\"DIFFS DISABLED - https://bugzilla.mozilla.org/show_bug.cgi?id=791102" C:/Users
/root/.pip/pip.conf C:/Users/ADMINI~1.T-W/AppData/Local/Temp/puppet-file20130813
-2396-1m60v6k

Notice: /Stage[main]/Users::Root::Setup/Python::User_pip_conf[root]/File[C:/User
s/root/.pip/pip.conf]/content: content changed '{md5}e19529d7c96a772571a42040ef8
23538' to '{md5}667ff80309f33095cae0d8e71e97d40e'
Notice: /Stage[main]/Users::Root::Setup/Python::User_pip_conf[root]/File[C:/User
s/root/.pip/pip.conf]/owner: owner changed 'S-1-5-21-2865640655-714445986-384124
5407-1001' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Users::Root::Setup/Python::User_pip_conf[root]/File[C:/User
s/root/.pip/pip.conf]/group: group changed 'S-1-5-21-2865640655-714445986-384124
5407-1001' to 'T-W732-IX-003\root'
Error: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/File[C:/Users/root/
.ssh/known_hosts]: Could not evaluate: Could not read file C:/Users/root/.ssh/kn
own_hosts: Permission denied - C:/Users/root/.ssh/known_hosts
Notice: /Stage[main]/Users::Root::Setup/Anchor[users::root::setup::end]: Depende
ncy File[C:/Users/root/.ssh/authorized_keys] has failures: true
Notice: /Stage[main]/Users::Root::Setup/Anchor[users::root::setup::end]: Depende
ncy File[C:/Users/root/.ssh/known_hosts] has failures: true
Warning: /Stage[main]/Users::Root::Setup/Anchor[users::root::setup::end]: Skippi
ng because of failed dependencies
Notice: /Stage[main]/Users::Root/Anchor[users::root::end]: Dependency File[C:/Us
ers/root/.ssh/authorized_keys] has failures: true
Notice: /Stage[main]/Users::Root/Anchor[users::root::end]: Dependency File[C:/Us
ers/root/.ssh/known_hosts] has failures: true
Warning: /Stage[main]/Users::Root/Anchor[users::root::end]: Skipping because of
failed dependencies
Notice: /Stage[main]/Puppet::Config/Concat[c:/ProgramData/PuppetLabs/puppet/etc/
puppet.conf]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__ProgramData_Pup
petLabs_puppet_etc_puppet.conf]/owner: owner changed 'T-W732-IX-003\cltbld' to '
T-W732-IX-003\root'
Notice: /Stage[main]/Puppet::Config/Concat[c:/ProgramData/PuppetLabs/puppet/etc/
puppet.conf]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__ProgramData_Pup
petLabs_puppet_etc_puppet.conf]/group: group changed 'T-W732-IX-003\cltbld' to '
T-W732-IX-003\root'
Info: /Stage[main]/Puppet::Config/Concat[c:/ProgramData/PuppetLabs/puppet/etc/pu
ppet.conf]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__ProgramData_Puppe
tLabs_puppet_etc_puppet.conf]: Scheduling refresh of Exec[concat_c:/ProgramData/
PuppetLabs/puppet/etc/puppet.conf]
Info: /Stage[main]/Puppet::Config/Concat[c:/ProgramData/PuppetLabs/puppet/etc/pu
ppet.conf]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__ProgramData_Puppe
tLabs_puppet_etc_puppet.conf]: Scheduling refresh of Exec[concat_c:/ProgramData/
PuppetLabs/puppet/etc/puppet.conf]
Notice: /Stage[main]/Puppet::Config/Concat[c:/ProgramData/PuppetLabs/puppet/etc/
puppet.conf]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__ProgramData_Pup
petLabs_puppet_etc_puppet.conf/fragments]/owner: owner changed 'T-W732-IX-003\cl
tbld' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Puppet::Config/Concat[c:/ProgramData/PuppetLabs/puppet/etc/
puppet.conf]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__ProgramData_Pup
petLabs_puppet_etc_puppet.conf/fragments]/group: group changed 'T-W732-IX-003\cl
tbld' to 'T-W732-IX-003\root'
Info: /Stage[main]/Puppet::Config/Concat[c:/ProgramData/PuppetLabs/puppet/etc/pu
ppet.conf]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__ProgramData_Puppe
tLabs_puppet_etc_puppet.conf/fragments]: Scheduling refresh of Exec[concat_c:/Pr
ogramData/PuppetLabs/puppet/etc/puppet.conf]
Info: /Stage[main]/Puppet::Config/Concat[c:/ProgramData/PuppetLabs/puppet/etc/pu
ppet.conf]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__ProgramData_Puppe
tLabs_puppet_etc_puppet.conf/fragments]: Scheduling refresh of Exec[concat_c:/Pr
ogramData/PuppetLabs/puppet/etc/puppet.conf]
Notice: /Stage[main]/Puppet::Config/Concat::Fragment[top_conf]/File[C:/ProgramDa
ta/PuppetLabs/puppet/var/concat/c__ProgramData_PuppetLabs_puppet_etc_puppet.conf
/fragments/01_top_conf]/owner: owner changed 'T-W732-IX-003\cltbld' to 'T-W732-I
X-003\root'
Notice: /Stage[main]/Puppet::Config/Concat::Fragment[top_conf]/File[C:/ProgramDa
ta/PuppetLabs/puppet/var/concat/c__ProgramData_PuppetLabs_puppet_etc_puppet.conf
/fragments/01_top_conf]/group: group changed 'T-W732-IX-003\cltbld' to 'T-W732-I
X-003\root'
Info: /Stage[main]/Puppet::Config/Concat::Fragment[top_conf]/File[C:/ProgramData
/PuppetLabs/puppet/var/concat/c__ProgramData_PuppetLabs_puppet_etc_puppet.conf/f
ragments/01_top_conf]: Scheduling refresh of Exec[concat_c:/ProgramData/PuppetLa
bs/puppet/etc/puppet.conf]
Info: /Stage[main]/Puppet::Config/Concat::Fragment[top_conf]/File[C:/ProgramData
/PuppetLabs/puppet/var/concat/c__ProgramData_PuppetLabs_puppet_etc_puppet.conf/f
ragments/01_top_conf]: Scheduling refresh of Exec[concat_c:/ProgramData/PuppetLa
bs/puppet/etc/puppet.conf]
Notice: /Stage[main]/Puppet::Config/Concat[c:/ProgramData/PuppetLabs/puppet/etc/
puppet.conf]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__ProgramData_Pup
petLabs_puppet_etc_puppet.conf/fragments.concat.out]/owner: owner changed 'T-W73
2-IX-003\cltbld' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Puppet::Config/Concat[c:/ProgramData/PuppetLabs/puppet/etc/
puppet.conf]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__ProgramData_Pup
petLabs_puppet_etc_puppet.conf/fragments.concat.out]/group: group changed 'T-W73
2-IX-003\cltbld' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Puppet::Config/Concat[c:/ProgramData/PuppetLabs/puppet/etc/
puppet.conf]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__ProgramData_Pup
petLabs_puppet_etc_puppet.conf/fragments.concat]/owner: owner changed 'T-W732-IX
-003\cltbld' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Puppet::Config/Concat[c:/ProgramData/PuppetLabs/puppet/etc/
puppet.conf]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__ProgramData_Pup
petLabs_puppet_etc_puppet.conf/fragments.concat]/group: group changed 'T-W732-IX
-003\cltbld' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Puppet::Config/Concat[c:/ProgramData/PuppetLabs/puppet/etc/
puppet.conf]/Exec[concat_c:/ProgramData/PuppetLabs/puppet/etc/puppet.conf]: Trig
gered 'refresh' from 6 events
Notice: /Stage[main]/Puppet::Config/Concat[c:/ProgramData/PuppetLabs/puppet/etc/
puppet.conf]/File[c:/ProgramData/PuppetLabs/puppet/etc/puppet.conf]/owner: owner
 changed 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Puppet::Config/Concat[c:/ProgramData/PuppetLabs/puppet/etc/
puppet.conf]/File[c:/ProgramData/PuppetLabs/puppet/etc/puppet.conf]/group: group
 changed 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'
Notice: Finished catalog run in 68.22 seconds

C:\Program Files\Puppet Labs\Puppet\bin>
> Notice: /Stage[main]/Users::Global/File[c:/windows/profile.d/ps1.sh]/group: group changed 'S-1-5-21-2865640655-714445986-3841245407-1001' to 'T-W732-IX-003\root '
> Notice: /Stage[main]/Concat::Setup/File[C:/ProgramData/PuppetLabs/puppet/var/concat]/owner: owner changed 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'
> Notice: /Stage[main]/Concat::Setup/File[C:/ProgramData/PuppetLabs/puppet/var/concat]/group: group changed 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'
> Notice: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt]/owner: owner changed 'T-W732-I X-003\cltbld' to 'T-W732-IX-003\root'
> Notice: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt]/group: group changed 'S-1-5-21 -2865640655-714445986-3841245407-1001' to 'T-W732-IX-003\root'
> Info: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt]: Scheduling refresh of Exec[conc at_c:/windows/motd.txt]
> Info: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt]: Scheduling refresh of Exec[conc at_c:/windows/motd.txt]
> Notice: /Stage[main]/Concat::Setup/File[C:/ProgramData/PuppetLabs/puppet/var/concat/bin]/owner: owner changed 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'
> Notice: /Stage[main]/Concat::Setup/File[C:/ProgramData/PuppetLabs/puppet/var/concat/bin]/group: group changed 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'
> Notice: /Stage[main]/Concat::Setup/File[C:/ProgramData/PuppetLabs/puppet/var/concat/bin/concatfragments.rb]/owner: owner changed 'T-W732-IX-003\cltbld' to 'T-W7 32-IX-003\root'
> Notice: /Stage[main]/Concat::Setup/File[C:/ProgramData/PuppetLabs/puppet/var/concat/bin/concatfragments.rb]/group: group changed 'T-W732-IX-003\cltbld' to 'T-W7 32-IX-003\root'
> Notice: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments]/owner: owner changed 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'
> Notice: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments]/group: group changed 'S-1-5-21-2865640655-714445986-3841245407-1001' to 'T-W732-IX-003\root'
> Info: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments]: Scheduling refresh of Exec[concat_c:/windows/motd.txt]
> Info: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments]: Scheduling refresh of Exec[concat_c:/windows/motd.txt]
> Notice: /Stage[main]/Users::Global/Motd[hostid]/Concat::Fragment[hostid]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments/00_hosti d]/content: \"DIFFS DISABLED - https://bugzilla.mozilla.org/show_bug.cgi?id=791102" C:/Progr amData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments/00_hostid C:/U sers/ADMINI~1.T-W/AppData/Local/Temp/puppet-file20130813-2396-1d56s8d
> Info: FileBucket got a duplicate file {md5}a08a01eca90e99ca175c0648d347ccec
> Info: /Stage[main]/Users::Global/Motd[hostid]/Concat::Fragment[hostid]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments/00_hostid] : Filebucketed C:/ProgramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/f ragments/00_hostid to puppet with sum a08a01eca90e99ca175c0648d347ccec
> Notice: /Stage[main]/Users::Global/Motd[hostid]/Concat::Fragment[hostid]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments/00_hosti d]/content: content changed '{md5}a08a01eca90e99ca175c0648d347ccec' to '{md5}4f0 404192995d282689556ffaabe8d0c'
> Notice: /Stage[main]/Users::Global/Motd[hostid]/Concat::Fragment[hostid]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments/00_hosti d]/owner: owner changed 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'
> Notice: /Stage[main]/Users::Global/Motd[hostid]/Concat::Fragment[hostid]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments/00_hosti d]/group: group changed 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'
> Info: /Stage[main]/Users::Global/Motd[hostid]/Concat::Fragment[hostid]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments/00_hostid] : Scheduling refresh of Exec[concat_c:/windows/motd.txt]
> Info: /Stage[main]/Users::Global/Motd[hostid]/Concat::Fragment[hostid]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments/00_hostid] : Scheduling refresh of Exec[concat_c:/windows/motd.txt]
> Info: /Stage[main]/Users::Global/Motd[hostid]/Concat::Fragment[hostid]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments/00_hostid] : Scheduling refresh of Exec[concat_c:/windows/motd.txt]
> Notice: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments.concat]/owner: owner changed 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'
> Notice: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments.concat]/group: group changed 'S-1-5-21-2865640655-714445986-3841245407-1001' to 'T-W732-IX-003\root'
> Notice: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments.concat.out]/owner: ow ner changed 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'
> Notice: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments.concat.out]/group: gr oup changed 'S-1-5-21-2865640655-714445986-3841245407-1001' to 'T-W732-IX-003\ro ot'
> Notice: /Stage[main]/Motd::Base/Concat::Fragment[empty-motd]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments/10_empty-motd]/owner : owner changed 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'
> Notice: /Stage[main]/Motd::Base/Concat::Fragment[empty-motd]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments/10_empty-motd]/group : group changed 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'
> Info: /Stage[main]/Motd::Base/Concat::Fragment[empty-motd]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments/10_empty-motd]: Schedu ling refresh of Exec[concat_c:/windows/motd.txt]
> Info: /Stage[main]/Motd::Base/Concat::Fragment[empty-motd]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments/10_empty-motd]: Schedu ling refresh of Exec[concat_c:/windows/motd.txt]
> Notice: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/Exec[concat_c:/windows/motd.txt]/returns: executed successfully Notice: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/Exec[concat_c:/windo ws/motd.txt]: Triggered 'refresh' from 9 events
> Notice: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/File[c:/windows/motd.txt]/owner: owner changed 'S-1-5-21-2865640655-714445986-3841245407-1001' to 'T -W732-IX-003\root'
> Notice: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/File[c:/windows/motd.txt]/group: group changed 'S-1-5-21-2865640655-714445986-3841245407-1001' to 'T -W732-IX-003\root'
> Notice: /Stage[main]/Users::Root::Setup/File[C:/Users/root/.hgrc]/owner: owner changed 'S-1-5-21-2865640655-714445986-3841245407-1001' to 'T-W732-IX-003\root'
> Notice: /Stage[main]/Users::Root::Setup/File[C:/Users/root/.hgrc]/group: group c hanged 'S-1-5-21-2865640655-714445986-3841245407-1001' to 'T-W732-IX-003\root'
> Notice: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/File[C:/Users/root /.ssh]/owner: owner changed 'S-1-5-21-2865640655-714445986-3841245407-1001' to ' T-W732-IX-003\root'
> Notice: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/File[C:/Users/root /.ssh]/group: group changed 'S-1-5-21-2865640655-714445986-3841245407-1001' to ' T-W732-IX-003\root'
> Notice: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat[C:/Users/ro ot/.ssh/authorized_keys]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/C__Use rs_root_.ssh_authorized_keys]/owner: owner changed 'T-W732-IX-003\cltbld' to 'T- W732-IX-003\root'
> Notice: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat[C:/Users/ro ot/.ssh/authorized_keys]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/C__Use rs_root_.ssh_authorized_keys]/group: group changed 'S-1-5-21-2865640655-71444598 6-3841245407-1001' to 'T-W732-IX-003\root'
> Info: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat[C:/Users/root /.ssh/authorized_keys]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/C__Users _root_.ssh_authorized_keys]: Scheduling refresh of Exec[concat_C:/Users/root/.ss h/authorized_keys]
> Info: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat[C:/Users/root /.ssh/authorized_keys]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/C__Users _root_.ssh_authorized_keys]: Scheduling refresh of Exec[concat_C:/Users/root/.ss h/authorized_keys]
> Notice: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat[C:/Users/ro ot/.ssh/authorized_keys]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/C__Use rs_root_.ssh_authorized_keys/fragments]/owner: owner changed 'T-W732-IX-003\cltb ld' to 'T-W732-IX-003\root'
> Notice: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat[C:/Users/ro ot/.ssh/authorized_keys]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/C__Use rs_root_.ssh_authorized_keys/fragments]/group: group changed 'S-1-5-21-286564065 5-714445986-3841245407-1001' to 'T-W732-IX-003\root'
> Info: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat[C:/Users/root /.ssh/authorized_keys]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/C__Users _root_.ssh_authorized_keys/fragments]: Scheduling refresh of Exec[concat_C:/User s/root/.ssh/authorized_keys]
> Info: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat[C:/Users/root /.ssh/authorized_keys]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/C__Users _root_.ssh_authorized_keys/fragments]: Scheduling refresh of Exec[concat_C:/User s/root/.ssh/authorized_keys]
> Notice: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat[C:/Users/ro ot/.ssh/authorized_keys]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/C__Use rs_root_.ssh_authorized_keys/fragments.concat.out]/owner: owner changed 'T-W732- IX-003\cltbld' to 'T-W732-IX-003\root'
> Notice: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat[C:/Users/ro ot/.ssh/authorized_keys]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/C__Use rs_root_.ssh_authorized_keys/fragments.concat.out]/group: group changed 'S-1-5-2 1-2865640655-714445986-3841245407-1001' to 'T-W732-IX-003\root'
> Notice: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat[C:/Users/ro ot/.ssh/authorized_keys]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/C__Use rs_root_.ssh_authorized_keys/fragments.concat]/owner: owner changed 'T-W732-IX-0 03\cltbld' to 'T-W732-IX-003\root'
> Notice: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat[C:/Users/ro ot/.ssh/authorized_keys]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/C__Use rs_root_.ssh_authorized_keys/fragments.concat]/group: group changed 'S-1-5-21-28 65640655-714445986-3841245407-1001' to 'T-W732-IX-003\root'
> Notice: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat::Fragment[C :/Users/root::]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/C__Users_root_.  ssh_authorized_keys/fragments/10_C__Users_root__]/owner: owner changed 'T-W732-I X-003\cltbld' to 'T-W732-IX-003\root'
> Notice: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat::Fragment[C :/Users/root::]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/C__Users_root_.  ssh_authorized_keys/fragments/10_C__Users_root__]/group: group changed 'T-W732-I X-003\cltbld' to 'T-W732-IX-003\root'
> Info: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat::Fragment[C:/ Users/root::]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/C__Users_root_.ss h_authorized_keys/fragments/10_C__Users_root__]: Scheduling refresh of Exec[conc at_C:/Users/root/.ssh/authorized_keys]
> Info: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat::Fragment[C:/ Users/root::]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/C__Users_root_.ss h_authorized_keys/fragments/10_C__Users_root__]: Scheduling refresh of Exec[conc at_C:/Users/root/.ssh/authorized_keys]
> Notice: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat[C:/Users/ro ot/.ssh/authorized_keys]/Exec[concat_C:/Users/root/.ssh/authorized_keys]: Trigge red 'refresh' from 6 events
> Error: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat[C:/Users/roo t/.ssh/authorized_keys]/File[C:/Users/root/.ssh/authorized_keys]: Could not eval uate: Could not read file C:/Users/root/.ssh/authorized_keys: Permission denied - C:/Users/root/.ssh/authorized_keys
> Notice: /Stage[main]/Users::Root::Setup/Python::User_pip_conf[root]/File[C:/User s/root/.pip]/owner: owner changed 'S-1-5-21-2865640655-714445986-3841245407-1001 ' to 'T-W732-IX-003\root'
> Notice: /Stage[main]/Users::Root::Setup/Python::User_pip_conf[root]/File[C:/User s/root/.pip]/group: group changed 'S-1-5-21-2865640655-714445986-3841245407-1001 ' to 'T-W732-IX-003\root'
> Notice: /Stage[main]/Users::Root::Setup/Python::User_pip_conf[root]/File[C:/User s/root/.pip/pip.conf]/content: \"DIFFS DISABLED - https://bugzilla.mozilla.org/show_bug.cgi?id=791102" C:/Users /root/.pip/pip.conf C:/Users/ADMINI~1.T-W/AppData/Local/Temp/puppet-file20130813 -2396-1m60v6k
> Notice: /Stage[main]/Users::Root::Setup/Python::User_pip_conf[root]/File[C:/User s/root/.pip/pip.conf]/content: content changed '{md5}e19529d7c96a772571a42040ef8 23538' to '{md5}667ff80309f33095cae0d8e71e97d40e'
> Notice: /Stage[main]/Users::Root::Setup/Python::User_pip_conf[root]/File[C:/User s/root/.pip/pip.conf]/owner: owner changed 'S-1-5-21-2865640655-714445986-384124 5407-1001' to 'T-W732-IX-003\root'
> Notice: /Stage[main]/Users::Root::Setup/Python::User_pip_conf[root]/File[C:/User s/root/.pip/pip.conf]/group: group changed 'S-1-5-21-2865640655-714445986-384124 5407-1001' to 'T-W732-IX-003\root'
> Error: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/File[C:/Users/root/ .ssh/known_hosts]: Could not evaluate: Could not read file C:/Users/root/.ssh/kn own_hosts: Permission denied - C:/Users/root/.ssh/known_hosts
> Notice: /Stage[main]/Users::Root::Setup/Anchor[users::root::setup::end]: Depende ncy File[C:/Users/root/.ssh/authorized_keys] has failures: true
> Notice: /Stage[main]/Users::Root::Setup/Anchor[users::root::setup::end]: Depende ncy File[C:/Users/root/.ssh/known_hosts] has failures: true
> Warning: /Stage[main]/Users::Root::Setup/Anchor[users::root::setup::end]: Skippi ng because of failed dependencies
> Notice: /Stage[main]/Users::Root/Anchor[users::root::end]: Dependency File[C:/Us ers/root/.ssh/authorized_keys] has failures: true
> Notice: /Stage[main]/Users::Root/Anchor[users::root::end]: Dependency File[C:/Us ers/root/.ssh/known_hosts] has failures: true
> Warning: /Stage[main]/Users::Root/Anchor[users::root::end]: Skipping because of failed dependencies
> Notice: /Stage[main]/Puppet::Config/Concat[c:/ProgramData/PuppetLabs/puppet/etc/ puppet.conf]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__ProgramData_Pup petLabs_puppet_etc_puppet.conf]/owner: owner changed 'T-W732-IX-003\cltbld' to ' T-W732-IX-003\root'
> Notice: /Stage[main]/Puppet::Config/Concat[c:/ProgramData/PuppetLabs/puppet/etc/ puppet.conf]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__ProgramData_Pup petLabs_puppet_etc_puppet.conf]/group: group changed 'T-W732-IX-003\cltbld' to ' T-W732-IX-003\root'
> Info: /Stage[main]/Puppet::Config/Concat[c:/ProgramData/PuppetLabs/puppet/etc/pu ppet.conf]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__ProgramData_Puppe tLabs_puppet_etc_puppet.conf]: Scheduling refresh of Exec[concat_c:/ProgramData/ PuppetLabs/puppet/etc/puppet.conf]
> Info: /Stage[main]/Puppet::Config/Concat[c:/ProgramData/PuppetLabs/puppet/etc/pu ppet.conf]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__ProgramData_Puppe tLabs_puppet_etc_puppet.conf]: Scheduling refresh of Exec[concat_c:/ProgramData/ PuppetLabs/puppet/etc/puppet.conf]
> Notice: /Stage[main]/Puppet::Config/Concat[c:/ProgramData/PuppetLabs/puppet/etc/ puppet.conf]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__ProgramData_Pup petLabs_puppet_etc_puppet.conf/fragments]/owner: owner changed 'T-W732-IX-003\cl tbld' to 'T-W732-IX-003\root'
> Notice: /Stage[main]/Puppet::Config/Concat[c:/ProgramData/PuppetLabs/puppet/etc/ puppet.conf]/File[C:/ProgramData/PuppetLabs/pupconcat/c__ProgramData_Pup petLabs_puppet_etc_puppet.conf/fragmec_puppet.conf/fragments]: Scheduling refresh of Exec[concat_c:/of Exec[concat_c:/Pr ogramData/PuppetLabs/puppet/etc/puppet.conf]
> Notice: /Stage[main]/Puppet::Config/Concat::Fragment[top_conf]/File[C:/ProgramDa ta/PuppetLabs/puppet/var/concat/c__ProgramData_PuppetLabs_puppet_etc_puppet.conf /fragments/01_top_conf]/_PuppetLabs_puppet_etc_puppet.conf /fragments/01_top_conf]/grou_ProgramData_PuppetLabs_puppet_etc_puppet.conf/f ragments/01_toconf]: Scheduling refresh of Exec[concat_c:/ProgramData/PuppetLa bs/puppet/etc/puppet.conf]
> Notice: /Stage[main]/Puppet::Confi 'T-W732-IX-003\root'
> Notice: /Stage[main]/Puppet::Config/Conca-W732-IX-003\root'
> Notice: /Stage[main]/Puppet::Config/Concat[c[c:/ProgramData/PuppetLabs/puppet/etc/ puppet.conf]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__ProgramData_Pup petLabs_puppet_etc_puppet.conf/fragments.concat]/group: group changedice: /Stage[main]/Puppet::Config/Concat[c:/ProgramData/PuppetLa/puppet/etc/ puppet.conf]/File[c:/ProgramData/PuppetLabs/puppet

The Error is the one to notice there:

Could not read file C:/Users/root/.ssh/authorized_keys: Permission denied - C:/Users/root/.ssh/authorized_keys

I'm guessing that something udner /Users/root still belongs to the old root account.
Yes. And its current user directory is c:\administrator.T-W732-IX-003.

Which brings us to a small issue. Because of how we set up the administrator in MDT, and then change the name to root in GPO there isn't away to control to ensure the user directory for root will be c:\users\root\. I am looking at trying to deal with this through the use of environment variables. However, that seems to present some challenges on its own.
For testing purposes adding a env variable FACTER_roothome. Currently this is hard coded to C:\Users\Administrator.T-W732-IX-003. 

Plan for for the long term is to continue to use this variable as well as using a cltbldhome variable within Puppet to avoid having hard coded paths for users home directories. The value for these variables will be set through GPO which will use a WMI query to pull the value for the variables.
Within my testing environment change the following in:

/etc/puppet/environments/mcornmesser/env/modules/users/manifests/root.pp

Original:

25 $home = $::operatingsystem ? {
26       Darwin => '/var/root',
27        Windows => 'C:\users\root',
28        default => '/root'

New
 25     $home = $::operatingsystem ? {
 26         Darwin => '/var/root',
 27         Windows => $roothome,
 28         default => '/root'
Then ran puppet agent pointed at the above testing environment:

ruby 1.9.3p392 (2013-02-22) [i386-mingw32]

C:\Program Files\Puppet Labs\Puppet\bin>puppet agent --test --environment=mcornm
esser --server=releng-puppet2.srv.releng.scl3.mozilla.com
Info: Retrieving plugin
Info: Loading facts in C:/ProgramData/PuppetLabs/puppet/var/lib/facter/concat_ba
sedir.rb
Info: Loading facts in C:/ProgramData/PuppetLabs/puppet/var/lib/facter/concat_ru
by_interpreter.rb
Info: Loading facts in C:/ProgramData/PuppetLabs/puppet/var/lib/facter/facter_do
t_d.rb
Info: Loading facts in C:/ProgramData/PuppetLabs/puppet/var/lib/facter/ip6tables
_version.rb
Info: Loading facts in C:/ProgramData/PuppetLabs/puppet/var/lib/facter/iptables_
persistent_version.rb
Info: Loading facts in C:/ProgramData/PuppetLabs/puppet/var/lib/facter/iptables_
version.rb
Info: Loading facts in C:/ProgramData/PuppetLabs/puppet/var/lib/facter/num_maste
rs.rb
Info: Loading facts in C:/ProgramData/PuppetLabs/puppet/var/lib/facter/pe_versio
n.rb
Info: Loading facts in C:/ProgramData/PuppetLabs/puppet/var/lib/facter/puppet_va
rdir.rb
Info: Loading facts in C:/ProgramData/PuppetLabs/puppet/var/lib/facter/root_home
.rb
Info: Loading facts in C:/ProgramData/PuppetLabs/puppet/var/lib/facter/vmwaretoo
ls_version.rb
Info: Caching catalog for t-w732-ix-003.wintest.releng.scl3.mozilla.com
Info: Applying configuration version '9087e21173f3'
Notice: /Stage[main]/Concat::Setup/File[C:/ProgramData/PuppetLabs/puppet/var/con
cat]/owner: owner changed 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Concat::Setup/File[C:/ProgramData/PuppetLabs/puppet/var/con
cat]/group: group changed 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/File[C:/ProgramData/
PuppetLabs/puppet/var/concat/c__windows_motd.txt]/owner: owner changed 'T-W732-I
X-003\cltbld' to 'T-W732-IX-003\root'
Info: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/File[C:/ProgramData/Pu
ppetLabs/puppet/var/concat/c__windows_motd.txt]: Scheduling refresh of Exec[conc
at_c:/windows/motd.txt]
Notice: /Stage[main]/Concat::Setup/File[C:/ProgramData/PuppetLabs/puppet/var/con
cat/bin]/owner: owner changed 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Concat::Setup/File[C:/ProgramData/PuppetLabs/puppet/var/con
cat/bin]/group: group changed 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Concat::Setup/File[C:/ProgramData/PuppetLabs/puppet/var/con
cat/bin/concatfragments.rb]/owner: owner changed 'T-W732-IX-003\cltbld' to 'T-W7
32-IX-003\root'
Notice: /Stage[main]/Concat::Setup/File[C:/ProgramData/PuppetLabs/puppet/var/con
cat/bin/concatfragments.rb]/group: group changed 'T-W732-IX-003\cltbld' to 'T-W7
32-IX-003\root'
Notice: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/File[C:/ProgramData/
PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments]/owner: owner changed
 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'
Info: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/File[C:/ProgramData/Pu
ppetLabs/puppet/var/concat/c__windows_motd.txt/fragments]: Scheduling refresh of
 Exec[concat_c:/windows/motd.txt]
Notice: /Stage[main]/Users::Global/Motd[hostid]/Concat::Fragment[hostid]/File[C:
/ProgramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments/00_hosti
d]/content:
\"DIFFS DISABLED - https://bugzilla.mozilla.org/show_bug.cgi?id=791102" C:/Progr
amData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments/00_hostid C:/U
sers/ADMINI~1.T-W/AppData/Local/Temp/puppet-file20130814-2728-1lk8z18

Info: FileBucket got a duplicate file {md5}a08a01eca90e99ca175c0648d347ccec
Info: /Stage[main]/Users::Global/Motd[hostid]/Concat::Fragment[hostid]/File[C:/P
rogramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments/00_hostid]
: Filebucketed C:/ProgramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/f
ragments/00_hostid to puppet with sum a08a01eca90e99ca175c0648d347ccec
Notice: /Stage[main]/Users::Global/Motd[hostid]/Concat::Fragment[hostid]/File[C:
/ProgramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments/00_hosti
d]/content: content changed '{md5}a08a01eca90e99ca175c0648d347ccec' to '{md5}4f0
404192995d282689556ffaabe8d0c'
Notice: /Stage[main]/Users::Global/Motd[hostid]/Concat::Fragment[hostid]/File[C:
/ProgramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments/00_hosti
d]/owner: owner changed 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Users::Global/Motd[hostid]/Concat::Fragment[hostid]/File[C:
/ProgramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments/00_hosti
d]/group: group changed 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'
Info: /Stage[main]/Users::Global/Motd[hostid]/Concat::Fragment[hostid]/File[C:/P
rogramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments/00_hostid]
: Scheduling refresh of Exec[concat_c:/windows/motd.txt]
Info: /Stage[main]/Users::Global/Motd[hostid]/Concat::Fragment[hostid]/File[C:/P
rogramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments/00_hostid]
: Scheduling refresh of Exec[concat_c:/windows/motd.txt]
Info: /Stage[main]/Users::Global/Motd[hostid]/Concat::Fragment[hostid]/File[C:/P
rogramData/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments/00_hostid]
: Scheduling refresh of Exec[concat_c:/windows/motd.txt]
Notice: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/File[C:/ProgramData/
PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments.concat]/owner: owner
changed 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/File[C:/ProgramData/
PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments.concat.out]/owner: ow
ner changed 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Motd::Base/Concat::Fragment[empty-motd]/File[C:/ProgramData
/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments/10_empty-motd]/owner
: owner changed 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Motd::Base/Concat::Fragment[empty-motd]/File[C:/ProgramData
/PuppetLabs/puppet/var/concat/c__windows_motd.txt/fragments/10_empty-motd]/group
: group changed 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'
Info: /Stage[main]/Motd::Base/Concat::Fragment[empty-motd]/File[C:/ProgramData/P
uppetLabs/puppet/var/concat/c__windows_motd.txt/fragments/10_empty-motd]: Schedu
ling refresh of Exec[concat_c:/windows/motd.txt]
Info: /Stage[main]/Motd::Base/Concat::Fragment[empty-motd]/File[C:/ProgramData/P
uppetLabs/puppet/var/concat/c__windows_motd.txt/fragments/10_empty-motd]: Schedu
ling refresh of Exec[concat_c:/windows/motd.txt]
Notice: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/Exec[concat_c:/windo
ws/motd.txt]/returns: executed successfully
Notice: /Stage[main]/Motd::Base/Concat[c:/windows/motd.txt]/Exec[concat_c:/windo
ws/motd.txt]: Triggered 'refresh' from 7 events
Notice: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/File[C:\Users\Admi
nistrator.T-W732-IX-003/.ssh/known_hosts]/ensure: defined content as '{md5}4929e
f06ea10fa9adbbbd397af75684e'
Notice: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat[C:\Users\Ad
ministrator.T-W732-IX-003/.ssh/authorized_keys]/File[C:/ProgramData/PuppetLabs/p
uppet/var/concat/C__Users_Administrator.T-W732-IX-003_.ssh_authorized_keys]/owne
r: owner changed 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'
Info: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat[C:\Users\Admi
nistrator.T-W732-IX-003/.ssh/authorized_keys]/File[C:/ProgramData/PuppetLabs/pup
pet/var/concat/C__Users_Administrator.T-W732-IX-003_.ssh_authorized_keys]: Sched
uling refresh of Exec[concat_C:\Users\Administrator.T-W732-IX-003/.ssh/authorize
d_keys]
Notice: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat[C:\Users\Ad
ministrator.T-W732-IX-003/.ssh/authorized_keys]/File[C:/ProgramData/PuppetLabs/p
uppet/var/concat/C__Users_Administrator.T-W732-IX-003_.ssh_authorized_keys/fragm
ents]/owner: owner changed 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'
Info: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat[C:\Users\Admi
nistrator.T-W732-IX-003/.ssh/authorized_keys]/File[C:/ProgramData/PuppetLabs/pup
pet/var/concat/C__Users_Administrator.T-W732-IX-003_.ssh_authorized_keys/fragmen
ts]: Scheduling refresh of Exec[concat_C:\Users\Administrator.T-W732-IX-003/.ssh
/authorized_keys]
Notice: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat[C:\Users\Ad
ministrator.T-W732-IX-003/.ssh/authorized_keys]/File[C:/ProgramData/PuppetLabs/p
uppet/var/concat/C__Users_Administrator.T-W732-IX-003_.ssh_authorized_keys/fragm
ents.concat.out]/owner: owner changed 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\r
oot'
Notice: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat::Fragment[C
:\Users\Administrator.T-W732-IX-003::]/File[C:/ProgramData/PuppetLabs/puppet/var
/concat/C__Users_Administrator.T-W732-IX-003_.ssh_authorized_keys/fragments/10_C
__Users_Administrator.T-W732-IX-003__]/owner: owner changed 'T-W732-IX-003\cltbl
d' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat::Fragment[C
:\Users\Administrator.T-W732-IX-003::]/File[C:/ProgramData/PuppetLabs/puppet/var
/concat/C__Users_Administrator.T-W732-IX-003_.ssh_authorized_keys/fragments/10_C
__Users_Administrator.T-W732-IX-003__]/group: group changed 'T-W732-IX-003\cltbl
d' to 'T-W732-IX-003\root'
Info: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat::Fragment[C:\
Users\Administrator.T-W732-IX-003::]/File[C:/ProgramData/PuppetLabs/puppet/var/c
oncat/C__Users_Administrator.T-W732-IX-003_.ssh_authorized_keys/fragments/10_C__
Users_Administrator.T-W732-IX-003__]: Scheduling refresh of Exec[concat_C:\Users
\Administrator.T-W732-IX-003/.ssh/authorized_keys]
Info: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat::Fragment[C:\
Users\Administrator.T-W732-IX-003::]/File[C:/ProgramData/PuppetLabs/puppet/var/c
oncat/C__Users_Administrator.T-W732-IX-003_.ssh_authorized_keys/fragments/10_C__
Users_Administrator.T-W732-IX-003__]: Scheduling refresh of Exec[concat_C:\Users
\Administrator.T-W732-IX-003/.ssh/authorized_keys]
Notice: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat[C:\Users\Ad
ministrator.T-W732-IX-003/.ssh/authorized_keys]/File[C:/ProgramData/PuppetLabs/p
uppet/var/concat/C__Users_Administrator.T-W732-IX-003_.ssh_authorized_keys/fragm
ents.concat]/owner: owner changed 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'

Notice: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat[C:\Users\Ad
ministrator.T-W732-IX-003/.ssh/authorized_keys]/Exec[concat_C:\Users\Administrat
or.T-W732-IX-003/.ssh/authorized_keys]: Triggered 'refresh' from 4 events
Notice: /Stage[main]/Users::Root::Setup/Ssh::Userconfig[root]/Concat[C:\Users\Ad
ministrator.T-W732-IX-003/.ssh/authorized_keys]/File[C:\Users\Administrator.T-W7
32-IX-003/.ssh/authorized_keys]/ensure: defined content as '{md5}a73b51a27301a2a
52bbb77eccef01641'
Notice: /Stage[main]/Users::Root::Setup/Python::User_pip_conf[root]/File[C:\User
s\Administrator.T-W732-IX-003/.pip/pip.conf]/ensure: defined content as '{md5}16
efd41e1f178f11d873cc06b4389027'
Notice: /Stage[main]/Puppet::Config/Concat[c:/ProgramData/PuppetLabs/puppet/etc/
puppet.conf]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__ProgramData_Pup
petLabs_puppet_etc_puppet.conf]/owner: owner changed 'T-W732-IX-003\cltbld' to '
T-W732-IX-003\root'
Notice: /Stage[main]/Puppet::Config/Concat[c:/ProgramData/PuppetLabs/puppet/etc/
puppet.conf]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__ProgramData_Pup
petLabs_puppet_etc_puppet.conf]/group: group changed 'T-W732-IX-003\cltbld' to '
T-W732-IX-003\root'
Info: /Stage[main]/Puppet::Config/Concat[c:/ProgramData/PuppetLabs/puppet/etc/pu
ppet.conf]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__ProgramData_Puppe
tLabs_puppet_etc_puppet.conf]: Scheduling refresh of Exec[concat_c:/ProgramData/
PuppetLabs/puppet/etc/puppet.conf]
Info: /Stage[main]/Puppet::Config/Concat[c:/ProgramData/PuppetLabs/puppet/etc/pu
ppet.conf]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__ProgramData_Puppe
tLabs_puppet_etc_puppet.conf]: Scheduling refresh of Exec[concat_c:/ProgramData/
PuppetLabs/puppet/etc/puppet.conf]
Notice: /Stage[main]/Puppet::Config/Concat[c:/ProgramData/PuppetLabs/puppet/etc/
puppet.conf]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__ProgramData_Pup
petLabs_puppet_etc_puppet.conf/fragments]/owner: owner changed 'T-W732-IX-003\cl
tbld' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Puppet::Config/Concat[c:/ProgramData/PuppetLabs/puppet/etc/
puppet.conf]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__ProgramData_Pup
petLabs_puppet_etc_puppet.conf/fragments]/group: group changed 'T-W732-IX-003\cl
tbld' to 'T-W732-IX-003\root'
Info: /Stage[main]/Puppet::Config/Concat[c:/ProgramData/PuppetLabs/puppet/etc/pu
ppet.conf]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__ProgramData_Puppe
tLabs_puppet_etc_puppet.conf/fragments]: Scheduling refresh of Exec[concat_c:/Pr
ogramData/PuppetLabs/puppet/etc/puppet.conf]
Info: /Stage[main]/Puppet::Config/Concat[c:/ProgramData/PuppetLabs/puppet/etc/pu
ppet.conf]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__ProgramData_Puppe
tLabs_puppet_etc_puppet.conf/fragments]: Scheduling refresh of Exec[concat_c:/Pr
ogramData/PuppetLabs/puppet/etc/puppet.conf]
Notice: /Stage[main]/Puppet::Config/Concat::Fragment[top_conf]/File[C:/ProgramDa
ta/PuppetLabs/puppet/var/concat/c__ProgramData_PuppetLabs_puppet_etc_puppet.conf
/fragments/01_top_conf]/owner: owner changed 'T-W732-IX-003\cltbld' to 'T-W732-I
X-003\root'
Notice: /Stage[main]/Puppet::Config/Concat::Fragment[top_conf]/File[C:/ProgramDa
ta/PuppetLabs/puppet/var/concat/c__ProgramData_PuppetLabs_puppet_etc_puppet.conf
/fragments/01_top_conf]/group: group changed 'T-W732-IX-003\cltbld' to 'T-W732-I
X-003\root'
Info: /Stage[main]/Puppet::Config/Concat::Fragment[top_conf]/File[C:/ProgramData
/PuppetLabs/puppet/var/concat/c__ProgramData_PuppetLabs_puppet_etc_puppet.conf/f
ragments/01_top_conf]: Scheduling refresh of Exec[concat_c:/ProgramData/PuppetLa
bs/puppet/etc/puppet.conf]
Info: /Stage[main]/Puppet::Config/Concat::Fragment[top_conf]/File[C:/ProgramData
/PuppetLabs/puppet/var/concat/c__ProgramData_PuppetLabs_puppet_etc_puppet.conf/f
ragments/01_top_conf]: Scheduling refresh of Exec[concat_c:/ProgramData/PuppetLa
bs/puppet/etc/puppet.conf]
Notice: /Stage[main]/Puppet::Config/Concat[c:/ProgramData/PuppetLabs/puppet/etc/
puppet.conf]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__ProgramData_Pup
petLabs_puppet_etc_puppet.conf/fragments.concat.out]/owner: owner changed 'T-W73
2-IX-003\cltbld' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Puppet::Config/Concat[c:/ProgramData/PuppetLabs/puppet/etc/
puppet.conf]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__ProgramData_Pup
petLabs_puppet_etc_puppet.conf/fragments.concat.out]/group: group changed 'T-W73
2-IX-003\cltbld' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Puppet::Config/Concat[c:/ProgramData/PuppetLabs/puppet/etc/
puppet.conf]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__ProgramData_Pup
petLabs_puppet_etc_puppet.conf/fragments.concat]/owner: owner changed 'T-W732-IX
-003\cltbld' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Puppet::Config/Concat[c:/ProgramData/PuppetLabs/puppet/etc/
puppet.conf]/File[C:/ProgramData/PuppetLabs/puppet/var/concat/c__ProgramData_Pup
petLabs_puppet_etc_puppet.conf/fragments.concat]/group: group changed 'T-W732-IX
-003\cltbld' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Puppet::Config/Concat[c:/ProgramData/PuppetLabs/puppet/etc/
puppet.conf]/Exec[concat_c:/ProgramData/PuppetLabs/puppet/etc/puppet.conf]: Trig
gered 'refresh' from 6 events
Notice: /Stage[main]/Puppet::Config/Concat[c:/ProgramData/PuppetLabs/puppet/etc/
puppet.conf]/File[c:/ProgramData/PuppetLabs/puppet/etc/puppet.conf]/owner: owner
 changed 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'
Notice: /Stage[main]/Puppet::Config/Concat[c:/ProgramData/PuppetLabs/puppet/etc/
puppet.conf]/File[c:/ProgramData/PuppetLabs/puppet/etc/puppet.conf]/group: group
 changed 'T-W732-IX-003\cltbld' to 'T-W732-IX-003\root'
Notice: Finished catalog run in 14.26 seconds
These runs will be a lot easier to read if you use a longer line length.  And all of the notices aren't particularly useful.  Is there an "Error" in there?

Also, regarding $roothome - is it truly impossible to change a user's home directory in the local user directory?  /Users/root would be a lot easier to remember!  In fact, does the Windows user directory's notion of a home directory actually matter?  We're only putting SSH configuration there, which is presumably something KTS looks for, rather than something Windows-y.  Could we just have puppet create /Users/root and do what it wants with that directory, regardless of what Windows thinks?

Also note that within PuppetAgain, the builder user's name is a variable, not 'cltbld' (e.g., in relabs it's 'relabsbld', and for servo it's 'servobld')
Yes it does matter and not to KTS. KTS does not use authorized_keys it uses a proprietary file called publiclogon.ini for incoming connections. 

The issues we solving for root ( the easier of the two) will need to be applied to the build user. The SSH tools for Talos and builder tests check $HOME for known_hosts. Bad things happen if the authorized_keys and known_hosts files are wrong for the build user. In addition several of the other SSH solutions we are evaluating use the $HOME/.ssh files. There are going to be several other files and preferences that will need to be controlled in $HOME for the build user outside of SSH.

Since $HOME can change for many reasons for each user it is best to treat the home directory as a variable if possible. If if this is impossible there are some methods (none of them simple) to force windows to use a particular profile path. Doing this can raise a few race conditions that may bite us later.
OK, so from some discussion on irc, the plan is:
 * root homedir will be set with a global env var, %facter_root_home%, set via WMI as Q said in comment 14.
 * the builder user will be entirely managed with puppet, including its homedir, so that will just be c:\users\$builder_username.
Mark has seen some success by commenting out code that's controlled by manage_internal_file_permissions (http://docs.puppetlabs.com/references/stable/configuration.html#manageinternalfilepermissions).  So setting that to True, at least on Windows, may be a partial solution.
Attached patch bug902577.patch (obsolete) — Splinter Review
Patch to add support to toplevel::base for Windows 7. This will also, hopefully, serve as a framework for support of other Windows platforms.
Attachment #823410 - Flags: review?(dustin)
Comment on attachment 823410 [details] [diff] [review]
bug902577.patch

Review of attachment 823410 [details] [diff] [review]:
-----------------------------------------------------------------

This is a bunch of changes, but I think the only substantial concern I have is about slash direction.

::: manifests/site.pp
@@ +14,4 @@
>          File {
>              owner => root,
>              backup => false,
> +           mode => filemode(0644),

Looks like a whitespace change - can you revert?

@@ +36,5 @@
> +#    resources {
> +#        'user':
> +#            purge => true;
> +#    }
> +#}

With the conditional in place, this shouldn't affect Windows even if it's not commented out.  If that's incorrect, then we should fix the conditional rather than comment out the code (which will mean users aren't purged on POSIX).

::: modules/concat/manifests/setup.pp
@@ +50,5 @@
> +            ensure => directory;
> +
> +        # pre-windows-compatible versions used a shell script
> +         "${concatdir}/bin/concatfragments.sh":
> +          ensure => absent;

This clause can probably be removed on Windows :)

::: modules/motd/manifests/settings.pp
@@ +4,3 @@
>  class motd::settings {
>      $motd_file = $::operatingsystem ? {
> +        Windows => "C:\\Program Files\\kts\\scripts\\MOTD.txt",

Does this string have to use backslashes?  Most of puppet requires forward-slashes, even on Windows, so it'd be great to not break that pattern here.  Do you know what breaks if these are made forward slashes?

::: modules/packages/manifests/diffutils.pp
@@ +13,5 @@
>              # installed by default on Darwin
>          }
>          Windows: {
> +            # Is not supported by Windows
> +            err("cannot install on $::operatingsystem")

You should be able to just leave this clause out, and fall back to the default below.

::: modules/packages/manifests/editors.pp
@@ +23,4 @@
>          }
>          Windows: {
> +            # This is currently handled by MDT. This item will be reviewed after the installation method, an autoit script, is replaced.
> +            fail("Currently handled by the MDT deployment")

Why is this a failure, then?  If the editors are already installed, then packages::editors is just a no-op, like packages::puppet below.

::: modules/python/manifests/user_pip_conf.pp
@@ +20,5 @@
> +                file {
> +                    "$homedir_\\.pip":
> +                        ensure => directory;
> +                    "$homedir_\\.pip\\pip.conf":
> +                        content => template("python/user-pip-conf.erb");

It looks like this would leave users' .pip.conf owned by SYSTEM, which doesn't seem right.  Also, afaik File should take forward-slashed filenames.

@@ +22,5 @@
> +                        ensure => directory;
> +                    "$homedir_\\.pip\\pip.conf":
> +                        content => template("python/user-pip-conf.erb");
> +                     }
> +                    }

nit: right-curlies should be aligned with the word that introduced them (here, "windows:" and "file"), not with the corresponding left-curly.

::: modules/shared/lib/facter/env.rb
@@ +1,1 @@
> +ENV.each do |k,v|

This and winrootlp need copyright headers.

::: modules/shared/lib/facter/winrootlp.rb
@@ +7,5 @@
> +            sidresult = "#{sidobj.sid}"
> +        end
> +        $rsid = sidresult
> +
> +Facter.add("rsid") do

This fact is never used.  That's fine -- just be sure to document it along with rlocalpath so we can figure out what it's for when the time comes!

::: modules/ssh/manifests/userconfig.pp
@@ +24,5 @@
>          $group_ = $username
>      }
> +
> +    case $operatingsystem {
> +        windows: {

This case statement introduces a *lot* of duplicated code.  Instead, can you factor out the differences into variables (e.g., $home_ssh, $home_ssh_authorized_keys, etc.).  Also, like above it looks like this would leave every user's .ssh dir owned by SYSTEM, which SSH will not appreciate, and which will prevent those users from making changes.  Is that intentional?

::: modules/users/manifests/global.pp
@@ +38,5 @@
>              }
>          }
>          Windows: {
> +            # Currently can not be support on Windows
> +             fail("PS1 one can not be set on Windows at this time")

This class, users::global, also handles adding data to the motd, so I'd like to keep that.  Rather than failing here, let's just leave this as a TODO, but include users::global from toplevel::base on Windows.

::: modules/users/manifests/root.pp
@@ +24,3 @@
>      $home = $::operatingsystem ? {
>          Darwin => '/var/root',
> +        Windows => $rlocalpath,

It's probably worth adding a comment here to indicate where this comes from and why.
Attachment #823410 - Flags: review?(dustin) → feedback+
Attached patch bug902577.patch (obsolete) — Splinter Review
(In reply to Dustin J. Mitchell [:dustin] from comment #18)
> Comment on attachment 823410 [details] [diff] [review]
> bug902577.patch
> 
> Review of attachment 823410 [details] [diff] [review]:
> -----------------------------------------------------------------
> 
> This is a bunch of changes, but I think the only substantial concern I have
> is about slash direction.
> 
> ::: manifests/site.pp
> @@ +14,4 @@
> >          File {
> >              owner => root,
> >              backup => false,
> > +           mode => filemode(0644),
> 
> Looks like a whitespace change - can you revert?

Space removed.

> 
> @@ +36,5 @@
> > +#    resources {
> > +#        'user':
> > +#            purge => true;
> > +#    }
> > +#}
> 
> With the conditional in place, this shouldn't affect Windows even if it's
> not commented out.  If that's incorrect, then we should fix the conditional
> rather than comment out the code (which will mean users aren't purged on
> POSIX).
> 

Commented code has been removed. 

> ::: modules/concat/manifests/setup.pp
> @@ +50,5 @@
> > +            ensure => directory;
> > +
> > +        # pre-windows-compatible versions used a shell script
> > +         "${concatdir}/bin/concatfragments.sh":
> > +          ensure => absent;
> 
> This clause can probably be removed on Windows :)

Clause has been removed.

> 
> ::: modules/motd/manifests/settings.pp
> @@ +4,3 @@
> >  class motd::settings {
> >      $motd_file = $::operatingsystem ? {
> > +        Windows => "C:\\Program Files\\kts\\scripts\\MOTD.txt",
> 
> Does this string have to use backslashes?  Most of puppet requires
> forward-slashes, even on Windows, so it'd be great to not break that pattern
> here.  Do you know what breaks if these are made forward slashes?
> 
In this case it seems to be fine to use forward-slashes. I am going to continue moving forward using forward-slashes until and if it breaks something. 

> ::: modules/packages/manifests/diffutils.pp
> @@ +13,5 @@
> >              # installed by default on Darwin
> >          }
> >          Windows: {
> > +            # Is not supported by Windows
> > +            err("cannot install on $::operatingsystem")
> 
> You should be able to just leave this clause out, and fall back to the
> default below.
> 
The default fail kills the puppet run. Should we leave the Windows clause in or change the default to err? 

> ::: modules/packages/manifests/editors.pp
> @@ +23,4 @@
> >          }
> >          Windows: {
> > +            # This is currently handled by MDT. This item will be reviewed after the installation method, an autoit script, is replaced.
> > +            fail("Currently handled by the MDT deployment")
> 
> Why is this a failure, then?  If the editors are already installed, then
> packages::editors is just a no-op, like packages::puppet below.
>
The fail has been removed.
 
> ::: modules/python/manifests/user_pip_conf.pp
> @@ +20,5 @@
> > +                file {
> > +                    "$homedir_\\.pip":
> > +                        ensure => directory;
> > +                    "$homedir_\\.pip\\pip.conf":
> > +                        content => template("python/user-pip-conf.erb");
> 
> It looks like this would leave users' .pip.conf owned by SYSTEM, which
> doesn't seem right.  Also, afaik File should take forward-slashed filenames.
> 

System is the owner but root and group administrators have full control. I would much rather leave it as is for now, so that the ACLs are not wiped out. 

Forward-slashed file names worked. 


> @@ +22,5 @@
> > +                        ensure => directory;
> > +                    "$homedir_\\.pip\\pip.conf":
> > +                        content => template("python/user-pip-conf.erb");
> > +                     }
> > +                    }
> 
> nit: right-curlies should be aligned with the word that introduced them
> (here, "windows:" and "file"), not with the corresponding left-curly.
> 
Position of }s have been corrected.

> ::: modules/shared/lib/facter/env.rb
> @@ +1,1 @@
> > +ENV.each do |k,v|
> 
> This and winrootlp need copyright headers.

Copyright headers added to both.

> 
> ::: modules/shared/lib/facter/winrootlp.rb
> @@ +7,5 @@
> > +            sidresult = "#{sidobj.sid}"
> > +        end
> > +        $rsid = sidresult
> > +
> > +Facter.add("rsid") do
> 
> This fact is never used.  That's fine -- just be sure to document it along
> with rlocalpath so we can figure out what it's for when the time comes!

Added description in comments for now. 

> 
> ::: modules/ssh/manifests/userconfig.pp
> @@ +24,5 @@
> >          $group_ = $username
> >      }
> > +
> > +    case $operatingsystem {
> > +        windows: { consistent 
> 
> This case statement introduces a *lot* of duplicated code.  Instead, can you
> factor out the differences into variables (e.g., $home_ssh,
> $home_ssh_authorized_keys, etc.).  Also, like above it looks like this would
> leave every user's .ssh dir owned by SYSTEM, which SSH will not appreciate,
> and which will prevent those users from making changes.  Is that intentional?
> 
I don't see a way around the duplicate code. Though we have change the mode function to be undef for Windows, setting the owner or group seems to also wipe out ACLs. Also though Systems is the owner the user should still have rights to the directory.

For now until there is ACL support in Puppet, I think we will need to managed ownership and permissions through GPO. 

> ::: modules/users/manifests/global.pp
> @@ +38,5 @@
> >              }
> >          }
> >          Windows: {
> > +            # Currently can not be support on Windows
> > +             fail("PS1 one can not be set on Windows at this time")
> 
> This class, users::global, also handles adding data to the motd, so I'd like
> to keep that.  Rather than failing here, let's just leave this as a TODO,
> but include users::global from toplevel::base on Windows.

Removed fail and added TODO
> 
> ::: modules/users/manifests/root.pp
> @@ +24,3 @@
> >      $home = $::operatingsystem ? {
> >          Darwin => '/var/root',
> > +        Windows => $rlocalpath,
> 
> It's probably worth adding a comment here to indicate where this comes from
> and why.
Comment added.
Attachment #8338766 - Flags: feedback?(dustin)
Depends on: 943580
Comment on attachment 8338766 [details] [diff] [review]
bug902577.patch

Review of attachment 8338766 [details] [diff] [review]:
-----------------------------------------------------------------

This looks great.  With the code duplication fixed up, it will be ready to land.

::: modules/packages/manifests/diffutils.pp
@@ +13,5 @@
>              # installed by default on Darwin
>          }
>          Windows: {
> +            # Is not supported by Windows
> +            err("cannot install on $::operatingsystem")

Actually, this is only used by concat, and isn't needed anymore.  I'll remove it in another bug.  So you can just remove all changes to this file from your patch.

::: modules/shared/lib/puppet/parser/functions/filemode.rb
@@ +9,2 @@
>      if lookupvar("::operatingsystem") == "windows" then
> +        :undef

Looks good!

::: modules/ssh/manifests/userconfig.pp
@@ +24,5 @@
>          $group_ = $username
>      }
> +
> +    case $operatingsystem {
> +        windows: {

This code duplication is the only part I see that would have me saying the patch shouldn't be merged.

You can get around the owner/group wiping out the ACLs by setting those variables to undef on Windows:

    case $::operatingsystem {
        windows: {
            # setting owner or group causes ACLs to be blown away, so don't
            $owner_ = undef
            $group_ = undef
        }
        default: {
            $owner_ = $username
            if ($group != '') {
                $group_ = $group
            } else {
                $group_ = $username
            }
        }
    }

and then use owner => $owner_, group => $group_.

The undef should prevent puppet from doing anything with those parameters.

::: modules/users/manifests/root/account.pp
@@ +19,5 @@
>              }
>          }
> +       #Windows Puppet only verifies that root user is present
> +       Windows: {
> +           user { root:

Can you fix this indentation?
Attachment #8338766 - Flags: feedback?(dustin) → feedback+
Attached patch bug902577.patch (obsolete) — Splinter Review
Previous comments have been addressed in this patch.
Attachment #823410 - Attachment is obsolete: true
Attachment #8338766 - Attachment is obsolete: true
Attachment #8346764 - Flags: feedback?(dustin)
Attachment #8346764 - Flags: feedback?(dustin) → review?(dustin)
Comment on attachment 8346764 [details] [diff] [review]
bug902577.patch

This looks good.  I rebased and made some minor modifications.  I'll post the result in a moment.
Attachment #8346764 - Flags: review?(dustin) → review+
Attached patch bug902577.patchSplinter Review
rebased version of attachment 8346764 [details] [diff] [review]
Attachment #8346764 - Attachment is obsolete: true
Attachment #8355289 - Flags: feedback?(mcornmesser)
Attachment #8355289 - Flags: feedback?(mcornmesser)
with my fixups:

    * make winrootlp work on POSIX
    * continue to purge unknown users on non-windows platforms
    * fix whitespace

there's an "interdiff" option in the attachment details that you can use to see the fixups.
Attachment #8355291 - Flags: feedback?(mcornmesser)
Comment on attachment 8355291 [details] [diff] [review]
bug902577+fixups.patch

Looks good.
Attachment #8355291 - Flags: feedback?(mcornmesser) → feedback+
Great!  Let's get this landed on Monday with Buildduty's blessing.
This just landed.

It has one unfortunate side-effect: ~cltbld/.ssh/authorized_keys is owned by root.
irc r+ from callek
Attachment #8356699 - Flags: review+
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.