https://wiki.mozilla.org/api.php?action=feedcontributions&user=Mcornmesser&feedformat=atomMozillaWiki - User contributions [en]2024-03-29T05:02:43ZUser contributionsMediaWiki 1.27.4https://wiki.mozilla.org/index.php?title=ReleaseEngineering/worker_configuration/2008&diff=1139357ReleaseEngineering/worker configuration/20082016-07-11T22:21:27Z<p>Mcornmesser: /* Installed Applications */</p>
<hr />
<div>== Overview ==<br />
As of 2015-11-24 the configuration of 2008 buildbot slaves consists of 4 parts. The initial manual build of the AWS AMI, application of the 2008 PuppetAgain catalog, manual configuration changes, and lastly the EC2 userdata scripts. <br />
<br />
Manual configuration changes will eventually be part of PuppetAgain, and as well as portion of the manual AMI creation. These were currently left out do to the priority of getting buildbot builds working in AWS over the individual automation and management pieces.<br />
<br />
== AMI Creation ==<br />
<br />
=== Starting Operating System===<br />
Due to a deep level issue affecting hg clone and hg bundle times we move away from using a custom AMI built of a Microsoft Deployment Workbench image and starting with an AWS vanilla AMI: Windows_Server-2008-R2_SP1-English-64Bit-Base-2015.09.09 (ami-31620c54).<br />
<br />
=== Installed Applications ===<br />
* Visual Studio 2010<br />
** ISO: SW_DVD5_NTRL_Visual_Studio_2010SP1_MultiLang_FPP_VL_MLF_X17-40329<br />
*** Resulting Version: 10.0.30319.1 RTMRel<br />
* Visual Studio 2013 <br />
** ISO: en_visual_studio_premium_2013_with_update_3_x86_dvd_4836351<br />
*** Resulting Version: <br />
* Puppet Agent <br />
** Including a method to pull Puppet authentication certs and keys (most recently used puppetized temp vbs script)<br />
** Include a copy of the puppet.conf in C:\ProgramData\PuppetLabs\puppet\etc<br />
*** Based off of : http://hg.mozilla.org/build/puppet/file/tip/modules/puppet/templates/puppet.conf.erb<br />
*** This is now handled by the Userdata scripts <br />
* Other Applications that can be moved into PuppetAgain management<br />
** Direct X SDK<br />
** Windows 8 SDK<br />
<br />
=== Other Configuration ===<br />
* Rename administrator account to Root<br />
** Can be moved into the EC2 userdata scripts pre-Puppet run<br />
* Roll back patching level to 2011-06<br />
** ADD script<br />
* Set os_version variable "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
<br />
== Puppet Configuration ===<br />
<br />
== Manual Configuration/Tweaks ==<br />
(These tweaks have been ported into Puppet. Keeping the list here for historical reference.) <br />
<br />
=== Mercurial Tweaks ===<br />
* File copies into C:\mozilla-build\hg <br />
** Bundleclone.py <br />
*** http://hg.mozilla.org/build/puppet/raw-file/fc396d309685/modules/mercurial/files/bundleclone.py<br />
** A newer version of the caperm.pem is needed<br />
*** Current configuration uses caperm.pem stripped from Mercurial-3.5.1<br />
* Lines added to the mercurial.ini <br />
** Under [extensions]<br />
*** bundleclone=C:\mozilla-build\hg\bundleclone.py<br />
*** share =<br />
** Under [bundleclone]<br />
*** prefers = ec2region=us-west-2, stream=revlogv1<br />
**** This line should be ultimately be managed with the EC2 userdata scripts to determine which location for specific AWS region<br />
** Under [ui]<br />
*** username = Mozilla Release Engineering <release@mozilla.com><br />
*** traceback = True<br />
** Under [hostfingerprints]<br />
*** hg.mozilla.org = af:27:b9:34:47:4e:e5:98:01:f6:83:2b:51:c9:aa:d8:df:fb:1a:27<br />
<br />
=== Runner Configuration ===<br />
* Add support for purgebuild runner task<br />
** purgebuild.py https://hg.mozilla.org/build/tools/raw-file/c210728881d4/buildfarm/maintenance/purge_builds.py<br />
*** Copy to C:\opt\runner<br />
** Add 1-purge_builds.bat to C:\opt\runner\tasks.d<br />
*** Content: "%MOZILLABUILD%\msys\bin\bash" --login -c "'%BUILDBOT_PATH%\Scripts\python' "/C/opt/runner/purge_builds.py" --not "/c/users/.cltbld/.ssh:999d" --not info --not 'rel-*:10d' --not 'tb-rel-*:10d' -s 35 /C/builds/moz2_slave<br />
<br />
=== Buildbot Tweaks ===<br />
* File copies were needed specifically to have sendchange work. Reference: https://bugzilla.mozilla.org/show_bug.cgi?id=1175701<br />
** Copy from C:\mozilla-build\buildbotve\Lib\site-packages to C:\mozilla-build\python27\Lib\site-packages:<br />
*** buildbot module <br />
*** twisted module<br />
*** zope module<br />
*** Twisted-10.2.0-py2.7.egg-info<br />
*** zope.interface-3.6.1-py2.7-nspkg.pth<br />
<br />
=== Services ===<br />
* Disable Windows Defender Service<br />
* Disable Puppet Service<br />
<br />
=== Other File Changes ===<br />
* SSH keys, API keys, and API tokens need to be copied over to C:\builds and C:\users\cltbld\.ssh<br />
** This should happen through the Puppet run. However, currently it is not happening in AWS. <br />
* Cltbld permissions added to:<br />
** C:\builds\crash-stats-api.token <br />
** C:\builds\google-oath-api.key<br />
* Add AWS credentials to C:\Users\cltbld\.boto<br />
* Update yasm.exe to 1.3 in C:\mozilla-build\<br />
** Rename the exe from yasm-1.3.0-win64.exe to yasm.exe<br />
** Source: http://yasm.tortall.net/Download.html<br />
<br />
== EC2 Service Userdata Scripts ==<br />
<br />
== OLD PRE 2015-11 Configuration Notes (Incomplete) ==<br />
=== Overview ===<br />
The building of the 2008 builder slave image uses both the Microsoft Deployment Workbench (MDT) and Puppet configuration software. In the case of AWS instances the Amazon EC2 service is also utilized. <br /><br />
<br />
The initial steps is building a base image in MDT. The base image is comprised of large applications that will seldom change, Microsoft SDKs, applications that may aid in deployment, and Windows Server Update Service (WSUS) components. <br /><br />
<br />
The second portion of this differs according to datacenter deployment or cloud deployment. Differences are documented below.However, in both cases the image has Puppet installed, and the image is prep to be ran against the PuppetAgain. As well a configurations that Puppet needs to run or at the time made more sense to be done through MDT.<br /><br />
<br />
General MDT documentation: https://mana.mozilla.org/wiki/display/SYSADMIN/Microsoft+Deployment+Toolkit+2012+Update+1+General+Documentation<br />
<br />
=== Windows 2008 Build Slave Configuration Managed by Microsoft Deployment Workbench Configuration ===<br />
=== Starting Operating System ===<br />
The process is begun with Windows Server 2008 R2 SP1 iso (en_windows_server_2008_r2_with_sp1_vl_build_x64_dvd_617403.iso). The iso file is mounted, in our case, using Virtual CloneDrive. Once the iso file is mounted it is then imported into the MDT. <br />
=== Base Configuration Capture (MDT Task Sequence ID SW2008_BASE_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Microsoft Visual Studio 2010<br /><br />
* This application install varies away from the typical MDT install. The files needed to be extracted from the iso and have the F# portion removed. The extracted files are then copied over local, and the installation command is ran <br />
<br />
Microsoft Visual Studio 2013 Update 3<br /><br />
* A reboot needs to occur between the installation of 2010 and 2013<br /><br />
<br />
Microsoft Windows Windows 8 SDK<br /><br />
<br />
Microsoft Windows Windows Direct X SDK<br /><br />
<br />
Microsoft Net Framework 3.5 <br /><br />
<br />
=== Configuration ===<br />
WSUS Updates<br />
* Various registry settings are needed <br />
** Refrence: https://bugzilla.mozilla.org/show_bug.cgi?id=972575<br /><br />
<br />
<br />
=== Data Center Deployment Configuration (MDT Task Sequence SW2008_DPLY_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Set Puppet Registry bits<br />
** "Type"=dword:00000010<br />
** "Start"=dword:00000003<br />
** "ErrorControl"=dword:00000001 <br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
Disable Server Manager Window "reg add HKCU\Software\Microsoft\ServerManager /t REG_DWORD /v DoNotOpenServerManagerAtLogon /d 1 /f<br />
* Because the registry setting is HKey current user it is quite difficult to implement through Puppet<br />
** Needs to be done after reboot post Puppet run<br />
<br />
<br />
=== Cloud Deploy Configuration Capture (MDT Task Sequence ID W2008_CLD_002)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
EC2 config service<br />
* Installation ""Z:\Applications\AWS EC2config service\Ec2Install.exe" /passive /norestart2config service\"<br />
<br />
Citrix PV<br />
* Copy from "Z:\Applications\Citrix-Win_PV" to "c:\Citrix-Win"<br />
* "C:\Citrix-Win\upgrade.bat" to install<br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /></div>Mcornmesserhttps://wiki.mozilla.org/index.php?title=ReleaseEngineering/worker_configuration/2008&diff=1139356ReleaseEngineering/worker configuration/20082016-07-11T22:20:32Z<p>Mcornmesser: /* Installed Applications */</p>
<hr />
<div>== Overview ==<br />
As of 2015-11-24 the configuration of 2008 buildbot slaves consists of 4 parts. The initial manual build of the AWS AMI, application of the 2008 PuppetAgain catalog, manual configuration changes, and lastly the EC2 userdata scripts. <br />
<br />
Manual configuration changes will eventually be part of PuppetAgain, and as well as portion of the manual AMI creation. These were currently left out do to the priority of getting buildbot builds working in AWS over the individual automation and management pieces.<br />
<br />
== AMI Creation ==<br />
<br />
=== Starting Operating System===<br />
Due to a deep level issue affecting hg clone and hg bundle times we move away from using a custom AMI built of a Microsoft Deployment Workbench image and starting with an AWS vanilla AMI: Windows_Server-2008-R2_SP1-English-64Bit-Base-2015.09.09 (ami-31620c54).<br />
<br />
=== Installed Applications ===<br />
* Visual Studio 2010<br />
** ISO: SW_DVD5_NTRL_Visual_Studio_2010SP1_MultiLang_FPP_VL_MLF_X17-40329<br />
*** Resulting Version: 10.0.30319.1 RTMRel<br />
* Visual Studio 2013 <br />
** ISO: en_visual_studio_premium_2013_with_update_3_x86_dvd_4836351<br />
*** Resulting Version: <br />
* Puppet Agent <br />
** Including a method to pull Puppet authentication certs and keys (most recently used puppetized temp vbs script)<br />
** Include a copy of the puppet.conf in C:\ProgramData\PuppetLabs\puppet\etc<br />
*** Based off of : http://hg.mozilla.org/build/puppet/file/tip/modules/puppet/templates/puppet.conf.erb<br />
** Puppet authentication and the puppet.conf file can eventually be moved into EC2 userdata scripts<br />
*** This is now handled by the Userdata scripts <br />
<br />
* Other Applications that can be moved into PuppetAgain management<br />
** Direct X SDK<br />
** Windows 8 SDK<br />
<br />
=== Other Configuration ===<br />
* Rename administrator account to Root<br />
** Can be moved into the EC2 userdata scripts pre-Puppet run<br />
* Roll back patching level to 2011-06<br />
** ADD script<br />
* Set os_version variable "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
<br />
== Puppet Configuration ===<br />
<br />
== Manual Configuration/Tweaks ==<br />
(These tweaks have been ported into Puppet. Keeping the list here for historical reference.) <br />
<br />
=== Mercurial Tweaks ===<br />
* File copies into C:\mozilla-build\hg <br />
** Bundleclone.py <br />
*** http://hg.mozilla.org/build/puppet/raw-file/fc396d309685/modules/mercurial/files/bundleclone.py<br />
** A newer version of the caperm.pem is needed<br />
*** Current configuration uses caperm.pem stripped from Mercurial-3.5.1<br />
* Lines added to the mercurial.ini <br />
** Under [extensions]<br />
*** bundleclone=C:\mozilla-build\hg\bundleclone.py<br />
*** share =<br />
** Under [bundleclone]<br />
*** prefers = ec2region=us-west-2, stream=revlogv1<br />
**** This line should be ultimately be managed with the EC2 userdata scripts to determine which location for specific AWS region<br />
** Under [ui]<br />
*** username = Mozilla Release Engineering <release@mozilla.com><br />
*** traceback = True<br />
** Under [hostfingerprints]<br />
*** hg.mozilla.org = af:27:b9:34:47:4e:e5:98:01:f6:83:2b:51:c9:aa:d8:df:fb:1a:27<br />
<br />
=== Runner Configuration ===<br />
* Add support for purgebuild runner task<br />
** purgebuild.py https://hg.mozilla.org/build/tools/raw-file/c210728881d4/buildfarm/maintenance/purge_builds.py<br />
*** Copy to C:\opt\runner<br />
** Add 1-purge_builds.bat to C:\opt\runner\tasks.d<br />
*** Content: "%MOZILLABUILD%\msys\bin\bash" --login -c "'%BUILDBOT_PATH%\Scripts\python' "/C/opt/runner/purge_builds.py" --not "/c/users/.cltbld/.ssh:999d" --not info --not 'rel-*:10d' --not 'tb-rel-*:10d' -s 35 /C/builds/moz2_slave<br />
<br />
=== Buildbot Tweaks ===<br />
* File copies were needed specifically to have sendchange work. Reference: https://bugzilla.mozilla.org/show_bug.cgi?id=1175701<br />
** Copy from C:\mozilla-build\buildbotve\Lib\site-packages to C:\mozilla-build\python27\Lib\site-packages:<br />
*** buildbot module <br />
*** twisted module<br />
*** zope module<br />
*** Twisted-10.2.0-py2.7.egg-info<br />
*** zope.interface-3.6.1-py2.7-nspkg.pth<br />
<br />
=== Services ===<br />
* Disable Windows Defender Service<br />
* Disable Puppet Service<br />
<br />
=== Other File Changes ===<br />
* SSH keys, API keys, and API tokens need to be copied over to C:\builds and C:\users\cltbld\.ssh<br />
** This should happen through the Puppet run. However, currently it is not happening in AWS. <br />
* Cltbld permissions added to:<br />
** C:\builds\crash-stats-api.token <br />
** C:\builds\google-oath-api.key<br />
* Add AWS credentials to C:\Users\cltbld\.boto<br />
* Update yasm.exe to 1.3 in C:\mozilla-build\<br />
** Rename the exe from yasm-1.3.0-win64.exe to yasm.exe<br />
** Source: http://yasm.tortall.net/Download.html<br />
<br />
== EC2 Service Userdata Scripts ==<br />
<br />
== OLD PRE 2015-11 Configuration Notes (Incomplete) ==<br />
=== Overview ===<br />
The building of the 2008 builder slave image uses both the Microsoft Deployment Workbench (MDT) and Puppet configuration software. In the case of AWS instances the Amazon EC2 service is also utilized. <br /><br />
<br />
The initial steps is building a base image in MDT. The base image is comprised of large applications that will seldom change, Microsoft SDKs, applications that may aid in deployment, and Windows Server Update Service (WSUS) components. <br /><br />
<br />
The second portion of this differs according to datacenter deployment or cloud deployment. Differences are documented below.However, in both cases the image has Puppet installed, and the image is prep to be ran against the PuppetAgain. As well a configurations that Puppet needs to run or at the time made more sense to be done through MDT.<br /><br />
<br />
General MDT documentation: https://mana.mozilla.org/wiki/display/SYSADMIN/Microsoft+Deployment+Toolkit+2012+Update+1+General+Documentation<br />
<br />
=== Windows 2008 Build Slave Configuration Managed by Microsoft Deployment Workbench Configuration ===<br />
=== Starting Operating System ===<br />
The process is begun with Windows Server 2008 R2 SP1 iso (en_windows_server_2008_r2_with_sp1_vl_build_x64_dvd_617403.iso). The iso file is mounted, in our case, using Virtual CloneDrive. Once the iso file is mounted it is then imported into the MDT. <br />
=== Base Configuration Capture (MDT Task Sequence ID SW2008_BASE_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Microsoft Visual Studio 2010<br /><br />
* This application install varies away from the typical MDT install. The files needed to be extracted from the iso and have the F# portion removed. The extracted files are then copied over local, and the installation command is ran <br />
<br />
Microsoft Visual Studio 2013 Update 3<br /><br />
* A reboot needs to occur between the installation of 2010 and 2013<br /><br />
<br />
Microsoft Windows Windows 8 SDK<br /><br />
<br />
Microsoft Windows Windows Direct X SDK<br /><br />
<br />
Microsoft Net Framework 3.5 <br /><br />
<br />
=== Configuration ===<br />
WSUS Updates<br />
* Various registry settings are needed <br />
** Refrence: https://bugzilla.mozilla.org/show_bug.cgi?id=972575<br /><br />
<br />
<br />
=== Data Center Deployment Configuration (MDT Task Sequence SW2008_DPLY_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Set Puppet Registry bits<br />
** "Type"=dword:00000010<br />
** "Start"=dword:00000003<br />
** "ErrorControl"=dword:00000001 <br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
Disable Server Manager Window "reg add HKCU\Software\Microsoft\ServerManager /t REG_DWORD /v DoNotOpenServerManagerAtLogon /d 1 /f<br />
* Because the registry setting is HKey current user it is quite difficult to implement through Puppet<br />
** Needs to be done after reboot post Puppet run<br />
<br />
<br />
=== Cloud Deploy Configuration Capture (MDT Task Sequence ID W2008_CLD_002)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
EC2 config service<br />
* Installation ""Z:\Applications\AWS EC2config service\Ec2Install.exe" /passive /norestart2config service\"<br />
<br />
Citrix PV<br />
* Copy from "Z:\Applications\Citrix-Win_PV" to "c:\Citrix-Win"<br />
* "C:\Citrix-Win\upgrade.bat" to install<br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /></div>Mcornmesserhttps://wiki.mozilla.org/index.php?title=ReleaseEngineering/slave_configuration/2008&diff=1139355ReleaseEngineering/slave configuration/20082016-07-11T22:18:54Z<p>Mcornmesser: Mcornmesser moved page ReleaseEngineering/slave configuration/2008 to ReleaseEngineering/buildbot worker configuration/2008</p>
<hr />
<div>#REDIRECT [[ReleaseEngineering/buildbot worker configuration/2008]]</div>Mcornmesserhttps://wiki.mozilla.org/index.php?title=ReleaseEngineering/buildbot_worker_configuration/2008&diff=1139354ReleaseEngineering/buildbot worker configuration/20082016-07-11T22:18:45Z<p>Mcornmesser: Mcornmesser moved page ReleaseEngineering/slave configuration/2008 to ReleaseEngineering/buildbot worker configuration/2008</p>
<hr />
<div>#REDIRECT [[ReleaseEngineering/worker configuration/2008]]</div>Mcornmesserhttps://wiki.mozilla.org/index.php?title=ReleaseEngineering/buildbot_worker_configuration/2008&diff=1139353ReleaseEngineering/buildbot worker configuration/20082016-07-11T22:18:06Z<p>Mcornmesser: Mcornmesser moved page ReleaseEngineering/slave configuration/2008 to ReleaseEngineering/worker configuration/2008</p>
<hr />
<div>#REDIRECT [[ReleaseEngineering/worker configuration/2008]]</div>Mcornmesserhttps://wiki.mozilla.org/index.php?title=ReleaseEngineering/worker_configuration/2008&diff=1139352ReleaseEngineering/worker configuration/20082016-07-11T22:17:57Z<p>Mcornmesser: Mcornmesser moved page ReleaseEngineering/slave configuration/2008 to ReleaseEngineering/worker configuration/2008</p>
<hr />
<div>== Overview ==<br />
As of 2015-11-24 the configuration of 2008 buildbot slaves consists of 4 parts. The initial manual build of the AWS AMI, application of the 2008 PuppetAgain catalog, manual configuration changes, and lastly the EC2 userdata scripts. <br />
<br />
Manual configuration changes will eventually be part of PuppetAgain, and as well as portion of the manual AMI creation. These were currently left out do to the priority of getting buildbot builds working in AWS over the individual automation and management pieces.<br />
<br />
== AMI Creation ==<br />
<br />
=== Starting Operating System===<br />
Due to a deep level issue affecting hg clone and hg bundle times we move away from using a custom AMI built of a Microsoft Deployment Workbench image and starting with an AWS vanilla AMI: Windows_Server-2008-R2_SP1-English-64Bit-Base-2015.09.09 (ami-31620c54).<br />
<br />
=== Installed Applications ===<br />
* Visual Studio 2010<br />
** ISO: SW_DVD5_NTRL_Visual_Studio_2010SP1_MultiLang_FPP_VL_MLF_X17-40329<br />
*** Resulting Version: 10.0.30319.1 RTMRel<br />
* Visual Studio 2013 <br />
** ISO: en_visual_studio_premium_2013_with_update_3_x86_dvd_4836351<br />
*** Resulting Version: ADD<br />
* Puppet Agent <br />
** Including a method to pull Puppet authentication certs and keys (most recently used puppetized temp vbs script)<br />
** Include a copy of the puppet.conf in C:\ProgramData\PuppetLabs\puppet\etc<br />
*** Based off of : http://hg.mozilla.org/build/puppet/file/tip/modules/puppet/templates/puppet.conf.erb<br />
** Puppet authentication and the puppet.conf file can eventually be moved into EC2 userdata scripts<br />
*** This may eventually be moved into the Userdata scripts <br />
*** Resulting Version: <br />
* Other Applications that can be moved into PuppetAgain management<br />
** Direct X SDK<br />
** Windows 8 SDK<br />
<br />
=== Other Configuration ===<br />
* Rename administrator account to Root<br />
** Can be moved into the EC2 userdata scripts pre-Puppet run<br />
* Roll back patching level to 2011-06<br />
** ADD script<br />
* Set os_version variable "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
<br />
== Puppet Configuration ===<br />
<br />
== Manual Configuration/Tweaks ==<br />
(These tweaks have been ported into Puppet. Keeping the list here for historical reference.) <br />
<br />
=== Mercurial Tweaks ===<br />
* File copies into C:\mozilla-build\hg <br />
** Bundleclone.py <br />
*** http://hg.mozilla.org/build/puppet/raw-file/fc396d309685/modules/mercurial/files/bundleclone.py<br />
** A newer version of the caperm.pem is needed<br />
*** Current configuration uses caperm.pem stripped from Mercurial-3.5.1<br />
* Lines added to the mercurial.ini <br />
** Under [extensions]<br />
*** bundleclone=C:\mozilla-build\hg\bundleclone.py<br />
*** share =<br />
** Under [bundleclone]<br />
*** prefers = ec2region=us-west-2, stream=revlogv1<br />
**** This line should be ultimately be managed with the EC2 userdata scripts to determine which location for specific AWS region<br />
** Under [ui]<br />
*** username = Mozilla Release Engineering <release@mozilla.com><br />
*** traceback = True<br />
** Under [hostfingerprints]<br />
*** hg.mozilla.org = af:27:b9:34:47:4e:e5:98:01:f6:83:2b:51:c9:aa:d8:df:fb:1a:27<br />
<br />
=== Runner Configuration ===<br />
* Add support for purgebuild runner task<br />
** purgebuild.py https://hg.mozilla.org/build/tools/raw-file/c210728881d4/buildfarm/maintenance/purge_builds.py<br />
*** Copy to C:\opt\runner<br />
** Add 1-purge_builds.bat to C:\opt\runner\tasks.d<br />
*** Content: "%MOZILLABUILD%\msys\bin\bash" --login -c "'%BUILDBOT_PATH%\Scripts\python' "/C/opt/runner/purge_builds.py" --not "/c/users/.cltbld/.ssh:999d" --not info --not 'rel-*:10d' --not 'tb-rel-*:10d' -s 35 /C/builds/moz2_slave<br />
<br />
=== Buildbot Tweaks ===<br />
* File copies were needed specifically to have sendchange work. Reference: https://bugzilla.mozilla.org/show_bug.cgi?id=1175701<br />
** Copy from C:\mozilla-build\buildbotve\Lib\site-packages to C:\mozilla-build\python27\Lib\site-packages:<br />
*** buildbot module <br />
*** twisted module<br />
*** zope module<br />
*** Twisted-10.2.0-py2.7.egg-info<br />
*** zope.interface-3.6.1-py2.7-nspkg.pth<br />
<br />
=== Services ===<br />
* Disable Windows Defender Service<br />
* Disable Puppet Service<br />
<br />
=== Other File Changes ===<br />
* SSH keys, API keys, and API tokens need to be copied over to C:\builds and C:\users\cltbld\.ssh<br />
** This should happen through the Puppet run. However, currently it is not happening in AWS. <br />
* Cltbld permissions added to:<br />
** C:\builds\crash-stats-api.token <br />
** C:\builds\google-oath-api.key<br />
* Add AWS credentials to C:\Users\cltbld\.boto<br />
* Update yasm.exe to 1.3 in C:\mozilla-build\<br />
** Rename the exe from yasm-1.3.0-win64.exe to yasm.exe<br />
** Source: http://yasm.tortall.net/Download.html<br />
<br />
== EC2 Service Userdata Scripts ==<br />
<br />
== OLD PRE 2015-11 Configuration Notes (Incomplete) ==<br />
=== Overview ===<br />
The building of the 2008 builder slave image uses both the Microsoft Deployment Workbench (MDT) and Puppet configuration software. In the case of AWS instances the Amazon EC2 service is also utilized. <br /><br />
<br />
The initial steps is building a base image in MDT. The base image is comprised of large applications that will seldom change, Microsoft SDKs, applications that may aid in deployment, and Windows Server Update Service (WSUS) components. <br /><br />
<br />
The second portion of this differs according to datacenter deployment or cloud deployment. Differences are documented below.However, in both cases the image has Puppet installed, and the image is prep to be ran against the PuppetAgain. As well a configurations that Puppet needs to run or at the time made more sense to be done through MDT.<br /><br />
<br />
General MDT documentation: https://mana.mozilla.org/wiki/display/SYSADMIN/Microsoft+Deployment+Toolkit+2012+Update+1+General+Documentation<br />
<br />
=== Windows 2008 Build Slave Configuration Managed by Microsoft Deployment Workbench Configuration ===<br />
=== Starting Operating System ===<br />
The process is begun with Windows Server 2008 R2 SP1 iso (en_windows_server_2008_r2_with_sp1_vl_build_x64_dvd_617403.iso). The iso file is mounted, in our case, using Virtual CloneDrive. Once the iso file is mounted it is then imported into the MDT. <br />
=== Base Configuration Capture (MDT Task Sequence ID SW2008_BASE_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Microsoft Visual Studio 2010<br /><br />
* This application install varies away from the typical MDT install. The files needed to be extracted from the iso and have the F# portion removed. The extracted files are then copied over local, and the installation command is ran <br />
<br />
Microsoft Visual Studio 2013 Update 3<br /><br />
* A reboot needs to occur between the installation of 2010 and 2013<br /><br />
<br />
Microsoft Windows Windows 8 SDK<br /><br />
<br />
Microsoft Windows Windows Direct X SDK<br /><br />
<br />
Microsoft Net Framework 3.5 <br /><br />
<br />
=== Configuration ===<br />
WSUS Updates<br />
* Various registry settings are needed <br />
** Refrence: https://bugzilla.mozilla.org/show_bug.cgi?id=972575<br /><br />
<br />
<br />
=== Data Center Deployment Configuration (MDT Task Sequence SW2008_DPLY_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Set Puppet Registry bits<br />
** "Type"=dword:00000010<br />
** "Start"=dword:00000003<br />
** "ErrorControl"=dword:00000001 <br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
Disable Server Manager Window "reg add HKCU\Software\Microsoft\ServerManager /t REG_DWORD /v DoNotOpenServerManagerAtLogon /d 1 /f<br />
* Because the registry setting is HKey current user it is quite difficult to implement through Puppet<br />
** Needs to be done after reboot post Puppet run<br />
<br />
<br />
=== Cloud Deploy Configuration Capture (MDT Task Sequence ID W2008_CLD_002)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
EC2 config service<br />
* Installation ""Z:\Applications\AWS EC2config service\Ec2Install.exe" /passive /norestart2config service\"<br />
<br />
Citrix PV<br />
* Copy from "Z:\Applications\Citrix-Win_PV" to "c:\Citrix-Win"<br />
* "C:\Citrix-Win\upgrade.bat" to install<br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /></div>Mcornmesserhttps://wiki.mozilla.org/index.php?title=ReleaseEngineering/worker_configuration/2008&diff=1139351ReleaseEngineering/worker configuration/20082016-07-11T22:15:59Z<p>Mcornmesser: /* Manual Configuration/Tweaks */</p>
<hr />
<div>== Overview ==<br />
As of 2015-11-24 the configuration of 2008 buildbot slaves consists of 4 parts. The initial manual build of the AWS AMI, application of the 2008 PuppetAgain catalog, manual configuration changes, and lastly the EC2 userdata scripts. <br />
<br />
Manual configuration changes will eventually be part of PuppetAgain, and as well as portion of the manual AMI creation. These were currently left out do to the priority of getting buildbot builds working in AWS over the individual automation and management pieces.<br />
<br />
== AMI Creation ==<br />
<br />
=== Starting Operating System===<br />
Due to a deep level issue affecting hg clone and hg bundle times we move away from using a custom AMI built of a Microsoft Deployment Workbench image and starting with an AWS vanilla AMI: Windows_Server-2008-R2_SP1-English-64Bit-Base-2015.09.09 (ami-31620c54).<br />
<br />
=== Installed Applications ===<br />
* Visual Studio 2010<br />
** ISO: SW_DVD5_NTRL_Visual_Studio_2010SP1_MultiLang_FPP_VL_MLF_X17-40329<br />
*** Resulting Version: 10.0.30319.1 RTMRel<br />
* Visual Studio 2013 <br />
** ISO: en_visual_studio_premium_2013_with_update_3_x86_dvd_4836351<br />
*** Resulting Version: ADD<br />
* Puppet Agent <br />
** Including a method to pull Puppet authentication certs and keys (most recently used puppetized temp vbs script)<br />
** Include a copy of the puppet.conf in C:\ProgramData\PuppetLabs\puppet\etc<br />
*** Based off of : http://hg.mozilla.org/build/puppet/file/tip/modules/puppet/templates/puppet.conf.erb<br />
** Puppet authentication and the puppet.conf file can eventually be moved into EC2 userdata scripts<br />
*** This may eventually be moved into the Userdata scripts <br />
*** Resulting Version: <br />
* Other Applications that can be moved into PuppetAgain management<br />
** Direct X SDK<br />
** Windows 8 SDK<br />
<br />
=== Other Configuration ===<br />
* Rename administrator account to Root<br />
** Can be moved into the EC2 userdata scripts pre-Puppet run<br />
* Roll back patching level to 2011-06<br />
** ADD script<br />
* Set os_version variable "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
<br />
== Puppet Configuration ===<br />
<br />
== Manual Configuration/Tweaks ==<br />
(These tweaks have been ported into Puppet. Keeping the list here for historical reference.) <br />
<br />
=== Mercurial Tweaks ===<br />
* File copies into C:\mozilla-build\hg <br />
** Bundleclone.py <br />
*** http://hg.mozilla.org/build/puppet/raw-file/fc396d309685/modules/mercurial/files/bundleclone.py<br />
** A newer version of the caperm.pem is needed<br />
*** Current configuration uses caperm.pem stripped from Mercurial-3.5.1<br />
* Lines added to the mercurial.ini <br />
** Under [extensions]<br />
*** bundleclone=C:\mozilla-build\hg\bundleclone.py<br />
*** share =<br />
** Under [bundleclone]<br />
*** prefers = ec2region=us-west-2, stream=revlogv1<br />
**** This line should be ultimately be managed with the EC2 userdata scripts to determine which location for specific AWS region<br />
** Under [ui]<br />
*** username = Mozilla Release Engineering <release@mozilla.com><br />
*** traceback = True<br />
** Under [hostfingerprints]<br />
*** hg.mozilla.org = af:27:b9:34:47:4e:e5:98:01:f6:83:2b:51:c9:aa:d8:df:fb:1a:27<br />
<br />
=== Runner Configuration ===<br />
* Add support for purgebuild runner task<br />
** purgebuild.py https://hg.mozilla.org/build/tools/raw-file/c210728881d4/buildfarm/maintenance/purge_builds.py<br />
*** Copy to C:\opt\runner<br />
** Add 1-purge_builds.bat to C:\opt\runner\tasks.d<br />
*** Content: "%MOZILLABUILD%\msys\bin\bash" --login -c "'%BUILDBOT_PATH%\Scripts\python' "/C/opt/runner/purge_builds.py" --not "/c/users/.cltbld/.ssh:999d" --not info --not 'rel-*:10d' --not 'tb-rel-*:10d' -s 35 /C/builds/moz2_slave<br />
<br />
=== Buildbot Tweaks ===<br />
* File copies were needed specifically to have sendchange work. Reference: https://bugzilla.mozilla.org/show_bug.cgi?id=1175701<br />
** Copy from C:\mozilla-build\buildbotve\Lib\site-packages to C:\mozilla-build\python27\Lib\site-packages:<br />
*** buildbot module <br />
*** twisted module<br />
*** zope module<br />
*** Twisted-10.2.0-py2.7.egg-info<br />
*** zope.interface-3.6.1-py2.7-nspkg.pth<br />
<br />
=== Services ===<br />
* Disable Windows Defender Service<br />
* Disable Puppet Service<br />
<br />
=== Other File Changes ===<br />
* SSH keys, API keys, and API tokens need to be copied over to C:\builds and C:\users\cltbld\.ssh<br />
** This should happen through the Puppet run. However, currently it is not happening in AWS. <br />
* Cltbld permissions added to:<br />
** C:\builds\crash-stats-api.token <br />
** C:\builds\google-oath-api.key<br />
* Add AWS credentials to C:\Users\cltbld\.boto<br />
* Update yasm.exe to 1.3 in C:\mozilla-build\<br />
** Rename the exe from yasm-1.3.0-win64.exe to yasm.exe<br />
** Source: http://yasm.tortall.net/Download.html<br />
<br />
== EC2 Service Userdata Scripts ==<br />
<br />
== OLD PRE 2015-11 Configuration Notes (Incomplete) ==<br />
=== Overview ===<br />
The building of the 2008 builder slave image uses both the Microsoft Deployment Workbench (MDT) and Puppet configuration software. In the case of AWS instances the Amazon EC2 service is also utilized. <br /><br />
<br />
The initial steps is building a base image in MDT. The base image is comprised of large applications that will seldom change, Microsoft SDKs, applications that may aid in deployment, and Windows Server Update Service (WSUS) components. <br /><br />
<br />
The second portion of this differs according to datacenter deployment or cloud deployment. Differences are documented below.However, in both cases the image has Puppet installed, and the image is prep to be ran against the PuppetAgain. As well a configurations that Puppet needs to run or at the time made more sense to be done through MDT.<br /><br />
<br />
General MDT documentation: https://mana.mozilla.org/wiki/display/SYSADMIN/Microsoft+Deployment+Toolkit+2012+Update+1+General+Documentation<br />
<br />
=== Windows 2008 Build Slave Configuration Managed by Microsoft Deployment Workbench Configuration ===<br />
=== Starting Operating System ===<br />
The process is begun with Windows Server 2008 R2 SP1 iso (en_windows_server_2008_r2_with_sp1_vl_build_x64_dvd_617403.iso). The iso file is mounted, in our case, using Virtual CloneDrive. Once the iso file is mounted it is then imported into the MDT. <br />
=== Base Configuration Capture (MDT Task Sequence ID SW2008_BASE_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Microsoft Visual Studio 2010<br /><br />
* This application install varies away from the typical MDT install. The files needed to be extracted from the iso and have the F# portion removed. The extracted files are then copied over local, and the installation command is ran <br />
<br />
Microsoft Visual Studio 2013 Update 3<br /><br />
* A reboot needs to occur between the installation of 2010 and 2013<br /><br />
<br />
Microsoft Windows Windows 8 SDK<br /><br />
<br />
Microsoft Windows Windows Direct X SDK<br /><br />
<br />
Microsoft Net Framework 3.5 <br /><br />
<br />
=== Configuration ===<br />
WSUS Updates<br />
* Various registry settings are needed <br />
** Refrence: https://bugzilla.mozilla.org/show_bug.cgi?id=972575<br /><br />
<br />
<br />
=== Data Center Deployment Configuration (MDT Task Sequence SW2008_DPLY_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Set Puppet Registry bits<br />
** "Type"=dword:00000010<br />
** "Start"=dword:00000003<br />
** "ErrorControl"=dword:00000001 <br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
Disable Server Manager Window "reg add HKCU\Software\Microsoft\ServerManager /t REG_DWORD /v DoNotOpenServerManagerAtLogon /d 1 /f<br />
* Because the registry setting is HKey current user it is quite difficult to implement through Puppet<br />
** Needs to be done after reboot post Puppet run<br />
<br />
<br />
=== Cloud Deploy Configuration Capture (MDT Task Sequence ID W2008_CLD_002)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
EC2 config service<br />
* Installation ""Z:\Applications\AWS EC2config service\Ec2Install.exe" /passive /norestart2config service\"<br />
<br />
Citrix PV<br />
* Copy from "Z:\Applications\Citrix-Win_PV" to "c:\Citrix-Win"<br />
* "C:\Citrix-Win\upgrade.bat" to install<br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /></div>Mcornmesserhttps://wiki.mozilla.org/index.php?title=ReleaseEngineering/worker_configuration/2008&diff=1139350ReleaseEngineering/worker configuration/20082016-07-11T22:15:30Z<p>Mcornmesser: /* Manual Configuration/Tweaks */</p>
<hr />
<div>== Overview ==<br />
As of 2015-11-24 the configuration of 2008 buildbot slaves consists of 4 parts. The initial manual build of the AWS AMI, application of the 2008 PuppetAgain catalog, manual configuration changes, and lastly the EC2 userdata scripts. <br />
<br />
Manual configuration changes will eventually be part of PuppetAgain, and as well as portion of the manual AMI creation. These were currently left out do to the priority of getting buildbot builds working in AWS over the individual automation and management pieces.<br />
<br />
== AMI Creation ==<br />
<br />
=== Starting Operating System===<br />
Due to a deep level issue affecting hg clone and hg bundle times we move away from using a custom AMI built of a Microsoft Deployment Workbench image and starting with an AWS vanilla AMI: Windows_Server-2008-R2_SP1-English-64Bit-Base-2015.09.09 (ami-31620c54).<br />
<br />
=== Installed Applications ===<br />
* Visual Studio 2010<br />
** ISO: SW_DVD5_NTRL_Visual_Studio_2010SP1_MultiLang_FPP_VL_MLF_X17-40329<br />
*** Resulting Version: 10.0.30319.1 RTMRel<br />
* Visual Studio 2013 <br />
** ISO: en_visual_studio_premium_2013_with_update_3_x86_dvd_4836351<br />
*** Resulting Version: ADD<br />
* Puppet Agent <br />
** Including a method to pull Puppet authentication certs and keys (most recently used puppetized temp vbs script)<br />
** Include a copy of the puppet.conf in C:\ProgramData\PuppetLabs\puppet\etc<br />
*** Based off of : http://hg.mozilla.org/build/puppet/file/tip/modules/puppet/templates/puppet.conf.erb<br />
** Puppet authentication and the puppet.conf file can eventually be moved into EC2 userdata scripts<br />
*** This may eventually be moved into the Userdata scripts <br />
*** Resulting Version: <br />
* Other Applications that can be moved into PuppetAgain management<br />
** Direct X SDK<br />
** Windows 8 SDK<br />
<br />
=== Other Configuration ===<br />
* Rename administrator account to Root<br />
** Can be moved into the EC2 userdata scripts pre-Puppet run<br />
* Roll back patching level to 2011-06<br />
** ADD script<br />
* Set os_version variable "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
<br />
== Puppet Configuration ===<br />
<br />
== Manual Configuration/Tweaks ==<br />
(these tweaks have been ported into Puppet. Keeping the list here for historical reference) <br />
<br />
=== Mercurial Tweaks ===<br />
* File copies into C:\mozilla-build\hg <br />
** Bundleclone.py <br />
*** http://hg.mozilla.org/build/puppet/raw-file/fc396d309685/modules/mercurial/files/bundleclone.py<br />
** A newer version of the caperm.pem is needed<br />
*** Current configuration uses caperm.pem stripped from Mercurial-3.5.1<br />
* Lines added to the mercurial.ini <br />
** Under [extensions]<br />
*** bundleclone=C:\mozilla-build\hg\bundleclone.py<br />
*** share =<br />
** Under [bundleclone]<br />
*** prefers = ec2region=us-west-2, stream=revlogv1<br />
**** This line should be ultimately be managed with the EC2 userdata scripts to determine which location for specific AWS region<br />
** Under [ui]<br />
*** username = Mozilla Release Engineering <release@mozilla.com><br />
*** traceback = True<br />
** Under [hostfingerprints]<br />
*** hg.mozilla.org = af:27:b9:34:47:4e:e5:98:01:f6:83:2b:51:c9:aa:d8:df:fb:1a:27<br />
<br />
=== Runner Configuration ===<br />
* Add support for purgebuild runner task<br />
** purgebuild.py https://hg.mozilla.org/build/tools/raw-file/c210728881d4/buildfarm/maintenance/purge_builds.py<br />
*** Copy to C:\opt\runner<br />
** Add 1-purge_builds.bat to C:\opt\runner\tasks.d<br />
*** Content: "%MOZILLABUILD%\msys\bin\bash" --login -c "'%BUILDBOT_PATH%\Scripts\python' "/C/opt/runner/purge_builds.py" --not "/c/users/.cltbld/.ssh:999d" --not info --not 'rel-*:10d' --not 'tb-rel-*:10d' -s 35 /C/builds/moz2_slave<br />
<br />
=== Buildbot Tweaks ===<br />
* File copies were needed specifically to have sendchange work. Reference: https://bugzilla.mozilla.org/show_bug.cgi?id=1175701<br />
** Copy from C:\mozilla-build\buildbotve\Lib\site-packages to C:\mozilla-build\python27\Lib\site-packages:<br />
*** buildbot module <br />
*** twisted module<br />
*** zope module<br />
*** Twisted-10.2.0-py2.7.egg-info<br />
*** zope.interface-3.6.1-py2.7-nspkg.pth<br />
<br />
=== Services ===<br />
* Disable Windows Defender Service<br />
* Disable Puppet Service<br />
<br />
=== Other File Changes ===<br />
* SSH keys, API keys, and API tokens need to be copied over to C:\builds and C:\users\cltbld\.ssh<br />
** This should happen through the Puppet run. However, currently it is not happening in AWS. <br />
* Cltbld permissions added to:<br />
** C:\builds\crash-stats-api.token <br />
** C:\builds\google-oath-api.key<br />
* Add AWS credentials to C:\Users\cltbld\.boto<br />
* Update yasm.exe to 1.3 in C:\mozilla-build\<br />
** Rename the exe from yasm-1.3.0-win64.exe to yasm.exe<br />
** Source: http://yasm.tortall.net/Download.html<br />
<br />
== EC2 Service Userdata Scripts ==<br />
<br />
== OLD PRE 2015-11 Configuration Notes (Incomplete) ==<br />
=== Overview ===<br />
The building of the 2008 builder slave image uses both the Microsoft Deployment Workbench (MDT) and Puppet configuration software. In the case of AWS instances the Amazon EC2 service is also utilized. <br /><br />
<br />
The initial steps is building a base image in MDT. The base image is comprised of large applications that will seldom change, Microsoft SDKs, applications that may aid in deployment, and Windows Server Update Service (WSUS) components. <br /><br />
<br />
The second portion of this differs according to datacenter deployment or cloud deployment. Differences are documented below.However, in both cases the image has Puppet installed, and the image is prep to be ran against the PuppetAgain. As well a configurations that Puppet needs to run or at the time made more sense to be done through MDT.<br /><br />
<br />
General MDT documentation: https://mana.mozilla.org/wiki/display/SYSADMIN/Microsoft+Deployment+Toolkit+2012+Update+1+General+Documentation<br />
<br />
=== Windows 2008 Build Slave Configuration Managed by Microsoft Deployment Workbench Configuration ===<br />
=== Starting Operating System ===<br />
The process is begun with Windows Server 2008 R2 SP1 iso (en_windows_server_2008_r2_with_sp1_vl_build_x64_dvd_617403.iso). The iso file is mounted, in our case, using Virtual CloneDrive. Once the iso file is mounted it is then imported into the MDT. <br />
=== Base Configuration Capture (MDT Task Sequence ID SW2008_BASE_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Microsoft Visual Studio 2010<br /><br />
* This application install varies away from the typical MDT install. The files needed to be extracted from the iso and have the F# portion removed. The extracted files are then copied over local, and the installation command is ran <br />
<br />
Microsoft Visual Studio 2013 Update 3<br /><br />
* A reboot needs to occur between the installation of 2010 and 2013<br /><br />
<br />
Microsoft Windows Windows 8 SDK<br /><br />
<br />
Microsoft Windows Windows Direct X SDK<br /><br />
<br />
Microsoft Net Framework 3.5 <br /><br />
<br />
=== Configuration ===<br />
WSUS Updates<br />
* Various registry settings are needed <br />
** Refrence: https://bugzilla.mozilla.org/show_bug.cgi?id=972575<br /><br />
<br />
<br />
=== Data Center Deployment Configuration (MDT Task Sequence SW2008_DPLY_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Set Puppet Registry bits<br />
** "Type"=dword:00000010<br />
** "Start"=dword:00000003<br />
** "ErrorControl"=dword:00000001 <br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
Disable Server Manager Window "reg add HKCU\Software\Microsoft\ServerManager /t REG_DWORD /v DoNotOpenServerManagerAtLogon /d 1 /f<br />
* Because the registry setting is HKey current user it is quite difficult to implement through Puppet<br />
** Needs to be done after reboot post Puppet run<br />
<br />
<br />
=== Cloud Deploy Configuration Capture (MDT Task Sequence ID W2008_CLD_002)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
EC2 config service<br />
* Installation ""Z:\Applications\AWS EC2config service\Ec2Install.exe" /passive /norestart2config service\"<br />
<br />
Citrix PV<br />
* Copy from "Z:\Applications\Citrix-Win_PV" to "c:\Citrix-Win"<br />
* "C:\Citrix-Win\upgrade.bat" to install<br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /></div>Mcornmesserhttps://wiki.mozilla.org/index.php?title=ReleaseEngineering/worker_configuration/2008&diff=1107230ReleaseEngineering/worker configuration/20082015-11-25T18:23:25Z<p>Mcornmesser: /* Manual Configuration/Tweaks */</p>
<hr />
<div>== Overview ==<br />
As of 2015-11-24 the configuration of 2008 buildbot slaves consists of 4 parts. The initial manual build of the AWS AMI, application of the 2008 PuppetAgain catalog, manual configuration changes, and lastly the EC2 userdata scripts. <br />
<br />
Manual configuration changes will eventually be part of PuppetAgain, and as well as portion of the manual AMI creation. These were currently left out do to the priority of getting buildbot builds working in AWS over the individual automation and management pieces.<br />
<br />
== AMI Creation ==<br />
<br />
=== Starting Operating System===<br />
Due to a deep level issue affecting hg clone and hg bundle times we move away from using a custom AMI built of a Microsoft Deployment Workbench image and starting with an AWS vanilla AMI: Windows_Server-2008-R2_SP1-English-64Bit-Base-2015.09.09 (ami-31620c54).<br />
<br />
=== Installed Applications ===<br />
* Visual Studio 2010<br />
** ISO: SW_DVD5_NTRL_Visual_Studio_2010SP1_MultiLang_FPP_VL_MLF_X17-40329<br />
*** Resulting Version: 10.0.30319.1 RTMRel<br />
* Visual Studio 2013 <br />
** ISO: en_visual_studio_premium_2013_with_update_3_x86_dvd_4836351<br />
*** Resulting Version: ADD<br />
* Puppet Agent <br />
** Including a method to pull Puppet authentication certs and keys (most recently used puppetized temp vbs script)<br />
** Include a copy of the puppet.conf in C:\ProgramData\PuppetLabs\puppet\etc<br />
*** Based off of : http://hg.mozilla.org/build/puppet/file/tip/modules/puppet/templates/puppet.conf.erb<br />
** Puppet authentication and the puppet.conf file can eventually be moved into EC2 userdata scripts<br />
*** This may eventually be moved into the Userdata scripts <br />
*** Resulting Version: <br />
* Other Applications that can be moved into PuppetAgain management<br />
** Direct X SDK<br />
** Windows 8 SDK<br />
<br />
=== Other Configuration ===<br />
* Rename administrator account to Root<br />
** Can be moved into the EC2 userdata scripts pre-Puppet run<br />
* Roll back patching level to 2011-06<br />
** ADD script<br />
* Set os_version variable "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
<br />
== Puppet Configuration ===<br />
<br />
== Manual Configuration/Tweaks ==<br />
<br />
=== Mercurial Tweaks ===<br />
* File copies into C:\mozilla-build\hg <br />
** Bundleclone.py <br />
*** http://hg.mozilla.org/build/puppet/raw-file/fc396d309685/modules/mercurial/files/bundleclone.py<br />
** A newer version of the caperm.pem is needed<br />
*** Current configuration uses caperm.pem stripped from Mercurial-3.5.1<br />
* Lines added to the mercurial.ini <br />
** Under [extensions]<br />
*** bundleclone=C:\mozilla-build\hg\bundleclone.py<br />
*** share =<br />
** Under [bundleclone]<br />
*** prefers = ec2region=us-west-2, stream=revlogv1<br />
**** This line should be ultimately be managed with the EC2 userdata scripts to determine which location for specific AWS region<br />
** Under [ui]<br />
*** username = Mozilla Release Engineering <release@mozilla.com><br />
*** traceback = True<br />
** Under [hostfingerprints]<br />
*** hg.mozilla.org = af:27:b9:34:47:4e:e5:98:01:f6:83:2b:51:c9:aa:d8:df:fb:1a:27<br />
<br />
=== Runner Configuration ===<br />
* Add support for purgebuild runner task<br />
** purgebuild.py https://hg.mozilla.org/build/tools/raw-file/c210728881d4/buildfarm/maintenance/purge_builds.py<br />
*** Copy to C:\opt\runner<br />
** Add 1-purge_builds.bat to C:\opt\runner\tasks.d<br />
*** Content: "%MOZILLABUILD%\msys\bin\bash" --login -c "'%BUILDBOT_PATH%\Scripts\python' "/C/opt/runner/purge_builds.py" --not "/c/users/.cltbld/.ssh:999d" --not info --not 'rel-*:10d' --not 'tb-rel-*:10d' -s 35 /C/builds/moz2_slave<br />
<br />
=== Buildbot Tweaks ===<br />
* File copies were needed specifically to have sendchange work. Reference: https://bugzilla.mozilla.org/show_bug.cgi?id=1175701<br />
** Copy from C:\mozilla-build\buildbotve\Lib\site-packages to C:\mozilla-build\python27\Lib\site-packages:<br />
*** buildbot module <br />
*** twisted module<br />
*** zope module<br />
*** Twisted-10.2.0-py2.7.egg-info<br />
*** zope.interface-3.6.1-py2.7-nspkg.pth<br />
<br />
=== Services ===<br />
* Disable Windows Defender Service<br />
* Disable Puppet Service<br />
<br />
=== Other File Changes ===<br />
* SSH keys, API keys, and API tokens need to be copied over to C:\builds and C:\users\cltbld\.ssh<br />
** This should happen through the Puppet run. However, currently it is not happening in AWS. <br />
* Cltbld permissions added to:<br />
** C:\builds\crash-stats-api.token <br />
** C:\builds\google-oath-api.key<br />
* Add AWS credentials to C:\Users\cltbld\.boto<br />
* Update yasm.exe to 1.3 in C:\mozilla-build\<br />
** Rename the exe from yasm-1.3.0-win64.exe to yasm.exe<br />
** Source: http://yasm.tortall.net/Download.html<br />
<br />
== EC2 Service Userdata Scripts ==<br />
<br />
== OLD PRE 2015-11 Configuration Notes (Incomplete) ==<br />
=== Overview ===<br />
The building of the 2008 builder slave image uses both the Microsoft Deployment Workbench (MDT) and Puppet configuration software. In the case of AWS instances the Amazon EC2 service is also utilized. <br /><br />
<br />
The initial steps is building a base image in MDT. The base image is comprised of large applications that will seldom change, Microsoft SDKs, applications that may aid in deployment, and Windows Server Update Service (WSUS) components. <br /><br />
<br />
The second portion of this differs according to datacenter deployment or cloud deployment. Differences are documented below.However, in both cases the image has Puppet installed, and the image is prep to be ran against the PuppetAgain. As well a configurations that Puppet needs to run or at the time made more sense to be done through MDT.<br /><br />
<br />
General MDT documentation: https://mana.mozilla.org/wiki/display/SYSADMIN/Microsoft+Deployment+Toolkit+2012+Update+1+General+Documentation<br />
<br />
=== Windows 2008 Build Slave Configuration Managed by Microsoft Deployment Workbench Configuration ===<br />
=== Starting Operating System ===<br />
The process is begun with Windows Server 2008 R2 SP1 iso (en_windows_server_2008_r2_with_sp1_vl_build_x64_dvd_617403.iso). The iso file is mounted, in our case, using Virtual CloneDrive. Once the iso file is mounted it is then imported into the MDT. <br />
=== Base Configuration Capture (MDT Task Sequence ID SW2008_BASE_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Microsoft Visual Studio 2010<br /><br />
* This application install varies away from the typical MDT install. The files needed to be extracted from the iso and have the F# portion removed. The extracted files are then copied over local, and the installation command is ran <br />
<br />
Microsoft Visual Studio 2013 Update 3<br /><br />
* A reboot needs to occur between the installation of 2010 and 2013<br /><br />
<br />
Microsoft Windows Windows 8 SDK<br /><br />
<br />
Microsoft Windows Windows Direct X SDK<br /><br />
<br />
Microsoft Net Framework 3.5 <br /><br />
<br />
=== Configuration ===<br />
WSUS Updates<br />
* Various registry settings are needed <br />
** Refrence: https://bugzilla.mozilla.org/show_bug.cgi?id=972575<br /><br />
<br />
<br />
=== Data Center Deployment Configuration (MDT Task Sequence SW2008_DPLY_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Set Puppet Registry bits<br />
** "Type"=dword:00000010<br />
** "Start"=dword:00000003<br />
** "ErrorControl"=dword:00000001 <br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
Disable Server Manager Window "reg add HKCU\Software\Microsoft\ServerManager /t REG_DWORD /v DoNotOpenServerManagerAtLogon /d 1 /f<br />
* Because the registry setting is HKey current user it is quite difficult to implement through Puppet<br />
** Needs to be done after reboot post Puppet run<br />
<br />
<br />
=== Cloud Deploy Configuration Capture (MDT Task Sequence ID W2008_CLD_002)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
EC2 config service<br />
* Installation ""Z:\Applications\AWS EC2config service\Ec2Install.exe" /passive /norestart2config service\"<br />
<br />
Citrix PV<br />
* Copy from "Z:\Applications\Citrix-Win_PV" to "c:\Citrix-Win"<br />
* "C:\Citrix-Win\upgrade.bat" to install<br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /></div>Mcornmesserhttps://wiki.mozilla.org/index.php?title=ReleaseEngineering/worker_configuration/2008&diff=1107229ReleaseEngineering/worker configuration/20082015-11-25T18:22:13Z<p>Mcornmesser: /* Other File Changes */</p>
<hr />
<div>== Overview ==<br />
As of 2015-11-24 the configuration of 2008 buildbot slaves consists of 4 parts. The initial manual build of the AWS AMI, application of the 2008 PuppetAgain catalog, manual configuration changes, and lastly the EC2 userdata scripts. <br />
<br />
Manual configuration changes will eventually be part of PuppetAgain, and as well as portion of the manual AMI creation. These were currently left out do to the priority of getting buildbot builds working in AWS over the individual automation and management pieces.<br />
<br />
== AMI Creation ==<br />
<br />
=== Starting Operating System===<br />
Due to a deep level issue affecting hg clone and hg bundle times we move away from using a custom AMI built of a Microsoft Deployment Workbench image and starting with an AWS vanilla AMI: Windows_Server-2008-R2_SP1-English-64Bit-Base-2015.09.09 (ami-31620c54).<br />
<br />
=== Installed Applications ===<br />
* Visual Studio 2010<br />
** ISO: SW_DVD5_NTRL_Visual_Studio_2010SP1_MultiLang_FPP_VL_MLF_X17-40329<br />
*** Resulting Version: 10.0.30319.1 RTMRel<br />
* Visual Studio 2013 <br />
** ISO: en_visual_studio_premium_2013_with_update_3_x86_dvd_4836351<br />
*** Resulting Version: ADD<br />
* Puppet Agent <br />
** Including a method to pull Puppet authentication certs and keys (most recently used puppetized temp vbs script)<br />
** Include a copy of the puppet.conf in C:\ProgramData\PuppetLabs\puppet\etc<br />
*** Based off of : http://hg.mozilla.org/build/puppet/file/tip/modules/puppet/templates/puppet.conf.erb<br />
** Puppet authentication and the puppet.conf file can eventually be moved into EC2 userdata scripts<br />
*** This may eventually be moved into the Userdata scripts <br />
*** Resulting Version: <br />
* Other Applications that can be moved into PuppetAgain management<br />
** Direct X SDK<br />
** Windows 8 SDK<br />
<br />
=== Other Configuration ===<br />
* Rename administrator account to Root<br />
** Can be moved into the EC2 userdata scripts pre-Puppet run<br />
* Roll back patching level to 2011-06<br />
** ADD script<br />
* Set os_version variable "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
<br />
== Puppet Configuration ===<br />
<br />
== Manual Configuration/Tweaks ==<br />
<br />
=== Mercurial Tweaks ===<br />
* File copies into C:\mozilla-build\hg <br />
** Bundleclone.py <br />
*** http://hg.mozilla.org/build/puppet/raw-file/fc396d309685/modules/mercurial/files/bundleclone.py<br />
** A newer version of the caperm.pem is needed<br />
*** Current configuration uses caperm.pem stripped from Mercurial-3.5.1<br />
* Lines added to the mercurial.ini <br />
** Under [extensions]<br />
*** bundleclone=C:\mozilla-build\hg\bundleclone.py<br />
*** share =<br />
** Under [bundleclone]<br />
*** prefers = ec2region=us-west-2, stream=revlogv1<br />
**** This line should be ultimately be managed with the EC2 userdata scripts to determine which location for specific AWS region<br />
** Under [ui]<br />
*** username = Mozilla Release Engineering <release@mozilla.com><br />
*** traceback = True<br />
** Under [hostfingerprints]<br />
*** hg.mozilla.org = af:27:b9:34:47:4e:e5:98:01:f6:83:2b:51:c9:aa:d8:df:fb:1a:27<br />
<br />
=== Runner Configuration ===<br />
* Add support for purgebuild runner task<br />
** purgebuild.py https://hg.mozilla.org/build/tools/raw-file/c210728881d4/buildfarm/maintenance/purge_builds.py<br />
*** Copy to C:\opt\runner<br />
** Add 1-purge_builds.bat to C:\opt\runner\tasks.d<br />
*** Content: "%MOZILLABUILD%\msys\bin\bash" --login -c "'%BUILDBOT_PATH%\Scripts\python' "/C/opt/runner/purge_builds.py" --not "/c/users/.cltbld/.ssh:999d" --not info --not 'rel-*:10d' --not 'tb-rel-*:10d' -s 35 /C/builds/moz2_slave<br />
<br />
=== Buildbot Tweaks ===<br />
* File copies were needed specifically to have sendchange work. Reference: https://bugzilla.mozilla.org/show_bug.cgi?id=1175701<br />
** Copy from C:\mozilla-build\buildbotve\Lib\site-packages to C:\mozilla-build\python27\Lib\site-packages:<br />
*** buildbot module <br />
*** twisted module<br />
*** zope module<br />
*** Twisted-10.2.0-py2.7.egg-info<br />
*** zope.interface-3.6.1-py2.7-nspkg.pth<br />
<br />
=== Other File Changes ===<br />
* SSH keys, API keys, and API tokens need to be copied over to C:\builds and C:\users\cltbld\.ssh<br />
** This should happen through the Puppet run. However, currently it is not happening in AWS. <br />
* Cltbld permissions added to:<br />
** C:\builds\crash-stats-api.token <br />
** C:\builds\google-oath-api.key<br />
* Add AWS credentials to C:\Users\cltbld\.boto<br />
* Update yasm.exe to 1.3 in C:\mozilla-build\<br />
** Rename the exe from yasm-1.3.0-win64.exe to yasm.exe<br />
** Source: http://yasm.tortall.net/Download.html<br />
<br />
== EC2 Service Userdata Scripts ==<br />
<br />
== OLD PRE 2015-11 Configuration Notes (Incomplete) ==<br />
=== Overview ===<br />
The building of the 2008 builder slave image uses both the Microsoft Deployment Workbench (MDT) and Puppet configuration software. In the case of AWS instances the Amazon EC2 service is also utilized. <br /><br />
<br />
The initial steps is building a base image in MDT. The base image is comprised of large applications that will seldom change, Microsoft SDKs, applications that may aid in deployment, and Windows Server Update Service (WSUS) components. <br /><br />
<br />
The second portion of this differs according to datacenter deployment or cloud deployment. Differences are documented below.However, in both cases the image has Puppet installed, and the image is prep to be ran against the PuppetAgain. As well a configurations that Puppet needs to run or at the time made more sense to be done through MDT.<br /><br />
<br />
General MDT documentation: https://mana.mozilla.org/wiki/display/SYSADMIN/Microsoft+Deployment+Toolkit+2012+Update+1+General+Documentation<br />
<br />
=== Windows 2008 Build Slave Configuration Managed by Microsoft Deployment Workbench Configuration ===<br />
=== Starting Operating System ===<br />
The process is begun with Windows Server 2008 R2 SP1 iso (en_windows_server_2008_r2_with_sp1_vl_build_x64_dvd_617403.iso). The iso file is mounted, in our case, using Virtual CloneDrive. Once the iso file is mounted it is then imported into the MDT. <br />
=== Base Configuration Capture (MDT Task Sequence ID SW2008_BASE_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Microsoft Visual Studio 2010<br /><br />
* This application install varies away from the typical MDT install. The files needed to be extracted from the iso and have the F# portion removed. The extracted files are then copied over local, and the installation command is ran <br />
<br />
Microsoft Visual Studio 2013 Update 3<br /><br />
* A reboot needs to occur between the installation of 2010 and 2013<br /><br />
<br />
Microsoft Windows Windows 8 SDK<br /><br />
<br />
Microsoft Windows Windows Direct X SDK<br /><br />
<br />
Microsoft Net Framework 3.5 <br /><br />
<br />
=== Configuration ===<br />
WSUS Updates<br />
* Various registry settings are needed <br />
** Refrence: https://bugzilla.mozilla.org/show_bug.cgi?id=972575<br /><br />
<br />
<br />
=== Data Center Deployment Configuration (MDT Task Sequence SW2008_DPLY_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Set Puppet Registry bits<br />
** "Type"=dword:00000010<br />
** "Start"=dword:00000003<br />
** "ErrorControl"=dword:00000001 <br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
Disable Server Manager Window "reg add HKCU\Software\Microsoft\ServerManager /t REG_DWORD /v DoNotOpenServerManagerAtLogon /d 1 /f<br />
* Because the registry setting is HKey current user it is quite difficult to implement through Puppet<br />
** Needs to be done after reboot post Puppet run<br />
<br />
<br />
=== Cloud Deploy Configuration Capture (MDT Task Sequence ID W2008_CLD_002)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
EC2 config service<br />
* Installation ""Z:\Applications\AWS EC2config service\Ec2Install.exe" /passive /norestart2config service\"<br />
<br />
Citrix PV<br />
* Copy from "Z:\Applications\Citrix-Win_PV" to "c:\Citrix-Win"<br />
* "C:\Citrix-Win\upgrade.bat" to install<br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /></div>Mcornmesserhttps://wiki.mozilla.org/index.php?title=ReleaseEngineering/worker_configuration/2008&diff=1107083ReleaseEngineering/worker configuration/20082015-11-24T19:37:55Z<p>Mcornmesser: /* Manual Configuration/Tweaks */</p>
<hr />
<div>== Overview ==<br />
As of 2015-11-24 the configuration of 2008 buildbot slaves consists of 4 parts. The initial manual build of the AWS AMI, application of the 2008 PuppetAgain catalog, manual configuration changes, and lastly the EC2 userdata scripts. <br />
<br />
Manual configuration changes will eventually be part of PuppetAgain, and as well as portion of the manual AMI creation. These were currently left out do to the priority of getting buildbot builds working in AWS over the individual automation and management pieces.<br />
<br />
== AMI Creation ==<br />
<br />
=== Starting Operating System===<br />
Due to a deep level issue affecting hg clone and hg bundle times we move away from using a custom AMI built of a Microsoft Deployment Workbench image and starting with an AWS vanilla AMI: Windows_Server-2008-R2_SP1-English-64Bit-Base-2015.09.09 (ami-31620c54).<br />
<br />
=== Installed Applications ===<br />
* Visual Studio 2010<br />
** ISO: SW_DVD5_NTRL_Visual_Studio_2010SP1_MultiLang_FPP_VL_MLF_X17-40329<br />
*** Resulting Version: 10.0.30319.1 RTMRel<br />
* Visual Studio 2013 <br />
** ISO: en_visual_studio_premium_2013_with_update_3_x86_dvd_4836351<br />
*** Resulting Version: ADD<br />
* Puppet Agent <br />
** Including a method to pull Puppet authentication certs and keys (most recently used puppetized temp vbs script)<br />
** Include a copy of the puppet.conf in C:\ProgramData\PuppetLabs\puppet\etc<br />
*** Based off of : http://hg.mozilla.org/build/puppet/file/tip/modules/puppet/templates/puppet.conf.erb<br />
** Puppet authentication and the puppet.conf file can eventually be moved into EC2 userdata scripts<br />
*** This may eventually be moved into the Userdata scripts <br />
*** Resulting Version: <br />
* Other Applications that can be moved into PuppetAgain management<br />
** Direct X SDK<br />
** Windows 8 SDK<br />
<br />
=== Other Configuration ===<br />
* Rename administrator account to Root<br />
** Can be moved into the EC2 userdata scripts pre-Puppet run<br />
* Roll back patching level to 2011-06<br />
** ADD script<br />
* Set os_version variable "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
<br />
== Puppet Configuration ===<br />
<br />
== Manual Configuration/Tweaks ==<br />
<br />
=== Mercurial Tweaks ===<br />
* File copies into C:\mozilla-build\hg <br />
** Bundleclone.py <br />
*** http://hg.mozilla.org/build/puppet/raw-file/fc396d309685/modules/mercurial/files/bundleclone.py<br />
** A newer version of the caperm.pem is needed<br />
*** Current configuration uses caperm.pem stripped from Mercurial-3.5.1<br />
* Lines added to the mercurial.ini <br />
** Under [extensions]<br />
*** bundleclone=C:\mozilla-build\hg\bundleclone.py<br />
*** share =<br />
** Under [bundleclone]<br />
*** prefers = ec2region=us-west-2, stream=revlogv1<br />
**** This line should be ultimately be managed with the EC2 userdata scripts to determine which location for specific AWS region<br />
** Under [ui]<br />
*** username = Mozilla Release Engineering <release@mozilla.com><br />
*** traceback = True<br />
** Under [hostfingerprints]<br />
*** hg.mozilla.org = af:27:b9:34:47:4e:e5:98:01:f6:83:2b:51:c9:aa:d8:df:fb:1a:27<br />
<br />
=== Runner Configuration ===<br />
* Add support for purgebuild runner task<br />
** purgebuild.py https://hg.mozilla.org/build/tools/raw-file/c210728881d4/buildfarm/maintenance/purge_builds.py<br />
*** Copy to C:\opt\runner<br />
** Add 1-purge_builds.bat to C:\opt\runner\tasks.d<br />
*** Content: "%MOZILLABUILD%\msys\bin\bash" --login -c "'%BUILDBOT_PATH%\Scripts\python' "/C/opt/runner/purge_builds.py" --not "/c/users/.cltbld/.ssh:999d" --not info --not 'rel-*:10d' --not 'tb-rel-*:10d' -s 35 /C/builds/moz2_slave<br />
<br />
=== Buildbot Tweaks ===<br />
* File copies were needed specifically to have sendchange work. Reference: https://bugzilla.mozilla.org/show_bug.cgi?id=1175701<br />
** Copy from C:\mozilla-build\buildbotve\Lib\site-packages to C:\mozilla-build\python27\Lib\site-packages:<br />
*** buildbot module <br />
*** twisted module<br />
*** zope module<br />
*** Twisted-10.2.0-py2.7.egg-info<br />
*** zope.interface-3.6.1-py2.7-nspkg.pth<br />
<br />
=== Other File Changes ===<br />
* SSH keys, API keys, and API tokens need to be copied over to C:\builds and C:\users\cltbld\.ssh<br />
** This should happen through the Puppet run. However, currently it is not happening in AWS. <br />
* Cltbld permissions added to:<br />
** C:\builds\crash-stats-api.token <br />
** C:\builds\google-oath-api.key<br />
* Add AWS credentials to C:\Users\cltbld\.boto<br />
<br />
== EC2 Service Userdata Scripts ==<br />
<br />
== OLD PRE 2015-11 Configuration Notes (Incomplete) ==<br />
=== Overview ===<br />
The building of the 2008 builder slave image uses both the Microsoft Deployment Workbench (MDT) and Puppet configuration software. In the case of AWS instances the Amazon EC2 service is also utilized. <br /><br />
<br />
The initial steps is building a base image in MDT. The base image is comprised of large applications that will seldom change, Microsoft SDKs, applications that may aid in deployment, and Windows Server Update Service (WSUS) components. <br /><br />
<br />
The second portion of this differs according to datacenter deployment or cloud deployment. Differences are documented below.However, in both cases the image has Puppet installed, and the image is prep to be ran against the PuppetAgain. As well a configurations that Puppet needs to run or at the time made more sense to be done through MDT.<br /><br />
<br />
General MDT documentation: https://mana.mozilla.org/wiki/display/SYSADMIN/Microsoft+Deployment+Toolkit+2012+Update+1+General+Documentation<br />
<br />
=== Windows 2008 Build Slave Configuration Managed by Microsoft Deployment Workbench Configuration ===<br />
=== Starting Operating System ===<br />
The process is begun with Windows Server 2008 R2 SP1 iso (en_windows_server_2008_r2_with_sp1_vl_build_x64_dvd_617403.iso). The iso file is mounted, in our case, using Virtual CloneDrive. Once the iso file is mounted it is then imported into the MDT. <br />
=== Base Configuration Capture (MDT Task Sequence ID SW2008_BASE_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Microsoft Visual Studio 2010<br /><br />
* This application install varies away from the typical MDT install. The files needed to be extracted from the iso and have the F# portion removed. The extracted files are then copied over local, and the installation command is ran <br />
<br />
Microsoft Visual Studio 2013 Update 3<br /><br />
* A reboot needs to occur between the installation of 2010 and 2013<br /><br />
<br />
Microsoft Windows Windows 8 SDK<br /><br />
<br />
Microsoft Windows Windows Direct X SDK<br /><br />
<br />
Microsoft Net Framework 3.5 <br /><br />
<br />
=== Configuration ===<br />
WSUS Updates<br />
* Various registry settings are needed <br />
** Refrence: https://bugzilla.mozilla.org/show_bug.cgi?id=972575<br /><br />
<br />
<br />
=== Data Center Deployment Configuration (MDT Task Sequence SW2008_DPLY_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Set Puppet Registry bits<br />
** "Type"=dword:00000010<br />
** "Start"=dword:00000003<br />
** "ErrorControl"=dword:00000001 <br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
Disable Server Manager Window "reg add HKCU\Software\Microsoft\ServerManager /t REG_DWORD /v DoNotOpenServerManagerAtLogon /d 1 /f<br />
* Because the registry setting is HKey current user it is quite difficult to implement through Puppet<br />
** Needs to be done after reboot post Puppet run<br />
<br />
<br />
=== Cloud Deploy Configuration Capture (MDT Task Sequence ID W2008_CLD_002)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
EC2 config service<br />
* Installation ""Z:\Applications\AWS EC2config service\Ec2Install.exe" /passive /norestart2config service\"<br />
<br />
Citrix PV<br />
* Copy from "Z:\Applications\Citrix-Win_PV" to "c:\Citrix-Win"<br />
* "C:\Citrix-Win\upgrade.bat" to install<br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /></div>Mcornmesserhttps://wiki.mozilla.org/index.php?title=ReleaseEngineering/worker_configuration/2008&diff=1107081ReleaseEngineering/worker configuration/20082015-11-24T19:30:37Z<p>Mcornmesser: /* Other Configuration */</p>
<hr />
<div>== Overview ==<br />
As of 2015-11-24 the configuration of 2008 buildbot slaves consists of 4 parts. The initial manual build of the AWS AMI, application of the 2008 PuppetAgain catalog, manual configuration changes, and lastly the EC2 userdata scripts. <br />
<br />
Manual configuration changes will eventually be part of PuppetAgain, and as well as portion of the manual AMI creation. These were currently left out do to the priority of getting buildbot builds working in AWS over the individual automation and management pieces.<br />
<br />
== AMI Creation ==<br />
<br />
=== Starting Operating System===<br />
Due to a deep level issue affecting hg clone and hg bundle times we move away from using a custom AMI built of a Microsoft Deployment Workbench image and starting with an AWS vanilla AMI: Windows_Server-2008-R2_SP1-English-64Bit-Base-2015.09.09 (ami-31620c54).<br />
<br />
=== Installed Applications ===<br />
* Visual Studio 2010<br />
** ISO: SW_DVD5_NTRL_Visual_Studio_2010SP1_MultiLang_FPP_VL_MLF_X17-40329<br />
*** Resulting Version: 10.0.30319.1 RTMRel<br />
* Visual Studio 2013 <br />
** ISO: en_visual_studio_premium_2013_with_update_3_x86_dvd_4836351<br />
*** Resulting Version: ADD<br />
* Puppet Agent <br />
** Including a method to pull Puppet authentication certs and keys (most recently used puppetized temp vbs script)<br />
** Include a copy of the puppet.conf in C:\ProgramData\PuppetLabs\puppet\etc<br />
*** Based off of : http://hg.mozilla.org/build/puppet/file/tip/modules/puppet/templates/puppet.conf.erb<br />
** Puppet authentication and the puppet.conf file can eventually be moved into EC2 userdata scripts<br />
*** This may eventually be moved into the Userdata scripts <br />
*** Resulting Version: <br />
* Other Applications that can be moved into PuppetAgain management<br />
** Direct X SDK<br />
** Windows 8 SDK<br />
<br />
=== Other Configuration ===<br />
* Rename administrator account to Root<br />
** Can be moved into the EC2 userdata scripts pre-Puppet run<br />
* Roll back patching level to 2011-06<br />
** ADD script<br />
* Set os_version variable "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
<br />
== Puppet Configuration ===<br />
<br />
== Manual Configuration/Tweaks ==<br />
<br />
=== Mercurial Tweaks ===<br />
* File copies into C:\mozilla-build\hg <br />
** Bundleclone.py <br />
*** http://hg.mozilla.org/build/puppet/raw-file/fc396d309685/modules/mercurial/files/bundleclone.py<br />
** A newer version of the caperm.pem is needed<br />
*** Current configuration uses caperm.pem stripped from Mercurial-3.5.1<br />
* Lines added to the mercurial.ini <br />
** Under [extensions]<br />
*** bundleclone=C:\mozilla-build\hg\bundleclone.py<br />
*** share =<br />
** Under [bundleclone]<br />
*** prefers = ec2region=us-west-2, stream=revlogv1<br />
**** This line should be ultimately be managed with the EC2 userdata scripts to determine which location for specific AWS region<br />
** Under [ui]<br />
*** username = Mozilla Release Engineering <release@mozilla.com><br />
*** traceback = True<br />
** Under [hostfingerprints]<br />
*** hg.mozilla.org = af:27:b9:34:47:4e:e5:98:01:f6:83:2b:51:c9:aa:d8:df:fb:1a:27<br />
<br />
=== Runner Configuration ===<br />
* Add support for purgebuild runner task<br />
** purgebuild.py https://hg.mozilla.org/build/tools/raw-file/c210728881d4/buildfarm/maintenance/purge_builds.py<br />
*** Copy to C:\opt\runner<br />
** Add 1-purge_builds.bat to C:\opt\runner\tasks.d<br />
*** Content: "%MOZILLABUILD%\msys\bin\bash" --login -c "'%BUILDBOT_PATH%\Scripts\python' "/C/opt/runner/purge_builds.py" --not "/c/users/.cltbld/.ssh:999d" --not info --not 'rel-*:10d' --not 'tb-rel-*:10d' -s 35 /C/builds/moz2_slave<br />
<br />
=== Buildbot Tweaks ===<br />
* File copies were needed specifically to have sendchange work. Reference: https://bugzilla.mozilla.org/show_bug.cgi?id=1175701<br />
** Copy from C:\mozilla-build\buildbotve\Lib\site-packages to C:\mozilla-build\python27\Lib\site-packages:<br />
*** buildbot module <br />
*** twisted module<br />
*** zope module<br />
*** Twisted-10.2.0-py2.7.egg-info<br />
*** zope.interface-3.6.1-py2.7-nspkg.pth<br />
<br />
== EC2 Service Userdata Scripts ==<br />
<br />
== OLD PRE 2015-11 Configuration Notes (Incomplete) ==<br />
=== Overview ===<br />
The building of the 2008 builder slave image uses both the Microsoft Deployment Workbench (MDT) and Puppet configuration software. In the case of AWS instances the Amazon EC2 service is also utilized. <br /><br />
<br />
The initial steps is building a base image in MDT. The base image is comprised of large applications that will seldom change, Microsoft SDKs, applications that may aid in deployment, and Windows Server Update Service (WSUS) components. <br /><br />
<br />
The second portion of this differs according to datacenter deployment or cloud deployment. Differences are documented below.However, in both cases the image has Puppet installed, and the image is prep to be ran against the PuppetAgain. As well a configurations that Puppet needs to run or at the time made more sense to be done through MDT.<br /><br />
<br />
General MDT documentation: https://mana.mozilla.org/wiki/display/SYSADMIN/Microsoft+Deployment+Toolkit+2012+Update+1+General+Documentation<br />
<br />
=== Windows 2008 Build Slave Configuration Managed by Microsoft Deployment Workbench Configuration ===<br />
=== Starting Operating System ===<br />
The process is begun with Windows Server 2008 R2 SP1 iso (en_windows_server_2008_r2_with_sp1_vl_build_x64_dvd_617403.iso). The iso file is mounted, in our case, using Virtual CloneDrive. Once the iso file is mounted it is then imported into the MDT. <br />
=== Base Configuration Capture (MDT Task Sequence ID SW2008_BASE_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Microsoft Visual Studio 2010<br /><br />
* This application install varies away from the typical MDT install. The files needed to be extracted from the iso and have the F# portion removed. The extracted files are then copied over local, and the installation command is ran <br />
<br />
Microsoft Visual Studio 2013 Update 3<br /><br />
* A reboot needs to occur between the installation of 2010 and 2013<br /><br />
<br />
Microsoft Windows Windows 8 SDK<br /><br />
<br />
Microsoft Windows Windows Direct X SDK<br /><br />
<br />
Microsoft Net Framework 3.5 <br /><br />
<br />
=== Configuration ===<br />
WSUS Updates<br />
* Various registry settings are needed <br />
** Refrence: https://bugzilla.mozilla.org/show_bug.cgi?id=972575<br /><br />
<br />
<br />
=== Data Center Deployment Configuration (MDT Task Sequence SW2008_DPLY_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Set Puppet Registry bits<br />
** "Type"=dword:00000010<br />
** "Start"=dword:00000003<br />
** "ErrorControl"=dword:00000001 <br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
Disable Server Manager Window "reg add HKCU\Software\Microsoft\ServerManager /t REG_DWORD /v DoNotOpenServerManagerAtLogon /d 1 /f<br />
* Because the registry setting is HKey current user it is quite difficult to implement through Puppet<br />
** Needs to be done after reboot post Puppet run<br />
<br />
<br />
=== Cloud Deploy Configuration Capture (MDT Task Sequence ID W2008_CLD_002)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
EC2 config service<br />
* Installation ""Z:\Applications\AWS EC2config service\Ec2Install.exe" /passive /norestart2config service\"<br />
<br />
Citrix PV<br />
* Copy from "Z:\Applications\Citrix-Win_PV" to "c:\Citrix-Win"<br />
* "C:\Citrix-Win\upgrade.bat" to install<br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /></div>Mcornmesserhttps://wiki.mozilla.org/index.php?title=ReleaseEngineering/worker_configuration/2008&diff=1107080ReleaseEngineering/worker configuration/20082015-11-24T19:29:26Z<p>Mcornmesser: /* Manual Configuration/Tweaks */</p>
<hr />
<div>== Overview ==<br />
As of 2015-11-24 the configuration of 2008 buildbot slaves consists of 4 parts. The initial manual build of the AWS AMI, application of the 2008 PuppetAgain catalog, manual configuration changes, and lastly the EC2 userdata scripts. <br />
<br />
Manual configuration changes will eventually be part of PuppetAgain, and as well as portion of the manual AMI creation. These were currently left out do to the priority of getting buildbot builds working in AWS over the individual automation and management pieces.<br />
<br />
== AMI Creation ==<br />
<br />
=== Starting Operating System===<br />
Due to a deep level issue affecting hg clone and hg bundle times we move away from using a custom AMI built of a Microsoft Deployment Workbench image and starting with an AWS vanilla AMI: Windows_Server-2008-R2_SP1-English-64Bit-Base-2015.09.09 (ami-31620c54).<br />
<br />
=== Installed Applications ===<br />
* Visual Studio 2010<br />
** ISO: SW_DVD5_NTRL_Visual_Studio_2010SP1_MultiLang_FPP_VL_MLF_X17-40329<br />
*** Resulting Version: 10.0.30319.1 RTMRel<br />
* Visual Studio 2013 <br />
** ISO: en_visual_studio_premium_2013_with_update_3_x86_dvd_4836351<br />
*** Resulting Version: ADD<br />
* Puppet Agent <br />
** Including a method to pull Puppet authentication certs and keys (most recently used puppetized temp vbs script)<br />
** Include a copy of the puppet.conf in C:\ProgramData\PuppetLabs\puppet\etc<br />
*** Based off of : http://hg.mozilla.org/build/puppet/file/tip/modules/puppet/templates/puppet.conf.erb<br />
** Puppet authentication and the puppet.conf file can eventually be moved into EC2 userdata scripts<br />
*** This may eventually be moved into the Userdata scripts <br />
*** Resulting Version: <br />
* Other Applications that can be moved into PuppetAgain management<br />
** Direct X SDK<br />
** Windows 8 SDK<br />
<br />
=== Other Configuration ===<br />
* Rename administrator account to Root<br />
** Can be moved into the EC2 userdata scripts pre-Puppet run<br />
* Roll back patching level to 2011-06<br />
** ADD script<br />
* Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
<br />
== Puppet Configuration ===<br />
<br />
== Manual Configuration/Tweaks ==<br />
<br />
=== Mercurial Tweaks ===<br />
* File copies into C:\mozilla-build\hg <br />
** Bundleclone.py <br />
*** http://hg.mozilla.org/build/puppet/raw-file/fc396d309685/modules/mercurial/files/bundleclone.py<br />
** A newer version of the caperm.pem is needed<br />
*** Current configuration uses caperm.pem stripped from Mercurial-3.5.1<br />
* Lines added to the mercurial.ini <br />
** Under [extensions]<br />
*** bundleclone=C:\mozilla-build\hg\bundleclone.py<br />
*** share =<br />
** Under [bundleclone]<br />
*** prefers = ec2region=us-west-2, stream=revlogv1<br />
**** This line should be ultimately be managed with the EC2 userdata scripts to determine which location for specific AWS region<br />
** Under [ui]<br />
*** username = Mozilla Release Engineering <release@mozilla.com><br />
*** traceback = True<br />
** Under [hostfingerprints]<br />
*** hg.mozilla.org = af:27:b9:34:47:4e:e5:98:01:f6:83:2b:51:c9:aa:d8:df:fb:1a:27<br />
<br />
=== Runner Configuration ===<br />
* Add support for purgebuild runner task<br />
** purgebuild.py https://hg.mozilla.org/build/tools/raw-file/c210728881d4/buildfarm/maintenance/purge_builds.py<br />
*** Copy to C:\opt\runner<br />
** Add 1-purge_builds.bat to C:\opt\runner\tasks.d<br />
*** Content: "%MOZILLABUILD%\msys\bin\bash" --login -c "'%BUILDBOT_PATH%\Scripts\python' "/C/opt/runner/purge_builds.py" --not "/c/users/.cltbld/.ssh:999d" --not info --not 'rel-*:10d' --not 'tb-rel-*:10d' -s 35 /C/builds/moz2_slave<br />
<br />
=== Buildbot Tweaks ===<br />
* File copies were needed specifically to have sendchange work. Reference: https://bugzilla.mozilla.org/show_bug.cgi?id=1175701<br />
** Copy from C:\mozilla-build\buildbotve\Lib\site-packages to C:\mozilla-build\python27\Lib\site-packages:<br />
*** buildbot module <br />
*** twisted module<br />
*** zope module<br />
*** Twisted-10.2.0-py2.7.egg-info<br />
*** zope.interface-3.6.1-py2.7-nspkg.pth<br />
<br />
== EC2 Service Userdata Scripts ==<br />
<br />
== OLD PRE 2015-11 Configuration Notes (Incomplete) ==<br />
=== Overview ===<br />
The building of the 2008 builder slave image uses both the Microsoft Deployment Workbench (MDT) and Puppet configuration software. In the case of AWS instances the Amazon EC2 service is also utilized. <br /><br />
<br />
The initial steps is building a base image in MDT. The base image is comprised of large applications that will seldom change, Microsoft SDKs, applications that may aid in deployment, and Windows Server Update Service (WSUS) components. <br /><br />
<br />
The second portion of this differs according to datacenter deployment or cloud deployment. Differences are documented below.However, in both cases the image has Puppet installed, and the image is prep to be ran against the PuppetAgain. As well a configurations that Puppet needs to run or at the time made more sense to be done through MDT.<br /><br />
<br />
General MDT documentation: https://mana.mozilla.org/wiki/display/SYSADMIN/Microsoft+Deployment+Toolkit+2012+Update+1+General+Documentation<br />
<br />
=== Windows 2008 Build Slave Configuration Managed by Microsoft Deployment Workbench Configuration ===<br />
=== Starting Operating System ===<br />
The process is begun with Windows Server 2008 R2 SP1 iso (en_windows_server_2008_r2_with_sp1_vl_build_x64_dvd_617403.iso). The iso file is mounted, in our case, using Virtual CloneDrive. Once the iso file is mounted it is then imported into the MDT. <br />
=== Base Configuration Capture (MDT Task Sequence ID SW2008_BASE_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Microsoft Visual Studio 2010<br /><br />
* This application install varies away from the typical MDT install. The files needed to be extracted from the iso and have the F# portion removed. The extracted files are then copied over local, and the installation command is ran <br />
<br />
Microsoft Visual Studio 2013 Update 3<br /><br />
* A reboot needs to occur between the installation of 2010 and 2013<br /><br />
<br />
Microsoft Windows Windows 8 SDK<br /><br />
<br />
Microsoft Windows Windows Direct X SDK<br /><br />
<br />
Microsoft Net Framework 3.5 <br /><br />
<br />
=== Configuration ===<br />
WSUS Updates<br />
* Various registry settings are needed <br />
** Refrence: https://bugzilla.mozilla.org/show_bug.cgi?id=972575<br /><br />
<br />
<br />
=== Data Center Deployment Configuration (MDT Task Sequence SW2008_DPLY_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Set Puppet Registry bits<br />
** "Type"=dword:00000010<br />
** "Start"=dword:00000003<br />
** "ErrorControl"=dword:00000001 <br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
Disable Server Manager Window "reg add HKCU\Software\Microsoft\ServerManager /t REG_DWORD /v DoNotOpenServerManagerAtLogon /d 1 /f<br />
* Because the registry setting is HKey current user it is quite difficult to implement through Puppet<br />
** Needs to be done after reboot post Puppet run<br />
<br />
<br />
=== Cloud Deploy Configuration Capture (MDT Task Sequence ID W2008_CLD_002)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
EC2 config service<br />
* Installation ""Z:\Applications\AWS EC2config service\Ec2Install.exe" /passive /norestart2config service\"<br />
<br />
Citrix PV<br />
* Copy from "Z:\Applications\Citrix-Win_PV" to "c:\Citrix-Win"<br />
* "C:\Citrix-Win\upgrade.bat" to install<br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /></div>Mcornmesserhttps://wiki.mozilla.org/index.php?title=ReleaseEngineering/worker_configuration/2008&diff=1107074ReleaseEngineering/worker configuration/20082015-11-24T19:16:29Z<p>Mcornmesser: /* Manual Configuration/Tweaks */</p>
<hr />
<div>== Overview ==<br />
As of 2015-11-24 the configuration of 2008 buildbot slaves consists of 4 parts. The initial manual build of the AWS AMI, application of the 2008 PuppetAgain catalog, manual configuration changes, and lastly the EC2 userdata scripts. <br />
<br />
Manual configuration changes will eventually be part of PuppetAgain, and as well as portion of the manual AMI creation. These were currently left out do to the priority of getting buildbot builds working in AWS over the individual automation and management pieces.<br />
<br />
== AMI Creation ==<br />
<br />
=== Starting Operating System===<br />
Due to a deep level issue affecting hg clone and hg bundle times we move away from using a custom AMI built of a Microsoft Deployment Workbench image and starting with an AWS vanilla AMI: Windows_Server-2008-R2_SP1-English-64Bit-Base-2015.09.09 (ami-31620c54).<br />
<br />
=== Installed Applications ===<br />
* Visual Studio 2010<br />
** ISO: SW_DVD5_NTRL_Visual_Studio_2010SP1_MultiLang_FPP_VL_MLF_X17-40329<br />
*** Resulting Version: 10.0.30319.1 RTMRel<br />
* Visual Studio 2013 <br />
** ISO: en_visual_studio_premium_2013_with_update_3_x86_dvd_4836351<br />
*** Resulting Version: ADD<br />
* Puppet Agent <br />
** Including a method to pull Puppet authentication certs and keys (most recently used puppetized temp vbs script)<br />
** Include a copy of the puppet.conf in C:\ProgramData\PuppetLabs\puppet\etc<br />
*** Based off of : http://hg.mozilla.org/build/puppet/file/tip/modules/puppet/templates/puppet.conf.erb<br />
** Puppet authentication and the puppet.conf file can eventually be moved into EC2 userdata scripts<br />
*** This may eventually be moved into the Userdata scripts <br />
*** Resulting Version: <br />
* Other Applications that can be moved into PuppetAgain management<br />
** Direct X SDK<br />
** Windows 8 SDK<br />
<br />
=== Other Configuration ===<br />
* Rename administrator account to Root<br />
** Can be moved into the EC2 userdata scripts pre-Puppet run<br />
* Roll back patching level to 2011-06<br />
** ADD script<br />
* Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
<br />
== Puppet Configuration ===<br />
<br />
== Manual Configuration/Tweaks ==<br />
<br />
=== Mercurial Tweaks ===<br />
* File copies into C:\mozilla-build\hg <br />
** Bundleclone.py <br />
*** http://hg.mozilla.org/build/puppet/raw-file/fc396d309685/modules/mercurial/files/bundleclone.py<br />
** A newer version of the caperm.pem is needed<br />
*** Current configuration uses caperm.pem stripped from Mercurial-3.5.1<br />
* Lines added to the mercurial.ini <br />
** Under [extensions]<br />
*** bundleclone=C:\mozilla-build\hg\bundleclone.py<br />
*** share =<br />
** Under [bundleclone]<br />
*** prefers = ec2region=us-west-2, stream=revlogv1<br />
**** This line should be ultimately be managed with the EC2 userdata scripts to determine which location for specific AWS region<br />
** Under [ui]<br />
*** username = Mozilla Release Engineering <release@mozilla.com><br />
*** traceback = True<br />
** Under [hostfingerprints]<br />
*** hg.mozilla.org = af:27:b9:34:47:4e:e5:98:01:f6:83:2b:51:c9:aa:d8:df:fb:1a:27<br />
<br />
=== Runner Configuration ===<br />
* Add support for purgebuild runner task<br />
** purgebuild.py https://hg.mozilla.org/build/tools/raw-file/c210728881d4/buildfarm/maintenance/purge_builds.py<br />
*** Copy to C:\opt\runner<br />
** Add 1-purge_builds.bat to C:\opt\runner\tasks.d<br />
*** Content: "%MOZILLABUILD%\msys\bin\bash" --login -c "'%BUILDBOT_PATH%\Scripts\python' "/C/opt/runner/purge_builds.py" --not "/c/users/.cltbld/.ssh:999d" --not info --not 'rel-*:10d' --not 'tb-rel-*:10d' -s 35 /C/builds/moz2_slave<br />
<br />
== EC2 Service Userdata Scripts ==<br />
<br />
== OLD PRE 2015-11 Configuration Notes (Incomplete) ==<br />
=== Overview ===<br />
The building of the 2008 builder slave image uses both the Microsoft Deployment Workbench (MDT) and Puppet configuration software. In the case of AWS instances the Amazon EC2 service is also utilized. <br /><br />
<br />
The initial steps is building a base image in MDT. The base image is comprised of large applications that will seldom change, Microsoft SDKs, applications that may aid in deployment, and Windows Server Update Service (WSUS) components. <br /><br />
<br />
The second portion of this differs according to datacenter deployment or cloud deployment. Differences are documented below.However, in both cases the image has Puppet installed, and the image is prep to be ran against the PuppetAgain. As well a configurations that Puppet needs to run or at the time made more sense to be done through MDT.<br /><br />
<br />
General MDT documentation: https://mana.mozilla.org/wiki/display/SYSADMIN/Microsoft+Deployment+Toolkit+2012+Update+1+General+Documentation<br />
<br />
=== Windows 2008 Build Slave Configuration Managed by Microsoft Deployment Workbench Configuration ===<br />
=== Starting Operating System ===<br />
The process is begun with Windows Server 2008 R2 SP1 iso (en_windows_server_2008_r2_with_sp1_vl_build_x64_dvd_617403.iso). The iso file is mounted, in our case, using Virtual CloneDrive. Once the iso file is mounted it is then imported into the MDT. <br />
=== Base Configuration Capture (MDT Task Sequence ID SW2008_BASE_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Microsoft Visual Studio 2010<br /><br />
* This application install varies away from the typical MDT install. The files needed to be extracted from the iso and have the F# portion removed. The extracted files are then copied over local, and the installation command is ran <br />
<br />
Microsoft Visual Studio 2013 Update 3<br /><br />
* A reboot needs to occur between the installation of 2010 and 2013<br /><br />
<br />
Microsoft Windows Windows 8 SDK<br /><br />
<br />
Microsoft Windows Windows Direct X SDK<br /><br />
<br />
Microsoft Net Framework 3.5 <br /><br />
<br />
=== Configuration ===<br />
WSUS Updates<br />
* Various registry settings are needed <br />
** Refrence: https://bugzilla.mozilla.org/show_bug.cgi?id=972575<br /><br />
<br />
<br />
=== Data Center Deployment Configuration (MDT Task Sequence SW2008_DPLY_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Set Puppet Registry bits<br />
** "Type"=dword:00000010<br />
** "Start"=dword:00000003<br />
** "ErrorControl"=dword:00000001 <br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
Disable Server Manager Window "reg add HKCU\Software\Microsoft\ServerManager /t REG_DWORD /v DoNotOpenServerManagerAtLogon /d 1 /f<br />
* Because the registry setting is HKey current user it is quite difficult to implement through Puppet<br />
** Needs to be done after reboot post Puppet run<br />
<br />
<br />
=== Cloud Deploy Configuration Capture (MDT Task Sequence ID W2008_CLD_002)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
EC2 config service<br />
* Installation ""Z:\Applications\AWS EC2config service\Ec2Install.exe" /passive /norestart2config service\"<br />
<br />
Citrix PV<br />
* Copy from "Z:\Applications\Citrix-Win_PV" to "c:\Citrix-Win"<br />
* "C:\Citrix-Win\upgrade.bat" to install<br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /></div>Mcornmesserhttps://wiki.mozilla.org/index.php?title=ReleaseEngineering/worker_configuration/2008&diff=1107072ReleaseEngineering/worker configuration/20082015-11-24T19:07:16Z<p>Mcornmesser: Incremental save</p>
<hr />
<div>== Overview ==<br />
As of 2015-11-24 the configuration of 2008 buildbot slaves consists of 4 parts. The initial manual build of the AWS AMI, application of the 2008 PuppetAgain catalog, manual configuration changes, and lastly the EC2 userdata scripts. <br />
<br />
Manual configuration changes will eventually be part of PuppetAgain, and as well as portion of the manual AMI creation. These were currently left out do to the priority of getting buildbot builds working in AWS over the individual automation and management pieces.<br />
<br />
== AMI Creation ==<br />
<br />
=== Starting Operating System===<br />
Due to a deep level issue affecting hg clone and hg bundle times we move away from using a custom AMI built of a Microsoft Deployment Workbench image and starting with an AWS vanilla AMI: Windows_Server-2008-R2_SP1-English-64Bit-Base-2015.09.09 (ami-31620c54).<br />
<br />
=== Installed Applications ===<br />
* Visual Studio 2010<br />
** ISO: SW_DVD5_NTRL_Visual_Studio_2010SP1_MultiLang_FPP_VL_MLF_X17-40329<br />
*** Resulting Version: 10.0.30319.1 RTMRel<br />
* Visual Studio 2013 <br />
** ISO: en_visual_studio_premium_2013_with_update_3_x86_dvd_4836351<br />
*** Resulting Version: ADD<br />
* Puppet Agent <br />
** Including a method to pull Puppet authentication certs and keys (most recently used puppetized temp vbs script)<br />
** Include a copy of the puppet.conf in C:\ProgramData\PuppetLabs\puppet\etc<br />
*** Based off of : http://hg.mozilla.org/build/puppet/file/tip/modules/puppet/templates/puppet.conf.erb<br />
** Puppet authentication and the puppet.conf file can eventually be moved into EC2 userdata scripts<br />
*** This may eventually be moved into the Userdata scripts <br />
*** Resulting Version: <br />
* Other Applications that can be moved into PuppetAgain management<br />
** Direct X SDK<br />
** Windows 8 SDK<br />
<br />
=== Other Configuration ===<br />
* Rename administrator account to Root<br />
** Can be moved into the EC2 userdata scripts pre-Puppet run<br />
* Roll back patching level to 2011-06<br />
** ADD script<br />
* Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
<br />
== Puppet Configuration ===<br />
<br />
== Manual Configuration/Tweaks ==<br />
<br />
=== Mercurial Tweaks ===<br />
* File copies into C:\mozilla-build\hg <br />
** Bundleclone.py <br />
*** http://hg.mozilla.org/build/puppet/raw-file/fc396d309685/modules/mercurial/files/bundleclone.py<br />
** A newer version of the caperm.pem is needed<br />
*** Current configuration uses caperm.pem stripped from Mercurial-3.5.1<br />
* Lines added to the mercurial.ini <br />
** Under [extensions]<br />
*** bundleclone=C:\mozilla-build\hg\bundleclone.py<br />
*** share =<br />
** Under [bundleclone]<br />
*** prefers = ec2region=us-west-2, stream=revlogv1<br />
**** This line should be ultimately be managed with the EC2 userdata scripts to determine which location for specific AWS region<br />
** Under [ui]<br />
*** username = Mozilla Release Engineering <release@mozilla.com><br />
*** traceback = True<br />
** Under [hostfingerprints]<br />
*** hg.mozilla.org = af:27:b9:34:47:4e:e5:98:01:f6:83:2b:51:c9:aa:d8:df:fb:1a:27<br />
<br />
=== Runner Configuration ===<br />
<br />
== EC2 Service Userdata Scripts ==<br />
<br />
== OLD PRE 2015-11 Configuration Notes (Incomplete) ==<br />
=== Overview ===<br />
The building of the 2008 builder slave image uses both the Microsoft Deployment Workbench (MDT) and Puppet configuration software. In the case of AWS instances the Amazon EC2 service is also utilized. <br /><br />
<br />
The initial steps is building a base image in MDT. The base image is comprised of large applications that will seldom change, Microsoft SDKs, applications that may aid in deployment, and Windows Server Update Service (WSUS) components. <br /><br />
<br />
The second portion of this differs according to datacenter deployment or cloud deployment. Differences are documented below.However, in both cases the image has Puppet installed, and the image is prep to be ran against the PuppetAgain. As well a configurations that Puppet needs to run or at the time made more sense to be done through MDT.<br /><br />
<br />
General MDT documentation: https://mana.mozilla.org/wiki/display/SYSADMIN/Microsoft+Deployment+Toolkit+2012+Update+1+General+Documentation<br />
<br />
=== Windows 2008 Build Slave Configuration Managed by Microsoft Deployment Workbench Configuration ===<br />
=== Starting Operating System ===<br />
The process is begun with Windows Server 2008 R2 SP1 iso (en_windows_server_2008_r2_with_sp1_vl_build_x64_dvd_617403.iso). The iso file is mounted, in our case, using Virtual CloneDrive. Once the iso file is mounted it is then imported into the MDT. <br />
=== Base Configuration Capture (MDT Task Sequence ID SW2008_BASE_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Microsoft Visual Studio 2010<br /><br />
* This application install varies away from the typical MDT install. The files needed to be extracted from the iso and have the F# portion removed. The extracted files are then copied over local, and the installation command is ran <br />
<br />
Microsoft Visual Studio 2013 Update 3<br /><br />
* A reboot needs to occur between the installation of 2010 and 2013<br /><br />
<br />
Microsoft Windows Windows 8 SDK<br /><br />
<br />
Microsoft Windows Windows Direct X SDK<br /><br />
<br />
Microsoft Net Framework 3.5 <br /><br />
<br />
=== Configuration ===<br />
WSUS Updates<br />
* Various registry settings are needed <br />
** Refrence: https://bugzilla.mozilla.org/show_bug.cgi?id=972575<br /><br />
<br />
<br />
=== Data Center Deployment Configuration (MDT Task Sequence SW2008_DPLY_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Set Puppet Registry bits<br />
** "Type"=dword:00000010<br />
** "Start"=dword:00000003<br />
** "ErrorControl"=dword:00000001 <br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
Disable Server Manager Window "reg add HKCU\Software\Microsoft\ServerManager /t REG_DWORD /v DoNotOpenServerManagerAtLogon /d 1 /f<br />
* Because the registry setting is HKey current user it is quite difficult to implement through Puppet<br />
** Needs to be done after reboot post Puppet run<br />
<br />
<br />
=== Cloud Deploy Configuration Capture (MDT Task Sequence ID W2008_CLD_002)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
EC2 config service<br />
* Installation ""Z:\Applications\AWS EC2config service\Ec2Install.exe" /passive /norestart2config service\"<br />
<br />
Citrix PV<br />
* Copy from "Z:\Applications\Citrix-Win_PV" to "c:\Citrix-Win"<br />
* "C:\Citrix-Win\upgrade.bat" to install<br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /></div>Mcornmesserhttps://wiki.mozilla.org/index.php?title=ReleaseEngineering/worker_configuration/2008&diff=1107070ReleaseEngineering/worker configuration/20082015-11-24T19:05:00Z<p>Mcornmesser: /* Manual Configuration/Tweaks */</p>
<hr />
<div>== Overview ==<br />
As of 2015-11-24 the configuration of 2008 buildbot slaves consists of 4 parts. The initial manual build of the AWS AMI, application of the 2008 PuppetAgain catalog, manual configuration changes, and lastly the EC2 userdata scripts. <br />
<br />
Manual configuration changes will eventually be part of PuppetAgain, and as well as portion of the manual AMI creation. These were currently left out do to the priority of getting buildbot builds working in AWS over the individual automation and management pieces.<br />
<br />
== AMI Creation ==<br />
<br />
=== Starting Operating System===<br />
Due to a deep level issue affecting hg clone and hg bundle times we move away from using a custom AMI built of a Microsoft Deployment Workbench image and starting with an AWS vanilla AMI: Windows_Server-2008-R2_SP1-English-64Bit-Base-2015.09.09 (ami-31620c54).<br />
<br />
=== Installed Applications ===<br />
* Visual Studio 2010<br />
** ISO: SW_DVD5_NTRL_Visual_Studio_2010SP1_MultiLang_FPP_VL_MLF_X17-40329<br />
*** Resulting Version: 10.0.30319.1 RTMRel<br />
* Visual Studio 2013 <br />
** ISO: en_visual_studio_premium_2013_with_update_3_x86_dvd_4836351<br />
* Puppet Agent <br />
** Including a method to pull Puppet authentication certs and keys (most recently used puppetized temp vbs script)<br />
** Include a copy of the puppet.conf in C:\ProgramData\PuppetLabs\puppet\etc<br />
*** Based off of : http://hg.mozilla.org/build/puppet/file/tip/modules/puppet/templates/puppet.conf.erb<br />
** Puppet authentication and the puppet.conf file can eventually be moved into EC2 userdata scripts<br />
*** This may eventually be moved into the Userdata scripts <br />
*** Resulting Version: <br />
* Other Applications that can be moved into PuppetAgain management<br />
** Direct X SDK<br />
** Windows 8 SDK<br />
<br />
=== Other Configuration ===<br />
* Rename administrator account to Root<br />
** Can be moved into the EC2 userdata scripts pre-Puppet run<br />
* Roll back patching level to 2011-06<br />
<br />
== Puppet Configuration ===<br />
<br />
== Manual Configuration/Tweaks ==<br />
<br />
=== Mercurial Tweaks ===<br />
* File copies into C:\mozilla-build\hg <br />
** Bundleclone.py <br />
*** http://hg.mozilla.org/build/puppet/raw-file/fc396d309685/modules/mercurial/files/bundleclone.py<br />
** A newer version of the caperm.pem is needed<br />
*** Current configuration uses caperm.pem stripped from Mercurial-3.5.1<br />
* Lines added to the mercurial.ini <br />
** Under [extensions]<br />
*** bundleclone=C:\mozilla-build\hg\bundleclone.py<br />
*** share =<br />
** Under [bundleclone]<br />
*** prefers = ec2region=us-west-2, stream=revlogv1<br />
**** This line should be ultimately be managed with the EC2 userdata scripts to determine which location for specific AWS region<br />
** Under [ui]<br />
*** username = Mozilla Release Engineering <release@mozilla.com><br />
*** traceback = True<br />
** Under [hostfingerprints]<br />
*** hg.mozilla.org = af:27:b9:34:47:4e:e5:98:01:f6:83:2b:51:c9:aa:d8:df:fb:1a:27<br />
<br />
=== Runner Configuration ===<br />
<br />
== EC2 Service Userdata Scripts ==<br />
<br />
== OLD PRE 2015-11 Configuration Notes (Incomplete) ==<br />
=== Overview ===<br />
The building of the 2008 builder slave image uses both the Microsoft Deployment Workbench (MDT) and Puppet configuration software. In the case of AWS instances the Amazon EC2 service is also utilized. <br /><br />
<br />
The initial steps is building a base image in MDT. The base image is comprised of large applications that will seldom change, Microsoft SDKs, applications that may aid in deployment, and Windows Server Update Service (WSUS) components. <br /><br />
<br />
The second portion of this differs according to datacenter deployment or cloud deployment. Differences are documented below.However, in both cases the image has Puppet installed, and the image is prep to be ran against the PuppetAgain. As well a configurations that Puppet needs to run or at the time made more sense to be done through MDT.<br /><br />
<br />
General MDT documentation: https://mana.mozilla.org/wiki/display/SYSADMIN/Microsoft+Deployment+Toolkit+2012+Update+1+General+Documentation<br />
<br />
=== Windows 2008 Build Slave Configuration Managed by Microsoft Deployment Workbench Configuration ===<br />
=== Starting Operating System ===<br />
The process is begun with Windows Server 2008 R2 SP1 iso (en_windows_server_2008_r2_with_sp1_vl_build_x64_dvd_617403.iso). The iso file is mounted, in our case, using Virtual CloneDrive. Once the iso file is mounted it is then imported into the MDT. <br />
=== Base Configuration Capture (MDT Task Sequence ID SW2008_BASE_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Microsoft Visual Studio 2010<br /><br />
* This application install varies away from the typical MDT install. The files needed to be extracted from the iso and have the F# portion removed. The extracted files are then copied over local, and the installation command is ran <br />
<br />
Microsoft Visual Studio 2013 Update 3<br /><br />
* A reboot needs to occur between the installation of 2010 and 2013<br /><br />
<br />
Microsoft Windows Windows 8 SDK<br /><br />
<br />
Microsoft Windows Windows Direct X SDK<br /><br />
<br />
Microsoft Net Framework 3.5 <br /><br />
<br />
=== Configuration ===<br />
WSUS Updates<br />
* Various registry settings are needed <br />
** Refrence: https://bugzilla.mozilla.org/show_bug.cgi?id=972575<br /><br />
<br />
<br />
=== Data Center Deployment Configuration (MDT Task Sequence SW2008_DPLY_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Set Puppet Registry bits<br />
** "Type"=dword:00000010<br />
** "Start"=dword:00000003<br />
** "ErrorControl"=dword:00000001 <br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
Disable Server Manager Window "reg add HKCU\Software\Microsoft\ServerManager /t REG_DWORD /v DoNotOpenServerManagerAtLogon /d 1 /f<br />
* Because the registry setting is HKey current user it is quite difficult to implement through Puppet<br />
** Needs to be done after reboot post Puppet run<br />
<br />
<br />
=== Cloud Deploy Configuration Capture (MDT Task Sequence ID W2008_CLD_002)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
EC2 config service<br />
* Installation ""Z:\Applications\AWS EC2config service\Ec2Install.exe" /passive /norestart2config service\"<br />
<br />
Citrix PV<br />
* Copy from "Z:\Applications\Citrix-Win_PV" to "c:\Citrix-Win"<br />
* "C:\Citrix-Win\upgrade.bat" to install<br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
<br />
=== Windows 2008 Build Slave Configuration Managed by Puppet ===<br />
=== User Account Configuration ===<br />
=== Operating System Configuration ===<br />
=== Firewall Configuration ===<br />
=== Network Configuration ===<br />
=== Application Installs ===<br />
=== Buildbot and Runner Configuration ===</div>Mcornmesserhttps://wiki.mozilla.org/index.php?title=ReleaseEngineering/worker_configuration/2008&diff=1107069ReleaseEngineering/worker configuration/20082015-11-24T19:02:43Z<p>Mcornmesser: /* Manual Configuration/Tweaks */</p>
<hr />
<div>== Overview ==<br />
As of 2015-11-24 the configuration of 2008 buildbot slaves consists of 4 parts. The initial manual build of the AWS AMI, application of the 2008 PuppetAgain catalog, manual configuration changes, and lastly the EC2 userdata scripts. <br />
<br />
Manual configuration changes will eventually be part of PuppetAgain, and as well as portion of the manual AMI creation. These were currently left out do to the priority of getting buildbot builds working in AWS over the individual automation and management pieces.<br />
<br />
== AMI Creation ==<br />
<br />
=== Starting Operating System===<br />
Due to a deep level issue affecting hg clone and hg bundle times we move away from using a custom AMI built of a Microsoft Deployment Workbench image and starting with an AWS vanilla AMI: Windows_Server-2008-R2_SP1-English-64Bit-Base-2015.09.09 (ami-31620c54).<br />
<br />
=== Installed Applications ===<br />
* Visual Studio 2010<br />
** ISO: SW_DVD5_NTRL_Visual_Studio_2010SP1_MultiLang_FPP_VL_MLF_X17-40329<br />
*** Resulting Version: 10.0.30319.1 RTMRel<br />
* Visual Studio 2013 <br />
** ISO: en_visual_studio_premium_2013_with_update_3_x86_dvd_4836351<br />
* Puppet Agent <br />
** Including a method to pull Puppet authentication certs and keys (most recently used puppetized temp vbs script)<br />
** Include a copy of the puppet.conf in C:\ProgramData\PuppetLabs\puppet\etc<br />
*** Based off of : http://hg.mozilla.org/build/puppet/file/tip/modules/puppet/templates/puppet.conf.erb<br />
** Puppet authentication and the puppet.conf file can eventually be moved into EC2 userdata scripts<br />
*** This may eventually be moved into the Userdata scripts <br />
*** Resulting Version: <br />
* Other Applications that can be moved into PuppetAgain management<br />
** Direct X SDK<br />
** Windows 8 SDK<br />
<br />
=== Other Configuration ===<br />
* Rename administrator account to Root<br />
** Can be moved into the EC2 userdata scripts pre-Puppet run<br />
* Roll back patching level to 2011-06<br />
<br />
== Puppet Configuration ===<br />
<br />
== Manual Configuration/Tweaks ==<br />
<br />
=== Mercurial Tweaks ===<br />
* File copies into C:\mozilla-build\hg <br />
** Bundleclone.py <br />
*** http://hg.mozilla.org/build/puppet/raw-file/fc396d309685/modules/mercurial/files/bundleclone.py<br />
** A newer version of the caperm.pem is needed<br />
*** Current configuration uses caperm.pem stripped from Mercurial-3.5.1<br />
* Lines added to the mercurial.ini <br />
** Under [extensions]<br />
*** bundleclone=C:\mozilla-build\hg\bundleclone.py<br />
*** share =<br />
** Under [bundleclone]<br />
*** prefers = ec2region=us-west-2, stream=revlogv1<br />
**** This line should be ultimately be managed with the EC2 userdata scripts to determine which location for specific AWS region<br />
** Under [ui]<br />
*** username = Mozilla Release Engineering <release@mozilla.com><br />
*** traceback = True<br />
** Under [hostfingerprints]<br />
*** hg.mozilla.org = af:27:b9:34:47:4e:e5:98:01:f6:83:2b:51:c9:aa:d8:df:fb:1a:27<br />
<br />
== EC2 Service Userdata Scripts ==<br />
<br />
== OLD PRE 2015-11 Configuration Notes (Incomplete) ==<br />
=== Overview ===<br />
The building of the 2008 builder slave image uses both the Microsoft Deployment Workbench (MDT) and Puppet configuration software. In the case of AWS instances the Amazon EC2 service is also utilized. <br /><br />
<br />
The initial steps is building a base image in MDT. The base image is comprised of large applications that will seldom change, Microsoft SDKs, applications that may aid in deployment, and Windows Server Update Service (WSUS) components. <br /><br />
<br />
The second portion of this differs according to datacenter deployment or cloud deployment. Differences are documented below.However, in both cases the image has Puppet installed, and the image is prep to be ran against the PuppetAgain. As well a configurations that Puppet needs to run or at the time made more sense to be done through MDT.<br /><br />
<br />
General MDT documentation: https://mana.mozilla.org/wiki/display/SYSADMIN/Microsoft+Deployment+Toolkit+2012+Update+1+General+Documentation<br />
<br />
=== Windows 2008 Build Slave Configuration Managed by Microsoft Deployment Workbench Configuration ===<br />
=== Starting Operating System ===<br />
The process is begun with Windows Server 2008 R2 SP1 iso (en_windows_server_2008_r2_with_sp1_vl_build_x64_dvd_617403.iso). The iso file is mounted, in our case, using Virtual CloneDrive. Once the iso file is mounted it is then imported into the MDT. <br />
=== Base Configuration Capture (MDT Task Sequence ID SW2008_BASE_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Microsoft Visual Studio 2010<br /><br />
* This application install varies away from the typical MDT install. The files needed to be extracted from the iso and have the F# portion removed. The extracted files are then copied over local, and the installation command is ran <br />
<br />
Microsoft Visual Studio 2013 Update 3<br /><br />
* A reboot needs to occur between the installation of 2010 and 2013<br /><br />
<br />
Microsoft Windows Windows 8 SDK<br /><br />
<br />
Microsoft Windows Windows Direct X SDK<br /><br />
<br />
Microsoft Net Framework 3.5 <br /><br />
<br />
=== Configuration ===<br />
WSUS Updates<br />
* Various registry settings are needed <br />
** Refrence: https://bugzilla.mozilla.org/show_bug.cgi?id=972575<br /><br />
<br />
<br />
=== Data Center Deployment Configuration (MDT Task Sequence SW2008_DPLY_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Set Puppet Registry bits<br />
** "Type"=dword:00000010<br />
** "Start"=dword:00000003<br />
** "ErrorControl"=dword:00000001 <br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
Disable Server Manager Window "reg add HKCU\Software\Microsoft\ServerManager /t REG_DWORD /v DoNotOpenServerManagerAtLogon /d 1 /f<br />
* Because the registry setting is HKey current user it is quite difficult to implement through Puppet<br />
** Needs to be done after reboot post Puppet run<br />
<br />
<br />
=== Cloud Deploy Configuration Capture (MDT Task Sequence ID W2008_CLD_002)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
EC2 config service<br />
* Installation ""Z:\Applications\AWS EC2config service\Ec2Install.exe" /passive /norestart2config service\"<br />
<br />
Citrix PV<br />
* Copy from "Z:\Applications\Citrix-Win_PV" to "c:\Citrix-Win"<br />
* "C:\Citrix-Win\upgrade.bat" to install<br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
<br />
=== Windows 2008 Build Slave Configuration Managed by Puppet ===<br />
=== User Account Configuration ===<br />
=== Operating System Configuration ===<br />
=== Firewall Configuration ===<br />
=== Network Configuration ===<br />
=== Application Installs ===<br />
=== Buildbot and Runner Configuration ===</div>Mcornmesserhttps://wiki.mozilla.org/index.php?title=ReleaseEngineering/worker_configuration/2008&diff=1107059ReleaseEngineering/worker configuration/20082015-11-24T18:34:35Z<p>Mcornmesser: /* AMI Creation */</p>
<hr />
<div>== Overview ==<br />
As of 2015-11-24 the configuration of 2008 buildbot slaves consists of 4 parts. The initial manual build of the AWS AMI, application of the 2008 PuppetAgain catalog, manual configuration changes, and lastly the EC2 userdata scripts. <br />
<br />
Manual configuration changes will eventually be part of PuppetAgain, and as well as portion of the manual AMI creation. These were currently left out do to the priority of getting buildbot builds working in AWS over the individual automation and management pieces.<br />
<br />
== AMI Creation ==<br />
<br />
=== Starting Operating System===<br />
Due to a deep level issue affecting hg clone and hg bundle times we move away from using a custom AMI built of a Microsoft Deployment Workbench image and starting with an AWS vanilla AMI: Windows_Server-2008-R2_SP1-English-64Bit-Base-2015.09.09 (ami-31620c54).<br />
<br />
=== Installed Applications ===<br />
* Visual Studio 2010<br />
** ISO: SW_DVD5_NTRL_Visual_Studio_2010SP1_MultiLang_FPP_VL_MLF_X17-40329<br />
*** Resulting Version: 10.0.30319.1 RTMRel<br />
* Visual Studio 2013 <br />
** ISO: en_visual_studio_premium_2013_with_update_3_x86_dvd_4836351<br />
* Puppet Agent <br />
** Including a method to pull Puppet authentication certs and keys (most recently used puppetized temp vbs script)<br />
** Include a copy of the puppet.conf in C:\ProgramData\PuppetLabs\puppet\etc<br />
*** Based off of : http://hg.mozilla.org/build/puppet/file/tip/modules/puppet/templates/puppet.conf.erb<br />
** Puppet authentication and the puppet.conf file can eventually be moved into EC2 userdata scripts<br />
*** This may eventually be moved into the Userdata scripts <br />
*** Resulting Version: <br />
* Other Applications that can be moved into PuppetAgain management<br />
** Direct X SDK<br />
** Windows 8 SDK<br />
<br />
=== Other Configuration ===<br />
* Rename administrator account to Root<br />
** Can be moved into the EC2 userdata scripts pre-Puppet run<br />
* Roll back patching level to 2011-06<br />
<br />
== Puppet Configuration ===<br />
<br />
== Manual Configuration/Tweaks == <br />
<br />
== EC2 Service Userdata Scripts ==<br />
<br />
== OLD PRE 2015-11 Configuration Notes (Incomplete) ==<br />
=== Overview ===<br />
The building of the 2008 builder slave image uses both the Microsoft Deployment Workbench (MDT) and Puppet configuration software. In the case of AWS instances the Amazon EC2 service is also utilized. <br /><br />
<br />
The initial steps is building a base image in MDT. The base image is comprised of large applications that will seldom change, Microsoft SDKs, applications that may aid in deployment, and Windows Server Update Service (WSUS) components. <br /><br />
<br />
The second portion of this differs according to datacenter deployment or cloud deployment. Differences are documented below.However, in both cases the image has Puppet installed, and the image is prep to be ran against the PuppetAgain. As well a configurations that Puppet needs to run or at the time made more sense to be done through MDT.<br /><br />
<br />
General MDT documentation: https://mana.mozilla.org/wiki/display/SYSADMIN/Microsoft+Deployment+Toolkit+2012+Update+1+General+Documentation<br />
<br />
=== Windows 2008 Build Slave Configuration Managed by Microsoft Deployment Workbench Configuration ===<br />
=== Starting Operating System ===<br />
The process is begun with Windows Server 2008 R2 SP1 iso (en_windows_server_2008_r2_with_sp1_vl_build_x64_dvd_617403.iso). The iso file is mounted, in our case, using Virtual CloneDrive. Once the iso file is mounted it is then imported into the MDT. <br />
=== Base Configuration Capture (MDT Task Sequence ID SW2008_BASE_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Microsoft Visual Studio 2010<br /><br />
* This application install varies away from the typical MDT install. The files needed to be extracted from the iso and have the F# portion removed. The extracted files are then copied over local, and the installation command is ran <br />
<br />
Microsoft Visual Studio 2013 Update 3<br /><br />
* A reboot needs to occur between the installation of 2010 and 2013<br /><br />
<br />
Microsoft Windows Windows 8 SDK<br /><br />
<br />
Microsoft Windows Windows Direct X SDK<br /><br />
<br />
Microsoft Net Framework 3.5 <br /><br />
<br />
=== Configuration ===<br />
WSUS Updates<br />
* Various registry settings are needed <br />
** Refrence: https://bugzilla.mozilla.org/show_bug.cgi?id=972575<br /><br />
<br />
<br />
=== Data Center Deployment Configuration (MDT Task Sequence SW2008_DPLY_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Set Puppet Registry bits<br />
** "Type"=dword:00000010<br />
** "Start"=dword:00000003<br />
** "ErrorControl"=dword:00000001 <br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
Disable Server Manager Window "reg add HKCU\Software\Microsoft\ServerManager /t REG_DWORD /v DoNotOpenServerManagerAtLogon /d 1 /f<br />
* Because the registry setting is HKey current user it is quite difficult to implement through Puppet<br />
** Needs to be done after reboot post Puppet run<br />
<br />
<br />
=== Cloud Deploy Configuration Capture (MDT Task Sequence ID W2008_CLD_002)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
EC2 config service<br />
* Installation ""Z:\Applications\AWS EC2config service\Ec2Install.exe" /passive /norestart2config service\"<br />
<br />
Citrix PV<br />
* Copy from "Z:\Applications\Citrix-Win_PV" to "c:\Citrix-Win"<br />
* "C:\Citrix-Win\upgrade.bat" to install<br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
<br />
=== Windows 2008 Build Slave Configuration Managed by Puppet ===<br />
=== User Account Configuration ===<br />
=== Operating System Configuration ===<br />
=== Firewall Configuration ===<br />
=== Network Configuration ===<br />
=== Application Installs ===<br />
=== Buildbot and Runner Configuration ===</div>Mcornmesserhttps://wiki.mozilla.org/index.php?title=ReleaseEngineering/worker_configuration/2008&diff=1107058ReleaseEngineering/worker configuration/20082015-11-24T18:27:59Z<p>Mcornmesser: /* AMI Creation */</p>
<hr />
<div>== Overview ==<br />
As of 2015-11-24 the configuration of 2008 buildbot slaves consists of 4 parts. The initial manual build of the AWS AMI, application of the 2008 PuppetAgain catalog, manual configuration changes, and lastly the EC2 userdata scripts. <br />
<br />
Manual configuration changes will eventually be part of PuppetAgain, and as well as portion of the manual AMI creation. These were currently left out do to the priority of getting buildbot builds working in AWS over the individual automation and management pieces.<br />
<br />
== AMI Creation ==<br />
<br />
=== Starting Operating System===<br />
Due to a deep level issue affecting hg clone and hg bundle times we move away from using a custom AMI built of a Microsoft Deployment Workbench image and starting with an AWS vanilla AMI: Windows_Server-2008-R2_SP1-English-64Bit-Base-2015.09.09 (ami-31620c54).<br />
<br />
=== Installed Applications ===<br />
* Visual Studio 2010<br />
** ISO: SW_DVD5_NTRL_Visual_Studio_2010SP1_MultiLang_FPP_VL_MLF_X17-40329<br />
*** Resulting Version: 10.0.30319.1 RTMRel<br />
* Visual Studio 2013 <br />
** ISO: en_visual_studio_premium_2013_with_update_3_x86_dvd_4836351<br />
* Puppet Agent <br />
** Including a method to pull Puppet authentication certs and keys (most recently used puppetized temp vbs script)<br />
** Include a copy of the puppet.conf in C:\ProgramData\PuppetLabs\puppet\etc<br />
*** Based off of : http://hg.mozilla.org/build/puppet/file/tip/modules/puppet/templates/puppet.conf.erb<br />
** Puppet authentication and the puppet.conf file can eventually be moved into EC2 userdata scripts<br />
*** This may eventually be moved into the Userdata scripts <br />
*** Resulting Version: <br />
* Other Applications that can be moved into PuppetAgain management<br />
** Direct X SDK<br />
** Windows 8 SDK<br />
<br />
=== Other Configuration ===<br />
* Rename administrator account to Root<br />
** Can be moved into the EC2 userdata scripts pre-Puppet run<br />
* Roll back patching level to 2011-06<br />
{{scroll box|text=<br />
wusa.exe /KB:2620712 /uninstall /quiet /norestart <br />
wusa.exe /KB:2621440 /uninstall /quiet /norestart <br />
wusa.exe /KB:2631813 /uninstall /quiet /norestart <br />
wusa.exe /KB:2633873 /uninstall /quiet /norestart <br />
wusa.exe /KB:2633952 /uninstall /quiet /norestart <br />
wusa.exe /KB:2634328 /uninstall /quiet /norestart <br />
wusa.exe /KB:2636573 /uninstall /quiet /norestart <br />
wusa.exe /KB:2639308 /uninstall /quiet /norestart <br />
wusa.exe /KB:2639417 /uninstall /quiet /norestart <br />
wusa.exe /KB:2640148 /uninstall /quiet /norestart <br />
wusa.exe /KB:2641653 /uninstall /quiet /norestart <br />
wusa.exe /KB:2641690 /uninstall /quiet /norestart <br />
wusa.exe /KB:2643719 /uninstall /quiet /norestart <br />
wusa.exe /KB:2644615 /uninstall /quiet /norestart <br />
wusa.exe /KB:2645640 /uninstall /quiet /norestart <br />
wusa.exe /KB:2647518 /uninstall /quiet /norestart <br />
wusa.exe /KB:2647753 /uninstall /quiet /norestart <br />
wusa.exe /KB:2653956 /uninstall /quiet /norestart <br />
wusa.exe /KB:2654428 /uninstall /quiet /norestart <br />
wusa.exe /KB:2655992 /uninstall /quiet /norestart <br />
wusa.exe /KB:2656356 /uninstall /quiet /norestart <br />
wusa.exe /KB:2656373 /uninstall /quiet /norestart <br />
wusa.exe /KB:2656411 /uninstall /quiet /norestart <br />
wusa.exe /KB:2658846 /uninstall /quiet /norestart <br />
wusa.exe /KB:2659262 /uninstall /quiet /norestart <br />
wusa.exe /KB:2660075 /uninstall /quiet /norestart <br />
wusa.exe /KB:2660465 /uninstall /quiet /norestart <br />
wusa.exe /KB:2661254 /uninstall /quiet /norestart <br />
wusa.exe /KB:2665364 /uninstall /quiet /norestart <br />
wusa.exe /KB:2667402 /uninstall /quiet /norestart <br />
wusa.exe /KB:2670838 /uninstall /quiet /norestart <br />
wusa.exe /KB:2676562 /uninstall /quiet /norestart <br />
wusa.exe /KB:2677070 /uninstall /quiet /norestart <br />
wusa.exe /KB:2679255 /uninstall /quiet /norestart <br />
wusa.exe /KB:2685811 /uninstall /quiet /norestart <br />
wusa.exe /KB:2685813 /uninstall /quiet /norestart <br />
wusa.exe /KB:2685939 /uninstall /quiet /norestart <br />
wusa.exe /KB:2686831 /uninstall /quiet /norestart <br />
wusa.exe /KB:2688338 /uninstall /quiet /norestart <br />
wusa.exe /KB:2690533 /uninstall /quiet /norestart <br />
wusa.exe /KB:2691442 /uninstall /quiet /norestart <br />
wusa.exe /KB:2695962 /uninstall /quiet /norestart <br />
wusa.exe /KB:2698365 /uninstall /quiet /norestart <br />
wusa.exe /KB:2699779 /uninstall /quiet /norestart <br />
wusa.exe /KB:2705219 /uninstall /quiet /norestart <br />
wusa.exe /KB:2709162 /uninstall /quiet /norestart <br />
wusa.exe /KB:2709630 /uninstall /quiet /norestart <br />
wusa.exe /KB:2709715 /uninstall /quiet /norestart <br />
wusa.exe /KB:2709981 /uninstall /quiet /norestart <br />
wusa.exe /KB:2712808 /uninstall /quiet /norestart <br />
wusa.exe /KB:2718523 /uninstall /quiet /norestart <br />
wusa.exe /KB:2718704 /uninstall /quiet /norestart <br />
wusa.exe /KB:2719857 /uninstall /quiet /norestart <br />
wusa.exe /KB:2719985 /uninstall /quiet /norestart <br />
wusa.exe /KB:2724197 /uninstall /quiet /norestart <br />
wusa.exe /KB:2726535 /uninstall /quiet /norestart <br />
wusa.exe /KB:2729094 /uninstall /quiet /norestart <br />
wusa.exe /KB:2729452 /uninstall /quiet /norestart <br />
wusa.exe /KB:2731771 /uninstall /quiet /norestart <br />
wusa.exe /KB:2731847 /uninstall /quiet /norestart <br />
wusa.exe /KB:2732059 /uninstall /quiet /norestart <br />
wusa.exe /KB:2735855 /uninstall /quiet /norestart <br />
wusa.exe /KB:2736233 /uninstall /quiet /norestart <br />
wusa.exe /KB:2736422 /uninstall /quiet /norestart <br />
wusa.exe /KB:2739159 /uninstall /quiet /norestart <br />
wusa.exe /KB:2741355 /uninstall /quiet /norestart <br />
wusa.exe /KB:2742599 /uninstall /quiet /norestart <br />
wusa.exe /KB:2743555 /uninstall /quiet /norestart <br />
wusa.exe /KB:2749655 /uninstall /quiet /norestart <br />
wusa.exe /KB:2750841 /uninstall /quiet /norestart <br />
wusa.exe /KB:2753842 /uninstall /quiet /norestart <br />
wusa.exe /KB:2756822 /uninstall /quiet /norestart <br />
wusa.exe /KB:2756921 /uninstall /quiet /norestart <br />
wusa.exe /KB:2757638 /uninstall /quiet /norestart <br />
wusa.exe /KB:2758857 /uninstall /quiet /norestart <br />
wusa.exe /KB:2761217 /uninstall /quiet /norestart <br />
wusa.exe /KB:2761226 /uninstall /quiet /norestart <br />
wusa.exe /KB:2762895 /uninstall /quiet /norestart <br />
wusa.exe /KB:2763523 /uninstall /quiet /norestart <br />
wusa.exe /KB:2765809 /uninstall /quiet /norestart <br />
wusa.exe /KB:2769369 /uninstall /quiet /norestart <br />
wusa.exe /KB:2770660 /uninstall /quiet /norestart <br />
wusa.exe /KB:2778344 /uninstall /quiet /norestart <br />
wusa.exe /KB:2778930 /uninstall /quiet /norestart <br />
wusa.exe /KB:2779562 /uninstall /quiet /norestart <br />
wusa.exe /KB:2785220 /uninstall /quiet /norestart <br />
wusa.exe /KB:2786081 /uninstall /quiet /norestart <br />
wusa.exe /KB:2786400 /uninstall /quiet /norestart <br />
wusa.exe /KB:2789645 /uninstall /quiet /norestart <br />
wusa.exe /KB:2790113 /uninstall /quiet /norestart <br />
wusa.exe /KB:2790655 /uninstall /quiet /norestart <br />
wusa.exe /KB:2791765 /uninstall /quiet /norestart <br />
wusa.exe /KB:2798162 /uninstall /quiet /norestart <br />
wusa.exe /KB:2799494 /uninstall /quiet /norestart <br />
wusa.exe /KB:2800095 /uninstall /quiet /norestart <br />
wusa.exe /KB:2800213 /uninstall /quiet /norestart <br />
wusa.exe /KB:2804579 /uninstall /quiet /norestart <br />
wusa.exe /KB:2807986 /uninstall /quiet /norestart <br />
wusa.exe /KB:2808679 /uninstall /quiet /norestart <br />
wusa.exe /KB:2808735 /uninstall /quiet /norestart <br />
wusa.exe /KB:2809215 /uninstall /quiet /norestart <br />
wusa.exe /KB:2809900 /uninstall /quiet /norestart <br />
wusa.exe /KB:2813170 /uninstall /quiet /norestart <br />
wusa.exe /KB:2813347 /uninstall /quiet /norestart <br />
wusa.exe /KB:2813430 /uninstall /quiet /norestart <br />
wusa.exe /KB:2820197 /uninstall /quiet /norestart <br />
wusa.exe /KB:2820331 /uninstall /quiet /norestart <br />
wusa.exe /KB:2823180 /uninstall /quiet /norestart <br />
wusa.exe /KB:2823324 /uninstall /quiet /norestart <br />
wusa.exe /KB:2829361 /uninstall /quiet /norestart <br />
wusa.exe /KB:2830290 /uninstall /quiet /norestart <br />
wusa.exe /KB:2830477 /uninstall /quiet /norestart <br />
wusa.exe /KB:2832414 /uninstall /quiet /norestart <br />
wusa.exe /KB:2833946 /uninstall /quiet /norestart <br />
wusa.exe /KB:2834140 /uninstall /quiet /norestart <br />
wusa.exe /KB:2834886 /uninstall /quiet /norestart <br />
wusa.exe /KB:2835361 /uninstall /quiet /norestart <br />
wusa.exe /KB:2836943 /uninstall /quiet /norestart <br />
wusa.exe /KB:2840149 /uninstall /quiet /norestart <br />
wusa.exe /KB:2840631 /uninstall /quiet /norestart <br />
wusa.exe /KB:2841134 /uninstall /quiet /norestart <br />
wusa.exe /KB:2843630 /uninstall /quiet /norestart <br />
wusa.exe /KB:2844286 /uninstall /quiet /norestart <br />
wusa.exe /KB:2847311 /uninstall /quiet /norestart <br />
wusa.exe /KB:2849470 /uninstall /quiet /norestart <br />
wusa.exe /KB:2849696 /uninstall /quiet /norestart <br />
wusa.exe /KB:2849697 /uninstall /quiet /norestart <br />
wusa.exe /KB:2850851 /uninstall /quiet /norestart <br />
wusa.exe /KB:2852386 /uninstall /quiet /norestart <br />
wusa.exe /KB:2853952 /uninstall /quiet /norestart <br />
wusa.exe /KB:2857650 /uninstall /quiet /norestart <br />
wusa.exe /KB:2861191 /uninstall /quiet /norestart <br />
wusa.exe /KB:2861698 /uninstall /quiet /norestart <br />
wusa.exe /KB:2861855 /uninstall /quiet /norestart <br />
wusa.exe /KB:2862152 /uninstall /quiet /norestart <br />
wusa.exe /KB:2862330 /uninstall /quiet /norestart <br />
wusa.exe /KB:2862335 /uninstall /quiet /norestart <br />
wusa.exe /KB:2862966 /uninstall /quiet /norestart <br />
wusa.exe /KB:2862973 /uninstall /quiet /norestart <br />
wusa.exe /KB:2863058 /uninstall /quiet /norestart <br />
wusa.exe /KB:2863240 /uninstall /quiet /norestart <br />
wusa.exe /KB:2864058 /uninstall /quiet /norestart <br />
wusa.exe /KB:2864202 /uninstall /quiet /norestart <br />
wusa.exe /KB:2868038 /uninstall /quiet /norestart <br />
wusa.exe /KB:2868116 /uninstall /quiet /norestart <br />
wusa.exe /KB:2868623 /uninstall /quiet /norestart <br />
wusa.exe /KB:2868626 /uninstall /quiet /norestart <br />
wusa.exe /KB:2868725 /uninstall /quiet /norestart <br />
wusa.exe /KB:2871997 /uninstall /quiet /norestart <br />
wusa.exe /KB:2872339 /uninstall /quiet /norestart <br />
wusa.exe /KB:2875783 /uninstall /quiet /norestart <br />
wusa.exe /KB:2876284 /uninstall /quiet /norestart <br />
wusa.exe /KB:2876315 /uninstall /quiet /norestart <br />
wusa.exe /KB:2876331 /uninstall /quiet /norestart <br />
wusa.exe /KB:2882822 /uninstall /quiet /norestart <br />
wusa.exe /KB:2883150 /uninstall /quiet /norestart <br />
wusa.exe /KB:2884256 /uninstall /quiet /norestart <br />
wusa.exe /KB:2887069 /uninstall /quiet /norestart <br />
wusa.exe /KB:2888049 /uninstall /quiet /norestart <br />
wusa.exe /KB:2891804 /uninstall /quiet /norestart <br />
wusa.exe /KB:2892074 /uninstall /quiet /norestart <br />
wusa.exe /KB:2893294 /uninstall /quiet /norestart <br />
wusa.exe /KB:2893519 /uninstall /quiet /norestart <br />
wusa.exe /KB:2894844 /uninstall /quiet /norestart <br />
wusa.exe /KB:2898857 /uninstall /quiet /norestart <br />
wusa.exe /KB:2900986 /uninstall /quiet /norestart <br />
wusa.exe /KB:2901112 /uninstall /quiet /norestart <br />
wusa.exe /KB:2904266 /uninstall /quiet /norestart <br />
wusa.exe /KB:2908783 /uninstall /quiet /norestart <br />
wusa.exe /KB:2909210 /uninstall /quiet /norestart <br />
wusa.exe /KB:2909921 /uninstall /quiet /norestart <br />
wusa.exe /KB:2911501 /uninstall /quiet /norestart <br />
wusa.exe /KB:2912390 /uninstall /quiet /norestart <br />
wusa.exe /KB:2913152 /uninstall /quiet /norestart <br />
wusa.exe /KB:2913431 /uninstall /quiet /norestart <br />
wusa.exe /KB:2913602 /uninstall /quiet /norestart <br />
wusa.exe /KB:2916036 /uninstall /quiet /norestart <br />
wusa.exe /KB:2918614 /uninstall /quiet /norestart <br />
wusa.exe /KB:2919469 /uninstall /quiet /norestart <br />
wusa.exe /KB:2922223 /uninstall /quiet /norestart <br />
wusa.exe /KB:2922229 /uninstall /quiet /norestart <br />
wusa.exe /KB:2923545 /uninstall /quiet /norestart <br />
wusa.exe /KB:2925418 /uninstall /quiet /norestart <br />
wusa.exe /KB:2926765 /uninstall /quiet /norestart <br />
wusa.exe /KB:2928562 /uninstall /quiet /norestart <br />
wusa.exe /KB:2929437 /uninstall /quiet /norestart <br />
wusa.exe /KB:2929733 /uninstall /quiet /norestart <br />
wusa.exe /KB:2929755 /uninstall /quiet /norestart <br />
wusa.exe /KB:2930275 /uninstall /quiet /norestart <br />
wusa.exe /KB:2931356 /uninstall /quiet /norestart <br />
wusa.exe /KB:2937610 /uninstall /quiet /norestart <br />
wusa.exe /KB:2939576 /uninstall /quiet /norestart <br />
wusa.exe /KB:2943357 /uninstall /quiet /norestart <br />
wusa.exe /KB:2949927 /uninstall /quiet /norestart <br />
wusa.exe /KB:2953522 /uninstall /quiet /norestart <br />
wusa.exe /KB:2957189 /uninstall /quiet /norestart <br />
wusa.exe /KB:2957503 /uninstall /quiet /norestart <br />
wusa.exe /KB:2957509 /uninstall /quiet /norestart <br />
wusa.exe /KB:2957689 /uninstall /quiet /norestart <br />
wusa.exe /KB:2961072 /uninstall /quiet /norestart <br />
wusa.exe /KB:2962872 /uninstall /quiet /norestart <br />
wusa.exe /KB:2966583 /uninstall /quiet /norestart <br />
wusa.exe /KB:2968294 /uninstall /quiet /norestart <br />
wusa.exe /KB:2970228 /uninstall /quiet /norestart <br />
wusa.exe /KB:2972100 /uninstall /quiet /norestart <br />
wusa.exe /KB:2972211 /uninstall /quiet /norestart <br />
wusa.exe /KB:2973112 /uninstall /quiet /norestart <br />
wusa.exe /KB:2973201 /uninstall /quiet /norestart <br />
wusa.exe /KB:2973337 /uninstall /quiet /norestart <br />
wusa.exe /KB:2973351 /uninstall /quiet /norestart <br />
wusa.exe /KB:2976627 /uninstall /quiet /norestart <br />
wusa.exe /KB:2976897 /uninstall /quiet /norestart <br />
wusa.exe /KB:2977292 /uninstall /quiet /norestart <br />
wusa.exe /KB:2977728 /uninstall /quiet /norestart <br />
wusa.exe /KB:2978092 /uninstall /quiet /norestart <br />
wusa.exe /KB:2978120 /uninstall /quiet /norestart <br />
wusa.exe /KB:2978668 /uninstall /quiet /norestart <br />
wusa.exe /KB:2979570 /uninstall /quiet /norestart <br />
wusa.exe /KB:2980245 /uninstall /quiet /norestart <br />
wusa.exe /KB:2984972 /uninstall /quiet /norestart <br />
wusa.exe /KB:2984981 /uninstall /quiet /norestart <br />
wusa.exe /KB:2985461 /uninstall /quiet /norestart <br />
wusa.exe /KB:2987107 /uninstall /quiet /norestart <br />
wusa.exe /KB:2990214 /uninstall /quiet /norestart <br />
wusa.exe /KB:2991963 /uninstall /quiet /norestart <br />
wusa.exe /KB:2992611 /uninstall /quiet /norestart <br />
wusa.exe /KB:2993651 /uninstall /quiet /norestart <br />
wusa.exe /KB:2993958 /uninstall /quiet /norestart <br />
wusa.exe /KB:2994023 /uninstall /quiet /norestart <br />
wusa.exe /KB:2998527 /uninstall /quiet /norestart <br />
wusa.exe /KB:3000061 /uninstall /quiet /norestart <br />
wusa.exe /KB:3000869 /uninstall /quiet /norestart <br />
wusa.exe /KB:3000988 /uninstall /quiet /norestart <br />
wusa.exe /KB:3002657 /uninstall /quiet /norestart <br />
wusa.exe /KB:3002885 /uninstall /quiet /norestart <br />
wusa.exe /KB:3003057 /uninstall /quiet /norestart <br />
wusa.exe /KB:3003743 /uninstall /quiet /norestart <br />
wusa.exe /KB:3004361 /uninstall /quiet /norestart <br />
wusa.exe /KB:3004375 /uninstall /quiet /norestart <br />
wusa.exe /KB:3004394 /uninstall /quiet /norestart <br />
wusa.exe /KB:3005607 /uninstall /quiet /norestart <br />
wusa.exe /KB:3006137 /uninstall /quiet /norestart <br />
wusa.exe /KB:3006226 /uninstall /quiet /norestart <br />
wusa.exe /KB:3008627 /uninstall /quiet /norestart <br />
wusa.exe /KB:3008923 /uninstall /quiet /norestart <br />
wusa.exe /KB:3010788 /uninstall /quiet /norestart <br />
wusa.exe /KB:3011780 /uninstall /quiet /norestart <br />
wusa.exe /KB:3013126 /uninstall /quiet /norestart <br />
wusa.exe /KB:3013410 /uninstall /quiet /norestart <br />
wusa.exe /KB:3013455 /uninstall /quiet /norestart <br />
wusa.exe /KB:3014029 /uninstall /quiet /norestart <br />
wusa.exe /KB:3014406 /uninstall /quiet /norestart <br />
wusa.exe /KB:3018238 /uninstall /quiet /norestart <br />
wusa.exe /KB:3020338 /uninstall /quiet /norestart <br />
wusa.exe /KB:3020369 /uninstall /quiet /norestart <br />
wusa.exe /KB:3020370 /uninstall /quiet /norestart <br />
wusa.exe /KB:3020388 /uninstall /quiet /norestart <br />
wusa.exe /KB:3021674 /uninstall /quiet /norestart <br />
wusa.exe /KB:3021952 /uninstall /quiet /norestart <br />
wusa.exe /KB:3022345 /uninstall /quiet /norestart <br />
wusa.exe /KB:3022777 /uninstall /quiet /norestart <br />
wusa.exe /KB:3023215 /uninstall /quiet /norestart <br />
wusa.exe /KB:3023562 /uninstall /quiet /norestart <br />
wusa.exe /KB:3023607 /uninstall /quiet /norestart <br />
wusa.exe /KB:3025390 /uninstall /quiet /norestart <br />
wusa.exe /KB:3029944 /uninstall /quiet /norestart <br />
wusa.exe /KB:3030377 /uninstall /quiet /norestart <br />
wusa.exe /KB:3031432 /uninstall /quiet /norestart <br />
wusa.exe /KB:3032323 /uninstall /quiet /norestart <br />
wusa.exe /KB:3032359 /uninstall /quiet /norestart <br />
wusa.exe /KB:3032655 /uninstall /quiet /norestart <br />
wusa.exe /KB:3033889 /uninstall /quiet /norestart <br />
wusa.exe /KB:3033929 /uninstall /quiet /norestart <br />
wusa.exe /KB:3034344 /uninstall /quiet /norestart <br />
wusa.exe /KB:3035126 /uninstall /quiet /norestart <br />
wusa.exe /KB:3035131 /uninstall /quiet /norestart <br />
wusa.exe /KB:3035132 /uninstall /quiet /norestart<br />
wusa.exe /KB:3037574 /uninstall /quiet /norestart <br />
wusa.exe /KB:3038314 /uninstall /quiet /norestart <br />
wusa.exe /KB:3039066 /uninstall /quiet /norestart <br />
wusa.exe /KB:3040272 /uninstall /quiet /norestart <br />
wusa.exe /KB:3042553 /uninstall /quiet /norestart <br />
wusa.exe /KB:3045171 /uninstall /quiet /norestart <br />
wusa.exe /KB:3045645 /uninstall /quiet /norestart <br />
wusa.exe /KB:3045685 /uninstall /quiet /norestart <br />
wusa.exe /KB:3045999 /uninstall /quiet /norestart <br />
wusa.exe /KB:3046017 /uninstall /quiet /norestart <br />
wusa.exe /KB:3046049 /uninstall /quiet /norestart <br />
wusa.exe /KB:3046269 /uninstall /quiet /norestart <br />
wusa.exe /KB:3046306 /uninstall /quiet /norestart <br />
wusa.exe /KB:3046482 /uninstall /quiet /norestart <br />
wusa.exe /KB:3048070 /uninstall /quiet /norestart <br />
wusa.exe /KB:3048761 /uninstall /quiet /norestart <br />
wusa.exe /KB:3049563 /uninstall /quiet /norestart <br />
wusa.exe /KB:3050265 /uninstall /quiet /norestart <br />
wusa.exe /KB:3051768 /uninstall /quiet /norestart <br />
wusa.exe /KB:3054205 /uninstall /quiet /norestart <br />
wusa.exe /KB:3054476 /uninstall /quiet /norestart <br />
wusa.exe /KB:3055642 /uninstall /quiet /norestart <br />
wusa.exe /KB:3057154 /uninstall /quiet /norestart <br />
wusa.exe /KB:3057839 /uninstall /quiet /norestart <br />
wusa.exe /KB:3058515 /uninstall /quiet /norestart <br />
wusa.exe /KB:3059317 /uninstall /quiet /norestart <br />
wusa.exe /KB:3060716 /uninstall /quiet /norestart <br />
wusa.exe /KB:3061518 /uninstall /quiet /norestart <br />
wusa.exe /KB:3063858 /uninstall /quiet /norestart <br />
wusa.exe /KB:3064209 /uninstall /quiet /norestart <br />
wusa.exe /KB:3065822 /uninstall /quiet /norestart <br />
wusa.exe /KB:3065979 /uninstall /quiet /norestart <br />
wusa.exe /KB:3065987 /uninstall /quiet /norestart <br />
wusa.exe /KB:3067505 /uninstall /quiet /norestart <br />
wusa.exe /KB:3068457 /uninstall /quiet /norestart <br />
wusa.exe /KB:3068708 /uninstall /quiet /norestart <br />
wusa.exe /KB:3069392 /uninstall /quiet /norestart <br />
wusa.exe /KB:3070102 /uninstall /quiet /norestart <br />
wusa.exe /KB:3070738 /uninstall /quiet /norestart <br />
wusa.exe /KB:3071756 /uninstall /quiet /norestart <br />
wusa.exe /KB:3072305 /uninstall /quiet /norestart <br />
wusa.exe /KB:3072595 /uninstall /quiet /norestart <br />
wusa.exe /KB:3072630 /uninstall /quiet /norestart <br />
wusa.exe /KB:3072633 /uninstall /quiet /norestart <br />
wusa.exe /KB:3074543 /uninstall /quiet /norestart <br />
wusa.exe /KB:3074886 /uninstall /quiet /norestart <br />
wusa.exe /KB:3075226 /uninstall /quiet /norestart <br />
wusa.exe /KB:3075249 /uninstall /quiet /norestart <br />
wusa.exe /KB:3075516 /uninstall /quiet /norestart <br />
wusa.exe /KB:3075851 /uninstall /quiet /norestart <br />
wusa.exe /KB:3076895 /uninstall /quiet /norestart <br />
wusa.exe /KB:3077657 /uninstall /quiet /norestart <br />
wusa.exe /KB:3077715 /uninstall /quiet /norestart <br />
wusa.exe /KB:3078071 /uninstall /quiet /norestart <br />
wusa.exe /KB:3078601 /uninstall /quiet /norestart <br />
wusa.exe /KB:3078667 /uninstall /quiet /norestart <br />
wusa.exe /KB:3079757 /uninstall /quiet /norestart <br />
wusa.exe /KB:3080149 /uninstall /quiet /norestart <br />
wusa.exe /KB:3083324 /uninstall /quiet /norestart <br />
wusa.exe /KB:2974666 /uninstall /quiet /norestart<br />
wusa.exe /KB:3037581 /uninstall /quiet /norestart<br />
wusa.exe /KB:3023224 /uninstall /quiet /norestart<br />
wusa.exe /KB:3035490 /uninstall /quiet /norestart<br />
wusa.exe /KB:3074550 /uninstall /quiet /norestart<br />
wusa.exe /KB:2829760 /uninstall /quiet /norestart<br />
}}<br />
<br />
== Puppet Configuration ===<br />
<br />
== Manual Configuration/Tweaks == <br />
<br />
== EC2 Service Userdata Scripts ==<br />
<br />
== OLD PRE 2015-11 Configuration Notes (Incomplete) ==<br />
=== Overview ===<br />
The building of the 2008 builder slave image uses both the Microsoft Deployment Workbench (MDT) and Puppet configuration software. In the case of AWS instances the Amazon EC2 service is also utilized. <br /><br />
<br />
The initial steps is building a base image in MDT. The base image is comprised of large applications that will seldom change, Microsoft SDKs, applications that may aid in deployment, and Windows Server Update Service (WSUS) components. <br /><br />
<br />
The second portion of this differs according to datacenter deployment or cloud deployment. Differences are documented below.However, in both cases the image has Puppet installed, and the image is prep to be ran against the PuppetAgain. As well a configurations that Puppet needs to run or at the time made more sense to be done through MDT.<br /><br />
<br />
General MDT documentation: https://mana.mozilla.org/wiki/display/SYSADMIN/Microsoft+Deployment+Toolkit+2012+Update+1+General+Documentation<br />
<br />
=== Windows 2008 Build Slave Configuration Managed by Microsoft Deployment Workbench Configuration ===<br />
=== Starting Operating System ===<br />
The process is begun with Windows Server 2008 R2 SP1 iso (en_windows_server_2008_r2_with_sp1_vl_build_x64_dvd_617403.iso). The iso file is mounted, in our case, using Virtual CloneDrive. Once the iso file is mounted it is then imported into the MDT. <br />
=== Base Configuration Capture (MDT Task Sequence ID SW2008_BASE_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Microsoft Visual Studio 2010<br /><br />
* This application install varies away from the typical MDT install. The files needed to be extracted from the iso and have the F# portion removed. The extracted files are then copied over local, and the installation command is ran <br />
<br />
Microsoft Visual Studio 2013 Update 3<br /><br />
* A reboot needs to occur between the installation of 2010 and 2013<br /><br />
<br />
Microsoft Windows Windows 8 SDK<br /><br />
<br />
Microsoft Windows Windows Direct X SDK<br /><br />
<br />
Microsoft Net Framework 3.5 <br /><br />
<br />
=== Configuration ===<br />
WSUS Updates<br />
* Various registry settings are needed <br />
** Refrence: https://bugzilla.mozilla.org/show_bug.cgi?id=972575<br /><br />
<br />
<br />
=== Data Center Deployment Configuration (MDT Task Sequence SW2008_DPLY_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Set Puppet Registry bits<br />
** "Type"=dword:00000010<br />
** "Start"=dword:00000003<br />
** "ErrorControl"=dword:00000001 <br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
Disable Server Manager Window "reg add HKCU\Software\Microsoft\ServerManager /t REG_DWORD /v DoNotOpenServerManagerAtLogon /d 1 /f<br />
* Because the registry setting is HKey current user it is quite difficult to implement through Puppet<br />
** Needs to be done after reboot post Puppet run<br />
<br />
<br />
=== Cloud Deploy Configuration Capture (MDT Task Sequence ID W2008_CLD_002)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
EC2 config service<br />
* Installation ""Z:\Applications\AWS EC2config service\Ec2Install.exe" /passive /norestart2config service\"<br />
<br />
Citrix PV<br />
* Copy from "Z:\Applications\Citrix-Win_PV" to "c:\Citrix-Win"<br />
* "C:\Citrix-Win\upgrade.bat" to install<br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
<br />
=== Windows 2008 Build Slave Configuration Managed by Puppet ===<br />
=== User Account Configuration ===<br />
=== Operating System Configuration ===<br />
=== Firewall Configuration ===<br />
=== Network Configuration ===<br />
=== Application Installs ===<br />
=== Buildbot and Runner Configuration ===</div>Mcornmesserhttps://wiki.mozilla.org/index.php?title=ReleaseEngineering/worker_configuration/2008&diff=1107057ReleaseEngineering/worker configuration/20082015-11-24T18:23:58Z<p>Mcornmesser: /* AMI Creation */</p>
<hr />
<div>== Overview ==<br />
As of 2015-11-24 the configuration of 2008 buildbot slaves consists of 4 parts. The initial manual build of the AWS AMI, application of the 2008 PuppetAgain catalog, manual configuration changes, and lastly the EC2 userdata scripts. <br />
<br />
Manual configuration changes will eventually be part of PuppetAgain, and as well as portion of the manual AMI creation. These were currently left out do to the priority of getting buildbot builds working in AWS over the individual automation and management pieces.<br />
<br />
== AMI Creation ==<br />
<br />
=== Starting Operating System===<br />
Due to a deep level issue affecting hg clone and hg bundle times we move away from using a custom AMI built of a Microsoft Deployment Workbench image and starting with an AWS vanilla AMI: Windows_Server-2008-R2_SP1-English-64Bit-Base-2015.09.09 (ami-31620c54).<br />
<br />
=== Installed Applications ===<br />
* Visual Studio 2010<br />
** ISO: SW_DVD5_NTRL_Visual_Studio_2010SP1_MultiLang_FPP_VL_MLF_X17-40329<br />
*** Resulting Version: 10.0.30319.1 RTMRel<br />
* Visual Studio 2013 <br />
** ISO: en_visual_studio_premium_2013_with_update_3_x86_dvd_4836351<br />
* Puppet Agent <br />
** Including a method to pull Puppet authentication certs and keys (most recently used puppetized temp vbs script)<br />
** Include a copy of the puppet.conf in C:\ProgramData\PuppetLabs\puppet\etc<br />
*** Based off of : http://hg.mozilla.org/build/puppet/file/tip/modules/puppet/templates/puppet.conf.erb<br />
** Puppet authentication and the puppet.conf file can eventually be moved into EC2 userdata scripts<br />
*** This may eventually be moved into the Userdata scripts <br />
*** Resulting Version: <br />
* Other Applications that can be moved into PuppetAgain management<br />
** Direct X SDK<br />
** Windows 8 SDK<br />
<br />
=== Other Configuration ===<br />
* Rename administrator account to Root<br />
** Can be moved into the EC2 userdata scripts pre-Puppet run<br />
* Roll back patching level to 2011-06<br />
<br />
== Puppet Configuration ===<br />
<br />
== Manual Configuration/Tweaks == <br />
<br />
== EC2 Service Userdata Scripts ==<br />
<br />
== OLD PRE 2015-11 Configuration Notes (Incomplete) ==<br />
=== Overview ===<br />
The building of the 2008 builder slave image uses both the Microsoft Deployment Workbench (MDT) and Puppet configuration software. In the case of AWS instances the Amazon EC2 service is also utilized. <br /><br />
<br />
The initial steps is building a base image in MDT. The base image is comprised of large applications that will seldom change, Microsoft SDKs, applications that may aid in deployment, and Windows Server Update Service (WSUS) components. <br /><br />
<br />
The second portion of this differs according to datacenter deployment or cloud deployment. Differences are documented below.However, in both cases the image has Puppet installed, and the image is prep to be ran against the PuppetAgain. As well a configurations that Puppet needs to run or at the time made more sense to be done through MDT.<br /><br />
<br />
General MDT documentation: https://mana.mozilla.org/wiki/display/SYSADMIN/Microsoft+Deployment+Toolkit+2012+Update+1+General+Documentation<br />
<br />
=== Windows 2008 Build Slave Configuration Managed by Microsoft Deployment Workbench Configuration ===<br />
=== Starting Operating System ===<br />
The process is begun with Windows Server 2008 R2 SP1 iso (en_windows_server_2008_r2_with_sp1_vl_build_x64_dvd_617403.iso). The iso file is mounted, in our case, using Virtual CloneDrive. Once the iso file is mounted it is then imported into the MDT. <br />
=== Base Configuration Capture (MDT Task Sequence ID SW2008_BASE_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Microsoft Visual Studio 2010<br /><br />
* This application install varies away from the typical MDT install. The files needed to be extracted from the iso and have the F# portion removed. The extracted files are then copied over local, and the installation command is ran <br />
<br />
Microsoft Visual Studio 2013 Update 3<br /><br />
* A reboot needs to occur between the installation of 2010 and 2013<br /><br />
<br />
Microsoft Windows Windows 8 SDK<br /><br />
<br />
Microsoft Windows Windows Direct X SDK<br /><br />
<br />
Microsoft Net Framework 3.5 <br /><br />
<br />
=== Configuration ===<br />
WSUS Updates<br />
* Various registry settings are needed <br />
** Refrence: https://bugzilla.mozilla.org/show_bug.cgi?id=972575<br /><br />
<br />
<br />
=== Data Center Deployment Configuration (MDT Task Sequence SW2008_DPLY_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Set Puppet Registry bits<br />
** "Type"=dword:00000010<br />
** "Start"=dword:00000003<br />
** "ErrorControl"=dword:00000001 <br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
Disable Server Manager Window "reg add HKCU\Software\Microsoft\ServerManager /t REG_DWORD /v DoNotOpenServerManagerAtLogon /d 1 /f<br />
* Because the registry setting is HKey current user it is quite difficult to implement through Puppet<br />
** Needs to be done after reboot post Puppet run<br />
<br />
<br />
=== Cloud Deploy Configuration Capture (MDT Task Sequence ID W2008_CLD_002)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
EC2 config service<br />
* Installation ""Z:\Applications\AWS EC2config service\Ec2Install.exe" /passive /norestart2config service\"<br />
<br />
Citrix PV<br />
* Copy from "Z:\Applications\Citrix-Win_PV" to "c:\Citrix-Win"<br />
* "C:\Citrix-Win\upgrade.bat" to install<br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
<br />
=== Windows 2008 Build Slave Configuration Managed by Puppet ===<br />
=== User Account Configuration ===<br />
=== Operating System Configuration ===<br />
=== Firewall Configuration ===<br />
=== Network Configuration ===<br />
=== Application Installs ===<br />
=== Buildbot and Runner Configuration ===</div>Mcornmesserhttps://wiki.mozilla.org/index.php?title=ReleaseEngineering/worker_configuration/2008&diff=1107054ReleaseEngineering/worker configuration/20082015-11-24T18:14:24Z<p>Mcornmesser: /* AMI Creation */</p>
<hr />
<div>== Overview ==<br />
As of 2015-11-24 the configuration of 2008 buildbot slaves consists of 4 parts. The initial manual build of the AWS AMI, application of the 2008 PuppetAgain catalog, manual configuration changes, and lastly the EC2 userdata scripts. <br />
<br />
Manual configuration changes will eventually be part of PuppetAgain, and as well as portion of the manual AMI creation. These were currently left out do to the priority of getting buildbot builds working in AWS over the individual automation and management pieces.<br />
<br />
== AMI Creation ==<br />
<br />
=== Starting Operating System===<br />
Due to a deep level issue affecting hg clone and hg bundle times we move away from using a custom AMI built of a Microsoft Deployment Workbench image and starting with an AWS vanilla AMI: Windows_Server-2008-R2_SP1-English-64Bit-Base-2015.09.09 (ami-31620c54).<br />
<br />
=== Installed Applications ====<br />
* Visual Studio 2010<br />
** ISO: SW_DVD5_NTRL_Visual_Studio_2010SP1_MultiLang_FPP_VL_MLF_X17-40329<br />
*** Resulting Version: 10.0.30319.1 RTMRel<br />
* Visual Studio 2013 <br />
** ISO: en_visual_studio_premium_2013_with_update_3_x86_dvd_4836351<br />
* Puppet Agent <br />
** Including a method to pull Puppet authentication certs and keys (most recently used puppetized temp vbs script)<br />
** Include a copy of the puppet.conf in C:\ProgramData\PuppetLabs\puppet\etc<br />
*** Based off of : http://hg.mozilla.org/build/puppet/file/tip/modules/puppet/templates/puppet.conf.erb<br />
** Puppet authentication and the puppet.conf file can eventually be moved into EC2 userdata scripts<br />
*** This may eventually be moved into the Userdata scripts <br />
*** Resulting Version: <br />
* Other Applications that can be moved into PuppetAgain management<br />
** Direct X SDK<br />
** Windows 8 SDK<br />
<br />
== Puppet Configuration ===<br />
<br />
== Manual Configuration/Tweaks == <br />
<br />
== EC2 Service Userdata Scripts ==<br />
<br />
== OLD PRE 2015-11 Configuration Notes (Incomplete) ==<br />
=== Overview ===<br />
The building of the 2008 builder slave image uses both the Microsoft Deployment Workbench (MDT) and Puppet configuration software. In the case of AWS instances the Amazon EC2 service is also utilized. <br /><br />
<br />
The initial steps is building a base image in MDT. The base image is comprised of large applications that will seldom change, Microsoft SDKs, applications that may aid in deployment, and Windows Server Update Service (WSUS) components. <br /><br />
<br />
The second portion of this differs according to datacenter deployment or cloud deployment. Differences are documented below.However, in both cases the image has Puppet installed, and the image is prep to be ran against the PuppetAgain. As well a configurations that Puppet needs to run or at the time made more sense to be done through MDT.<br /><br />
<br />
General MDT documentation: https://mana.mozilla.org/wiki/display/SYSADMIN/Microsoft+Deployment+Toolkit+2012+Update+1+General+Documentation<br />
<br />
=== Windows 2008 Build Slave Configuration Managed by Microsoft Deployment Workbench Configuration ===<br />
=== Starting Operating System ===<br />
The process is begun with Windows Server 2008 R2 SP1 iso (en_windows_server_2008_r2_with_sp1_vl_build_x64_dvd_617403.iso). The iso file is mounted, in our case, using Virtual CloneDrive. Once the iso file is mounted it is then imported into the MDT. <br />
=== Base Configuration Capture (MDT Task Sequence ID SW2008_BASE_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Microsoft Visual Studio 2010<br /><br />
* This application install varies away from the typical MDT install. The files needed to be extracted from the iso and have the F# portion removed. The extracted files are then copied over local, and the installation command is ran <br />
<br />
Microsoft Visual Studio 2013 Update 3<br /><br />
* A reboot needs to occur between the installation of 2010 and 2013<br /><br />
<br />
Microsoft Windows Windows 8 SDK<br /><br />
<br />
Microsoft Windows Windows Direct X SDK<br /><br />
<br />
Microsoft Net Framework 3.5 <br /><br />
<br />
=== Configuration ===<br />
WSUS Updates<br />
* Various registry settings are needed <br />
** Refrence: https://bugzilla.mozilla.org/show_bug.cgi?id=972575<br /><br />
<br />
<br />
=== Data Center Deployment Configuration (MDT Task Sequence SW2008_DPLY_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Set Puppet Registry bits<br />
** "Type"=dword:00000010<br />
** "Start"=dword:00000003<br />
** "ErrorControl"=dword:00000001 <br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
Disable Server Manager Window "reg add HKCU\Software\Microsoft\ServerManager /t REG_DWORD /v DoNotOpenServerManagerAtLogon /d 1 /f<br />
* Because the registry setting is HKey current user it is quite difficult to implement through Puppet<br />
** Needs to be done after reboot post Puppet run<br />
<br />
<br />
=== Cloud Deploy Configuration Capture (MDT Task Sequence ID W2008_CLD_002)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
EC2 config service<br />
* Installation ""Z:\Applications\AWS EC2config service\Ec2Install.exe" /passive /norestart2config service\"<br />
<br />
Citrix PV<br />
* Copy from "Z:\Applications\Citrix-Win_PV" to "c:\Citrix-Win"<br />
* "C:\Citrix-Win\upgrade.bat" to install<br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
<br />
=== Windows 2008 Build Slave Configuration Managed by Puppet ===<br />
=== User Account Configuration ===<br />
=== Operating System Configuration ===<br />
=== Firewall Configuration ===<br />
=== Network Configuration ===<br />
=== Application Installs ===<br />
=== Buildbot and Runner Configuration ===</div>Mcornmesserhttps://wiki.mozilla.org/index.php?title=ReleaseEngineering/worker_configuration/2008&diff=1107038ReleaseEngineering/worker configuration/20082015-11-24T17:35:22Z<p>Mcornmesser: Incremental save</p>
<hr />
<div>== Overview ==<br />
As of 2015-11-24 the configuration of 2008 buildbot slaves consists of 4 parts. The initial manual build of the AWS AMI, application of the 2008 PuppetAgain catalog, manual configuration changes, and lastly the EC2 userdata scripts. <br />
<br />
Manual configuration changes will eventually be part of PuppetAgain, and as well as portion of the manual AMI creation. These were currently left out do to the priority of getting buildbot builds working in AWS over the individual automation and management pieces.<br />
<br />
== AMI Creation ==<br />
<br />
=== Starting Operating System===<br />
Due to a deep level issue affecting hg clone and hg bundle times we move away from using a custom AMI built of a Microsoft Deployment Workbench image and starting with an AWS vanilla AMI: Microsoft Windows Server 2008 R2 Base - ami-2debb748.<br />
<br />
=== Installed Applications ====<br />
<br />
== Puppet Configuration ===<br />
<br />
== Manual Configuration/Tweaks == <br />
<br />
== EC2 Service Userdata Scripts ==<br />
<br />
== OLD PRE 2015-11 Configuration Notes (Incomplete) ==<br />
=== Overview ===<br />
The building of the 2008 builder slave image uses both the Microsoft Deployment Workbench (MDT) and Puppet configuration software. In the case of AWS instances the Amazon EC2 service is also utilized. <br /><br />
<br />
The initial steps is building a base image in MDT. The base image is comprised of large applications that will seldom change, Microsoft SDKs, applications that may aid in deployment, and Windows Server Update Service (WSUS) components. <br /><br />
<br />
The second portion of this differs according to datacenter deployment or cloud deployment. Differences are documented below.However, in both cases the image has Puppet installed, and the image is prep to be ran against the PuppetAgain. As well a configurations that Puppet needs to run or at the time made more sense to be done through MDT.<br /><br />
<br />
General MDT documentation: https://mana.mozilla.org/wiki/display/SYSADMIN/Microsoft+Deployment+Toolkit+2012+Update+1+General+Documentation<br />
<br />
=== Windows 2008 Build Slave Configuration Managed by Microsoft Deployment Workbench Configuration ===<br />
=== Starting Operating System ===<br />
The process is begun with Windows Server 2008 R2 SP1 iso (en_windows_server_2008_r2_with_sp1_vl_build_x64_dvd_617403.iso). The iso file is mounted, in our case, using Virtual CloneDrive. Once the iso file is mounted it is then imported into the MDT. <br />
=== Base Configuration Capture (MDT Task Sequence ID SW2008_BASE_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Microsoft Visual Studio 2010<br /><br />
* This application install varies away from the typical MDT install. The files needed to be extracted from the iso and have the F# portion removed. The extracted files are then copied over local, and the installation command is ran <br />
<br />
Microsoft Visual Studio 2013 Update 3<br /><br />
* A reboot needs to occur between the installation of 2010 and 2013<br /><br />
<br />
Microsoft Windows Windows 8 SDK<br /><br />
<br />
Microsoft Windows Windows Direct X SDK<br /><br />
<br />
Microsoft Net Framework 3.5 <br /><br />
<br />
=== Configuration ===<br />
WSUS Updates<br />
* Various registry settings are needed <br />
** Refrence: https://bugzilla.mozilla.org/show_bug.cgi?id=972575<br /><br />
<br />
<br />
=== Data Center Deployment Configuration (MDT Task Sequence SW2008_DPLY_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Set Puppet Registry bits<br />
** "Type"=dword:00000010<br />
** "Start"=dword:00000003<br />
** "ErrorControl"=dword:00000001 <br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
Disable Server Manager Window "reg add HKCU\Software\Microsoft\ServerManager /t REG_DWORD /v DoNotOpenServerManagerAtLogon /d 1 /f<br />
* Because the registry setting is HKey current user it is quite difficult to implement through Puppet<br />
** Needs to be done after reboot post Puppet run<br />
<br />
<br />
=== Cloud Deploy Configuration Capture (MDT Task Sequence ID W2008_CLD_002)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
EC2 config service<br />
* Installation ""Z:\Applications\AWS EC2config service\Ec2Install.exe" /passive /norestart2config service\"<br />
<br />
Citrix PV<br />
* Copy from "Z:\Applications\Citrix-Win_PV" to "c:\Citrix-Win"<br />
* "C:\Citrix-Win\upgrade.bat" to install<br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
<br />
=== Windows 2008 Build Slave Configuration Managed by Puppet ===<br />
=== User Account Configuration ===<br />
=== Operating System Configuration ===<br />
=== Firewall Configuration ===<br />
=== Network Configuration ===<br />
=== Application Installs ===<br />
=== Buildbot and Runner Configuration ===</div>Mcornmesserhttps://wiki.mozilla.org/index.php?title=ReleaseEngineering/worker_configuration/2008&diff=1107037ReleaseEngineering/worker configuration/20082015-11-24T17:33:49Z<p>Mcornmesser: /* AMI Creation */</p>
<hr />
<div>=== Overview ===<br />
As of 2015-11-24 the configuration of 2008 buildbot slaves consists of 4 parts. The initial manual build of the AWS AMI, application of the 2008 PuppetAgain catalog, manual configuration changes, and lastly the EC2 userdata scripts. <br />
<br />
Manual configuration changes will eventually be part of PuppetAgain, and as well as portion of the manual AMI creation. These were currently left out do to the priority of getting buildbot builds working in AWS over the individual automation and management pieces.<br />
<br />
=== AMI Creation ===<br />
<br />
==== Starting Operating System====<br />
Due to a deep level issue affecting hg clone and hg bundle times we move away from using a custom AMI built of a Microsoft Deployment Workbench image and starting with an AWS vanilla AMI: Microsoft Windows Server 2008 R2 Base - ami-2debb748.<br />
<br />
==== Installed Applications =====<br />
<br />
=== Puppet Configuration ====<br />
<br />
=== Manual Configuration/Tweaks === <br />
<br />
=== EC2 Service Userdata Scripts ===<br />
<br />
== OLD PRE 2015-11 Configuration Notes (Incomplete) ==<br />
=== Overview ===<br />
The building of the 2008 builder slave image uses both the Microsoft Deployment Workbench (MDT) and Puppet configuration software. In the case of AWS instances the Amazon EC2 service is also utilized. <br /><br />
<br />
The initial steps is building a base image in MDT. The base image is comprised of large applications that will seldom change, Microsoft SDKs, applications that may aid in deployment, and Windows Server Update Service (WSUS) components. <br /><br />
<br />
The second portion of this differs according to datacenter deployment or cloud deployment. Differences are documented below.However, in both cases the image has Puppet installed, and the image is prep to be ran against the PuppetAgain. As well a configurations that Puppet needs to run or at the time made more sense to be done through MDT.<br /><br />
<br />
General MDT documentation: https://mana.mozilla.org/wiki/display/SYSADMIN/Microsoft+Deployment+Toolkit+2012+Update+1+General+Documentation<br />
<br />
=== Windows 2008 Build Slave Configuration Managed by Microsoft Deployment Workbench Configuration ===<br />
=== Starting Operating System ===<br />
The process is begun with Windows Server 2008 R2 SP1 iso (en_windows_server_2008_r2_with_sp1_vl_build_x64_dvd_617403.iso). The iso file is mounted, in our case, using Virtual CloneDrive. Once the iso file is mounted it is then imported into the MDT. <br />
=== Base Configuration Capture (MDT Task Sequence ID SW2008_BASE_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Microsoft Visual Studio 2010<br /><br />
* This application install varies away from the typical MDT install. The files needed to be extracted from the iso and have the F# portion removed. The extracted files are then copied over local, and the installation command is ran <br />
<br />
Microsoft Visual Studio 2013 Update 3<br /><br />
* A reboot needs to occur between the installation of 2010 and 2013<br /><br />
<br />
Microsoft Windows Windows 8 SDK<br /><br />
<br />
Microsoft Windows Windows Direct X SDK<br /><br />
<br />
Microsoft Net Framework 3.5 <br /><br />
<br />
=== Configuration ===<br />
WSUS Updates<br />
* Various registry settings are needed <br />
** Refrence: https://bugzilla.mozilla.org/show_bug.cgi?id=972575<br /><br />
<br />
<br />
=== Data Center Deployment Configuration (MDT Task Sequence SW2008_DPLY_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Set Puppet Registry bits<br />
** "Type"=dword:00000010<br />
** "Start"=dword:00000003<br />
** "ErrorControl"=dword:00000001 <br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
Disable Server Manager Window "reg add HKCU\Software\Microsoft\ServerManager /t REG_DWORD /v DoNotOpenServerManagerAtLogon /d 1 /f<br />
* Because the registry setting is HKey current user it is quite difficult to implement through Puppet<br />
** Needs to be done after reboot post Puppet run<br />
<br />
<br />
=== Cloud Deploy Configuration Capture (MDT Task Sequence ID W2008_CLD_002)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
EC2 config service<br />
* Installation ""Z:\Applications\AWS EC2config service\Ec2Install.exe" /passive /norestart2config service\"<br />
<br />
Citrix PV<br />
* Copy from "Z:\Applications\Citrix-Win_PV" to "c:\Citrix-Win"<br />
* "C:\Citrix-Win\upgrade.bat" to install<br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
<br />
=== Windows 2008 Build Slave Configuration Managed by Puppet ===<br />
=== User Account Configuration ===<br />
=== Operating System Configuration ===<br />
=== Firewall Configuration ===<br />
=== Network Configuration ===<br />
=== Application Installs ===<br />
=== Buildbot and Runner Configuration ===</div>Mcornmesserhttps://wiki.mozilla.org/index.php?title=ReleaseEngineering/worker_configuration/2008&diff=1107034ReleaseEngineering/worker configuration/20082015-11-24T17:22:07Z<p>Mcornmesser: Incremental save</p>
<hr />
<div>=== Overview ===<br />
As of 2015-11-24 the configuration of 2008 buildbot slaves consists of 4 parts. The initial manual build of the AWS AMI, application of the 2008 PuppetAgain catalog, manual configuration changes, and lastly the EC2 userdata scripts. <br />
<br />
Manual configuration changes will eventually be part of PuppetAgain, and as well as portion of the manual AMI creation. These were currently left out do to the priority of getting buildbot builds working in AWS over the individual automation and management pieces.<br />
<br />
=== AMI Creation ===<br />
<br />
=== Puppet Configuration ====<br />
<br />
=== Manual Configuration/Tweaks === <br />
<br />
=== EC2 Service Userdata Scripts ===<br />
<br />
== OLD PRE 2015-11 Configuration Notes (Incomplete) ==<br />
=== Overview ===<br />
The building of the 2008 builder slave image uses both the Microsoft Deployment Workbench (MDT) and Puppet configuration software. In the case of AWS instances the Amazon EC2 service is also utilized. <br /><br />
<br />
The initial steps is building a base image in MDT. The base image is comprised of large applications that will seldom change, Microsoft SDKs, applications that may aid in deployment, and Windows Server Update Service (WSUS) components. <br /><br />
<br />
The second portion of this differs according to datacenter deployment or cloud deployment. Differences are documented below.However, in both cases the image has Puppet installed, and the image is prep to be ran against the PuppetAgain. As well a configurations that Puppet needs to run or at the time made more sense to be done through MDT.<br /><br />
<br />
General MDT documentation: https://mana.mozilla.org/wiki/display/SYSADMIN/Microsoft+Deployment+Toolkit+2012+Update+1+General+Documentation<br />
<br />
=== Windows 2008 Build Slave Configuration Managed by Microsoft Deployment Workbench Configuration ===<br />
=== Starting Operating System ===<br />
The process is begun with Windows Server 2008 R2 SP1 iso (en_windows_server_2008_r2_with_sp1_vl_build_x64_dvd_617403.iso). The iso file is mounted, in our case, using Virtual CloneDrive. Once the iso file is mounted it is then imported into the MDT. <br />
=== Base Configuration Capture (MDT Task Sequence ID SW2008_BASE_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Microsoft Visual Studio 2010<br /><br />
* This application install varies away from the typical MDT install. The files needed to be extracted from the iso and have the F# portion removed. The extracted files are then copied over local, and the installation command is ran <br />
<br />
Microsoft Visual Studio 2013 Update 3<br /><br />
* A reboot needs to occur between the installation of 2010 and 2013<br /><br />
<br />
Microsoft Windows Windows 8 SDK<br /><br />
<br />
Microsoft Windows Windows Direct X SDK<br /><br />
<br />
Microsoft Net Framework 3.5 <br /><br />
<br />
=== Configuration ===<br />
WSUS Updates<br />
* Various registry settings are needed <br />
** Refrence: https://bugzilla.mozilla.org/show_bug.cgi?id=972575<br /><br />
<br />
<br />
=== Data Center Deployment Configuration (MDT Task Sequence SW2008_DPLY_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Set Puppet Registry bits<br />
** "Type"=dword:00000010<br />
** "Start"=dword:00000003<br />
** "ErrorControl"=dword:00000001 <br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
Disable Server Manager Window "reg add HKCU\Software\Microsoft\ServerManager /t REG_DWORD /v DoNotOpenServerManagerAtLogon /d 1 /f<br />
* Because the registry setting is HKey current user it is quite difficult to implement through Puppet<br />
** Needs to be done after reboot post Puppet run<br />
<br />
<br />
=== Cloud Deploy Configuration Capture (MDT Task Sequence ID W2008_CLD_002)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
EC2 config service<br />
* Installation ""Z:\Applications\AWS EC2config service\Ec2Install.exe" /passive /norestart2config service\"<br />
<br />
Citrix PV<br />
* Copy from "Z:\Applications\Citrix-Win_PV" to "c:\Citrix-Win"<br />
* "C:\Citrix-Win\upgrade.bat" to install<br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
<br />
=== Windows 2008 Build Slave Configuration Managed by Puppet ===<br />
=== User Account Configuration ===<br />
=== Operating System Configuration ===<br />
=== Firewall Configuration ===<br />
=== Network Configuration ===<br />
=== Application Installs ===<br />
=== Buildbot and Runner Configuration ===</div>Mcornmesserhttps://wiki.mozilla.org/index.php?title=ReleaseEngineering/worker_configuration/2008&diff=1107023ReleaseEngineering/worker configuration/20082015-11-24T17:02:57Z<p>Mcornmesser: Incremental save</p>
<hr />
<div>=== OLD PRE 2015-12 Configuration notes Incomplete ===<br />
=== Overview ===<br />
The building of the 2008 builder slave image uses both the Microsoft Deployment Workbench (MDT) and Puppet configuration software. In the case of AWS instances the Amazon EC2 service is also utilized. <br /><br />
<br />
The initial steps is building a base image in MDT. The base image is comprised of large applications that will seldom change, Microsoft SDKs, applications that may aid in deployment, and Windows Server Update Service (WSUS) components. <br /><br />
<br />
The second portion of this differs according to datacenter deployment or cloud deployment. Differences are documented below.However, in both cases the image has Puppet installed, and the image is prep to be ran against the PuppetAgain. As well a configurations that Puppet needs to run or at the time made more sense to be done through MDT.<br /><br />
<br />
General MDT documentation: https://mana.mozilla.org/wiki/display/SYSADMIN/Microsoft+Deployment+Toolkit+2012+Update+1+General+Documentation<br />
<br />
== Windows 2008 Build Slave Configuration Managed by Microsoft Deployment Workbench Configuration ==<br />
=== Starting Operating System ===<br />
The process is begun with Windows Server 2008 R2 SP1 iso (en_windows_server_2008_r2_with_sp1_vl_build_x64_dvd_617403.iso). The iso file is mounted, in our case, using Virtual CloneDrive. Once the iso file is mounted it is then imported into the MDT. <br />
=== Base Configuration Capture (MDT Task Sequence ID SW2008_BASE_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Microsoft Visual Studio 2010<br /><br />
* This application install varies away from the typical MDT install. The files needed to be extracted from the iso and have the F# portion removed. The extracted files are then copied over local, and the installation command is ran <br />
<br />
Microsoft Visual Studio 2013 Update 3<br /><br />
* A reboot needs to occur between the installation of 2010 and 2013<br /><br />
<br />
Microsoft Windows Windows 8 SDK<br /><br />
<br />
Microsoft Windows Windows Direct X SDK<br /><br />
<br />
Microsoft Net Framework 3.5 <br /><br />
<br />
=== Configuration ===<br />
WSUS Updates<br />
* Various registry settings are needed <br />
** Refrence: https://bugzilla.mozilla.org/show_bug.cgi?id=972575<br /><br />
<br />
<br />
=== Data Center Deployment Configuration (MDT Task Sequence SW2008_DPLY_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Set Puppet Registry bits<br />
** "Type"=dword:00000010<br />
** "Start"=dword:00000003<br />
** "ErrorControl"=dword:00000001 <br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
Disable Server Manager Window "reg add HKCU\Software\Microsoft\ServerManager /t REG_DWORD /v DoNotOpenServerManagerAtLogon /d 1 /f<br />
* Because the registry setting is HKey current user it is quite difficult to implement through Puppet<br />
** Needs to be done after reboot post Puppet run<br />
<br />
<br />
=== Cloud Deploy Configuration Capture (MDT Task Sequence ID W2008_CLD_002)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
EC2 config service<br />
* Installation ""Z:\Applications\AWS EC2config service\Ec2Install.exe" /passive /norestart2config service\"<br />
<br />
Citrix PV<br />
* Copy from "Z:\Applications\Citrix-Win_PV" to "c:\Citrix-Win"<br />
* "C:\Citrix-Win\upgrade.bat" to install<br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
<br />
== Windows 2008 Build Slave Configuration Managed by Puppet ==<br />
=== User Account Configuration ===<br />
=== Operating System Configuration ===<br />
=== Firewall Configuration ===<br />
=== Network Configuration ===<br />
=== Application Installs ===<br />
=== Buildbot and Runner Configuration ===</div>Mcornmesserhttps://wiki.mozilla.org/index.php?title=ReleaseEngineering/worker_configuration/2008&diff=1091138ReleaseEngineering/worker configuration/20082015-08-20T22:08:05Z<p>Mcornmesser: /* Windows 2008 Build Slave Configuration Managed by Puppet */</p>
<hr />
<div>=== Overview ===<br />
The building of the 2008 builder slave image uses both the Microsoft Deployment Workbench (MDT) and Puppet configuration software. In the case of AWS instances the Amazon EC2 service is also utilized. <br /><br />
<br />
The initial steps is building a base image in MDT. The base image is comprised of large applications that will seldom change, Microsoft SDKs, applications that may aid in deployment, and Windows Server Update Service (WSUS) components. <br /><br />
<br />
The second portion of this differs according to datacenter deployment or cloud deployment. Differences are documented below.However, in both cases the image has Puppet installed, and the image is prep to be ran against the PuppetAgain. As well a configurations that Puppet needs to run or at the time made more sense to be done through MDT.<br /><br />
<br />
General MDT documentation: https://mana.mozilla.org/wiki/display/SYSADMIN/Microsoft+Deployment+Toolkit+2012+Update+1+General+Documentation<br />
<br />
== Windows 2008 Build Slave Configuration Managed by Microsoft Deployment Workbench Configuration ==<br />
=== Starting Operating System ===<br />
The process is begun with Windows Server 2008 R2 SP1 iso (en_windows_server_2008_r2_with_sp1_vl_build_x64_dvd_617403.iso). The iso file is mounted, in our case, using Virtual CloneDrive. Once the iso file is mounted it is then imported into the MDT. <br />
=== Base Configuration Capture (MDT Task Sequence ID SW2008_BASE_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Microsoft Visual Studio 2010<br /><br />
* This application install varies away from the typical MDT install. The files needed to be extracted from the iso and have the F# portion removed. The extracted files are then copied over local, and the installation command is ran <br />
<br />
Microsoft Visual Studio 2013 Update 3<br /><br />
* A reboot needs to occur between the installation of 2010 and 2013<br /><br />
<br />
Microsoft Windows Windows 8 SDK<br /><br />
<br />
Microsoft Windows Windows Direct X SDK<br /><br />
<br />
Microsoft Net Framework 3.5 <br /><br />
<br />
=== Configuration ===<br />
WSUS Updates<br />
* Various registry settings are needed <br />
** Refrence: https://bugzilla.mozilla.org/show_bug.cgi?id=972575<br /><br />
<br />
<br />
=== Data Center Deployment Configuration (MDT Task Sequence SW2008_DPLY_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Set Puppet Registry bits<br />
** "Type"=dword:00000010<br />
** "Start"=dword:00000003<br />
** "ErrorControl"=dword:00000001 <br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
Disable Server Manager Window "reg add HKCU\Software\Microsoft\ServerManager /t REG_DWORD /v DoNotOpenServerManagerAtLogon /d 1 /f<br />
* Because the registry setting is HKey current user it is quite difficult to implement through Puppet<br />
** Needs to be done after reboot post Puppet run<br />
<br />
<br />
=== Cloud Deploy Configuration Capture (MDT Task Sequence ID W2008_CLD_002)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
EC2 config service<br />
* Installation ""Z:\Applications\AWS EC2config service\Ec2Install.exe" /passive /norestart2config service\"<br />
<br />
Citrix PV<br />
* Copy from "Z:\Applications\Citrix-Win_PV" to "c:\Citrix-Win"<br />
* "C:\Citrix-Win\upgrade.bat" to install<br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
<br />
== Windows 2008 Build Slave Configuration Managed by Puppet ==<br />
=== User Account Configuration ===<br />
=== Operating System Configuration ===<br />
=== Firewall Configuration ===<br />
=== Network Configuration ===<br />
=== Application Installs ===<br />
=== Buildbot and Runner Configuration ===</div>Mcornmesserhttps://wiki.mozilla.org/index.php?title=ReleaseEngineering/worker_configuration/2008&diff=1091137ReleaseEngineering/worker configuration/20082015-08-20T22:05:36Z<p>Mcornmesser: Saving WIP</p>
<hr />
<div>=== Overview ===<br />
The building of the 2008 builder slave image uses both the Microsoft Deployment Workbench (MDT) and Puppet configuration software. In the case of AWS instances the Amazon EC2 service is also utilized. <br /><br />
<br />
The initial steps is building a base image in MDT. The base image is comprised of large applications that will seldom change, Microsoft SDKs, applications that may aid in deployment, and Windows Server Update Service (WSUS) components. <br /><br />
<br />
The second portion of this differs according to datacenter deployment or cloud deployment. Differences are documented below.However, in both cases the image has Puppet installed, and the image is prep to be ran against the PuppetAgain. As well a configurations that Puppet needs to run or at the time made more sense to be done through MDT.<br /><br />
<br />
General MDT documentation: https://mana.mozilla.org/wiki/display/SYSADMIN/Microsoft+Deployment+Toolkit+2012+Update+1+General+Documentation<br />
<br />
== Windows 2008 Build Slave Configuration Managed by Microsoft Deployment Workbench Configuration ==<br />
=== Starting Operating System ===<br />
The process is begun with Windows Server 2008 R2 SP1 iso (en_windows_server_2008_r2_with_sp1_vl_build_x64_dvd_617403.iso). The iso file is mounted, in our case, using Virtual CloneDrive. Once the iso file is mounted it is then imported into the MDT. <br />
=== Base Configuration Capture (MDT Task Sequence ID SW2008_BASE_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Microsoft Visual Studio 2010<br /><br />
* This application install varies away from the typical MDT install. The files needed to be extracted from the iso and have the F# portion removed. The extracted files are then copied over local, and the installation command is ran <br />
<br />
Microsoft Visual Studio 2013 Update 3<br /><br />
* A reboot needs to occur between the installation of 2010 and 2013<br /><br />
<br />
Microsoft Windows Windows 8 SDK<br /><br />
<br />
Microsoft Windows Windows Direct X SDK<br /><br />
<br />
Microsoft Net Framework 3.5 <br /><br />
<br />
=== Configuration ===<br />
WSUS Updates<br />
* Various registry settings are needed <br />
** Refrence: https://bugzilla.mozilla.org/show_bug.cgi?id=972575<br /><br />
<br />
<br />
=== Data Center Deployment Configuration (MDT Task Sequence SW2008_DPLY_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Set Puppet Registry bits<br />
** "Type"=dword:00000010<br />
** "Start"=dword:00000003<br />
** "ErrorControl"=dword:00000001 <br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
Disable Server Manager Window "reg add HKCU\Software\Microsoft\ServerManager /t REG_DWORD /v DoNotOpenServerManagerAtLogon /d 1 /f<br />
* Because the registry setting is HKey current user it is quite difficult to implement through Puppet<br />
** Needs to be done after reboot post Puppet run<br />
<br />
<br />
=== Cloud Deploy Configuration Capture (MDT Task Sequence ID W2008_CLD_002)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
EC2 config service<br />
* Installation ""Z:\Applications\AWS EC2config service\Ec2Install.exe" /passive /norestart2config service\"<br />
<br />
Citrix PV<br />
* Copy from "Z:\Applications\Citrix-Win_PV" to "c:\Citrix-Win"<br />
* "C:\Citrix-Win\upgrade.bat" to install<br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
<br />
== Windows 2008 Build Slave Configuration Managed by Puppet ==<br />
=== User Account engagement ===<br />
=== System Configuration ===<br />
=== Firewall Configuration ===<br />
=== Network Configuration ===<br />
=== Buildbot and Runner Configuration ===</div>Mcornmesserhttps://wiki.mozilla.org/index.php?title=ReleaseEngineering/worker_configuration/2008&diff=1091136ReleaseEngineering/worker configuration/20082015-08-20T22:01:25Z<p>Mcornmesser: Saving WIP</p>
<hr />
<div>=== Overview ===<br />
The building of the 2008 builder slave image uses both the Microsoft Deployment Workbench (MDT) and Puppet configuration software. In the case of AWS instances the Amazon EC2 service is also utilized. <br /><br />
<br />
The initial steps is building a base image in MDT. The base image is comprised of large applications that will seldom change, Microsoft SDKs, applications that may aid in deployment, and Windows Server Update Service (WSUS) components. <br /><br />
<br />
The second portion of this differs according to datacenter deployment or cloud deployment. Differences are documented below.However, in both cases the image has Puppet installed, and the image is prep to be ran against the PuppetAgain. As well a configurations that Puppet needs to run or at the time made more sense to be done through MDT.<br /><br />
<br />
General MDT documentation: https://mana.mozilla.org/wiki/display/SYSADMIN/Microsoft+Deployment+Toolkit+2012+Update+1+General+Documentation<br />
<br />
== Windows 2008 Build Slave Configuration Managed by Microsoft Deployment Workbench Configuration ==<br />
=== Starting Operating System ===<br />
The process is begun with Windows Server 2008 R2 SP1 iso (en_windows_server_2008_r2_with_sp1_vl_build_x64_dvd_617403.iso). The iso file is mounted, in our case, using Virtual CloneDrive. Once the iso file is mounted it is then imported into the MDT. <br />
=== Base Configuration Capture (MDT Task Sequence ID SW2008_BASE_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Microsoft Visual Studio 2010<br /><br />
* This application install varies away from the typical MDT install. The files needed to be extracted from the iso and have the F# portion removed. The extracted files are then copied over local, and the installation command is ran <br />
<br />
Microsoft Visual Studio 2013 Update 3<br /><br />
* A reboot needs to occur between the installation of 2010 and 2013<br /><br />
<br />
Microsoft Windows Windows 8 SDK<br /><br />
<br />
Microsoft Windows Windows Direct X SDK<br /><br />
<br />
Microsoft Net Framework 3.5 <br /><br />
<br />
=== Configuration ===<br />
WSUS Updates<br />
* Various registry settings are needed <br />
** Refrence: https://bugzilla.mozilla.org/show_bug.cgi?id=972575<br /><br />
<br />
<br />
=== Data Center Deployment Configuration (MDT Task Sequence SW2008_DPLY_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Set Puppet Registry bits<br />
** "Type"=dword:00000010<br />
** "Start"=dword:00000003<br />
** "ErrorControl"=dword:00000001 <br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
Disable Server Manager Window "reg add HKCU\Software\Microsoft\ServerManager /t REG_DWORD /v DoNotOpenServerManagerAtLogon /d 1 /f<br />
* Because the registry setting is HKey current user it is quite difficult to implement through Puppet<br />
** Needs to be done after reboot post Puppet run<br />
<br />
<br />
=== Cloud Deploy Configuration Capture (MDT Task Sequence ID W2008_CLD_002)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
EC2 config service<br />
* Installation ""Z:\Applications\AWS EC2config service\Ec2Install.exe" /passive /norestart2config service\"<br />
<br />
Citrix PV<br />
* Copy from "Z:\Applications\Citrix-Win_PV" to "c:\Citrix-Win"<br />
* "C:\Citrix-Win\upgrade.bat" to install<br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
<br />
== Windows 2008 Build Slave Configuration Managed by Puppet ==</div>Mcornmesserhttps://wiki.mozilla.org/index.php?title=ReleaseEngineering/worker_configuration/2008&diff=1091135ReleaseEngineering/worker configuration/20082015-08-20T21:56:41Z<p>Mcornmesser: Saving WIP</p>
<hr />
<div>=== Overview ===<br />
The building of the 2008 builder slave image uses both the Microsoft Deployment Workbench (MDT) and Puppet configuration software. In the case of AWS instances the Amazon EC2 service is also utilized. <br /><br />
<br />
The initial steps is building a base image in MDT. The base image is comprised of large applications that will seldom change, Microsoft SDKs, applications that may aid in deployment, and Windows Server Update Service (WSUS) components. <br /><br />
<br />
The second portion of this differs according to datacenter deployment or cloud deployment. Differences are documented below.However, in both cases the image has Puppet installed, and the image is prep to be ran against the PuppetAgain. As well a configurations that Puppet needs to run or at the time made more sense to be done through MDT.<br /><br />
<br />
General MDT documentation: https://mana.mozilla.org/wiki/display/SYSADMIN/Microsoft+Deployment+Toolkit+2012+Update+1+General+Documentation<br />
<br />
== Windows 2008 Build Slave Configuration Managed by Microsoft Deployment Workbench Configuration ==<br />
=== Starting Operating System ===<br />
The process is begun with Windows Server 2008 R2 SP1 iso (en_windows_server_2008_r2_with_sp1_vl_build_x64_dvd_617403.iso). The iso file is mounted, in our case, using Virtual CloneDrive. Once the iso file is mounted it is then imported into the Microsoft Deployment Workbench (MDT). <br />
=== Base Configuration Capture (MDT Task Sequence ID SW2008_BASE_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Microsoft Visual Studio 2010<br /><br />
* This application install varies away from the typical MDT install. The files needed to be extracted from the iso and have the F# portion removed. The extracted files are then copied over local, and the installation command is ran <br />
<br />
Microsoft Visual Studio 2013 Update 3<br /><br />
* A reboot needs to occur between the installation of 2010 and 2013<br /><br />
<br />
Microsoft Windows Windows 8 SDK<br /><br />
<br />
Microsoft Windows Windows Direct X SDK<br /><br />
<br />
Microsoft Net Framework 3.5 <br /><br />
<br />
=== Configuration ===<br />
WSUS Updates<br />
* Various registry settings are needed <br />
** Refrence: https://bugzilla.mozilla.org/show_bug.cgi?id=972575<br /><br />
<br />
<br />
=== Data Center Deployment Configuration (MDT Task Sequence SW2008_DPLY_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Set Puppet Registry bits<br />
** "Type"=dword:00000010<br />
** "Start"=dword:00000003<br />
** "ErrorControl"=dword:00000001 <br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
Disable Server Manager Window "reg add HKCU\Software\Microsoft\ServerManager /t REG_DWORD /v DoNotOpenServerManagerAtLogon /d 1 /f<br />
* Because the registry setting is HKey current user it is quite difficult to implement through Puppet<br />
** Needs to be done after reboot post Puppet run<br />
<br />
<br />
=== Cloud Deploy Configuration Capture (MDT Task Sequence ID W2008_CLD_002)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
EC2 config service<br />
* Installation ""Z:\Applications\AWS EC2config service\Ec2Install.exe" /passive /norestart2config service\"<br />
<br />
Citrix PV<br />
* Copy from "Z:\Applications\Citrix-Win_PV" to "c:\Citrix-Win"<br />
* "C:\Citrix-Win\upgrade.bat" to install<br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
<br />
== Windows 2008 Build Slave Configuration Managed by Puppet ==</div>Mcornmesserhttps://wiki.mozilla.org/index.php?title=ReleaseEngineering/worker_configuration/2008&diff=1091117ReleaseEngineering/worker configuration/20082015-08-20T19:52:04Z<p>Mcornmesser: Saving WIP</p>
<hr />
<div>=== Overview ===<br />
The building of the 2008 builder slave image uses both the Microsoft Deployment Workbench (MDT) and Puppet configuration software. In the case of AWS instances the Amazon EC2 service is also utilized. <br /><br />
<br />
The initial steps is building a base image in MDT. The base image is comprised of large applications that will seldom change, Microsoft SDKs, applications that may aid in deployment, and Windows Server Update Service (WSUS) components. <br /><br />
<br />
The second portion of this differs according to datacenter deployment or cloud deployment. Differences are documented below.However, in both cases the image has Puppet installed, and the image is prep to be ran against the PuppetAgain. As well a configurations that Puppet needs to run or at the time made more sense to be done through MDT.<br /><br />
<br />
General MDT documentation: https://mana.mozilla.org/wiki/display/SYSADMIN/Microsoft+Deployment+Toolkit+2012+Update+1+General+Documentation<br />
<br />
== Windows 2008 Build Slave Configuration Managed by Microsoft Deployment Workbench Configuration ==<br />
=== Starting Operating System ===<br />
The process is begun with Windows Server 2008 R2 SP1 iso (en_windows_server_2008_r2_with_sp1_vl_build_x64_dvd_617403.iso). The iso file is mounted, in our case, using Virtual CloneDrive. Once the iso file is mounted it is then imported into the Microsoft Deployment Workbench (MDT). <br />
=== Base Configuration Capture (MDT Task Sequence ID SW2008_BASE_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Microsoft Visual Studio 2010<br /><br />
* This application install varies away from the typical MDT install. The files needed to be extracted from the iso and have the F# portion removed. The extracted files are then copied over local, and the installation command is ran <br />
<br />
Microsoft Visual Studio 2013 Update 3<br /><br />
* A reboot needs to occur between the installation of 2010 and 2013<br /><br />
<br />
Microsoft Windows Windows 8 SDK<br /><br />
<br />
Microsoft Windows Windows Direct X SDK<br /><br />
<br />
Microsoft Net Framework 3.5 <br /><br />
<br />
=== Configuration ===<br />
WSUS Updates<br />
* Various registry settings are needed <br />
** Refrence: https://bugzilla.mozilla.org/show_bug.cgi?id=972575<br /><br />
<br />
<br />
=== Data Center Deployment Configuration (MDT Task Sequence SW2008_DPLY_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Set Puppet Registry bits<br />
** "Type"=dword:00000010<br />
** "Start"=dword:00000003<br />
** "ErrorControl"=dword:00000001 <br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the Pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
* Run Puppetize vbs<br />
* Run Puppet<br /><br />
<br />
=== Configuration ===<br />
Rename Administrator to root<br />
* Copy over security template, root.inf, from "Z:\Files\root"<br />
* Apply template cmd /c secedit /configure /db %temp%\temp.sdb /cfg C:\root.inf<br />
* Set registry so that root may continue to auto-login during task sequence execution<br /><br />
<br />
Set a os_version "reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v os_version /t REG_SZ /d 2008"<br />
** For Puppet use. Currently there is no facter fact to differentiate between Windows OSes<br /><br />
<br />
Disable Server Manager Window "reg add HKCU\Software\Microsoft\ServerManager /t REG_DWORD /v DoNotOpenServerManagerAtLogon /d 1 /f<br />
* Because the registry setting is HKey current user it is quite difficult to implement through Puppet<br />
** Needs to be done after reboot post Puppet run<br />
<br />
<br />
=== Cloud Deploy Configuration Capture (MDT Task Sequence ID W2008_CLD_002)===<br />
== Windows 2008 Build Slave Configuration Managed by Puppet ==</div>Mcornmesserhttps://wiki.mozilla.org/index.php?title=ReleaseEngineering/worker_configuration/2008&diff=1091114ReleaseEngineering/worker configuration/20082015-08-20T19:40:18Z<p>Mcornmesser: Saving WIP</p>
<hr />
<div>=== Overview ===<br />
The building of the 2008 builder slave image uses both the Microsoft Deployment Workbench (MDT) and Puppet configuration software. In the case of AWS instances the Amazon EC2 service is also utilized. <br /><br />
<br />
The initial steps is building a base image in MDT. The base image is comprised of large applications that will seldom change, Microsoft SDKs, applications that may aid in deployment, and Windows Server Update Service (WSUS) components. <br /><br />
<br />
The second portion of this differs according to datacenter deployment or cloud deployment. Differences are documented below.However, in both cases the image has Puppet installed, and the image is prep to be ran against the PuppetAgain. As well a configurations that Puppet needs to run or at the time made more sense to be done through MDT.<br /><br />
<br />
General MDT documentation: https://mana.mozilla.org/wiki/display/SYSADMIN/Microsoft+Deployment+Toolkit+2012+Update+1+General+Documentation<br />
<br />
== Windows 2008 Build Slave Configuration Managed by Microsoft Deployment Workbench Configuration ==<br />
=== Starting Operating System ===<br />
The process is begun with Windows Server 2008 R2 SP1 iso (en_windows_server_2008_r2_with_sp1_vl_build_x64_dvd_617403.iso). The iso file is mounted, in our case, using Virtual CloneDrive. Once the iso file is mounted it is then imported into the Microsoft Deployment Workbench (MDT). <br />
=== Base Configuration Capture (MDT Task Sequence ID SW2008_BASE_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Microsoft Visual Studio 2010<br /><br />
* This application install varies away from the typical MDT install. The files needed to be extracted from the iso and have the F# portion removed. The extracted files are then copied over local, and the installation command is ran <br />
<br />
Microsoft Visual Studio 2013 Update 3<br /><br />
* A reboot needs to occur between the installation of 2010 and 2013<br /><br />
<br />
Microsoft Windows Windows 8 SDK<br /><br />
<br />
Microsoft Windows Windows Direct X SDK<br /><br />
<br />
Microsoft Net Framework 3.5 <br /><br />
<br />
=== Configuration ===<br />
WSUS Updates<br />
* Various registry settings are needed <br />
** Refrence: https://bugzilla.mozilla.org/show_bug.cgi?id=972575<br /><br />
<br />
<br />
=== Data Center Deployment Configuration (MDT Task Sequence SW2008_DPLY_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
* Kill the Puppet service<br />
** In order to control when Puppet runs<br />
* Set Puppet Registry bits<br />
** "Type"=dword:00000010<br />
** "Start"=dword:00000003<br />
** "ErrorControl"=dword:00000001 <br />
* Copy over WGET from "Z:\Applications\WGET" to "C:\Windows\System32"<br />
** Needed to run the Puppetize vbs to obtain certs<br />
* Copy over puppet.conf from Z:\Applications\Puppet Puppet\puppet.conf" to "C:\programdata\Puppetlabs\puppet\etc\"<br />
** A copy of pupept.conf is needed prior to the Pupeptize vbs being ran<br />
** After this initial copy the file is managed by Puppet<br />
* Copy over the pupeptize vbs from "Z:\Scripts\" to "C:\ProgramData\Puppetlabs\puppet\var\"<br />
=== Cloud Deploy Configuration Capture (MDT Task Sequence ID W2008_CLD_002)===<br />
== Windows 2008 Build Slave Configuration Managed by Puppet ==</div>Mcornmesserhttps://wiki.mozilla.org/index.php?title=ReleaseEngineering/worker_configuration/2008&diff=1091113ReleaseEngineering/worker configuration/20082015-08-20T19:22:19Z<p>Mcornmesser: Saving WIP</p>
<hr />
<div>=== Overview ===<br />
The building of the 2008 builder slave image uses both the Microsoft Deployment Workbench (MDT) and Puppet configuration software. In the case of AWS instances the Amazon EC2 service is also utilized. <br /><br />
<br />
The initial steps is building a base image in MDT. The base image is comprised of large applications that will seldom change, Microsoft SDKs, applications that may aid in deployment, and Windows Server Update Service (WSUS) components. <br /><br />
<br />
The second portion of this differs according to datacenter deployment or cloud deployment. Differences are documented below.However, in both cases the image has Puppet installed, and the image is prep to be ran against the PuppetAgain. As well a configurations that Puppet needs to run or at the time made more sense to be done through MDT.<br /><br />
<br />
General MDT documentation: https://mana.mozilla.org/wiki/display/SYSADMIN/Microsoft+Deployment+Toolkit+2012+Update+1+General+Documentation<br />
<br />
== Windows 2008 Build Slave Configuration Managed by Microsoft Deployment Workbench Configuration ==<br />
=== Starting Operating System ===<br />
The process is begun with Windows Server 2008 R2 SP1 iso (en_windows_server_2008_r2_with_sp1_vl_build_x64_dvd_617403.iso). The iso file is mounted, in our case, using Virtual CloneDrive. Once the iso file is mounted it is then imported into the Microsoft Deployment Workbench (MDT). <br />
=== Base Configuration Capture (MDT Task Sequence ID SW2008_BASE_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Microsoft Visual Studio 2010<br /><br />
* This application install varies away from the typical MDT install. The files needed to be extracted from the iso and have the F# portion removed. The extracted files are then copied over local, and the installation command is ran <br />
<br />
Microsoft Visual Studio 2013 Update 3<br /><br />
* A reboot needs to occur between the installation of 2010 and 2013<br /><br />
<br />
Microsoft Windows Windows 8 SDK<br /><br />
<br />
Microsoft Windows Windows Direct X SDK<br /><br />
<br />
Microsoft Net Framework 3.5 <br /><br />
<br />
=== Configuration ===<br />
WSUS Updates<br />
* Various registry settings are needed <br />
** Refrence: https://bugzilla.mozilla.org/show_bug.cgi?id=972575<br /><br />
<br />
<br />
=== Data Center Deployment Configuration (MDT Task Sequence SW2008_DPLY_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom.<br /><br />
<br />
===== Applications =====<br />
Puppet<br /><br />
* Package installation<br />
** This installs version 3.4.3<br />
** Future updates will be managed through Puppet<br />
*<br />
<br />
=== Cloud Deploy Configuration Capture (MDT Task Sequence ID W2008_CLD_002)===<br />
== Windows 2008 Build Slave Configuration Managed by Puppet ==</div>Mcornmesserhttps://wiki.mozilla.org/index.php?title=ReleaseEngineering/worker_configuration/2008&diff=1091108ReleaseEngineering/worker configuration/20082015-08-20T19:00:47Z<p>Mcornmesser: Saving WIP</p>
<hr />
<div>=== Overview ===<br />
The building of the 2008 builder slave image uses both the Microsoft Deployment Workbench (MDT) and Puppet configuration software. In the case of AWS instances the Amazon EC2 service is also utilized. <br /><br />
<br />
The initial steps is building a base image in MDT. The base image is comprised of large applications that will seldom change, Microsoft SDKs, applications that may aid in deployment, and Windows Server Update Service (WSUS) components. <br /><br />
<br />
The second portion of this differs according to datacenter deployment or cloud deployment. Differences are documented below.However, in both cases the image has Puppet installed, and the image is prep to be ran against the PuppetAgain. As well a configurations that Puppet needs to run or at the time made more sense to be done through MDT.<br /><br />
<br />
General MDT documentation: https://mana.mozilla.org/wiki/display/SYSADMIN/Microsoft+Deployment+Toolkit+2012+Update+1+General+Documentation<br />
<br />
== Windows 2008 Build Slave Configuration Managed by Microsoft Deployment Workbench Configuration ==<br />
=== Starting Operating System ===<br />
The process is begun with Windows Server 2008 R2 SP1 iso (en_windows_server_2008_r2_with_sp1_vl_build_x64_dvd_617403.iso). The iso file is mounted, in our case, using Virtual CloneDrive. Once the iso file is mounted it is then imported into the Microsoft Deployment Workbench (MDT). <br />
=== Base Configuration Capture (MDT Task Sequence ID SW2008_BASE_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom. <br />
===== Applications =====<br />
Microsoft Visual Studio 2010<br /><br />
* This application install has been customized. <br />
<br />
Microsoft Visual Studio 2013 Update 3<br /><br />
<br />
Microsoft Windows Windows 8 SDK<br /><br />
<br />
Microsoft Windows Windows Direct X SDK<br /><br />
<br />
Microsoft Net Framework 3.5 <br /><br />
<br />
=== Configuration ===<br />
WSUS Updates<br />
=== Data Center Deployment Configuration (MDT Task Sequence SW2008_DPLY_001)===<br />
=== Cloud Deploy Configuration Capture (MDT Task Sequence ID W2008_CLD_002)===<br />
== Windows 2008 Build Slave Configuration Managed by Puppet ==</div>Mcornmesserhttps://wiki.mozilla.org/index.php?title=ReleaseEngineering/worker_configuration/2008&diff=1091099ReleaseEngineering/worker configuration/20082015-08-20T18:20:15Z<p>Mcornmesser: Created page with "== Windows 2008 Build Slave Configuration == === Overview === === Starting Operating System === The process is begun with Windows Server 2008 R2 SP1 iso (en_windows_server_200..."</p>
<hr />
<div>== Windows 2008 Build Slave Configuration ==<br />
=== Overview ===<br />
=== Starting Operating System ===<br />
The process is begun with Windows Server 2008 R2 SP1 iso (en_windows_server_2008_r2_with_sp1_vl_build_x64_dvd_617403.iso). The iso file is mounted, in our case, using Virtual CloneDrive. Once the iso file is mounted it is then imported into the Microsoft Deployment Workbench (MDT). <br />
=== Base Configuration Capture (MDT Task Sequence ID SW2008_BASE_001)===<br />
The modification here is found under tasks sequence steps -> State Restore -> Custom Tasks -> Mozilla Custom. <br />
===== Applications =====<br />
Microsoft Visual Studio 2010<br />
Microsoft Visual Studio 2013 Update 3<br />
Microsoft Windows Windows 8 SDK<br />
Microsoft Windows Windows</div>Mcornmesserhttps://wiki.mozilla.org/index.php?title=ReleaseEngineering/PuppetAgain&diff=1000127ReleaseEngineering/PuppetAgain2014-07-24T16:28:53Z<p>Mcornmesser: </p>
<hr />
<div><div style="float: right; border: thin black solid; padding: 2em;"><br />
A sysadmin asked the Architect,<br />
:"What's the best way to install a new system?"<br />
The Architect answered,<br />
:"Turn it on."<br />
The sysadmin was enlightened.<br />
</div><br />
<br />
= Documentation - Manifests & Modules =<br />
<br />
The Puppet manifests themselves are documented here. Any new modules should be added to the proper list below.<br />
<br />
== Modules ==<br />
<br />
All substantial configuration is done with puppet modules, in the <tt>modules</tt> directory. Each should have its own page describing both how to use the module, and how the module works, below:<br />
<br />
=== Infrastructure ===<br />
<br />
These modules are part of the puppet system itself, and provide support to other modules as needed<br />
<br />
* [[ReleaseEngineering/PuppetAgain/Modules/config]] - global configuration<br />
* [[ReleaseEngineering/PuppetAgain/Modules/dirs]] - Common directories<br />
* [[ReleaseEngineering/PuppetAgain/Modules/packages]] - install packages generically<br />
* [[ReleaseEngineering/PuppetAgain/Modules/puppet]] - install, upgrade, and run puppet (including custom facts, etc.)<br />
* [[ReleaseEngineering/PuppetAgain/Modules/toplevel]] - top-level classes for node types, included from node definitions<br />
* [[ReleaseEngineering/PuppetAgain/Modules/shared]] - shared calculated values, functions, facts, etc.<br />
* [[ReleaseEngineering/PuppetAgain/Modules/users]] - user account management<br />
* [[ReleaseEngineering/PuppetAgain/Modules/puppetmaster]] - install, upgrade and run puppet master<br />
<br />
=== Action ===<br />
<br />
These modules actually get stuff done.<br />
<br />
* [[ReleaseEngineering/PuppetAgain/Modules/androidemulator]] - install and configure Android emulators <br />
* [[ReleaseEngineering/PuppetAgain/Modules/aws_manager]] - install and manage AWS related management scripts <br />
* [[ReleaseEngineering/PuppetAgain/Modules/bmm]] - configure all the components of a Mozpool imaging server<br />
* [[ReleaseEngineering/PuppetAgain/Modules/bors]] - bors installation<br />
* [[ReleaseEngineering/PuppetAgain/Modules/buildslave]] - buildslave (buildbot) installation and startup<br />
* [[ReleaseEngineering/PuppetAgain/Modules/buildmaster]] - buildmaster (buildbot) installation and startup<br />
* [[ReleaseEngineering/PuppetAgain/Modules/ccache]] - ccache directory management<br />
* [[ReleaseEngineering/PuppetAgain/Modules/clean]] - cleanup tasks<br />
* [[ReleaseEngineering/PuppetAgain/Modules/collectd]] - configure collectd<br />
* [[ReleaseEngineering/PuppetAgain/Modules/cron]] - install and start the cron daemon<br />
* [[ReleaseEngineering/PuppetAgain/Modules/disableservices]] - disable unneeded services <br />
* [[ReleaseEngineering/PuppetAgain/Modules/foopy]] - build foopies<br />
* [[ReleaseEngineering/PuppetAgain/Modules/fw]] - simple interface for host firewall configuration<br />
* [[ReleaseEngineering/PuppetAgain/Modules/gaia_bumper]] - bump gaia (nicely, of course)<br />
* [[ReleaseEngineering/PuppetAgain/Modules/ganglia]] - configure ganglia<br />
* [[ReleaseEngineering/PuppetAgain/Modules/gui]] - configure a GUI environment<br />
* [[ReleaseEngineering/PuppetAgain/Modules/hardware]] - hardware-specific stuff<br />
* [[ReleaseEngineering/PuppetAgain/Modules/httpd]] - install and configure httpd server<br />
* [[ReleaseEngineering/PuppetAgain/Modules/mercurial]] - manage hg repositories<br />
* [[ReleaseEngineering/PuppetAgain/Modules/mockbuild]] - manage mock build environments<br />
* [[ReleaseEngineering/PuppetAgain/Modules/mozpool]] - configure all the components of a Mozpool server<br />
* [[ReleaseEngineering/PuppetAgain/Modules/needs_reboot]] - handle reasons that a system might need to be rebooted<br />
* [[ReleaseEngineering/PuppetAgain/Modules/network]] - configure host networking parameters<br />
* [[ReleaseEngineering/PuppetAgain/Modules/nrpe]] - NRPE support<br />
* [[ReleaseEngineering/PuppetAgain/Modules/ntp]] - NTP support<br />
* [[ReleaseEngineering/PuppetAgain/Modules/pkgbuilder]] - set up a host to build OS packages<br />
* [[ReleaseEngineering/PuppetAgain/Modules/powermanagement]] - configure power management<br />
* [[ReleaseEngineering/PuppetAgain/Modules/releaserunner]] - install release runner<br />
* [[ReleaseEngineering/PuppetAgain/Modules/rsyslog]] - rsyslog configuration<br />
* [[ReleaseEngineering/PuppetAgain/Modules/runner]] - install runner and manage pre-flight tasks<br />
* [[ReleaseEngineering/PuppetAgain/Modules/screenresolution]] - set GUI screen resolution<br />
* [[ReleaseEngineering/PuppetAgain/Modules/selfserve_agent]] - install the BuildAPI self-serve agent<br />
* [[ReleaseEngineering/PuppetAgain/Modules/signingserver]] - configure a signing server instance<br />
* [[ReleaseEngineering/PuppetAgain/Modules/slaveapi]] - configure a slaveapi server instance<br />
* [[ReleaseEngineering/PuppetAgain/Modules/slave_secrets]] - add secrets to slaves<br />
* [[ReleaseEngineering/PuppetAgain/Modules/smarthost]] - configure a mail relay<br />
* [[ReleaseEngineering/PuppetAgain/Modules/ssh]] - manage ssh configuration (server, global, and user)<br />
* [[ReleaseEngineering/PuppetAgain/Modules/talos]] - talos slave specific settings<br />
* [[ReleaseEngineering/PuppetAgain/Modules/tftpd]] - tftpd (and xinetd) configuration<br />
* [[ReleaseEngineering/PuppetAgain/Modules/timezone]] - set the system timezone<br />
* [[ReleaseEngineering/PuppetAgain/Modules/tweaks]] - small, one-off classes (aka "miscellaneous")<br />
* [[ReleaseEngineering/PuppetAgain/Modules/vnc]] - configure the VNC server<br />
* [[ReleaseEngineering/PuppetAgain/Modules/web_proxy]] - configure the system to use a proxy to access the web<br />
<br />
=== Utility ===<br />
<br />
These modules are more generic, and probably useful outside of PuppetAgain.<br />
* [[ReleaseEngineering/PuppetAgain/Modules/kernelmodule]] - install a Linux kernel module<br />
* [[ReleaseEngineering/PuppetAgain/Modules/motd]] - edit the contents of /etc/motd<br />
* [[ReleaseEngineering/PuppetAgain/Modules/osxutils]] - utility for reading and writing configuration using defaults and system setup on MacOSx<br />
* [[ReleaseEngineering/PuppetAgain/Modules/python]] - support for installing python virtualenvs and packages<br />
* [[ReleaseEngineering/PuppetAgain/Modules/shellprofile]] - add items to users' default shell profile<br />
* [[ReleaseEngineering/PuppetAgain/Modules/sudoers]] - manage sudo permissions<br />
* [[ReleaseEngineering/PuppetAgain/Modules/supervisord]] - supervise processes<br />
<br />
=== Third-Party ===<br />
<br />
These are modules taken from elsewhere. When adding, remember to verify license compatibility and ensure proper credit.<br />
<br />
* assert - from https://github.com/binford2k/puppet-assert<br />
* sysctl - from https://github.com/duritong/puppet-sysctl<br />
* concat - from https://github.com/ripienaar/puppet-concat (modified to not use a fact, although this should probably be reverted)<br />
* firewall - from https://github.com/puppetlabs/puppetlabs-firewall/<br />
* stdlib - from https://github.com/puppetlabs/puppetlabs-stdlib/<br />
* vmwaretools - from https://github.com/craigwatson/puppet-vmwaretools<br />
* Windows Firewall - from https://forge.puppetlabs.com/liamjbennett/windows_firewall<br />
* Windows Registry - from https://forge.puppetlabs.com/puppetlabs/registry<br />
<br />
== Bugs ==<br />
<br />
Bugs for work on PuppetAgain should be filed in the [https://bugzilla.mozilla.org/enter_bug.cgi?alias=&assigned_to=nobody%40mozilla.org&attach_text=&blocked=&bug_file_loc=http%3A%2F%2F&bug_severity=normal&bug_status=NEW&comment=&component=RelOps%3A%20Puppet&contenttypeentry=&contenttypemethod=autodetect&contenttypeselection=text%2Fplain&data=&defined_groups=1&dependson=&description=&flag_type-354=X&flag_type-4=X&flag_type-407=X&flag_type-481=X&flag_type-607=X&flag_type-674=X&flag_type-707=X&flag_type-791=X&flag_type-800=X&flag_type-811=X&form_name=enter_bug&keywords=&maketemplate=Remember%20values%20as%20bookmarkable%20template&op_sys=All&priority=--&product=Infrastructure%20%26%20Operations&qa_contact=dustin%40mozilla.com&rep_platform=All&requestee_type-4=&requestee_type-607=&requestee_type-791=&requestee_type-800=&short_desc=&status_whiteboard=&target_milestone=---&version=other Infrastructure & Operations - Relops: Puppet] Component.<br />
<br />
= How To =<br />
<br />
* [[ReleaseEngineering/PuppetAgain/HowTo/Re-issue Certificates for a host]]<br />
* [[ReleaseEngineering/PuppetAgain/HowTo/Set up a user environment]]<br />
* [[ReleaseEngineering/PuppetAgain/HowTo/Add new secrets]]<br />
* [[ReleaseEngineering/PuppetAgain/HowTo/Bootstrap a Puppetmaster]]<br />
* [[ReleaseEngineering/PuppetAgain/HowTo/Remove a Puppetmaster]]<br />
* [[ReleaseEngineering/PuppetAgain/HowTo/Change secrets]]<br />
* [[ReleaseEngineering/PuppetAgain/HowTo/Build RPMs]]<br />
* [[ReleaseEngineering/PuppetAgain/HowTo/Build DMGs]]<br />
* [[ReleaseEngineering/PuppetAgain/HowTo/Build DEBs]]<br />
* [[ReleaseEngineering/PuppetAgain/HowTo/Hack on PuppetAgain]] (patch/review guidelines)<br />
* [[ReleaseEngineering/PuppetAgain/HowTo/Anchor Classes]] (getting dependencies right)<br />
* [[ReleaseEngineering/PuppetAgain/HowTo/Add Files to Data]]<br />
* [[ReleaseEngineering/PuppetAgain/HowTo/Merge Changes Between Repos]]<br />
* [https://intranet.mozilla.org/RelEngWiki/index.php/How_To/Read_Releng-Shared_Emails How To read releng-shared Emails] (moco releng-only)<br />
<br />
= System Description =<br />
<br />
This section describes how PuppetAgain is built at Mozilla. External implementations may not have all of these bells and whistles. [https://mana.mozilla.org/wiki/pages/viewpage.action?pageId=22381625 This link] contains details oriented toward Mozilla IT and ops folks.<br />
<br />
== The Goals ==<br />
<br />
* PuppetAgain should be usable as a whole for folks outside of Mozilla, Inc. who want to build similar systems (see "Organizations" below)<br />
* Client images should proceed automatically from base image install to a fully-operational state. While refimages may be employed, this is done only as an optimization.<br />
* We do not keep distinct reference images. Reference images are used only as an optimization to avoid pounding the puppet servers when installing dozens of new hosts. When a new refimage snapshot needs to be made, a fresh machine is rebuilt from scratch, snapshotted, and then returned to service.<br />
* OS does not imply role. Roles are defined in node declarations, by including <tt>toplevel::*</tt> classes.<br />
* Include all necessary dependencies. Debugging dependency errors when building a new reference system is no fun.<br />
* Documentation (here) is a part of the patch.<br />
See [[ReleaseEngineering/PuppetAgain/HowTo/Hack on PuppetAgain]] for more detail<br />
<br />
== Organizations ==<br />
<br />
Each distinct instance of puppetagain is referred to as an organization, and tagged with a short identifier (e.g., "moco" for the mozilla releng instance, or "seamonkey" for seamonkey). Within an organization, configuration and secrets are shared, and everything runs from the same set of manifests. Configuration and secrets can differ between organizations.<br />
<br />
== Puppetmasters ==<br />
<br />
PuppetAgain masters are managed by PuppetAgain. Each organization can have 1 or more masters, arranged in a cluster (with one cluster per organization). There is one "distinguished master" in the cluster. This master is distinguished only for purposes of simplifying synchronization -- the cluster will continue to operate indefinitely without the distinguished master, although master-master communication (secrets and CRLs) will not work.<br />
<br />
See the following for more details, noting that most of this is not required for an external PuppetAgain implementation.<br />
* [[ReleaseEngineering/PuppetAgain/Puppetmasters]]<br />
* [[ReleaseEngineering/PuppetAgain/Puppetization Process]]<br />
* [[ReleaseEngineering/PuppetAgain/Certificate Chaining]]<br />
* [[ReleaseEngineering/PuppetAgain/HowTo/Bootstrap a Puppetmaster]]<br />
<br />
== Puppet Versions ==<br />
<br />
The releng puppet infrastructure will strive to keep up to date with the most recent stable versions released by Puppet Labs.<br />
<br />
== Base Images and Puppetizing ==<br />
<br />
The base images for this infrastructure are barely-modified OS installs. They have just enough installed that they can connect to a puppet server, get certificates, and puppetize on boot.<br />
<br />
* [[ReleaseEngineering/PuppetAgain/Base Images]]<br />
* [[ReleaseEngineering/PuppetAgain/Puppetization Process]]<br />
<br />
Note that, while most of PuppetAgain is intended to be easily replicated, the deployment system is probably not easily replicated, and is best left out of any external implementations.<br />
<br />
== Custom Facts, Functions, Types, and Providers ==<br />
<br />
Custom code is documented in the page for the module that contains it. Code that doesn't have a more appropriate home is in [[ReleaseEngineering/PuppetAgain/Modules/shared|shared]].<br />
<br />
== Stages ==<br />
Stages need to be defined globally in Puppet manifests, and this is done in <tt>manifests/stages.pp</tt>. The following stages are available, aside from 'main', the default stage.<br />
<br />
* network - This stage should handle any network related configurations for some specific cases (like AWS)<br />
* packagesetup - This stage should handle any preliminaries required for package installations, so that subsequent package installations do not need to require them explicitly.<br />
* users - This stage creates user accounts; while this is normally automatically required, the requirement doesn't work with the temporary 'darwinuser' type.<br />
<br />
== Nodes ==<br />
<br />
<tt>manifests/nodes.pp</tt> defines all of the nodes the puppet masters recognize. Note that all nodes are defined for all masters. This file is a symlink to <tt>$org-nodes.pp</tt>, e.g., <tt>moco-nodes.pp</tt>. With this arrangement, each organization can make node changes without any risk to other organizations.<br />
<br />
In anticipation of using an external node classifier (ENC), node definitions should only include classes - do not define any resources within nodes. In general, the included classes should be in the [[ReleaseEngineering/Puppet/Modules/toplevel|toplevel]] module.<br />
<br />
Host-specific values are specified as node-scope variables, as these are easier to represent in an ENC. Such variables (including some Puppet gotchas) are described in [[ReleaseEngineering/PuppetAgain/node-scope variables|node-scope variables]].<br />
<br />
Node definitions also specify a host's [[ReleaseEngineering/PuppetAgain/Aspects|aspects]], e.g., <tt>$aspects = [ 'staging' ]</tt>.<br />
<br />
== Configuration ==<br />
<br />
Per-organization configuration is read from <tt>manifests/config.pp</tt>, which is a symlink to <tt>$org-config.pp</tt>, similar to that for nodes. The <tt>config.pp</tt> file defines a "config" class that inherits from "config::base". It is free to express the configuration using any mechanism available to puppet. For some organizations, simple puppet literals will do, while more complex organizations will want to perform some more sophisticated automatic generation of configuration. See [[ReleaseEngineering/PuppetAgain/Modules/config|config]] for more.<br />
<br />
== Secrets and External Data ==<br />
See [[ReleaseEngineering/PuppetAgain/Secrets]] and [[ReleaseEngineering/PuppetAgain/Extsync]].<br />
<br />
== Data ==<br />
<br />
Puppet deals with a lot of big files - packages, mostly. We don't want these in hg! They are instead managed as data. This means several big file trees available at http://repos/$treename and, from puppet, at puppet://$treename. See [[ReleaseEngineering/PuppetAgain/Data]] for details on what's available, how it is implemented, and some how-tos.<br />
<br />
This data is available outside of Mozilla via HTTP and rsync at http://puppetagain.pub.build.mozilla.org/data and rsync://puppetagain.pub.build.mozilla.org/data.<br />
<br />
== Packages ==<br />
<br />
See [[ReleaseEngineering/PuppetAgain/Packages]] for information about proper handling of packages in PuppetAgain.<br />
<br />
== Aspects ==<br />
<br />
Taking a page from [http://en.wikipedia.org/wiki/Aspect-oriented_programming Aspect Oriented Programming], PuppetAgain implements Aspect Oriented Puppet. Aspects cross-cut the concerns represented by the toplevel hierarchy. For example, whether a host is a staging host, whether it is loaned out, etc. See [[ReleaseEngineering/PuppetAgain/Aspects]] for details.<br />
<br />
== Source Code ==<br />
<br />
The manifests are at http://hg.mozilla.org/build/puppet.<br />
<br />
= History =<br />
<br />
Releng once used [[ReleaseEngineering/Puppet|a puppet infrastructure]] based on Puppet-0.24.8, and manifests at http://hg.mozilla.org/build/puppet-manifests/. This had a few weaknesses:<br />
* lots of assumptions and fragile dependencies based on bugs in 0.24.8<br />
* very few modules - mostly manifest files, organized per slave type, rather than per service/purpose<br />
* many references to external files which are not as available as the repo itself<br />
* puppet manifests assume some manual ref-image steps; external exact reproduction is extremely difficult<br />
<br />
Dustin started work on a new puppet deployment - chronicled at [[User:Djmitche/New Releng Puppet Infrastructure]]. That's this puppet.</div>Mcornmesser