ReleaseEngineering/PuppetAgain: Difference between revisions

 
(15 intermediate revisions by 9 users not shown)
Line 27: Line 27:
* [[ReleaseEngineering/PuppetAgain/Modules/users]] - user account management
* [[ReleaseEngineering/PuppetAgain/Modules/users]] - user account management
* [[ReleaseEngineering/PuppetAgain/Modules/puppetmaster]] - install, upgrade and run puppet master
* [[ReleaseEngineering/PuppetAgain/Modules/puppetmaster]] - install, upgrade and run puppet master
* [[ReleaseEngineering/PuppetAgain/Modules/security]] - host security levels


=== Action ===
=== Action ===
Line 33: Line 34:


* [[ReleaseEngineering/PuppetAgain/Modules/androidemulator]] - install and configure Android emulators  
* [[ReleaseEngineering/PuppetAgain/Modules/androidemulator]] - install and configure Android emulators  
* [[ReleaseEngineering/PuppetAgain/Modules/auditd]] - install and configure auditd
* [[ReleaseEngineering/PuppetAgain/Modules/aws]] - manage instance storage
* [[ReleaseEngineering/PuppetAgain/Modules/aws_manager]] - install and manage AWS related management scripts   
* [[ReleaseEngineering/PuppetAgain/Modules/aws_manager]] - install and manage AWS related management scripts   
* [[ReleaseEngineering/PuppetAgain/Modules/b2g_bumper]] - install and configure the b2g_bumper service
* [[ReleaseEngineering/PuppetAgain/Modules/bmm]] - configure all the components of a Mozpool imaging server
* [[ReleaseEngineering/PuppetAgain/Modules/bmm]] - configure all the components of a Mozpool imaging server
* [[ReleaseEngineering/PuppetAgain/Modules/bors]] - bors installation
* [[ReleaseEngineering/PuppetAgain/Modules/bors]] - bors installation
* [[ReleaseEngineering/PuppetAgain/Modules/bouncer_check]] - create a python virtualenv and install and configure the check_bouncer nagios check
* [[ReleaseEngineering/PuppetAgain/Modules/buildslave]] - buildslave (buildbot) installation and startup
* [[ReleaseEngineering/PuppetAgain/Modules/buildslave]] - buildslave (buildbot) installation and startup
* [[ReleaseEngineering/PuppetAgain/Modules/buildmaster]] - buildmaster (buildbot) installation and startup
* [[ReleaseEngineering/PuppetAgain/Modules/buildmaster]] - buildmaster (buildbot) installation and startup
* [[ReleaseEngineering/PuppetAgain/Modules/ccache]] - ccache directory management
* [[ReleaseEngineering/PuppetAgain/Modules/ccache]] - ccache directory management
* [[ReleaseEngineering/PuppetAgain/Modules/clean]] - cleanup tasks
* [[ReleaseEngineering/PuppetAgain/Modules/clean]] - cleanup tasks
* [[ReleaseEngineering/PuppetAgain/Modules/cleanslate]] - install cleanslate into a python virtualenv
* [[ReleaseEngineering/PuppetAgain/Modules/collectd]] - configure collectd
* [[ReleaseEngineering/PuppetAgain/Modules/collectd]] - configure collectd
* [[ReleaseEngineering/PuppetAgain/Modules/cron]] - install and start the cron daemon
* [[ReleaseEngineering/PuppetAgain/Modules/cron]] - install and start the cron daemon
* [[ReleaseEngineering/PuppetAgain/Modules/disableservices]] - disable unneeded services   
* [[ReleaseEngineering/PuppetAgain/Modules/disableservices]] - disable unneeded services   
* [[ReleaseEngineering/PuppetAgain/Modules/dnsmasq]] - install and start dnsmasq
* [[ReleaseEngineering/PuppetAgain/Modules/firewall]] - IPTables Firewall for Linux
* [[ReleaseEngineering/PuppetAgain/Modules/foopy]] - build foopies
* [[ReleaseEngineering/PuppetAgain/Modules/foopy]] - build foopies
* [[ReleaseEngineering/PuppetAgain/Modules/fw]] - simple interface for host firewall configuration
* [[ReleaseEngineering/PuppetAgain/Modules/fw]] - wrapper module for host firewall configuration
* [[ReleaseEngineering/PuppetAgain/Modules/gaia_bumper]] - bump gaia (nicely, of course)
* [[ReleaseEngineering/PuppetAgain/Modules/gaia_bumper]] - bump gaia (nicely, of course)
* [[ReleaseEngineering/PuppetAgain/Modules/ganglia]] - configure ganglia
* [[ReleaseEngineering/PuppetAgain/Modules/ganglia]] - configure ganglia
* [[ReleaseEngineering/PuppetAgain/Modules/generic_worker]] - install and configure [https://github.com/taskcluster/generic-worker generic_worker]
* [[ReleaseEngineering/PuppetAgain/Modules/git]] - exec to clone specified git repos
* [[ReleaseEngineering/PuppetAgain/Modules/grub]] - configure grub for linux hosts
* [[ReleaseEngineering/PuppetAgain/Modules/gui]] - configure a GUI environment
* [[ReleaseEngineering/PuppetAgain/Modules/gui]] - configure a GUI environment
* [[ReleaseEngineering/PuppetAgain/Modules/hardware]] - hardware-specific stuff
* [[ReleaseEngineering/PuppetAgain/Modules/hardware]] - hardware-specific stuff
* [[ReleaseEngineering/PuppetAgain/Modules/httpd]] - install and configure httpd server
* [[ReleaseEngineering/PuppetAgain/Modules/httpd]] - install and configure httpd server
* [[ReleaseEngineering/PuppetAgain/Modules/instance_metadata]] - obtain instance metadata on AWS hosts and dump it into a file
* [[ReleaseEngineering/PuppetAgain/Modules/jacuzzi_metadata]] - obtain jacuzzi metadata on AWS hosts and dump it into a file
* [[ReleaseEngineering/PuppetAgain/Modules/log_aggregator]] - configured centralized logging
* [[ReleaseEngineering/PuppetAgain/Modules/mercurial]] - manage hg repositories
* [[ReleaseEngineering/PuppetAgain/Modules/mercurial]] - manage hg repositories
* [[ReleaseEngineering/PuppetAgain/Modules/mig]] - install and configure mig_agent
* [[ReleaseEngineering/PuppetAgain/Modules/mockbuild]] - manage mock build environments
* [[ReleaseEngineering/PuppetAgain/Modules/mockbuild]] - manage mock build environments
* [[ReleaseEngineering/PuppetAgain/Modules/mozpool]] - configure all the components of a Mozpool server
* [[ReleaseEngineering/PuppetAgain/Modules/mozpool]] - configure all the components of a Mozpool server
* [[ReleaseEngineering/PuppetAgain/Modules/needs_reboot]] - handle reasons that a system might need to be rebooted
* [[ReleaseEngineering/PuppetAgain/Modules/needs_reboot]] - handle reasons that a system might need to be rebooted
* [[ReleaseEngineering/PuppetAgain/Modules/network]] - configure host networking parameters
* [[ReleaseEngineering/PuppetAgain/Modules/network]] - configure host networking parameters
* [[ReleaseEngineering/PuppetAgain/Modules/nginx]] - install nginx
* [[ReleaseEngineering/PuppetAgain/Modules/nrpe]] - NRPE support
* [[ReleaseEngineering/PuppetAgain/Modules/nrpe]] - NRPE support
* [[ReleaseEngineering/PuppetAgain/Modules/ntp]] - NTP support
* [[ReleaseEngineering/PuppetAgain/Modules/ntp]] - NTP support
* [[ReleaseEngineering/PuppetAgain/Modules/pf]] - PacketFilter (Firewall) for OSX
* [[ReleaseEngineering/PuppetAgain/Modules/pkgbuilder]] - set up a host to build OS packages
* [[ReleaseEngineering/PuppetAgain/Modules/pkgbuilder]] - set up a host to build OS packages
* [[ReleaseEngineering/PuppetAgain/Modules/powermanagement]] - configure power management
* [[ReleaseEngineering/PuppetAgain/Modules/powermanagement]] - configure power management
* [[ReleaseEngineering/PuppetAgain/Modules/powershell]] -
* [[ReleaseEngineering/PuppetAgain/Modules/proxxy]] - install and configure nginx to act as a reverse proxy
* [[ReleaseEngineering/PuppetAgain/Modules/rdp]] - enable windows RDP
* [[ReleaseEngineering/PuppetAgain/Modules/releaserunner]] - install release runner
* [[ReleaseEngineering/PuppetAgain/Modules/releaserunner]] - install release runner
* [[ReleaseEngineering/PuppetAgain/Modules/rsyslog]] - rsyslog configuration
* [[ReleaseEngineering/PuppetAgain/Modules/rsyslog]] - rsyslog configuration
* [[ReleaseEngineering/PuppetAgain/Modules/runner]] - install runner and manage pre-flight tasks
* [[ReleaseEngineering/PuppetAgain/Modules/screenresolution]] - set GUI screen resolution
* [[ReleaseEngineering/PuppetAgain/Modules/screenresolution]] - set GUI screen resolution
* [[ReleaseEngineering/PuppetAgain/Modules/selfserve_agent]] - install the BuildAPI self-serve agent
* [[ReleaseEngineering/PuppetAgain/Modules/selfserve_agent]] - install the BuildAPI self-serve agent
* [[ReleaseEngineering/PuppetAgain/Modules/shipit_notifier]] - install and configure shipit_notifier in a python virtualenv
* [[ReleaseEngineering/PuppetAgain/Modules/signingserver]] - configure a signing server instance
* [[ReleaseEngineering/PuppetAgain/Modules/signingserver]] - configure a signing server instance
* [[ReleaseEngineering/PuppetAgain/Modules/signingworker]] - configure a signing worker instance
* [[ReleaseEngineering/PuppetAgain/Modules/slaveapi]] - configure a slaveapi server instance
* [[ReleaseEngineering/PuppetAgain/Modules/slaveapi]] - configure a slaveapi server instance
* [[ReleaseEngineering/PuppetAgain/Modules/slaverebooter]] - install and configure slaverebooter
* [[ReleaseEngineering/PuppetAgain/Modules/slave_secrets]] - add secrets to slaves
* [[ReleaseEngineering/PuppetAgain/Modules/slave_secrets]] - add secrets to slaves
* [[ReleaseEngineering/PuppetAgain/Modules/smarthost]] - configure a mail relay
* [[ReleaseEngineering/PuppetAgain/Modules/smarthost]] - configure a mail relay
Line 90: Line 114:
These are modules taken from elsewhere.  When adding, remember to verify license compatibility and ensure proper credit.
These are modules taken from elsewhere.  When adding, remember to verify license compatibility and ensure proper credit.


* assert - from https://github.com/binford2k/puppet-assert
* sysctl - from https://github.com/duritong/puppet-sysctl
* sysctl - from https://github.com/duritong/puppet-sysctl
* concat - from https://github.com/ripienaar/puppet-concat (modified to not use a fact, although this should probably be reverted)
* concat - from https://github.com/ripienaar/puppet-concat (modified to not use a fact, although this should probably be reverted)
Line 95: Line 120:
* stdlib - from https://github.com/puppetlabs/puppetlabs-stdlib/
* stdlib - from https://github.com/puppetlabs/puppetlabs-stdlib/
* vmwaretools - from https://github.com/craigwatson/puppet-vmwaretools
* vmwaretools - from https://github.com/craigwatson/puppet-vmwaretools
* Windows Firewall - from https://forge.puppetlabs.com/liamjbennett/windows_firewall
* Windows Registry - from https://forge.puppetlabs.com/puppetlabs/registry


== Bugs ==
== Bugs ==
Line 106: Line 133:
* [[ReleaseEngineering/PuppetAgain/HowTo/Add new secrets]]
* [[ReleaseEngineering/PuppetAgain/HowTo/Add new secrets]]
* [[ReleaseEngineering/PuppetAgain/HowTo/Bootstrap a Puppetmaster]]
* [[ReleaseEngineering/PuppetAgain/HowTo/Bootstrap a Puppetmaster]]
* [[ReleaseEngineering/PuppetAgain/HowTo/Remove a Puppetmaster]]
* [[ReleaseEngineering/PuppetAgain/HowTo/Change secrets]]
* [[ReleaseEngineering/PuppetAgain/HowTo/Change secrets]]
* [[ReleaseEngineering/PuppetAgain/HowTo/Build RPMs]]
* [[ReleaseEngineering/PuppetAgain/HowTo/Build RPMs]]
Line 113: Line 141:
* [[ReleaseEngineering/PuppetAgain/HowTo/Anchor Classes]] (getting dependencies right)
* [[ReleaseEngineering/PuppetAgain/HowTo/Anchor Classes]] (getting dependencies right)
* [[ReleaseEngineering/PuppetAgain/HowTo/Add Files to Data]]
* [[ReleaseEngineering/PuppetAgain/HowTo/Add Files to Data]]
* [[ReleaseEngineering/PuppetAgain/HowTo/Merge Changes Between Repos]]
* [[ReleaseEngineering/PuppetAgain/HowTo/Push changes to Production]]
* [https://intranet.mozilla.org/RelEngWiki/index.php/How_To/Read_Releng-Shared_Emails How To read releng-shared Emails] (moco releng-only)
* [https://intranet.mozilla.org/RelEngWiki/index.php/How_To/Read_Releng-Shared_Emails How To read releng-shared Emails] (moco releng-only)


Line 200: Line 230:
== Source Code ==
== Source Code ==


The manifests are at http://hg.mozilla.org/build/puppet.
The manifests are at https://github.com/mozilla/build-puppet.


= History =
= History =
Line 211: Line 241:


Dustin started work on a new puppet deployment - chronicled at [[User:Djmitche/New Releng Puppet Infrastructure]].  That's this puppet.
Dustin started work on a new puppet deployment - chronicled at [[User:Djmitche/New Releng Puppet Infrastructure]].  That's this puppet.
= Training notes =
* Puppet Fundamentals: https://public.etherpad-mozilla.org/p/puppet-training-nov-2016
canmove, Confirmed users
6,441

edits