<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.mozilla.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dlabici</id>
	<title>MozillaWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.mozilla.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dlabici"/>
	<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/Special:Contributions/Dlabici"/>
	<updated>2026-08-15T02:03:31Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.10</generator>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=ReleaseEngineering/How_To/Heroku_CLI&amp;diff=1213733</id>
		<title>ReleaseEngineering/How To/Heroku CLI</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=ReleaseEngineering/How_To/Heroku_CLI&amp;diff=1213733"/>
		<updated>2019-06-13T06:51:36Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: minor edits&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How to create the Heroku account ==&lt;br /&gt;
# Register with Heroku (use your mozilla email!)&lt;br /&gt;
# Go to: https://mozillians.org and login your Mozilla LDAP account.&lt;br /&gt;
# Go to: https://mozillians.org/en-US/group/heroku-members/ and click Request Access.&lt;br /&gt;
# Wait for the request to join the group to be approved. Usually takes a day or less.&lt;br /&gt;
# DO THE NEXT STEPS ONLY AFTER YOU ARE APPROVED!&lt;br /&gt;
# Activate SSO via this [https://sso.heroku.com/saml/mozillacorporation/init HEROKU Link]&lt;br /&gt;
# Bookmark [https://sso.heroku.com/saml/mozillacorporation/init THIS LINK]. Once you activate SSO, you won&#039;t be able to login using the normal login page! So make sure the bookmark is in place!&lt;br /&gt;
# Install Heroku for your OS.&lt;br /&gt;
# Open your favorite terminal and type &#039;&#039;&#039;heroku login&#039;&#039;&#039;. The page should tell you that you can safely logout and the terminal should tell you that you have logged in on your account.&lt;br /&gt;
# When you are done with the previous steps, login on heroku&#039;s website/dashboard and see if you are member of &#039;mozillacorporation&#039; team.&lt;br /&gt;
 &lt;br /&gt;
== Heroku CLI commands ==&lt;br /&gt;
You can check your DUO session using the following command:&lt;br /&gt;
 heroku auth:token&lt;br /&gt;
To login use this command:&lt;br /&gt;
 heroku login&lt;br /&gt;
You can update heroku with the following command:&lt;br /&gt;
 heroku update&lt;br /&gt;
If you need to reboot a TC Heroku dyno(s) you can do it with the following command:&lt;br /&gt;
 heroku dyno:restart --app &amp;lt;heroku-service-name&amp;gt;&lt;br /&gt;
Between dyno:restart and --app, you can add a specific dyno name which will restart only the selected dyno:&lt;br /&gt;
 heroku dyno:restart &amp;lt;dyno-name&amp;gt; --app &amp;lt;heroku-service-name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== When do we restart the dynos (processes)? ==&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Whenever you feel something is not right.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
It is okay, and recommended, to restart all dynos (eg don&#039;t provide a name between dyno:restart and --app).&lt;br /&gt;
If you need to restart more services, lets say 3 of them, there is no order that the restart needs to follow. Simply reboot them, all should go smooth.&lt;br /&gt;
&lt;br /&gt;
How do you know that a services is responsible for a problem?&lt;br /&gt;
#Usually if treeherder is not running, well we know we need to reboot &#039;&#039;&#039;taskcluster-treeherder&#039;&#039;&#039;&lt;br /&gt;
#If tests have issues with cache, we need to reboot &#039;&#039;&#039;taskcluster-purge-cache&#039;&#039;&#039;&lt;br /&gt;
#If tests have issues with secrets, we need to reboot &#039;&#039;&#039;taskcluster-secrets&#039;&#039;&#039;&lt;br /&gt;
#If there are problems with queue (machines not picking up tests, or the tests are &amp;quot;unscheduled&amp;quot; or decision tasks not running) well,  we will reboot &#039;&#039;&#039;queue-taskcluster-net&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
As you might have noticed, the issue will show you exactly what service you need to restart.&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=CIDuty/How_To&amp;diff=1206254</id>
		<title>CIDuty/How To</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=CIDuty/How_To&amp;diff=1206254"/>
		<updated>2019-01-15T17:11:12Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Updated information on page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Alerts =====&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Dealing_with_high_pending_counts High Pending Counts]&lt;br /&gt;
: &#039;&#039;&#039;Processes&#039;&#039;&#039;&lt;br /&gt;
: [https://mana.mozilla.org/wiki/display/NAGIOS/Pending+Scriptworker+Tasks Pending Scriptworker Tasks]&lt;br /&gt;
: [https://mana.mozilla.org/wiki/display/NAGIOS/Puppet+Freshness Puppet Freshness]&lt;br /&gt;
:: Virtual Machines&lt;br /&gt;
::: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Add_Disk_to_an_EC2_Instance Add a new disk to an EC2 instance]&lt;br /&gt;
::: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Manage_AWS_slaves Manage AWS instances]&lt;br /&gt;
:: AWS loaners&lt;br /&gt;
::: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Loan_a_Slave Loan an AWS Machine]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/Buildduty/Slave_Management#Slave_Tracking Machine Tracking]&lt;br /&gt;
&lt;br /&gt;
===== TaskCluster =====&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Loan_a_Slave#t-yosemite-r7_taskcluster Loan an OSX Worker]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering:TestingTechniques Test a Patch]&lt;br /&gt;
: [https://wiki.mozilla.org/BuildDuty:TaskClusterCli Connect to Taskcluster CLI]&lt;br /&gt;
: [https://wiki.mozilla.org/BuildDuty:QuarantineInstances Quarantine instances]&lt;br /&gt;
: [https://wiki.mozilla.org/CIDuty/How_To/QuarantineMultipleInstances Quarantine multiple instances using python code]&lt;br /&gt;
: [https://wiki.mozilla.org/BuildDuty/How_To/Take_actions_to_RelEng_Hardware_from_TaskCluster_UI Restart/Ping from taskcluster]&lt;br /&gt;
: [https://mana.mozilla.org/wiki/display/TAS/How+To+Set+Up+or+Update+a+Taskcluster+Project Set up or Update a Taskcluster Project]&lt;br /&gt;
: [https://mana.mozilla.org/wiki/display/TAS/How+To+Query+Historical+Task+Analytics Query Historical Task Analytics]&lt;br /&gt;
: [https://mana.mozilla.org/wiki/display/TAS/How+To+Investigate+Audit+Logs Investigate Audit Logs]&lt;br /&gt;
: [https://mana.mozilla.org/wiki/display/TAS/How+to+set+up+a+new+Heroku+service Set up a new Heroku service]&lt;br /&gt;
: [https://mana.mozilla.org/wiki/pages/viewpage.action?pageId=61941455 Have a Postmortem/Retrospective]&lt;br /&gt;
: [https://wiki.mozilla.org/Connect_and_Troubleshoot_workers_in_CI Connect and Troubleshoot workers in CI]&lt;br /&gt;
&lt;br /&gt;
===== Tree Management =====&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Close_or_Open_the_Tree Close or Open the Tree]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/TryServer Push to Try Server]&lt;br /&gt;
&lt;br /&gt;
===== Troubleshooting =====&lt;br /&gt;
: [https://wiki.mozilla.org/CIDuty/How_To/Troubleshoot_Hardware Hardware Workers]&lt;br /&gt;
: [https://wiki.mozilla.org/CIDuty/How_To/Troubleshoot_AWS AWS Instances]&lt;br /&gt;
: [https://wiki.mozilla.org/CIDuty/How_To/AWS_Pending_Test Escalate AWS Pending Tests]&lt;br /&gt;
&lt;br /&gt;
===== Other Tasks =====&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Upload_to_internal_Pypi Upload a Python Package to the Internal Pypi]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/Applications/Tooltool Upload a Package/Binary to ToolTool]&lt;br /&gt;
: [https://wiki.mozilla.org/Buildduty/How_To/Add_new_secrets_to_Puppet_Hiera Add new secrets to Puppet Hiera]&lt;br /&gt;
: [https://wiki.mozilla.org/Buildduty/How_To/PyUp_Dependency_PR_Updates Work with PyUp Dependency Update PRs]&lt;br /&gt;
&lt;br /&gt;
===== See Also =====&lt;br /&gt;
: Relevant [https://wiki.mozilla.org/ReleaseEngineering/Buildduty/Training_-_Relevant_Buildduty_Bugs ciduty bugs] that would be suitable for training&lt;br /&gt;
&lt;br /&gt;
===== Deprecated / Archived =====&lt;br /&gt;
: Loaners&lt;br /&gt;
:: [https://wiki.mozilla.org/Buildduty/How_To/How_To_Loan_BD How to loan servers - New step-by-step guide ]&lt;br /&gt;
:: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Loan_a_Slave Loan a Machine]&lt;br /&gt;
:: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Update_VPN_ACL Grant VPN Access]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/Buildduty/Reconfigs Perform a Reconfig]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Work_with_Golden_AMIs Work with Golden AMIs]&lt;br /&gt;
: Puppet&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/PuppetAgain/HowTo/Build_DEBs Build DEBs]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/PuppetAgain/HowTo/Build_DMGs Build DMGs]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/PuppetAgain/HowTo/Build_RPMs Build RPMs]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/PuppetAgain/HowTo/Hack_on_PuppetAgain Hack on PuppetAgain]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/PuppetAgain/HowTo/Push_changes_to_Production Push Changes to Production]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/PuppetAgain/Modules/users Rotate Passwords across Releng Infra]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/PuppetAgain/HowTo/Set_up_a_user_environment Setup a User Environment]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Update_Mercurial Update Mercurial]&lt;br /&gt;
: TaskCluster&lt;br /&gt;
: [https://mana.mozilla.org/wiki/pages/viewpage.action?pageId=65349374 Restore Azure Table/Blob from Backup]&lt;br /&gt;
: [https://mana.mozilla.org/wiki/pages/viewpage.action?pageId=77896889 Modify Gecko Branch Configuration (including twig resets)]&lt;br /&gt;
: [https://mana.mozilla.org/wiki/display/TAS/How+To+Provision+taskcluster-worker+on+Packet Provision taskcluster-worker on Packet]&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=CIDuty:QuarantineInstances&amp;diff=1206252</id>
		<title>CIDuty:QuarantineInstances</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=CIDuty:QuarantineInstances&amp;diff=1206252"/>
		<updated>2019-01-15T16:30:22Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Updated information on the page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= When and How to quarantine taskcluster instances =&lt;br /&gt;
&lt;br /&gt;
: 1. Choose the worker types you wish to investigate. You can find them [https://tools.taskcluster.net/provisioners/releng-hardware/worker-types/ here.]&lt;br /&gt;
&lt;br /&gt;
: 2. Check which instances have exception(orange) or failed(red) at task state and investigate each of them separately.&lt;br /&gt;
&lt;br /&gt;
[[File:Worker List.png|left]]&lt;br /&gt;
&lt;br /&gt;
: 3. If the last 5-6+ tests are problematic, be sure to check out a few of them.&lt;br /&gt;
&lt;br /&gt;
[[File:Test name.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:: Check public/logs/live_backing.log for errors on a few of the latest tests by going to &amp;lt;Test-Name&amp;gt; -&amp;gt; Run Artifacts -&amp;gt; public/logs/live_backing.log as shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:Log location.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: 4. Judging by the error logs we will know if the machine is faulty (quarantine if this is true) or not. There is no black or white answer for this only that we will know it from experience. Thus far we know if the above conditions are met and the error log terminated with error code -1 and a message like :&lt;br /&gt;
&lt;br /&gt;
[[File:Error log.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: 5. Quarantine all the instances for which all of the above is true by pressing the Quarantine button and leaving the default 1000 years as expiration date, as shown in this [https://irccloud.mozilla.com/file/JTN97Erw/image.png image.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: 6. File a bug in Bugzilla under RelOps e.g.: https://bugzilla.mozilla.org/show_bug.cgi?id=1441820&lt;br /&gt;
&lt;br /&gt;
: 7. Update the [https://docs.google.com/spreadsheets/d/1IPTmppvqDw0PQV-O1LgXLJg_7TC-H_IAAnSxcur8c7I/edit?ts=5ad7748a#gid=562893333 Master Moonshot Inventory] spreadsheet with the details for the bug (usually BUG:&amp;lt;NUMBER&amp;gt;]&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=CIDuty/How_To/How_To_Loan_BD&amp;diff=1206247</id>
		<title>CIDuty/How To/How To Loan BD</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=CIDuty/How_To/How_To_Loan_BD&amp;diff=1206247"/>
		<updated>2019-01-15T16:21:48Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Added deprecated text box.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{warning|This page is deprecated!}}&lt;br /&gt;
&lt;br /&gt;
= Introduction = &lt;br /&gt;
Use this page if you want to loan a machine to a developer. This guide has been updated on &#039;&#039;&#039;26 March 2018&#039;&#039;&#039; and reflects the new changes/requirements on how you should approach the process. &lt;br /&gt;
&lt;br /&gt;
The format will be as follows:&lt;br /&gt;
* Finding a server&lt;br /&gt;
* Cleaning it up&lt;br /&gt;
* Activating and Testing the VNC connection to the server&lt;br /&gt;
* Sending the credentials to the requester&lt;br /&gt;
Everything you need to do when loaning one of the two type of servers is on this page. You can safely click on the links when instructed too as you will be automatically scrolled to the next step (eg: Server Steps -&amp;gt; VNC -&amp;gt; Email).&lt;br /&gt;
= Windows Machines=&lt;br /&gt;
&lt;br /&gt;
TaskCluster Windows machines are self-served! We have to let the requester know how to obtain the server(s) himself. Provide the following link to the requester: https://wiki.mozilla.org/ReleaseEngineering/How_To/Self_Provision_a_TaskCluster_Windows_Instance&lt;br /&gt;
&lt;br /&gt;
= OSX Yosemite r7 =&lt;br /&gt;
==  Find a server ==&lt;br /&gt;
Head to TaskCluster, following this link: [https://tools.taskcluster.net/provisioners/releng-hardware/worker-types/gecko-t-osx-1010] and search for a worker that doesn&#039;t have a running job and it&#039;s not quarantined.&lt;br /&gt;
&lt;br /&gt;
If all workers are running jobs come back in 30 minutes and check again.&lt;br /&gt;
&lt;br /&gt;
== Connect to the server ==&lt;br /&gt;
Now that we have a server number, we need to SSH into it, you can do that by typing this into the terminal:&lt;br /&gt;
ssh root@t-yosemite-r7-462.test.releng.xxxx.mozilla.com&lt;br /&gt;
xxxx- represents the datacenter the worker is located into.&lt;br /&gt;
&lt;br /&gt;
Now run the following to commands:&lt;br /&gt;
 passwd root&lt;br /&gt;
 passwd cltbld&lt;br /&gt;
 And change the passwords to the ones offered by your team leader.&lt;br /&gt;
&lt;br /&gt;
== Terminate TC Worker and Clean up TC files ==&lt;br /&gt;
At this step we gonna run, again, 3 commands, to clean up some files from server. Like last time, run this commands one at a time.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; rm -rf /var/lib/puppet/ssl/private_keys /Library/LaunchDaemons/com.mozilla.puppet.plist \&lt;br /&gt;
   /Library/LaunchDaemons/org.mozilla.puppetize.plist ~cltbld/.bash_history \&lt;br /&gt;
   ~root/.bash_history ~root/.sh_history /etc/kcpassword ~cltbld/.ssh \&lt;br /&gt;
   /opt/runner /etc/taskcluster-worker.yml /usr/local/bin/taskcluster-worker \&lt;br /&gt;
   /usr/local/bin/generic-worker/ \&lt;br /&gt;
   /Library/LaunchDaemons/org.mozilla.pf.plist \&lt;br /&gt;
   /Library/LaunchDaemons/org.mozilla.pflog.plist \&lt;br /&gt;
   /Library/LaunchAgents/net.generic.worker.plist&lt;br /&gt;
&lt;br /&gt;
 find /builds -maxdepth 1 -type f -print -delete&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;rm -f /usr/local/bin/{taskcluster,generic}-worker&lt;br /&gt;
  rm -f /etc/generic-worker.config&lt;br /&gt;
  pkill -f &#039;(generic|taskcluster)-worker&#039; &lt;br /&gt;
&lt;br /&gt;
sudo reboot&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Activate VNC on the server ==&lt;br /&gt;
Copy and Paste the following commands, run them one by one and give it a few seconds for the output to come.&lt;br /&gt;
&amp;lt;nowiki&amp;gt;vncpw=moz1234&lt;br /&gt;
 &lt;br /&gt;
/System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart \&lt;br /&gt;
 -configure -allowAccessFor -allUsers -privs -all&lt;br /&gt;
 &lt;br /&gt;
/System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart \&lt;br /&gt;
 -configure -clientopts -setvnclegacy -vnclegacy yes&lt;br /&gt;
 &lt;br /&gt;
/System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart \&lt;br /&gt;
 -configure -clientopts -setvncpw -vncpw ${vncpw}&lt;br /&gt;
 &lt;br /&gt;
/System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart \&lt;br /&gt;
 -restart -agent -console&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the requester to the LDAPAdmin -&amp;gt; Group -&amp;gt; List. (https://wiki.mozilla.org/ReleaseEngineering/How_To/Update_VPN_ACL)&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t have access in order to grant access to requester and add the ip &amp;amp; host of the loaned machine, you should create a bug for MOC: Service Requests. You can use this bug as reference. To speedup the process, check on #moc for the admin on duty and tell him about your request and the bug that you&#039;ve created. &lt;br /&gt;
At this point all thats left if to send the credentials to the requester.&lt;br /&gt;
&lt;br /&gt;
== Grant access to keychain ==&lt;br /&gt;
If the loaner needs to access the keychain, you can reset the password issuing the following command:&lt;br /&gt;
&amp;lt;nowiki&amp;gt;security set-keychain-password /Users/cltbld/Library/Keychains/login.keychain&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
( enter the cltbld password from private repo as old password then use the loaner cltbld password as new password value. )&lt;br /&gt;
&lt;br /&gt;
Finally reboot the machine.&lt;br /&gt;
= Send the credentials for the server to the requester =&lt;br /&gt;
&lt;br /&gt;
Follow this link and copy the first code block, as your email template: https://wiki.mozilla.org/ReleaseEngineering/How_To/Loan_a_Slave#Notifying&lt;br /&gt;
&lt;br /&gt;
Change the needed information and send it.&lt;br /&gt;
&lt;br /&gt;
The second code block,  from the above link, copy it, paste it inside the Bugzilla Bug, modify it and then assign the ticket to the requester, as shown below.&lt;br /&gt;
Pro-Tip: If you don&#039;t see all those field, click on the Blue &amp;quot;Edit&amp;quot; button. Don&#039;t forget to Save changes!&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=CIDuty&amp;diff=1206229</id>
		<title>CIDuty</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=CIDuty&amp;diff=1206229"/>
		<updated>2019-01-15T15:09:34Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Moved 2 links.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= What is CIDuty? =&lt;br /&gt;
CiDuty (formerly BuildDuty) is a team dedicated to helping out developers with Firefox continuous integration infra issues and enquiries. We currently have six people based in Romania that provide 24/7 support.  CiDuty complement the [[Sheriff|sheriffing team]] where sheriffs respond to Firefox code regressions, CiDuty respond to the infrastructure that builds and tests Firefox code.&lt;br /&gt;
&lt;br /&gt;
Have a question or issue with Firefox, build and test infrastructure? ciduty can help and ensure your inquiry gets answered.&lt;br /&gt;
&lt;br /&gt;
= Communication =&lt;br /&gt;
&lt;br /&gt;
As a 24/7 support team, ciduty are available via irc, email, and bugzilla.&lt;br /&gt;
&lt;br /&gt;
irc:&lt;br /&gt;
* #ci - look for &#039;ciduty&#039; in nick (monitors other channels as well)&lt;br /&gt;
&lt;br /&gt;
bugzilla:&lt;br /&gt;
* needinfo or assign ciduty@mozilla.com&lt;br /&gt;
* file under [https://bugzilla.mozilla.org/enter_bug.cgi?product=Infrastructure%20%26%20Operations&amp;amp;component=CIDuty CIDuty] component if you are not sure where to file your CI related ticket&lt;br /&gt;
&lt;br /&gt;
email:&lt;br /&gt;
* ciduty@mozilla.com&lt;br /&gt;
&lt;br /&gt;
= Manifesto =&lt;br /&gt;
The [[ReleaseEngineering/Buildduty_manifesto| CIDuty manifesto]] describes the team responsibilities in a nutshell.&lt;br /&gt;
&lt;br /&gt;
= Team =&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
| &#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Profile&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Social&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Blog&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Jordan Lund&lt;br /&gt;
| [https://mozillians.org/u/jlund jlund]&lt;br /&gt;
| [https://github.com/lundjordan github]&lt;br /&gt;
| [http://jordan-lund.ghost.io/ blog]&lt;br /&gt;
|-&lt;br /&gt;
| Zsolt Fay&lt;br /&gt;
| [https://mozillians.org/en-US/u/zfay/ zfay]&lt;br /&gt;
| [https://github.com/Rivulu5 github]&lt;br /&gt;
|  N/A&lt;br /&gt;
|-&lt;br /&gt;
| Radu Iman&lt;br /&gt;
| [https://mozillians.org/en-US/u/riman/ riman]&lt;br /&gt;
| [https://github.com/raduiman github]&lt;br /&gt;
| N/A &lt;br /&gt;
|-&lt;br /&gt;
| Bogdan Crisan&lt;br /&gt;
| [https://mozillians.org/en-US/u/bcrisan/ bcrisan]&lt;br /&gt;
| [https://github.com/bccrisan github]&lt;br /&gt;
| N/A &lt;br /&gt;
|-&lt;br /&gt;
| Danut Labici&lt;br /&gt;
| [https://mozillians.org/en-US/u/dlabici/ dlabici]&lt;br /&gt;
| [https://github.com/akhliskun github]&lt;br /&gt;
| N/A &lt;br /&gt;
|-&lt;br /&gt;
| Roland Mutter&lt;br /&gt;
| [https://mozillians.org/en-US/u/rmutter/ rmutter]&lt;br /&gt;
| [https://github.com/mutterroland github]&lt;br /&gt;
| N/A &lt;br /&gt;
|-&lt;br /&gt;
| Adrian Pop&lt;br /&gt;
| [https://mozillians.org/en-US/u/apop/ apop]&lt;br /&gt;
| [https://github.com/popadrianc github]&lt;br /&gt;
| N/A&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= CiDuty priorities =&lt;br /&gt;
The [[ReleaseEngineering/Buildduty_actionable| CiDuty actionable]] enumerates their daily/weekly sanity job.&lt;br /&gt;
&lt;br /&gt;
= Documentation =&lt;br /&gt;
There&#039;s a [https://wiki.mozilla.org/CIDuty/How_To HowTo wiki page] that aggregates useful info related to the tasks CiDuty is taking care of (as of January 2019). &lt;br /&gt;
&lt;br /&gt;
= Useful Links =&lt;br /&gt;
* [[ReleaseEngineering/Buildduty/day_1_checklist|Day 1 checklist]]&lt;br /&gt;
* [https://tools.taskcluster.net/provisioners Provision Explorer]&lt;br /&gt;
* [https://wiki.mozilla.org/Buildduty/How_To Public &amp;quot;How To&amp;quot; documents]&lt;br /&gt;
* [https://mana.mozilla.org/wiki/dosearchsite.action?queryString=title%3A%22How%20To%22&amp;amp;where=RelEng Private &amp;quot;How To&amp;quot; documents]&lt;br /&gt;
&lt;br /&gt;
= Deprecated / Archived =&lt;br /&gt;
The following links and pages are out-of-date or not used anymore. They are still here for historical reasons.&lt;br /&gt;
&lt;br /&gt;
== Others ==&lt;br /&gt;
* &#039;&#039;&#039;[[CIDuty/Other_Duties|other, less-frequent duties]]&#039;&#039;&#039; that CiDuty can assist with.&lt;br /&gt;
* [[ReleaseEngineering/How_To|Old/Deprecated Public &amp;quot;How To&amp;quot; documents]]&lt;br /&gt;
&lt;br /&gt;
== Meeting Notes ==&lt;br /&gt;
Old meeting docs from BuildDuty era.&lt;br /&gt;
* [https://etherpad.mozilla.org/buildduty-notes Daily buildduty stand-up notes]&lt;br /&gt;
* [[ReleaseEngineering/Buildduty/Meetings|Old buildduty weekly meetings notes]]&lt;br /&gt;
* [[ReleaseEngineering/Buildduty/SVMeetings| SoftVision buildduty stand-up notes]]&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Buildduty/day_1_checklist&amp;diff=1206228</id>
		<title>Buildduty/day 1 checklist</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Buildduty/day_1_checklist&amp;diff=1206228"/>
		<updated>2019-01-15T15:07:23Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Removed Nagios entry&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
Welcome to CiDuty! &lt;br /&gt;
&lt;br /&gt;
This page is meant to serve as a resource for new CiDuty team-members getting up to speed and ensuring they have access to the appropriate systems that they are expected to use.&lt;br /&gt;
&lt;br /&gt;
= CiDuty and the Manifesto =&lt;br /&gt;
&lt;br /&gt;
* Before you start it would be a good idea to make sure you know what CiDuty is all about. Please have a read through of [[ReleaseEngineering/Buildduty_manifesto|the manifesto]]&lt;br /&gt;
&lt;br /&gt;
= Access =&lt;br /&gt;
&lt;br /&gt;
== SSO ==&lt;br /&gt;
&lt;br /&gt;
Generally, we rely on [https://auth0.com/ auth0] across Mozilla for authentication and [https://mana.mozilla.org/wiki/display/SYSADMIN/LDAP+Architecture LDAP] for authorization. Once given LDAP and you have created a temporary password (about 3 months), you can use that to login to the [https://sso.mozilla.com SSO portal]. From SSO, you should have links to various services from email, irc, calendar, slack, mana, etc. More on each of those later on this page&lt;br /&gt;
&lt;br /&gt;
== login.mozilla.com ==&lt;br /&gt;
&lt;br /&gt;
[https://login.mozilla.com/ login.mozilla.com] is where you can change a number of authentication/authorization access bits that you have control over. Each todo in this section assumes you have access to this page.&lt;br /&gt;
&lt;br /&gt;
=== LDAP password reset ===&lt;br /&gt;
&lt;br /&gt;
If you were given a temporary ldap password or you haven&#039;t created your own password yet, you should do this now.&lt;br /&gt;
&lt;br /&gt;
=== SSH ===&lt;br /&gt;
&lt;br /&gt;
Upload your public ssh key. It is a good idea to generate a separate ssh keypair from your personal one or any other that you have created in the past and use that explicitly for CiDuty and upload that. Follow this [[Security/Guidelines/OpenSSH#OpenSSH_client|SSH guidelines doc]] on how to generate, configure, and use your ssh key.&lt;br /&gt;
&lt;br /&gt;
note: example ssh config for accessing our systems given below in Jumphost section&lt;br /&gt;
&lt;br /&gt;
=== PGP ===&lt;br /&gt;
&lt;br /&gt;
We use pgp keys to share private information, secrets, and verify that the source came from someone we trust. Generate a keypair for this and upload your public key so others can find it. It would be really good if you could have other people sign your key, adding more trust that this key really belongs to you.&lt;br /&gt;
&lt;br /&gt;
You can use the the [https://mana.mozilla.org/wiki/display/SD/Generating+a+GPG+Public+Key pgp quickstart guide on mana] or you can use the The [https://www.gnupg.org/gph/en/manual.html GNU Privacy Handbook] for reference.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VPN ===&lt;br /&gt;
&lt;br /&gt;
Many of our systems are behind a private network in addition to auth0. Follow the prompts to generate and download an openVPN certificate that you can use to import to your vpn client.&lt;br /&gt;
&lt;br /&gt;
See the instructions on how to [https://mana.mozilla.org/wiki/display/SD/VPN install and configure your VPN client] and help choosing the right client for your platform.&lt;br /&gt;
&lt;br /&gt;
note: macOS users should use [https://www.sparklabs.com/viscosity/ Viscosity]. This application comes with a free 30 day trial. During your trial, your manager can help you create a ServiceNow ticket to get a Viscosity full license. While Windows users can use OpenVPN GUI that is free.&lt;br /&gt;
&lt;br /&gt;
=== MFA ===&lt;br /&gt;
&lt;br /&gt;
This MFA account is specific to login.mozilla.com and is used for LDAP/auth0 based logins. Follow the instructions to download the Duo Mobile app and create a Mozilla account.&lt;br /&gt;
&lt;br /&gt;
note: later on in this page we will create more MFA accounts for various systems like Github and accessing our Jumphost&lt;br /&gt;
&lt;br /&gt;
== Jumphost ==&lt;br /&gt;
&lt;br /&gt;
To access any of Release Engineering, Taskcluster, and Release Operations hosts directly, you will need to go through VPN -&amp;gt; a Jumphost machine -&amp;gt; Separate MFA -&amp;gt; your target host.&lt;br /&gt;
&lt;br /&gt;
To do that, you and your manager will need to file a ticket against Release Operations and have them send you an invite to add an MFA account on your Duo App.&lt;br /&gt;
&lt;br /&gt;
Then once you have your Jumphost MFA setup correctly, you will need to have your ssh config to correctly route through the jumphost before trying the target host you want.&lt;br /&gt;
&lt;br /&gt;
example ssh config:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ruby&amp;quot;&amp;gt;&lt;br /&gt;
# Ensure KnownHosts are unreadable if leaked - it is otherwise easier to know which hosts your keys have access to.&lt;br /&gt;
HashKnownHosts yes&lt;br /&gt;
# Host keys the client accepts - order here is honored by OpenSSH&lt;br /&gt;
HostKeyAlgorithms ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ssh-ed25519,ssh-rsa,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521,ecdsa-sha2-nistp384,ecdsa-sha2-nistp256&lt;br /&gt;
&lt;br /&gt;
Host hg.mozilla.org git.mozilla.org&lt;br /&gt;
    User USERNAME@mozilla.com&lt;br /&gt;
    Compression yes&lt;br /&gt;
    ServerAliveInterval 300&lt;br /&gt;
&lt;br /&gt;
Host *.mozilla.com&lt;br /&gt;
    User USERNAME&lt;br /&gt;
    IdentityFile ~/.ssh/id_rsa_mozilla_2017-05-12&lt;br /&gt;
    Compression yes&lt;br /&gt;
    ServerAliveInterval 300&lt;br /&gt;
&lt;br /&gt;
Host *.build.mozilla.org&lt;br /&gt;
    Compression yes&lt;br /&gt;
    User cltbld&lt;br /&gt;
    ServerAliveInterval 300&lt;br /&gt;
&lt;br /&gt;
Host rejh?.srv.releng.????.mozilla.com&lt;br /&gt;
    ControlMaster auto&lt;br /&gt;
    ControlPath ~/.ssh/ssh-%C&lt;br /&gt;
    ControlPersist 10m&lt;br /&gt;
    ForwardAgent no&lt;br /&gt;
 &lt;br /&gt;
Host *.releng.mdc1.mozilla.com !rejh?.srv.releng.mdc1.mozilla.com !*.private.releng.????.mozilla.com&lt;br /&gt;
    ProxyJump rejh1.srv.releng.mdc1.mozilla.com&lt;br /&gt;
 &lt;br /&gt;
Host *.releng.us??.mozilla.com *.releng.scl3.mozilla.com !rejh?.srv.releng.????.mozilla.com !*.private.releng.scl3.mozilla.com&lt;br /&gt;
    ProxyJump rejh1.srv.releng.scl3.mozilla.com&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Communications =&lt;br /&gt;
&lt;br /&gt;
== Mail ==&lt;br /&gt;
Mozilla mail is handled by [https://mail.google.com/ Gmail].&lt;br /&gt;
&lt;br /&gt;
Have your manager subscribe you to this list if you are not already.&lt;br /&gt;
&lt;br /&gt;
=== Mailing lists ===&lt;br /&gt;
&lt;br /&gt;
Needs permission:&lt;br /&gt;
* [https://groups.google.com/a/mozilla.com/forum/?hl=en#!forum/ciduty ciduty@mozilla.com] - this is our team email. Ask owner (jlund) for access&lt;br /&gt;
* [https://groups.google.com/a/mozilla.com/forum/?hl=en#!forum/releng-puppet-mail Puppet Mail] (warning: you will want to filter this as it can send a lot of mail)&lt;br /&gt;
&lt;br /&gt;
You&#039;ll also need to manually subscribe to the following public lists:&lt;br /&gt;
* [https://lists.mozilla.org/listinfo/release-engineering release-engineering] public mailing list&lt;br /&gt;
* [https://lists.mozilla.org/listinfo/dev-planning mozilla.dev.planning]&lt;br /&gt;
* [https://lists.mozilla.org/listinfo/dev-tree-management mozilla.dev.tree-management]&lt;br /&gt;
* https://mail.mozilla.org/listinfo/taskcluster-announce - announcements of events, major changes (low volume, no discussion)&lt;br /&gt;
* https://lists.mozilla.org/listinfo/tools-taskcluster - general taskcluster discussion&lt;br /&gt;
* [https://groups.google.com/a/mozilla.com/forum/#!forum/firefox-ci firefox-ci] mailing list&lt;br /&gt;
&lt;br /&gt;
These are available as [news://news.mozilla.org newsgroups], google groups, and [https://lists.mozilla.org/listinfo Mailman lists]&lt;br /&gt;
&lt;br /&gt;
== Calendar ==&lt;br /&gt;
Like mail, we now use [https://www.google.com/calendar/ Google calendar].&lt;br /&gt;
&lt;br /&gt;
You&#039;ll want to subscribe to the following public calendars:&lt;br /&gt;
* [https://calendar.google.com/calendar/embed?src=mozilla.com_2d32343333353036312d393737%40resource.calendar.google.com Release Engineering - Public]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bugzilla ==&lt;br /&gt;
&lt;br /&gt;
Almost everything at Mozilla goes through Bugzilla. [https://bugzilla.mozilla.org/createaccount.cgi Create a Bugzilla account] if you have not already. You should setup MFA and can reuse your LDAP based MFA account.&lt;br /&gt;
&lt;br /&gt;
You&#039;ll need a few tweaks to your account to get access to everything releng-related:&lt;br /&gt;
* Use your LDAP email if you would like. You can use a personal one or bugzilla specific one if you prefer to filter that way&lt;br /&gt;
* Add privileges for bugzilla group &amp;quot;build&amp;quot; (Mozilla Build Team) (Can be done by catlee or bugzilla admin.)&lt;br /&gt;
* Add your irc nickname &amp;amp;amp; ldap username as &amp;amp;quot;aliases&amp;amp;quot; for your account&lt;br /&gt;
** log into bugzilla &amp;amp;amp; follow links &amp;amp;quot;Preferences&amp;amp;quot; -&amp;amp;gt; &amp;amp;quot;Account Information&amp;amp;quot;&lt;br /&gt;
** append the aliases, with a leading &#039;:&#039; and enclosed in brackets (&#039;[]&#039;) to the &amp;amp;quot;Real Name&amp;amp;quot; field&lt;br /&gt;
** e.g.: &amp;amp;quot;&amp;lt;tt&amp;gt;Chris AtLee [:catlee]&amp;lt;/tt&amp;gt;&amp;amp;quot;&lt;br /&gt;
* [https://bugzilla.mozilla.org/page.cgi?id=quicksearch.html QuickSearch help]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Vidyo ==&lt;br /&gt;
&lt;br /&gt;
Our primary two way video meeting platform is Vidyo. Basic usage instructions are [https://mana.mozilla.org/wiki/display/SD/Vidyo+Desktop+3 here]. Especially if you are running linux, it is highly recommended that you install the client and make test calls prior to any meeting.&lt;br /&gt;
&lt;br /&gt;
Special [https://mana.mozilla.org/wiki/display/~gene@mozilla.com/How+to+get+Vidyo+working+on+Ubuntu+16.04+and+newer Ubuntu instructions] that may help&lt;br /&gt;
&lt;br /&gt;
Add to your contact list the CiDuty room&lt;br /&gt;
&lt;br /&gt;
== IRC ==&lt;br /&gt;
&lt;br /&gt;
Historically, IRC is the primary place for chat based communication. Many people use the [https://mana.mozilla.org/wiki/display/SD/IRCCloud+Account+Setup%20IRCCloud%20cloud locally-hosted irccloud] instance. SSO should have a link to the irccloud instance. Servicedesk has some great [https://mana.mozilla.org/wiki/display/SD/Internet+Relay+Chat+-+IRC getting started tips] for IRC.&lt;br /&gt;
&lt;br /&gt;
Useful channels&lt;br /&gt;
* #ci, #releaseduty, #releng-bots #taskcluster, #developers, #mobile, #ateam, #moc&lt;br /&gt;
&lt;br /&gt;
Protected channels&lt;br /&gt;
* #platform-ops-soc, #platform-ops-alerts&lt;br /&gt;
  * password in secrets repo&lt;br /&gt;
* you don&#039;t need to join all of these but some may be useful: https://mana.mozilla.org/wiki/display/SYSADMIN/IRC+use+within+IT&lt;br /&gt;
  * passwordw in mana&lt;br /&gt;
&lt;br /&gt;
== Slack ==&lt;br /&gt;
&lt;br /&gt;
Some parts of Mozilla prefer Slack to IRC, more info on [https://mana.mozilla.org/wiki/display/CCT/Slack mana].&lt;br /&gt;
&lt;br /&gt;
== Wiki ==&lt;br /&gt;
&lt;br /&gt;
wiki.mozilla.org (here) is the main source for public documentation&lt;br /&gt;
&lt;br /&gt;
== Mana ==&lt;br /&gt;
&lt;br /&gt;
Some internal Mozilla systems (IT, HR) are documented on [https://mana.mozilla.org mana]. File a [https://mozilla.service-now.com/ ServiceNow] ticket if you don&#039;t have access when you start.&lt;br /&gt;
&lt;br /&gt;
== Google Drive ==&lt;br /&gt;
&lt;br /&gt;
Google Drive (formerly Google docs) is a preferred way to share things these days. This includes spreadsheets and documents that will change a great deal over time. &lt;br /&gt;
&lt;br /&gt;
Google Drive access should be enabled with your email account when you start. If you need access to a particular document, talk to the document owner or your manager/mentor.&lt;br /&gt;
&lt;br /&gt;
= Development =&lt;br /&gt;
&lt;br /&gt;
== Mercurial (hg) ==&lt;br /&gt;
&lt;br /&gt;
Most development in releng (and at Mozilla writ-large) is stored in version control using [http://mercurial.selenic.com/ hg]. &lt;br /&gt;
&lt;br /&gt;
There is an excellent step-by-step guide for setting up and using hg: [https://mozilla-version-control-tools.readthedocs.org/en/latest/hgmozilla/index.html Mercurial for Mozillians]&lt;br /&gt;
&lt;br /&gt;
The root webview of the Mozilla hg repositories is here: https://hg.mozilla.org/&lt;br /&gt;
&lt;br /&gt;
There are 3 levels of commit access:&lt;br /&gt;
* Level 1 access allows you to use the [[ReleaseEngineering/TryServer|Try Server]] and setup user repos. As a new contributor, you should request this on day one.&lt;br /&gt;
* Level 2 access is required to land code in the build and project repos. Once you have a proven track record of successful patches, you can ask your manager/mentor to vouch for your Level 2 access. Your manager/mentor can also land patches for you until you receive Level 2 access.&lt;br /&gt;
* Level 3 access is required to land code in [https://hg.mozilla.org/mozilla-central mozilla-central] and its derived integration &amp;amp; release branches. At some point in your Mozilla contribution story, you may need Level 3 access but many contributors never do. Talk to your manager/mentor if you think you need this access. You should already have Level 2 access when you request Level 3.&lt;br /&gt;
&lt;br /&gt;
You need to file an IT bug to get hg commit access. Follow the instructions for [https://www.mozilla.org/en-US/about/governance/policies/commit/ Becoming a Mozilla Committer], and for Level 2, specify you need access to (at least) hg.mozilla.org/build/* (Product/Component: mozilla.org/Repository Account Requests). &lt;br /&gt;
* example request: {{bug|703351}}&lt;br /&gt;
&lt;br /&gt;
== Git &amp;amp; Github ==&lt;br /&gt;
&lt;br /&gt;
There are git mirrors of many popular Mozilla repositories. One of the Mozilla github admins (jlund) can add you to the following GitHub groups:&lt;br /&gt;
* [https://github.com/orgs/mozilla-releng/teams/buildduty/members CiDuty Github Team]&lt;br /&gt;
&lt;br /&gt;
There are also a handful of git repos hosted directly by Mozilla. Your manager/mentor will let you know if you need access to one of these. ([[Github|See also]])&lt;br /&gt;
&lt;br /&gt;
= Secrets =&lt;br /&gt;
&lt;br /&gt;
Releng and Relops have a shared repo of secrets. Please reach out to jlund or another manager for instructions on how to access and ask to be add yourself as a recipient to every secret that the rest of the CiDuty team (users/buildduty-fingerprints) has access to&lt;br /&gt;
&lt;br /&gt;
= Releng/TC AWS account =&lt;br /&gt;
&lt;br /&gt;
File a release engineering &amp;quot;general&amp;quot; ticket and needinfo jlund or another releng manager to create a user account and add you to the CiDuty group&lt;br /&gt;
&lt;br /&gt;
= Other Services =&lt;br /&gt;
&lt;br /&gt;
For access to other services, you&#039;ll need file a couple of bugs:&lt;br /&gt;
* Access to Papertrail&lt;br /&gt;
** ask jlund or another manager to be added to the encrypted file in the secrets repo&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Buildduty/day_1_checklist&amp;diff=1206227</id>
		<title>Buildduty/day 1 checklist</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Buildduty/day_1_checklist&amp;diff=1206227"/>
		<updated>2019-01-15T15:06:07Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Updated information on page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
Welcome to CiDuty! &lt;br /&gt;
&lt;br /&gt;
This page is meant to serve as a resource for new CiDuty team-members getting up to speed and ensuring they have access to the appropriate systems that they are expected to use.&lt;br /&gt;
&lt;br /&gt;
= CiDuty and the Manifesto =&lt;br /&gt;
&lt;br /&gt;
* Before you start it would be a good idea to make sure you know what CiDuty is all about. Please have a read through of [[ReleaseEngineering/Buildduty_manifesto|the manifesto]]&lt;br /&gt;
&lt;br /&gt;
= Access =&lt;br /&gt;
&lt;br /&gt;
== SSO ==&lt;br /&gt;
&lt;br /&gt;
Generally, we rely on [https://auth0.com/ auth0] across Mozilla for authentication and [https://mana.mozilla.org/wiki/display/SYSADMIN/LDAP+Architecture LDAP] for authorization. Once given LDAP and you have created a temporary password (about 3 months), you can use that to login to the [https://sso.mozilla.com SSO portal]. From SSO, you should have links to various services from email, irc, calendar, slack, mana, etc. More on each of those later on this page&lt;br /&gt;
&lt;br /&gt;
== login.mozilla.com ==&lt;br /&gt;
&lt;br /&gt;
[https://login.mozilla.com/ login.mozilla.com] is where you can change a number of authentication/authorization access bits that you have control over. Each todo in this section assumes you have access to this page.&lt;br /&gt;
&lt;br /&gt;
=== LDAP password reset ===&lt;br /&gt;
&lt;br /&gt;
If you were given a temporary ldap password or you haven&#039;t created your own password yet, you should do this now.&lt;br /&gt;
&lt;br /&gt;
=== SSH ===&lt;br /&gt;
&lt;br /&gt;
Upload your public ssh key. It is a good idea to generate a separate ssh keypair from your personal one or any other that you have created in the past and use that explicitly for CiDuty and upload that. Follow this [[Security/Guidelines/OpenSSH#OpenSSH_client|SSH guidelines doc]] on how to generate, configure, and use your ssh key.&lt;br /&gt;
&lt;br /&gt;
note: example ssh config for accessing our systems given below in Jumphost section&lt;br /&gt;
&lt;br /&gt;
=== PGP ===&lt;br /&gt;
&lt;br /&gt;
We use pgp keys to share private information, secrets, and verify that the source came from someone we trust. Generate a keypair for this and upload your public key so others can find it. It would be really good if you could have other people sign your key, adding more trust that this key really belongs to you.&lt;br /&gt;
&lt;br /&gt;
You can use the the [https://mana.mozilla.org/wiki/display/SD/Generating+a+GPG+Public+Key pgp quickstart guide on mana] or you can use the The [https://www.gnupg.org/gph/en/manual.html GNU Privacy Handbook] for reference.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VPN ===&lt;br /&gt;
&lt;br /&gt;
Many of our systems are behind a private network in addition to auth0. Follow the prompts to generate and download an openVPN certificate that you can use to import to your vpn client.&lt;br /&gt;
&lt;br /&gt;
See the instructions on how to [https://mana.mozilla.org/wiki/display/SD/VPN install and configure your VPN client] and help choosing the right client for your platform.&lt;br /&gt;
&lt;br /&gt;
note: macOS users should use [https://www.sparklabs.com/viscosity/ Viscosity]. This application comes with a free 30 day trial. During your trial, your manager can help you create a ServiceNow ticket to get a Viscosity full license. While Windows users can use OpenVPN GUI that is free.&lt;br /&gt;
&lt;br /&gt;
=== MFA ===&lt;br /&gt;
&lt;br /&gt;
This MFA account is specific to login.mozilla.com and is used for LDAP/auth0 based logins. Follow the instructions to download the Duo Mobile app and create a Mozilla account.&lt;br /&gt;
&lt;br /&gt;
note: later on in this page we will create more MFA accounts for various systems like Github and accessing our Jumphost&lt;br /&gt;
&lt;br /&gt;
== Jumphost ==&lt;br /&gt;
&lt;br /&gt;
To access any of Release Engineering, Taskcluster, and Release Operations hosts directly, you will need to go through VPN -&amp;gt; a Jumphost machine -&amp;gt; Separate MFA -&amp;gt; your target host.&lt;br /&gt;
&lt;br /&gt;
To do that, you and your manager will need to file a ticket against Release Operations and have them send you an invite to add an MFA account on your Duo App.&lt;br /&gt;
&lt;br /&gt;
Then once you have your Jumphost MFA setup correctly, you will need to have your ssh config to correctly route through the jumphost before trying the target host you want.&lt;br /&gt;
&lt;br /&gt;
example ssh config:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ruby&amp;quot;&amp;gt;&lt;br /&gt;
# Ensure KnownHosts are unreadable if leaked - it is otherwise easier to know which hosts your keys have access to.&lt;br /&gt;
HashKnownHosts yes&lt;br /&gt;
# Host keys the client accepts - order here is honored by OpenSSH&lt;br /&gt;
HostKeyAlgorithms ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ssh-ed25519,ssh-rsa,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521,ecdsa-sha2-nistp384,ecdsa-sha2-nistp256&lt;br /&gt;
&lt;br /&gt;
Host hg.mozilla.org git.mozilla.org&lt;br /&gt;
    User USERNAME@mozilla.com&lt;br /&gt;
    Compression yes&lt;br /&gt;
    ServerAliveInterval 300&lt;br /&gt;
&lt;br /&gt;
Host *.mozilla.com&lt;br /&gt;
    User USERNAME&lt;br /&gt;
    IdentityFile ~/.ssh/id_rsa_mozilla_2017-05-12&lt;br /&gt;
    Compression yes&lt;br /&gt;
    ServerAliveInterval 300&lt;br /&gt;
&lt;br /&gt;
Host *.build.mozilla.org&lt;br /&gt;
    Compression yes&lt;br /&gt;
    User cltbld&lt;br /&gt;
    ServerAliveInterval 300&lt;br /&gt;
&lt;br /&gt;
Host rejh?.srv.releng.????.mozilla.com&lt;br /&gt;
    ControlMaster auto&lt;br /&gt;
    ControlPath ~/.ssh/ssh-%C&lt;br /&gt;
    ControlPersist 10m&lt;br /&gt;
    ForwardAgent no&lt;br /&gt;
 &lt;br /&gt;
Host *.releng.mdc1.mozilla.com !rejh?.srv.releng.mdc1.mozilla.com !*.private.releng.????.mozilla.com&lt;br /&gt;
    ProxyJump rejh1.srv.releng.mdc1.mozilla.com&lt;br /&gt;
 &lt;br /&gt;
Host *.releng.us??.mozilla.com *.releng.scl3.mozilla.com !rejh?.srv.releng.????.mozilla.com !*.private.releng.scl3.mozilla.com&lt;br /&gt;
    ProxyJump rejh1.srv.releng.scl3.mozilla.com&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Communications =&lt;br /&gt;
&lt;br /&gt;
== Mail ==&lt;br /&gt;
Mozilla mail is handled by [https://mail.google.com/ Gmail].&lt;br /&gt;
&lt;br /&gt;
Have your manager subscribe you to this list if you are not already.&lt;br /&gt;
&lt;br /&gt;
=== Mailing lists ===&lt;br /&gt;
&lt;br /&gt;
Needs permission:&lt;br /&gt;
* [https://groups.google.com/a/mozilla.com/forum/?hl=en#!forum/ciduty ciduty@mozilla.com] - this is our team email. Ask owner (jlund) for access&lt;br /&gt;
* [https://groups.google.com/a/mozilla.com/forum/?hl=en#!forum/releng-puppet-mail Puppet Mail] (warning: you will want to filter this as it can send a lot of mail)&lt;br /&gt;
&lt;br /&gt;
You&#039;ll also need to manually subscribe to the following public lists:&lt;br /&gt;
* [https://lists.mozilla.org/listinfo/release-engineering release-engineering] public mailing list&lt;br /&gt;
* [https://lists.mozilla.org/listinfo/dev-planning mozilla.dev.planning]&lt;br /&gt;
* [https://lists.mozilla.org/listinfo/dev-tree-management mozilla.dev.tree-management]&lt;br /&gt;
* https://mail.mozilla.org/listinfo/taskcluster-announce - announcements of events, major changes (low volume, no discussion)&lt;br /&gt;
* https://lists.mozilla.org/listinfo/tools-taskcluster - general taskcluster discussion&lt;br /&gt;
* [https://groups.google.com/a/mozilla.com/forum/#!forum/firefox-ci firefox-ci] mailing list&lt;br /&gt;
&lt;br /&gt;
These are available as [news://news.mozilla.org newsgroups], google groups, and [https://lists.mozilla.org/listinfo Mailman lists]&lt;br /&gt;
&lt;br /&gt;
== Calendar ==&lt;br /&gt;
Like mail, we now use [https://www.google.com/calendar/ Google calendar].&lt;br /&gt;
&lt;br /&gt;
You&#039;ll want to subscribe to the following public calendars:&lt;br /&gt;
* [https://calendar.google.com/calendar/embed?src=mozilla.com_2d32343333353036312d393737%40resource.calendar.google.com Release Engineering - Public]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bugzilla ==&lt;br /&gt;
&lt;br /&gt;
Almost everything at Mozilla goes through Bugzilla. [https://bugzilla.mozilla.org/createaccount.cgi Create a Bugzilla account] if you have not already. You should setup MFA and can reuse your LDAP based MFA account.&lt;br /&gt;
&lt;br /&gt;
You&#039;ll need a few tweaks to your account to get access to everything releng-related:&lt;br /&gt;
* Use your LDAP email if you would like. You can use a personal one or bugzilla specific one if you prefer to filter that way&lt;br /&gt;
* Add privileges for bugzilla group &amp;quot;build&amp;quot; (Mozilla Build Team) (Can be done by catlee or bugzilla admin.)&lt;br /&gt;
* Add your irc nickname &amp;amp;amp; ldap username as &amp;amp;quot;aliases&amp;amp;quot; for your account&lt;br /&gt;
** log into bugzilla &amp;amp;amp; follow links &amp;amp;quot;Preferences&amp;amp;quot; -&amp;amp;gt; &amp;amp;quot;Account Information&amp;amp;quot;&lt;br /&gt;
** append the aliases, with a leading &#039;:&#039; and enclosed in brackets (&#039;[]&#039;) to the &amp;amp;quot;Real Name&amp;amp;quot; field&lt;br /&gt;
** e.g.: &amp;amp;quot;&amp;lt;tt&amp;gt;Chris AtLee [:catlee]&amp;lt;/tt&amp;gt;&amp;amp;quot;&lt;br /&gt;
* [https://bugzilla.mozilla.org/page.cgi?id=quicksearch.html QuickSearch help]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Vidyo ==&lt;br /&gt;
&lt;br /&gt;
Our primary two way video meeting platform is Vidyo. Basic usage instructions are [https://mana.mozilla.org/wiki/display/SD/Vidyo+Desktop+3 here]. Especially if you are running linux, it is highly recommended that you install the client and make test calls prior to any meeting.&lt;br /&gt;
&lt;br /&gt;
Special [https://mana.mozilla.org/wiki/display/~gene@mozilla.com/How+to+get+Vidyo+working+on+Ubuntu+16.04+and+newer Ubuntu instructions] that may help&lt;br /&gt;
&lt;br /&gt;
Add to your contact list the CiDuty room&lt;br /&gt;
&lt;br /&gt;
== IRC ==&lt;br /&gt;
&lt;br /&gt;
Historically, IRC is the primary place for chat based communication. Many people use the [https://mana.mozilla.org/wiki/display/SD/IRCCloud+Account+Setup%20IRCCloud%20cloud locally-hosted irccloud] instance. SSO should have a link to the irccloud instance. Servicedesk has some great [https://mana.mozilla.org/wiki/display/SD/Internet+Relay+Chat+-+IRC getting started tips] for IRC.&lt;br /&gt;
&lt;br /&gt;
Useful channels&lt;br /&gt;
* #ci, #releaseduty, #releng-bots #taskcluster, #developers, #mobile, #ateam, #moc&lt;br /&gt;
&lt;br /&gt;
Protected channels&lt;br /&gt;
* #platform-ops-soc, #platform-ops-alerts&lt;br /&gt;
  * password in secrets repo&lt;br /&gt;
* you don&#039;t need to join all of these but some may be useful: https://mana.mozilla.org/wiki/display/SYSADMIN/IRC+use+within+IT&lt;br /&gt;
  * passwordw in mana&lt;br /&gt;
&lt;br /&gt;
== Slack ==&lt;br /&gt;
&lt;br /&gt;
Some parts of Mozilla prefer Slack to IRC, more info on [https://mana.mozilla.org/wiki/display/CCT/Slack mana].&lt;br /&gt;
&lt;br /&gt;
== Wiki ==&lt;br /&gt;
&lt;br /&gt;
wiki.mozilla.org (here) is the main source for public documentation&lt;br /&gt;
&lt;br /&gt;
== Mana ==&lt;br /&gt;
&lt;br /&gt;
Some internal Mozilla systems (IT, HR) are documented on [https://mana.mozilla.org mana]. File a [https://mozilla.service-now.com/ ServiceNow] ticket if you don&#039;t have access when you start.&lt;br /&gt;
&lt;br /&gt;
== Google Drive ==&lt;br /&gt;
&lt;br /&gt;
Google Drive (formerly Google docs) is a preferred way to share things these days. This includes spreadsheets and documents that will change a great deal over time. &lt;br /&gt;
&lt;br /&gt;
Google Drive access should be enabled with your email account when you start. If you need access to a particular document, talk to the document owner or your manager/mentor.&lt;br /&gt;
&lt;br /&gt;
= Development =&lt;br /&gt;
&lt;br /&gt;
== Mercurial (hg) ==&lt;br /&gt;
&lt;br /&gt;
Most development in releng (and at Mozilla writ-large) is stored in version control using [http://mercurial.selenic.com/ hg]. &lt;br /&gt;
&lt;br /&gt;
There is an excellent step-by-step guide for setting up and using hg: [https://mozilla-version-control-tools.readthedocs.org/en/latest/hgmozilla/index.html Mercurial for Mozillians]&lt;br /&gt;
&lt;br /&gt;
The root webview of the Mozilla hg repositories is here: https://hg.mozilla.org/&lt;br /&gt;
&lt;br /&gt;
There are 3 levels of commit access:&lt;br /&gt;
* Level 1 access allows you to use the [[ReleaseEngineering/TryServer|Try Server]] and setup user repos. As a new contributor, you should request this on day one.&lt;br /&gt;
* Level 2 access is required to land code in the build and project repos. Once you have a proven track record of successful patches, you can ask your manager/mentor to vouch for your Level 2 access. Your manager/mentor can also land patches for you until you receive Level 2 access.&lt;br /&gt;
* Level 3 access is required to land code in [https://hg.mozilla.org/mozilla-central mozilla-central] and its derived integration &amp;amp; release branches. At some point in your Mozilla contribution story, you may need Level 3 access but many contributors never do. Talk to your manager/mentor if you think you need this access. You should already have Level 2 access when you request Level 3.&lt;br /&gt;
&lt;br /&gt;
You need to file an IT bug to get hg commit access. Follow the instructions for [https://www.mozilla.org/en-US/about/governance/policies/commit/ Becoming a Mozilla Committer], and for Level 2, specify you need access to (at least) hg.mozilla.org/build/* (Product/Component: mozilla.org/Repository Account Requests). &lt;br /&gt;
* example request: {{bug|703351}}&lt;br /&gt;
&lt;br /&gt;
== Git &amp;amp; Github ==&lt;br /&gt;
&lt;br /&gt;
There are git mirrors of many popular Mozilla repositories. One of the Mozilla github admins (jlund) can add you to the following GitHub groups:&lt;br /&gt;
* [https://github.com/orgs/mozilla-releng/teams/buildduty/members CiDuty Github Team]&lt;br /&gt;
&lt;br /&gt;
There are also a handful of git repos hosted directly by Mozilla. Your manager/mentor will let you know if you need access to one of these. ([[Github|See also]])&lt;br /&gt;
&lt;br /&gt;
= Secrets =&lt;br /&gt;
&lt;br /&gt;
Releng and Relops have a shared repo of secrets. Please reach out to jlund or another manager for instructions on how to access and ask to be add yourself as a recipient to every secret that the rest of the CiDuty team (users/buildduty-fingerprints) has access to&lt;br /&gt;
&lt;br /&gt;
= Releng/TC AWS account =&lt;br /&gt;
&lt;br /&gt;
File a release engineering &amp;quot;general&amp;quot; ticket and needinfo jlund or another releng manager to create a user account and add you to the CiDuty group&lt;br /&gt;
&lt;br /&gt;
= Other Services =&lt;br /&gt;
&lt;br /&gt;
For access to other services, you&#039;ll need file a couple of bugs:&lt;br /&gt;
* Access to [http://nagios.mozilla.org/nagios/ Nagios]&lt;br /&gt;
** File a bug in bugzilla under &#039;MOC: Service Requests&#039;&lt;br /&gt;
* Access to Papertrail&lt;br /&gt;
** ask jlund or another manager to be added to the encrypted file in the secrets repo&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=CIDuty&amp;diff=1206224</id>
		<title>CIDuty</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=CIDuty&amp;diff=1206224"/>
		<updated>2019-01-15T14:43:19Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Updated &amp;quot;as of Date&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= What is CIDuty? =&lt;br /&gt;
CiDuty (formerly BuildDuty) is a team dedicated to helping out developers with Firefox continuous integration infra issues and enquiries. We currently have six people based in Romania that provide 24/7 support.  CiDuty complement the [[Sheriff|sheriffing team]] where sheriffs respond to Firefox code regressions, CiDuty respond to the infrastructure that builds and tests Firefox code.&lt;br /&gt;
&lt;br /&gt;
Have a question or issue with Firefox, build and test infrastructure? ciduty can help and ensure your inquiry gets answered.&lt;br /&gt;
&lt;br /&gt;
= Communication =&lt;br /&gt;
&lt;br /&gt;
As a 24/7 support team, ciduty are available via irc, email, and bugzilla.&lt;br /&gt;
&lt;br /&gt;
irc:&lt;br /&gt;
* #ci - look for &#039;ciduty&#039; in nick (monitors other channels as well)&lt;br /&gt;
&lt;br /&gt;
bugzilla:&lt;br /&gt;
* needinfo or assign ciduty@mozilla.com&lt;br /&gt;
* file under [https://bugzilla.mozilla.org/enter_bug.cgi?product=Infrastructure%20%26%20Operations&amp;amp;component=CIDuty CIDuty] component if you are not sure where to file your CI related ticket&lt;br /&gt;
&lt;br /&gt;
email:&lt;br /&gt;
* ciduty@mozilla.com&lt;br /&gt;
&lt;br /&gt;
= Manifesto =&lt;br /&gt;
The [[ReleaseEngineering/Buildduty_manifesto| CIDuty manifesto]] describes the team responsibilities in a nutshell.&lt;br /&gt;
&lt;br /&gt;
= Team =&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
| &#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Profile&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Social&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Blog&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Jordan Lund&lt;br /&gt;
| [https://mozillians.org/u/jlund jlund]&lt;br /&gt;
| [https://github.com/lundjordan github]&lt;br /&gt;
| [http://jordan-lund.ghost.io/ blog]&lt;br /&gt;
|-&lt;br /&gt;
| Zsolt Fay&lt;br /&gt;
| [https://mozillians.org/en-US/u/zfay/ zfay]&lt;br /&gt;
| [https://github.com/Rivulu5 github]&lt;br /&gt;
|  N/A&lt;br /&gt;
|-&lt;br /&gt;
| Radu Iman&lt;br /&gt;
| [https://mozillians.org/en-US/u/riman/ riman]&lt;br /&gt;
| [https://github.com/raduiman github]&lt;br /&gt;
| N/A &lt;br /&gt;
|-&lt;br /&gt;
| Bogdan Crisan&lt;br /&gt;
| [https://mozillians.org/en-US/u/bcrisan/ bcrisan]&lt;br /&gt;
| [https://github.com/bccrisan github]&lt;br /&gt;
| N/A &lt;br /&gt;
|-&lt;br /&gt;
| Danut Labici&lt;br /&gt;
| [https://mozillians.org/en-US/u/dlabici/ dlabici]&lt;br /&gt;
| [https://github.com/akhliskun github]&lt;br /&gt;
| N/A &lt;br /&gt;
|-&lt;br /&gt;
| Roland Mutter&lt;br /&gt;
| [https://mozillians.org/en-US/u/rmutter/ rmutter]&lt;br /&gt;
| [https://github.com/mutterroland github]&lt;br /&gt;
| N/A &lt;br /&gt;
|-&lt;br /&gt;
| Adrian Pop&lt;br /&gt;
| [https://mozillians.org/en-US/u/apop/ apop]&lt;br /&gt;
| [https://github.com/popadrianc github]&lt;br /&gt;
| N/A&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= CiDuty priorities =&lt;br /&gt;
The [[ReleaseEngineering/Buildduty_actionable| CiDuty actionable]] enumerates their daily/weekly sanity job.&lt;br /&gt;
&lt;br /&gt;
= Documentation =&lt;br /&gt;
There&#039;s a [https://wiki.mozilla.org/CIDuty/How_To HowTo wiki page] that aggregates useful info related to the tasks CiDuty is taking care of (as of January 2019). &lt;br /&gt;
&lt;br /&gt;
= Useful Links =&lt;br /&gt;
* [[ReleaseEngineering/Buildduty/day_1_checklist|Day 1 checklist]]&lt;br /&gt;
* [https://tools.taskcluster.net/provisioners Provision Explorer]&lt;br /&gt;
* [https://wiki.mozilla.org/Buildduty/How_To Public &amp;quot;How To&amp;quot; documents](&#039;&#039;&#039;new&#039;&#039;&#039;) &lt;br /&gt;
* [[ReleaseEngineering/How_To|Old/Deprecated Public &amp;quot;How To&amp;quot; documents]]&lt;br /&gt;
* [https://mana.mozilla.org/wiki/dosearchsite.action?queryString=title%3A%22How%20To%22&amp;amp;where=RelEng Private &amp;quot;How To&amp;quot; documents]&lt;br /&gt;
&lt;br /&gt;
= Deprecated / Archived =&lt;br /&gt;
The following links and pages are out-of-date or not used anymore. They are still here for historical reasons.&lt;br /&gt;
&lt;br /&gt;
== Others ==&lt;br /&gt;
There is a long list of &#039;&#039;&#039;[[CIDuty/Other_Duties|other, less-frequent duties]]&#039;&#039;&#039; that CiDuty can assist with.&lt;br /&gt;
&lt;br /&gt;
== Meeting Notes ==&lt;br /&gt;
Old meeting docs from BuildDuty era.&lt;br /&gt;
* [https://etherpad.mozilla.org/buildduty-notes Daily buildduty stand-up notes]&lt;br /&gt;
* [[ReleaseEngineering/Buildduty/Meetings|Old buildduty weekly meetings notes]]&lt;br /&gt;
* [[ReleaseEngineering/Buildduty/SVMeetings| SoftVision buildduty stand-up notes]]&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=CIDuty&amp;diff=1206223</id>
		<title>CIDuty</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=CIDuty&amp;diff=1206223"/>
		<updated>2019-01-15T14:42:05Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Removed duplicated entry of &amp;quot;Others&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= What is CIDuty? =&lt;br /&gt;
CiDuty (formerly BuildDuty) is a team dedicated to helping out developers with Firefox continuous integration infra issues and enquiries. We currently have six people based in Romania that provide 24/7 support.  CiDuty complement the [[Sheriff|sheriffing team]] where sheriffs respond to Firefox code regressions, CiDuty respond to the infrastructure that builds and tests Firefox code.&lt;br /&gt;
&lt;br /&gt;
Have a question or issue with Firefox, build and test infrastructure? ciduty can help and ensure your inquiry gets answered.&lt;br /&gt;
&lt;br /&gt;
= Communication =&lt;br /&gt;
&lt;br /&gt;
As a 24/7 support team, ciduty are available via irc, email, and bugzilla.&lt;br /&gt;
&lt;br /&gt;
irc:&lt;br /&gt;
* #ci - look for &#039;ciduty&#039; in nick (monitors other channels as well)&lt;br /&gt;
&lt;br /&gt;
bugzilla:&lt;br /&gt;
* needinfo or assign ciduty@mozilla.com&lt;br /&gt;
* file under [https://bugzilla.mozilla.org/enter_bug.cgi?product=Infrastructure%20%26%20Operations&amp;amp;component=CIDuty CIDuty] component if you are not sure where to file your CI related ticket&lt;br /&gt;
&lt;br /&gt;
email:&lt;br /&gt;
* ciduty@mozilla.com&lt;br /&gt;
&lt;br /&gt;
= Manifesto =&lt;br /&gt;
The [[ReleaseEngineering/Buildduty_manifesto| CIDuty manifesto]] describes the team responsibilities in a nutshell.&lt;br /&gt;
&lt;br /&gt;
= Team =&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
| &#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Profile&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Social&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Blog&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Jordan Lund&lt;br /&gt;
| [https://mozillians.org/u/jlund jlund]&lt;br /&gt;
| [https://github.com/lundjordan github]&lt;br /&gt;
| [http://jordan-lund.ghost.io/ blog]&lt;br /&gt;
|-&lt;br /&gt;
| Zsolt Fay&lt;br /&gt;
| [https://mozillians.org/en-US/u/zfay/ zfay]&lt;br /&gt;
| [https://github.com/Rivulu5 github]&lt;br /&gt;
|  N/A&lt;br /&gt;
|-&lt;br /&gt;
| Radu Iman&lt;br /&gt;
| [https://mozillians.org/en-US/u/riman/ riman]&lt;br /&gt;
| [https://github.com/raduiman github]&lt;br /&gt;
| N/A &lt;br /&gt;
|-&lt;br /&gt;
| Bogdan Crisan&lt;br /&gt;
| [https://mozillians.org/en-US/u/bcrisan/ bcrisan]&lt;br /&gt;
| [https://github.com/bccrisan github]&lt;br /&gt;
| N/A &lt;br /&gt;
|-&lt;br /&gt;
| Danut Labici&lt;br /&gt;
| [https://mozillians.org/en-US/u/dlabici/ dlabici]&lt;br /&gt;
| [https://github.com/akhliskun github]&lt;br /&gt;
| N/A &lt;br /&gt;
|-&lt;br /&gt;
| Roland Mutter&lt;br /&gt;
| [https://mozillians.org/en-US/u/rmutter/ rmutter]&lt;br /&gt;
| [https://github.com/mutterroland github]&lt;br /&gt;
| N/A &lt;br /&gt;
|-&lt;br /&gt;
| Adrian Pop&lt;br /&gt;
| [https://mozillians.org/en-US/u/apop/ apop]&lt;br /&gt;
| [https://github.com/popadrianc github]&lt;br /&gt;
| N/A&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= CiDuty priorities =&lt;br /&gt;
The [[ReleaseEngineering/Buildduty_actionable| CiDuty actionable]] enumerates their daily/weekly sanity job.&lt;br /&gt;
&lt;br /&gt;
= Documentation =&lt;br /&gt;
There&#039;s a [https://wiki.mozilla.org/CIDuty/How_To HowTo wiki page] that aggregates useful info related to the tasks CiDuty is taking care of (as of December 2017). &lt;br /&gt;
&lt;br /&gt;
= Useful Links =&lt;br /&gt;
* [[ReleaseEngineering/Buildduty/day_1_checklist|Day 1 checklist]]&lt;br /&gt;
* [https://tools.taskcluster.net/provisioners Provision Explorer]&lt;br /&gt;
* [https://wiki.mozilla.org/Buildduty/How_To Public &amp;quot;How To&amp;quot; documents](&#039;&#039;&#039;new&#039;&#039;&#039;) &lt;br /&gt;
* [[ReleaseEngineering/How_To|Old/Deprecated Public &amp;quot;How To&amp;quot; documents]]&lt;br /&gt;
* [https://mana.mozilla.org/wiki/dosearchsite.action?queryString=title%3A%22How%20To%22&amp;amp;where=RelEng Private &amp;quot;How To&amp;quot; documents]&lt;br /&gt;
&lt;br /&gt;
= Deprecated / Archived =&lt;br /&gt;
The following links and pages are out-of-date or not used anymore. They are still here for historical reasons.&lt;br /&gt;
&lt;br /&gt;
== Others ==&lt;br /&gt;
There is a long list of &#039;&#039;&#039;[[CIDuty/Other_Duties|other, less-frequent duties]]&#039;&#039;&#039; that CiDuty can assist with.&lt;br /&gt;
&lt;br /&gt;
== Meeting Notes ==&lt;br /&gt;
Old meeting docs from BuildDuty era.&lt;br /&gt;
* [https://etherpad.mozilla.org/buildduty-notes Daily buildduty stand-up notes]&lt;br /&gt;
* [[ReleaseEngineering/Buildduty/Meetings|Old buildduty weekly meetings notes]]&lt;br /&gt;
* [[ReleaseEngineering/Buildduty/SVMeetings| SoftVision buildduty stand-up notes]]&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=CIDuty&amp;diff=1206222</id>
		<title>CIDuty</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=CIDuty&amp;diff=1206222"/>
		<updated>2019-01-15T14:41:22Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Updated information on page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= What is CIDuty? =&lt;br /&gt;
CiDuty (formerly BuildDuty) is a team dedicated to helping out developers with Firefox continuous integration infra issues and enquiries. We currently have six people based in Romania that provide 24/7 support.  CiDuty complement the [[Sheriff|sheriffing team]] where sheriffs respond to Firefox code regressions, CiDuty respond to the infrastructure that builds and tests Firefox code.&lt;br /&gt;
&lt;br /&gt;
Have a question or issue with Firefox, build and test infrastructure? ciduty can help and ensure your inquiry gets answered.&lt;br /&gt;
&lt;br /&gt;
= Communication =&lt;br /&gt;
&lt;br /&gt;
As a 24/7 support team, ciduty are available via irc, email, and bugzilla.&lt;br /&gt;
&lt;br /&gt;
irc:&lt;br /&gt;
* #ci - look for &#039;ciduty&#039; in nick (monitors other channels as well)&lt;br /&gt;
&lt;br /&gt;
bugzilla:&lt;br /&gt;
* needinfo or assign ciduty@mozilla.com&lt;br /&gt;
* file under [https://bugzilla.mozilla.org/enter_bug.cgi?product=Infrastructure%20%26%20Operations&amp;amp;component=CIDuty CIDuty] component if you are not sure where to file your CI related ticket&lt;br /&gt;
&lt;br /&gt;
email:&lt;br /&gt;
* ciduty@mozilla.com&lt;br /&gt;
&lt;br /&gt;
= Manifesto =&lt;br /&gt;
The [[ReleaseEngineering/Buildduty_manifesto| CIDuty manifesto]] describes the team responsibilities in a nutshell.&lt;br /&gt;
&lt;br /&gt;
= Team =&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
| &#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Profile&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Social&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Blog&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Jordan Lund&lt;br /&gt;
| [https://mozillians.org/u/jlund jlund]&lt;br /&gt;
| [https://github.com/lundjordan github]&lt;br /&gt;
| [http://jordan-lund.ghost.io/ blog]&lt;br /&gt;
|-&lt;br /&gt;
| Zsolt Fay&lt;br /&gt;
| [https://mozillians.org/en-US/u/zfay/ zfay]&lt;br /&gt;
| [https://github.com/Rivulu5 github]&lt;br /&gt;
|  N/A&lt;br /&gt;
|-&lt;br /&gt;
| Radu Iman&lt;br /&gt;
| [https://mozillians.org/en-US/u/riman/ riman]&lt;br /&gt;
| [https://github.com/raduiman github]&lt;br /&gt;
| N/A &lt;br /&gt;
|-&lt;br /&gt;
| Bogdan Crisan&lt;br /&gt;
| [https://mozillians.org/en-US/u/bcrisan/ bcrisan]&lt;br /&gt;
| [https://github.com/bccrisan github]&lt;br /&gt;
| N/A &lt;br /&gt;
|-&lt;br /&gt;
| Danut Labici&lt;br /&gt;
| [https://mozillians.org/en-US/u/dlabici/ dlabici]&lt;br /&gt;
| [https://github.com/akhliskun github]&lt;br /&gt;
| N/A &lt;br /&gt;
|-&lt;br /&gt;
| Roland Mutter&lt;br /&gt;
| [https://mozillians.org/en-US/u/rmutter/ rmutter]&lt;br /&gt;
| [https://github.com/mutterroland github]&lt;br /&gt;
| N/A &lt;br /&gt;
|-&lt;br /&gt;
| Adrian Pop&lt;br /&gt;
| [https://mozillians.org/en-US/u/apop/ apop]&lt;br /&gt;
| [https://github.com/popadrianc github]&lt;br /&gt;
| N/A&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= CiDuty priorities =&lt;br /&gt;
The [[ReleaseEngineering/Buildduty_actionable| CiDuty actionable]] enumerates their daily/weekly sanity job.&lt;br /&gt;
&lt;br /&gt;
== Others ==&lt;br /&gt;
There is a long list of &#039;&#039;&#039;[[CIDuty/Other_Duties|other, less-frequent duties]]&#039;&#039;&#039; that CiDuty can assist with.&lt;br /&gt;
&lt;br /&gt;
= Documentation =&lt;br /&gt;
There&#039;s a [https://wiki.mozilla.org/CIDuty/How_To HowTo wiki page] that aggregates useful info related to the tasks CiDuty is taking care of (as of December 2017). &lt;br /&gt;
&lt;br /&gt;
= Useful Links =&lt;br /&gt;
* [[ReleaseEngineering/Buildduty/day_1_checklist|Day 1 checklist]]&lt;br /&gt;
* [https://tools.taskcluster.net/provisioners Provision Explorer]&lt;br /&gt;
* [https://wiki.mozilla.org/Buildduty/How_To Public &amp;quot;How To&amp;quot; documents](&#039;&#039;&#039;new&#039;&#039;&#039;) &lt;br /&gt;
* [[ReleaseEngineering/How_To|Old/Deprecated Public &amp;quot;How To&amp;quot; documents]]&lt;br /&gt;
* [https://mana.mozilla.org/wiki/dosearchsite.action?queryString=title%3A%22How%20To%22&amp;amp;where=RelEng Private &amp;quot;How To&amp;quot; documents]&lt;br /&gt;
&lt;br /&gt;
= Deprecated / Archived =&lt;br /&gt;
The following links and pages are out-of-date or not used anymore. They are still here for historical reasons.&lt;br /&gt;
&lt;br /&gt;
== Others ==&lt;br /&gt;
There is a long list of &#039;&#039;&#039;[[CIDuty/Other_Duties|other, less-frequent duties]]&#039;&#039;&#039; that CiDuty can assist with.&lt;br /&gt;
&lt;br /&gt;
== Meeting Notes ==&lt;br /&gt;
Old meeting docs from BuildDuty era.&lt;br /&gt;
* [https://etherpad.mozilla.org/buildduty-notes Daily buildduty stand-up notes]&lt;br /&gt;
* [[ReleaseEngineering/Buildduty/Meetings|Old buildduty weekly meetings notes]]&lt;br /&gt;
* [[ReleaseEngineering/Buildduty/SVMeetings| SoftVision buildduty stand-up notes]]&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=CiDuty/actionable&amp;diff=1206221</id>
		<title>CiDuty/actionable</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=CiDuty/actionable&amp;diff=1206221"/>
		<updated>2019-01-15T14:37:09Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Updated information on page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Intro ==&lt;br /&gt;
CiDuty is responsible for routine keep-the-lights-on (KTLO) waterline tasks. These include but are not limited to providing loaners to developers, triaging urgent break-fix issues, handling trees closures, and maintaining documentation. If any of these come up early in CiDuty morning, they take priority over anything else. CiDuty should continue performing checks on a regular basis throughout the day to make sure things are in a good state. &lt;br /&gt;
&lt;br /&gt;
== Continuously ==&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039; Nagios and SNS Alerts - Monitor alerts from [https://nagios1.private.releng.mdc1.mozilla.com/releng-mdc1/ MDC1] / [https://nagios1.private.releng.mdc2.mozilla.com/releng-mdc2/ MDC2] Nagios instances and SNS alerts from [https://papertrailapp.com/dashboard/ papertrail] in the #ci IRC channel. Triage unacknowledged alerts and file/fix bugs as necessary according to the [https://wiki.mozilla.org/CIDuty/How_To CiDuty How-Tos]. Make sure that all CiDuty bugs have the correct priority set according to the [[ReleaseEngineering/Buildduty_actionable#Buildduty_Bugzilla_Priority_levels| priority list]] below. A few examples of such alerts include:&lt;br /&gt;
* High CI wait times&lt;br /&gt;
* CI pending job backlogs&lt;br /&gt;
* Unresponsive machines&lt;br /&gt;
* Disk/RAM/CPU issues&lt;br /&gt;
* Failed processes&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039; Monitor the #ci, #platform-ops-alerts, #releaseduty and #taskcluster irc channels for requests/questions from developers and other ops teams.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3.&#039;&#039;&#039; Bug triaging - The [https://bugzilla.mozilla.org/buglist.cgi?quicksearch=CiDuty&amp;amp;list_id=14513240 CiDuty report] should be your starting point for bug triaging. Click on the bug number link in the CiDuty report to see the specified bug in bugzilla.&lt;br /&gt;
&lt;br /&gt;
== Daily ==&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039; Review email from AWS looking for announced maintenance, degraded instances, etc. Resolve any issues with instances specified in the AWS email, and notify the appropriate groups of any planned maintenance.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039; Check for and terminate long-running/outdated AWS instances.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3.&#039;&#039;&#039; Sanity checks in [https://tools.taskcluster.net/provisioners/releng-hardware/worker-types/ TaskCluster Provisioner]making sure that the workers are working as expected.&lt;br /&gt;
&lt;br /&gt;
== Weekly ==&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039; Review AWS instances. All those AWS that have &#039;Unknown State/Type&#039; or have been &#039;stopped for a while&#039;.&lt;br /&gt;
* check the AWS sanity logs in [https://papertrailapp.com/dashboard/ papertrail]&lt;br /&gt;
* for each host under heading &amp;quot;&#039;&#039;[https://papertrailapp.com/systems/74950614/events?q=Unknown%20State Unknown State]&#039;&#039;&amp;quot;, &amp;quot;&#039;&#039;[https://papertrailapp.com/systems/74950614/events?q=Unknown%20Type Unknown Type]&#039;&#039;&amp;quot;, follow this [https://wiki.mozilla.org/ReleaseEngineering/How_To/Manage_AWS_slaves#Unknown_Type_Or_State_Instances/ guide]&lt;br /&gt;
* for each host under heading &amp;quot;&#039;&#039;[https://papertrailapp.com/systems/74950614/events?q=Stopped%20For%20A%20While Stopped For A While]&#039;&#039;&amp;quot;, follow this [https://wiki.mozilla.org/ReleaseEngineering/How_To/Manage_AWS_slaves#Stopped_For_A_While_Instances/ guide] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039; Run the aws_manage_routingtables script to make sure that the AWS routing tables are up to date and error free. Fix any reported errors&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3.&#039;&#039;&#039; Review the loaner email report and verify that loaners are still required. Reimage/terminate returned loaners as necessary&lt;br /&gt;
&lt;br /&gt;
== CiDuty Bugzilla Priority levels ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;P1:&#039;&#039;&#039; Waterline KTLO work.&lt;br /&gt;
This includes developer loaners, urgent break-fix, trees closures, etc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;P2:&#039;&#039;&#039; Projects above waterline that take high priority and have hard deadlines.&lt;br /&gt;
This includes various fixes that we need to take care of once, not on a recurring basis. Examples of this are [https://bugzilla.mozilla.org/show_bug.cgi?id=1363897/ 1363897]  (legacy extensions disabling prior to 57) and [https://bugzilla.mozilla.org/show_bug.cgi?id=1315977/ 1315977]  (upgrading python to 2.7.6 on mac builders)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;P3.&#039;&#039;&#039; Training/Daily Documentation.&lt;br /&gt;
This includes onboarding and runbook documentation. Creating/expanding this documentation will help us deliver faster on other bugs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;P4.&#039;&#039;&#039; Operational development.&lt;br /&gt;
This includes adding new scripts or improving existing scripts, e.g. to reduce running times, improve logging and notifications system, etc.&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Buildduty/manifesto&amp;diff=1206211</id>
		<title>Buildduty/manifesto</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Buildduty/manifesto&amp;diff=1206211"/>
		<updated>2019-01-15T13:44:36Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Added info about PyUp work.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Intro ==&lt;br /&gt;
&lt;br /&gt;
CiDuty is an operational support team dedicated to monitoring and maintaining the health of Firefox’s continuous integration (CI) infrastructure. Employees are contractors located in Romania that provide 24/7 support. The team&#039;s &#039;&#039;&#039;&#039;&#039;responsibilities include&#039;&#039;&#039;&#039;&#039; but are not limited to: &lt;br /&gt;
* [[ReleaseEngineering/Buildduty_manifesto#Firefox_CI_infrastructure_outage_coordination_and_investigation| Firefox CI infrastructure outage coordination and investigation]]&lt;br /&gt;
* [[ReleaseEngineering/Buildduty_manifesto#Firefox_CI_support_and_case_management| Firefox CI support and case management]]&lt;br /&gt;
* [[ReleaseEngineering/Buildduty_manifesto#Track_Firefox_CI_infrastructure_changes| TrackFirefox CI infrastructure changes]]&lt;br /&gt;
* [[ReleaseEngineering/Buildduty_manifesto#Monitoring,_investigating,_and_debugging_issues_with_the_Linux,_Windows,_and_OS_X_Firefox_CI_infrastructure| Monitoring, investigating, and debugging issues with the Linux, Windows, and OS X Firefox CI infrastructure]]&lt;br /&gt;
* [[ReleaseEngineering/Buildduty_manifesto#Monitoring_Firefox_CI_backlog/pending_counts| Monitoring Firefox CI backlog/pending counts]]&lt;br /&gt;
* [[ReleaseEngineering/Buildduty_manifesto#Tree_closing_and_opening| Tree closing and opening]]&lt;br /&gt;
* [[ReleaseEngineering/Buildduty_manifesto#Loaning_Firefox_build/test_instances_to_developers| Loaning Firefox build/test instances to developers]]&lt;br /&gt;
* [[ReleaseEngineering/Buildduty_manifesto#Upload_new_packages_or_Python_modules_to_our_internal mirrors| Upload new packages or Python modules to our internal mirrors]]&lt;br /&gt;
* [[ReleaseEngineering/Buildduty_manifesto#Routine_maintenance_of_the_Firefox_CI_configuration| Routine maintenance of the Firefox CI configuration]]&lt;br /&gt;
* [[ReleaseEngineering/Buildduty_manifesto#PyUp_PR_work.| PyUp PR work]]&lt;br /&gt;
The team’s responsibilities cover a wide variety of tasks, however they are not deeply knowledgeable about any particular tool, worker, or task running in our infra. Therefore, They should be treated as quick res ponders who are able to assess state in a timely manner, and escalate issues and inquiries to the appropriate person.&lt;br /&gt;
&lt;br /&gt;
== Things CIDuty can help with ==&lt;br /&gt;
&lt;br /&gt;
===== Track Firefox CI infrastructure changes =====&lt;br /&gt;
&lt;br /&gt;
CIDuty track and help publish all CI related changes. While this would be public, they can point people to this and help correlate regressions&lt;br /&gt;
&lt;br /&gt;
===== Firefox CI support and case management =====&lt;br /&gt;
&lt;br /&gt;
First and foremost, ciduty are &amp;quot;case managers&amp;quot; to your CI developer needs. They have escalation paths and a well defined knowledge of the CI system as a whole. Given that, they are excellent at responding to issues and inquiries, and making sure anything Firefox CI related is triaged and managed appropriately.&lt;br /&gt;
&lt;br /&gt;
===== Firefox CI infrastructure outage coordination and investigation =====&lt;br /&gt;
When the Firefox CI system fails, getting services online again is ciduty&#039;s top priority. They are the initial point of contact for outages, but will likely escalate to additional teams with subject matter experts for resolution.&lt;br /&gt;
&lt;br /&gt;
===== Monitoring, investigating, and debugging issues with the Linux, Windows, and OS X Firefox CI infrastructure =====&lt;br /&gt;
CiDuty monitors the Firefox CI infrastructure using the Nagios GUI and irc alerts in the #ci irc channel. They routinely look for system issues, resolve them using our automation tooling, or work with datacenter staff to repair offline or degraded hardware. They also monitor email from AWS about infrastructure that is degraded or requires maintenance. &lt;br /&gt;
&lt;br /&gt;
===== Monitoring Firefox CI backlog/pending counts =====&lt;br /&gt;
CiDuty is the first point of contact for monitoring the load on the Firefox CI system and determining the cause of any high backlog or pending job counts. If they are unable to determine the root cause and solve the issue, CiDuty escalates to other teams who have subject matter experts. &lt;br /&gt;
&lt;br /&gt;
===== Tree closing and opening ===== &lt;br /&gt;
Closing and opening the trees (denying and allowing code checkins to our mercurial repos) are typically handled by the Mozilla Code Sheriffs, but CiDuty can also help out with this if needed. &lt;br /&gt;
&lt;br /&gt;
===== Loaning Firefox build/test instances to developers =====&lt;br /&gt;
CiDuty processes bugzilla requests from developers for Firefox CI build or test loaners. To obtain a loaner, submit a request to bugzilla under [https://mzl.la/2L2izjE CiDuty] and expect a response in less than one working day (UTC+2).&lt;br /&gt;
&lt;br /&gt;
===== Upload new packages or Python modules to our internal mirrors =====&lt;br /&gt;
CiDuty can help a developer who needs a new software package uploaded to tooltool or a Python package uploaded to our internal PyPi mirror.  They can also grant other developers access to upload packages to tooltool, for a given paths subset, to allow for future self-service. &lt;br /&gt;
&lt;br /&gt;
===== Routine maintenance of the Firefox CI configuration =====&lt;br /&gt;
While most of the Taskcluster configuration is handled by the end-developer, we still have infrastructure using the Buildbot CI infrastructure as well. CiDuty has the knowledge and capability to modify the Firefox buildbot-configs and perform general maintenance of the Buildbot systems. Maintenance includes tasks such as retasking machines from one platform to another as capacity requirements demand, decommissioning machines, updating keys and secrets, etc.&lt;br /&gt;
&lt;br /&gt;
===== PyUp PR work =====&lt;br /&gt;
CiDuty is in charge of keeping few repos, such as build-puppet, addonscript and treescript, always up-to-date with PRs that come from PyUp. In a general sense, they know how to investigate why tests are failing and know how to do the appropriate changes.&lt;br /&gt;
&lt;br /&gt;
== Things ciduty are not responsible for ==&lt;br /&gt;
&lt;br /&gt;
===== Fixing Firefox build and test tasks =====&lt;br /&gt;
&lt;br /&gt;
While ciduty have the skills to diagnose CI infra health and make sure that the workers are in a good state, they are not knowledgeable about build and test internal logic. They do however know who owns what and can help you escalate to the appropriate team&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=CIDuty/How_To/PyUp_Dependency_PR_Updates&amp;diff=1200989</id>
		<title>CIDuty/How To/PyUp Dependency PR Updates</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=CIDuty/How_To/PyUp_Dependency_PR_Updates&amp;diff=1200989"/>
		<updated>2018-09-13T12:21:46Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: WIP - How to work with PyUp PRs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
PyUp is an automated service, that at it&#039;s most basic level, helps developers keep their Python Dependencies always Up-To-Date.&lt;br /&gt;
CiDuty will be helping RelOps/RelEng with this weekly actionable (every Wednesday) and making sure that the PR is all green, before merging. &lt;br /&gt;
This is an easy process that requires attention and knowledge on how pip is working.&lt;br /&gt;
&lt;br /&gt;
== The 4 pillars of the Task ==&lt;br /&gt;
# Review and Fix possible conflicts in the PR.&lt;br /&gt;
# Make a list of critical dependencies and/or servers that will be affected.&lt;br /&gt;
# Communicate with the repository maintainer(s)&lt;br /&gt;
# Merge the PyUp PR and Monitor incoming Puppet mails for issues.&lt;br /&gt;
&lt;br /&gt;
== Important notes to take into account ==&lt;br /&gt;
While working on a PyUp PR you always have to take notes and/or ask yourself the following questions:&lt;br /&gt;
    - Did any signing-server (NOT scriptworkers!) requirements file(s) got changed?&lt;br /&gt;
        = Yes? ANNOUNCE bhearsum because the signing servers might need to be restarted!&lt;br /&gt;
        = We don&#039;t do merges till Ben gives the green light.&lt;br /&gt;
    - Did any important deps. got updated?&lt;br /&gt;
        = Example: Crypthograpy, certifi, anything to do with OAuth, etc. &lt;br /&gt;
    - Did any MAC machines got requirements file(s) changed?&lt;br /&gt;
        = Yes? ANNOUNCE bhearsum because the deps might need to be manually downloaded!&lt;br /&gt;
    - Did any deps upgrades ask for lower version packages?&lt;br /&gt;
        = Dependiong on which repo, you will have to talk with jlorenzo or bhearsum and see which packages get pinned (locked version)&lt;br /&gt;
    - When everything is ready to be merged, ALWAYS &amp;quot;Squash and Merge&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Repositories which we need to activate on ==&lt;br /&gt;
# [https://github.com/mozilla-releng/mozilla-version/ Mozilla Version]&lt;br /&gt;
# [https://github.com/mozilla-releng/build-puppet/ Build Puppet]&lt;br /&gt;
&lt;br /&gt;
== How To: Mozilla-Version ==&lt;br /&gt;
We always start with this repository first because the repository itself is a dependency of Build-Puppet!&lt;br /&gt;
# Head to https://github.com/mozilla-releng/mozilla-version/pulls and check if any &amp;quot;Scheduled weekly dependency update for week X&amp;quot; is currently open.&lt;br /&gt;
# Verify if the tests are green. Keep in mind that all three checks need to be green:&lt;br /&gt;
## Travis CI PR&lt;br /&gt;
## Travis CI Push&lt;br /&gt;
## Coverage/Coveralls&lt;br /&gt;
# If tests are RED head to the build/test and look in the logs for problems.&lt;br /&gt;
# Implement the needed changes + commit them (you can do it via github webui). Wait for the test results to come (about 10-15 minutes)&lt;br /&gt;
# Squash and Merge the PR.&lt;br /&gt;
# Announce JLorenzo that the weekly PR is complete.&lt;br /&gt;
&lt;br /&gt;
=== Common Issues ===&lt;br /&gt;
This repository usually has 2 distinct problems which will stop you from merging the PR:&lt;br /&gt;
# Requirements of a dependency. Example: flake8 3.5.0 has requirement pycodestyle&amp;lt;2.4.0,&amp;gt;=2.0.0, but you have pycodestyle 2.4.0. &lt;br /&gt;
With this issue, you have to keep which deps you have to either manually revert back at the older version (keep in mind you need the old sha512!) or if you pin the version of the dependency.&lt;br /&gt;
&lt;br /&gt;
# Wrong Sha&lt;br /&gt;
When a error like this comes:&lt;br /&gt;
&lt;br /&gt;
 ERROR: could not install deps [-rrequirements-test.txt]; v = InvocationError(&#039;/home/travis/build/mozilla-releng/mozilla-version/.tox/py27/bin/python -m pip install -rrequirements-test.txt (see /home/travis/build/mozilla-releng/mozilla-version/.tox/py27/log/py27-1.log)&#039;, 1)&lt;br /&gt;
&lt;br /&gt;
it means the hash=sha512 is wrong. Please contact JLorenzo for a fix/sha string.&lt;br /&gt;
== How To: Build-Puppet ==&lt;br /&gt;
After you are done with Mozilla-Version, its time for Build-Puppet!&lt;br /&gt;
# Head to https://github.com/mozilla-releng/build-puppet/pulls and check if any &amp;quot;Scheduled weekly dependency update for week X&amp;quot; is currently open.&lt;br /&gt;
# Verify if the tests are green. Keep in mind that all three checks need to be green:&lt;br /&gt;
## Travis CI PR&lt;br /&gt;
## Travis CI Push&lt;br /&gt;
## TaskCluster (pull_request)&lt;br /&gt;
# If tests are RED head to the build/test and look in the logs for problems. In taskcluster, usually the errors are at the bottom.&lt;br /&gt;
# Implement the needed changes + commit them (you can do it via github webui). Wait for the test results to come (about 40-60 minutes)&lt;br /&gt;
# Squash and Merge the PR.&lt;br /&gt;
# Announce Bhearsum that the weekly PR is complete.&lt;br /&gt;
=== Common Issues ===&lt;br /&gt;
# Requirements of a dependency. Example: flake8 3.5.0 has requirement pycodestyle&amp;lt;2.4.0,&amp;gt;=2.0.0, but you have pycodestyle 2.4.0. &lt;br /&gt;
With this issue, you have to keep which deps you have to either manually revert back at the older version (keep in mind you need the old sha512!) or if you pin the version of the dependency.&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=CIDuty/How_To&amp;diff=1200988</id>
		<title>CIDuty/How To</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=CIDuty/How_To&amp;diff=1200988"/>
		<updated>2018-09-13T11:08:34Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Added link to new How To&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Alerts =====&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/Queue_directories Command queues]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Dealing_with_high_pending_counts High Pending Counts]&lt;br /&gt;
: &#039;&#039;&#039;Processes&#039;&#039;&#039;&lt;br /&gt;
:: [https://wiki.mozilla.org/ReleaseEngineering/Applications/BuildbotBridge Buildbot Bridge]&lt;br /&gt;
:: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Restart_Buildbot_Masters Buildbot Master - buildbot age]&lt;br /&gt;
:: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Manage_spot_AMIs Golden AMI]&lt;br /&gt;
: [https://mana.mozilla.org/wiki/display/NAGIOS/Pending+Scriptworker+Tasks Pending Scriptworker Tasks]&lt;br /&gt;
: [https://mana.mozilla.org/wiki/display/NAGIOS/Puppet+Freshness Puppet Freshness]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Fix_Build4h_not_updating Build4h not updating]&lt;br /&gt;
&lt;br /&gt;
===== Buildbot =====&lt;br /&gt;
: &#039;&#039;&#039;Manage Buildbot Masters&#039;&#039;&#039;&lt;br /&gt;
:: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Setup_buildbot_masters_in_AWS Add a New Buildbot Master in AWS]&lt;br /&gt;
:: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Bring_Buildbot_Masters_Up_After_an_Outage Bring Buildbot Masters Up After an Outage]&lt;br /&gt;
:: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Decommission_buildbot_masters Decommission a Master]&lt;br /&gt;
:: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Land_Buildbot_Master_Changes Land Buildbot Master Changes]&lt;br /&gt;
:: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Restart_Buildbot_Masters Restart Buildbot Masters]&lt;br /&gt;
:: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Setup_Personal_Development_Master Setup a Personal Development Master]&lt;br /&gt;
: &#039;&#039;&#039;Manage Buildbot Slaves&#039;&#039;&#039;&lt;br /&gt;
:: Hardware Machines&lt;br /&gt;
::: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Connect_To_IPMI Connect to IPMI/PDU]&lt;br /&gt;
::: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Decommission_Slave Decommission a Slave]&lt;br /&gt;
::: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Handle_an_Idle_Slave Handle an Idle Slave ]&lt;br /&gt;
::: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Reboot_Multiple_Slaves_Using_Slaveapi Reboot Multiple Machines]&lt;br /&gt;
::: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Request_That_a_Machine_Be_Reimaged Re-image machines]&lt;br /&gt;
::: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Set_Up_a_Freshly_Imaged_Slave Return a re-imaged machine to production]&lt;br /&gt;
::: [https://wiki.mozilla.org/ReleaseEngineering/Buildduty/Slave_Management Slave_Management]&lt;br /&gt;
::: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Move_slaves_between_pools Move slaves between pools]&lt;br /&gt;
:: Virtual Machines&lt;br /&gt;
::: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Add_Disk_to_an_EC2_Instance Add a new disk to an EC2 instance]&lt;br /&gt;
::: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Manage_AWS_slaves Manage AWS instances]&lt;br /&gt;
:: Loaners&lt;br /&gt;
::: [https://wiki.mozilla.org/Buildduty/How_To/How_To_Loan_BD How to loan servers - New step-by-step guide ]&lt;br /&gt;
::: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Loan_a_Slave Loan a Machine]&lt;br /&gt;
::: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Update_VPN_ACL Grant VPN Access]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/Buildduty/Slave_Management#Slave_Tracking Machine Tracking]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/Buildduty/Reconfigs Perform a Reconfig]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Work_with_Golden_AMIs Work with Golden AMIs]&lt;br /&gt;
&lt;br /&gt;
===== Puppet =====&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/PuppetAgain/HowTo/Build_DEBs Build DEBs]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/PuppetAgain/HowTo/Build_DMGs Build DMGs]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/PuppetAgain/HowTo/Build_RPMs Build RPMs]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/PuppetAgain/HowTo/Hack_on_PuppetAgain Hack on PuppetAgain]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/PuppetAgain/HowTo/Push_changes_to_Production Push Changes to Production]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/PuppetAgain/Modules/users Rotate Passwords across Releng Infra]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/PuppetAgain/HowTo/Set_up_a_user_environment Setup a User Environment]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Update_Mercurial Update Mercurial]&lt;br /&gt;
&lt;br /&gt;
===== TaskCluster =====&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Loan_a_Slave#t-yosemite-r7_taskcluster Loan an OSX Worker]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering:TestingTechniques Test a Patch]&lt;br /&gt;
: [https://wiki.mozilla.org/BuildDuty:TaskClusterCli Connect to Taskcluster CLI]&lt;br /&gt;
: [https://wiki.mozilla.org/BuildDuty:QuarantineInstances Quarantine instances]&lt;br /&gt;
: [https://wiki.mozilla.org/CIDuty/How_To/QuarantineMultipleInstances Quarantine multiple instances using python code]&lt;br /&gt;
: [https://wiki.mozilla.org/BuildDuty/How_To/Take_actions_to_RelEng_Hardware_from_TaskCluster_UI Restart/Ping from taskcluster]&lt;br /&gt;
: [https://mana.mozilla.org/wiki/display/TAS/How+To+Set+Up+or+Update+a+Taskcluster+Project Set up or Update a Taskcluster Project]&lt;br /&gt;
: [https://mana.mozilla.org/wiki/pages/viewpage.action?pageId=65349374 Restore Azure Table/Blob from Backup]&lt;br /&gt;
: [https://mana.mozilla.org/wiki/pages/viewpage.action?pageId=77896889 Modify Gecko Branch Configuration (including twig resets)]&lt;br /&gt;
: [https://mana.mozilla.org/wiki/display/TAS/How+To+Query+Historical+Task+Analytics Query Historical Task Analytics]&lt;br /&gt;
: [https://mana.mozilla.org/wiki/display/TAS/How+To+Provision+taskcluster-worker+on+Packet Provision taskcluster-worker on Packet]&lt;br /&gt;
: [https://mana.mozilla.org/wiki/display/TAS/How+To+Investigate+Audit+Logs Investigate Audit Logs]&lt;br /&gt;
: [https://mana.mozilla.org/wiki/display/TAS/How+to+set+up+a+new+Heroku+service Set up a new Heroku service]&lt;br /&gt;
: [https://mana.mozilla.org/wiki/pages/viewpage.action?pageId=61941455 Have a Postmortem/Retrospective]&lt;br /&gt;
: [https://wiki.mozilla.org/Connect_and_Troubleshoot_workers_in_CI Connect and Troubleshoot workers in CI]&lt;br /&gt;
&lt;br /&gt;
===== Tree Management =====&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Close_or_Open_the_Tree Close or Open the Tree]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/TryServer Push to Try Server]&lt;br /&gt;
&lt;br /&gt;
===== Other Tasks =====&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Upload_to_internal_Pypi Upload a Python Package to the Internal Pypi]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/Applications/Tooltool Upload a Package/Binary to ToolTool]&lt;br /&gt;
: [https://wiki.mozilla.org/Buildduty/How_To/Add_new_secrets_to_Puppet_Hiera Add new secrets to Puppet Hiera]&lt;br /&gt;
: [https://wiki.mozilla.org/Buildduty/How_To/PyUp_Dependency_PR_Updates Work with PyUp Dependency Update PRs]&lt;br /&gt;
&lt;br /&gt;
===== See Also =====&lt;br /&gt;
: Relevant [https://wiki.mozilla.org/ReleaseEngineering/Buildduty/Training_-_Relevant_Buildduty_Bugs buildduty bugs] that would be suitable for training&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=CIDuty/How_To/Update_Python_dependencies&amp;diff=1199585</id>
		<title>CIDuty/How To/Update Python dependencies</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=CIDuty/How_To/Update_Python_dependencies&amp;diff=1199585"/>
		<updated>2018-08-16T14:39:32Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Added more information on signing servers&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction = &lt;br /&gt;
&lt;br /&gt;
Use this page if you want to update Python dependencies. &lt;br /&gt;
&lt;br /&gt;
The action list is as follows:&lt;br /&gt;
# Check the puppet repo for patch made by pyup bot&lt;br /&gt;
# Check the dependencies and how they affect the systems&lt;br /&gt;
# Check if there are any releases on the go also check with the release team.&lt;br /&gt;
# If you have the Ok, start the update&lt;br /&gt;
# Monitoring the update on puppet mail and papertrail&lt;br /&gt;
# In case of failure - rollback&lt;br /&gt;
# Weekly admin task &lt;br /&gt;
# Questions and Answers&lt;br /&gt;
&lt;br /&gt;
= Check the puppet repo for patch made by pyup bot =&lt;br /&gt;
&lt;br /&gt;
Go to https://github.com/mozilla-releng/build-puppet and click on Pull requests and look for &amp;quot;Scheduled weekly dependency update for week X&amp;quot; ( where X is the current week )&lt;br /&gt;
&lt;br /&gt;
[[File:Repo.png|none]]&lt;br /&gt;
&lt;br /&gt;
= Check the dependencies and how they affect the systems =&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t know what it does, you can click on it name and find out also on most of them you can also check the change log.&lt;br /&gt;
For example : ptyprocess 0.6.0 &lt;br /&gt;
&lt;br /&gt;
[[File:Dep 1.png|none]] [[File:Change log.png|none]]&lt;br /&gt;
&lt;br /&gt;
Also to check how are the files changed : Go to Files change tab to see what will be changed and how :&lt;br /&gt;
&lt;br /&gt;
[[File:Ewpo change.png]]&lt;br /&gt;
&lt;br /&gt;
= Check if there are any releases on the go also check with the release team =&lt;br /&gt;
&lt;br /&gt;
The update action shouldn&#039;t be done during a release. Always ask the release duty team before running the update&lt;br /&gt;
&lt;br /&gt;
= Running the update =&lt;br /&gt;
&lt;br /&gt;
After checking all the dependencies and if there are no releases, you can start the update, by merging the pyup update into master &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=  Monitoring the update on puppet mail and papertrail = &lt;br /&gt;
&lt;br /&gt;
In order to monitor the updates you should subscribe to puppet mail : [https://groups.google.com/a/mozilla.com/forum/#!forum/releng-puppet-mail Releng Puppet Mail]&lt;br /&gt;
&lt;br /&gt;
You should also check and monitor using papertrail : [https://papertrailapp.com Papertrail]&lt;br /&gt;
Ex of search : [https://papertrailapp.com/groups/1141234/events?q=balrog_scriptworker&amp;amp;focus=958572280949137435 Balrog scriptworker]&lt;br /&gt;
&lt;br /&gt;
= In case of failure - Rollback = &lt;br /&gt;
&lt;br /&gt;
In case of any failure it is needed to create a patch that reverts the changes. &lt;br /&gt;
For this is needed to be created a ticket.&lt;br /&gt;
&lt;br /&gt;
= In case of update to Signing Servers =&lt;br /&gt;
&lt;br /&gt;
Please note if there&#039;s signingserver changes so someone from the short list (https://github.com/mozilla-releng/build-puppet/blob/master/manifests/moco-config.pp#L239) will need to restart those instances within a few hours of this being merged.&lt;br /&gt;
&lt;br /&gt;
= Weekly admin task =&lt;br /&gt;
&lt;br /&gt;
Every Monday, the admin who is on duty needs to check the build puppet, for the dependencies .&lt;br /&gt;
If there is a &amp;quot;Scheduled weekly dependency update for week X&amp;quot; then he will need to update them following the action list &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Questions and Answers = &lt;br /&gt;
&lt;br /&gt;
Q : What do we need to do before update ?&lt;br /&gt;
&lt;br /&gt;
A : We need to check all the dependencies that will be updated, to figure out what could be affected in case of any surprises.&lt;br /&gt;
&lt;br /&gt;
Q : How do we do the update ?&lt;br /&gt;
&lt;br /&gt;
A : We need to merge pyup-bot patch to the master.&lt;br /&gt;
&lt;br /&gt;
Q: When it is recommended to run the update ?&lt;br /&gt;
&lt;br /&gt;
A : This should be done, when there are no releases and also it should be wise to ask the release duty team before starting any action.&lt;br /&gt;
&lt;br /&gt;
Q : Where and what do we need to monitor when we triggered the update ?&lt;br /&gt;
&lt;br /&gt;
A : The monitoring should be done the Puppet mail and also on papertrail&lt;br /&gt;
&lt;br /&gt;
Q : Who are affected when an update or more goes wrong ?&lt;br /&gt;
&lt;br /&gt;
A : Possibly, anyone!&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=ReleaseEngineering/How_To/Self_Provision_a_TaskCluster_Windows_Instance&amp;diff=1198181</id>
		<title>ReleaseEngineering/How To/Self Provision a TaskCluster Windows Instance</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=ReleaseEngineering/How_To/Self_Provision_a_TaskCluster_Windows_Instance&amp;diff=1198181"/>
		<updated>2018-07-30T22:45:11Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Added note that CiDuty should be announced when MS loaners are taken.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Release Engineering|How To|Self Provision a TaskCluster Windows Instance}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= For generic-worker 10.5.0 onwards =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integration with taskcluster one-click loaner workflow will be done in [https://bugzil.la/1368961 bug 1368961].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1) If you will take a MoonShot, make sure to &lt;br /&gt;
announce in #ci and/or create a bug under [https://bugzilla.mozilla.org/enter_bug.cgi?product=Infrastructure%20%26%20Operations&amp;amp;component=CIDuty CiDuty - Buzilla] announcing the fact that you will take a loaner. &lt;br /&gt;
&lt;br /&gt;
2) Find a the task you want to play with in treeherder, and follow the link to the Taskcluster Task Inspector.&amp;lt;br /&amp;gt;&lt;br /&gt;
3) Go to &#039;&#039;Actions -&amp;gt; Edit Task&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
4) Add &amp;lt;code&amp;gt;rdpInfo&amp;lt;/code&amp;gt; to the payload section:&lt;br /&gt;
&lt;br /&gt;
 payload:&lt;br /&gt;
   rdpInfo: &#039;login-identity/&amp;lt;login-identity&amp;gt;/rdpinfo.txt&#039;&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
 payload:&lt;br /&gt;
   rdpInfo: &#039;login-identity/mozilla-auth0/ad|Mozilla-LDAP|pmoore/rdpinfo.txt&#039;&lt;br /&gt;
&lt;br /&gt;
(check https://tools.taskcluster.net/credentials to see what your login identity is, e.g. you should have the scope &amp;lt;code&amp;gt;assume:login-identity:&amp;lt;login-identity&amp;gt;&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
4) Check which &amp;lt;code&amp;gt;workerType&amp;lt;/code&amp;gt; the task uses from the task definition, and then add the following scope to the list of task scopes:&lt;br /&gt;
&lt;br /&gt;
 scopes:&lt;br /&gt;
   - &#039;generic-worker:allow-rdp:aws-provisioner-v1/&amp;lt;workerType&amp;gt;&#039;&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
 scopes:&lt;br /&gt;
   - &#039;generic-worker:allow-rdp:aws-provisioner-v1/gecko-t-win7-32&#039;&lt;br /&gt;
&lt;br /&gt;
5) If you will require administrator privileges:&lt;br /&gt;
&lt;br /&gt;
5.1) Ensure you have scope &amp;lt;code&amp;gt;generic-worker:os-group:Administrators&amp;lt;/code&amp;gt; in https://tools.taskcluster.net/credentials/&lt;br /&gt;
&lt;br /&gt;
If you do not have the scope, request it using a [https://bugzilla.mozilla.org/enter_bug.cgi?product=Taskcluster&amp;amp;component=Service%20Request Service Request] or by asking in &amp;lt;code&amp;gt;#taskcluster&amp;lt;/code&amp;gt; IRC channel. &lt;br /&gt;
&lt;br /&gt;
5.2) Add the following to the task payload:&lt;br /&gt;
&lt;br /&gt;
 scopes:&lt;br /&gt;
   - generic-worker:os-group:Administrators&lt;br /&gt;
 payload:&lt;br /&gt;
   osGroups:&lt;br /&gt;
     - Administrators&lt;br /&gt;
&lt;br /&gt;
6) Make sure that if your payload mounts any artifacts, that the task ID(s) are included as a list in top level property &amp;lt;code&amp;gt;dependencies&amp;lt;/code&amp;gt; (&#039;&#039;&#039;not&#039;&#039;&#039; under &amp;lt;code&amp;gt;payload&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
So if it says&lt;br /&gt;
&lt;br /&gt;
  mounts:&lt;br /&gt;
    - directory: .&lt;br /&gt;
      content:&lt;br /&gt;
        taskId: HUqhbXTMTXSXYEM6K2H3wA&lt;br /&gt;
&lt;br /&gt;
Add (at the top level indent)&lt;br /&gt;
&lt;br /&gt;
 dependencies:&lt;br /&gt;
   - HUqhbXTMTXSXYEM6K2H3wA&lt;br /&gt;
&lt;br /&gt;
7) Submit the task. If the task resolves as exception and doesn&#039;t run, &#039;&#039;&#039;check the task log file&#039;&#039;&#039;. It should provide more information about the cause.&amp;lt;br /&amp;gt;&lt;br /&gt;
8) When the task successfully starts, go to &#039;&#039;Run Artifacts&#039;&#039; to see the &amp;lt;code&amp;gt;rdpInfo.txt&amp;lt;/code&amp;gt; file appear with rdp connection information.&amp;lt;br /&amp;gt;&lt;br /&gt;
9) Enter the connection information into your RDP client of choice.&amp;lt;br /&amp;gt;&lt;br /&gt;
10) Connect with screen resolution 1280x1024 ! Note, it is &#039;&#039;&#039;important&#039;&#039;&#039; to use this resolution for gecko tests, since this is the screen size used by the tests, and the screen size cannot change once you have made a connection.&lt;br /&gt;
&lt;br /&gt;
== Performing operations as Administrator ==&lt;br /&gt;
&lt;br /&gt;
Until [https://bugzil.la/1465374 bug 1465374] is resolved this can be a little tricky.&lt;br /&gt;
&lt;br /&gt;
1) Make sure you followed step 5 above!&amp;lt;br /&amp;gt;&lt;br /&gt;
2) Open a regular command shell (e.g. &#039;&#039;Start Menu&#039;&#039; -&amp;gt; &#039;&#039;Run&#039;&#039; -&amp;gt; &amp;lt;code&amp;gt;cmd.exe&amp;lt;/code&amp;gt;)&amp;lt;br /&amp;gt;&lt;br /&gt;
3) From there check which users are in the Administrators group:&lt;br /&gt;
&lt;br /&gt;
 C:\Windows\System32&amp;gt;net localgroup Administrators&lt;br /&gt;
 Alias name     Administrators&lt;br /&gt;
 Comment        Administrators have complete and unrestricted access to the computer/domain&lt;br /&gt;
 &lt;br /&gt;
 Members&lt;br /&gt;
 &lt;br /&gt;
 -------------------------------------------------------------------------------&lt;br /&gt;
 Administrator&lt;br /&gt;
 task_1527672240&lt;br /&gt;
 The command completed successfully.&lt;br /&gt;
 &lt;br /&gt;
4) Check the user you are logged in as is one of the above listed users:&lt;br /&gt;
 &lt;br /&gt;
 C:\Windows\System32&amp;gt;whoami&lt;br /&gt;
 i-015fe55bb8553\task_1527672240&lt;br /&gt;
&lt;br /&gt;
5) Open a new UAC elevated command shell: &lt;br /&gt;
&lt;br /&gt;
 C:\Windows\System32&amp;gt;powershell.exe Start-Process cmd.exe -Verb runAs&lt;br /&gt;
&lt;br /&gt;
6) This will require you enter Administrative credentials. You will be presented with a prompt similar to this:&lt;br /&gt;
&lt;br /&gt;
[[File:Screen Shot 2018-05-30 at 12.13.51.png|none|Screenshot of dialogue box asking for Administrative credentials]]&lt;br /&gt;
&lt;br /&gt;
Click on &#039;&#039;More choices&#039;&#039; and select the task user, and copy/paste the task password (&amp;lt;code&amp;gt;Ctrl-V&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
You should now have a command shell running as Administrator!&lt;br /&gt;
&lt;br /&gt;
== Rerunning tasks after they have completed ==&lt;br /&gt;
&lt;br /&gt;
If you want to rerun a step after the task has completed, there is a script for each command in the task payload. They are named like this:&lt;br /&gt;
&lt;br /&gt;
 Z:\task_XXXXXXX\command_000000_wrapper.bat&lt;br /&gt;
 Z:\task_XXXXXXX\command_000001_wrapper.bat &lt;br /&gt;
 Z:\task_XXXXXXX\command_000002_wrapper.bat &lt;br /&gt;
 ....&lt;br /&gt;
&lt;br /&gt;
Simply run them by hand to reproduce any of the task steps. If you wish to make changes, feel free to edit them. After the loan expires, the task directory, including all your changes, will be deleted. Therefore make sure to keep track of any changes that need to be put back in the gecko build system.&lt;br /&gt;
&lt;br /&gt;
= For earlier versions of generic-worker (&amp;lt;10.5.0) =&lt;br /&gt;
&lt;br /&gt;
== How does it work? ==&lt;br /&gt;
&lt;br /&gt;
TaskCluster Windows instances can be borrowed for debugging at will. There is no need to raise a bug. The process is triggered by running a special task that tells the instance you intend to commandeer it.&lt;br /&gt;
&lt;br /&gt;
When you trigger this task, a recurring scheduled job on the instance will:&lt;br /&gt;
* perform a little cleanup, deleting data and configuration that is only pertinent for automation&lt;br /&gt;
* change the instance credentials, so that only you will have access to the instance and so that the instance credentials can be shared with you&lt;br /&gt;
* place encrypted credentials in the task artifacts for you&lt;br /&gt;
* delete the generic-worker and associated user and configuration&lt;br /&gt;
&lt;br /&gt;
== How is it triggered? ==&lt;br /&gt;
&lt;br /&gt;
Visit https://tools.taskcluster.net/task-creator and create a new task that looks something like below.&lt;br /&gt;
&lt;br /&gt;
  provisionerId: aws-provisioner-v1&lt;br /&gt;
  workerType: gecko-t-win7-32&lt;br /&gt;
  retries: 0&lt;br /&gt;
  created: &#039;2017-05-24T12:05:16.556Z&#039;&lt;br /&gt;
  deadline: &#039;2017-05-24T13:05:16.556Z&#039;&lt;br /&gt;
  expires: &#039;2018-05-24T09:08:08.128Z&#039;&lt;br /&gt;
  scopes: []&lt;br /&gt;
  payload:&lt;br /&gt;
    maxRunTime: 300&lt;br /&gt;
    artifacts:&lt;br /&gt;
      - path: ..\loan&lt;br /&gt;
        name: public/test_info&lt;br /&gt;
        type: directory&lt;br /&gt;
        expires: &#039;2018-05-24T08:49:41.238Z&#039;&lt;br /&gt;
    env:&lt;br /&gt;
      REQUESTER_EMAIL: grenade@mozilla.com&lt;br /&gt;
      REQUESTER_PUBLIC_KEY_URL: https://keybase.io/grenade/pgp_keys.asc?fingerprint=1c09ac24c113c7f080dd4aa5b3c5a958508a43f2&lt;br /&gt;
    command:&lt;br /&gt;
    - &amp;gt;-&lt;br /&gt;
      c:\mozilla-build\python\python.exe -c &amp;quot;import os, json;&lt;br /&gt;
      json.dump({&#039;requester&#039;: { &#039;email&#039;: os.environ[&#039;REQUESTER_EMAIL&#039;],&lt;br /&gt;
      &#039;publickeyurl&#039;: os.environ[&#039;REQUESTER_PUBLIC_KEY_URL&#039;], &#039;taskid&#039;:&lt;br /&gt;
      os.environ[&#039;TASK_ID&#039;], &#039;taskFolder&#039;: os.getcwd()}},&lt;br /&gt;
      open(r&#039;z:\loan-request.json&#039;, &#039;wb&#039;))&amp;quot;&lt;br /&gt;
    - &amp;gt;-&lt;br /&gt;
      c:\mozilla-build\python\python.exe -c &amp;quot;exec(\&amp;quot;import os.path, time\nwhile&lt;br /&gt;
      (not os.path.exists(r&#039;z:\loan\credentials.txt.gpg&#039;)):\n  time.sleep(1)\&amp;quot;&amp;quot;)&lt;br /&gt;
  metadata:&lt;br /&gt;
    name: Windows Loan Request&lt;br /&gt;
    description: Self service windows instance loan request&lt;br /&gt;
    owner: grenade@mozilla.com&lt;br /&gt;
    source: https://wiki.mozilla.org/index.php?title=ReleaseEngineering/How_To/Self_Provision_a_TaskCluster_Windows_Instance&lt;br /&gt;
  tags: {}&lt;br /&gt;
  extra: {}&lt;br /&gt;
&lt;br /&gt;
* Change &#039;&#039;&#039;workerType&#039;&#039;&#039; to one of:&lt;br /&gt;
** &#039;&#039;&#039;gecko-1-b-win2012&#039;&#039;&#039;: Windows Server 2012 r2 - Use for debugging &#039;&#039;&#039;Build&#039;&#039;&#039; issues&lt;br /&gt;
** &#039;&#039;&#039;gecko-t-win10-64&#039;&#039;&#039;: Windows 10 Enterprise, x86_64 - Use for debugging &#039;&#039;&#039;Test&#039;&#039;&#039; issues&lt;br /&gt;
** &#039;&#039;&#039;gecko-t-win10-64-gpu&#039;&#039;&#039;: Windows 10 Enterprise, x86_64 - Use for debugging &#039;&#039;&#039;Test&#039;&#039;&#039; issues where a GPU is required&lt;br /&gt;
** &#039;&#039;&#039;gecko-t-win7-32&#039;&#039;&#039;: Windows 7 Enterprise, x86 - Use for debugging &#039;&#039;&#039;Test&#039;&#039;&#039; issues&lt;br /&gt;
** &#039;&#039;&#039;gecko-t-win7-32-gpu&#039;&#039;&#039;: Windows 7 Enterprise, x86 - Use for debugging &#039;&#039;&#039;Test&#039;&#039;&#039; issues where a GPU is required&lt;br /&gt;
* Change &#039;&#039;&#039;REQUESTER_EMAIL&#039;&#039;&#039; to the email address associated with your GPG public key&lt;br /&gt;
* Change &#039;&#039;&#039;REQUESTER_PUBLIC_KEY_URL&#039;&#039;&#039; to a url that will return a plain text (raw) copy of you GPG public key.&lt;br /&gt;
* Change &#039;&#039;&#039;owner&#039;&#039;&#039; to your own email address&lt;br /&gt;
* Click the &#039;&#039;&#039;Update Timestamps&#039;&#039;&#039; button at the bottom&lt;br /&gt;
* Click the &#039;&#039;&#039;Create Task&#039;&#039;&#039; button at the bottom&lt;br /&gt;
* When the task completes, navigate to the artifacts tab (select run 0 first) and download the &#039;&#039;&#039;public/test_info/credentials.txt.gpg&#039;&#039;&#039; artifact to your computer.&lt;br /&gt;
* Decrypt it with a command similar to: &lt;br /&gt;
&lt;br /&gt;
  gpg2 --decrypt credentials.txt.gpg&lt;br /&gt;
&lt;br /&gt;
== How do I connect to my borrowed instance? ==&lt;br /&gt;
&lt;br /&gt;
Remote Desktop is the only currently supported mechanism. Further, the processes that manage cleanup of abandoned or unused loaner instances check for RDP sessions to determine if the instance is actually in use or if it has been abandoned.&lt;br /&gt;
&lt;br /&gt;
=== Connecting from Windows ===&lt;br /&gt;
&lt;br /&gt;
* GUI: Start &amp;gt; Remote Desktop Connection &amp;gt; enter the IP Address and credentials from the decrypted credentials.txt file and connect&lt;br /&gt;
* Command line:&lt;br /&gt;
&lt;br /&gt;
  mstsc /w:1024 /h:768 /v:&amp;lt;ip_address&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Connecting from Linux ===&lt;br /&gt;
==== Fedora ====&lt;br /&gt;
  # install xfreerdp&lt;br /&gt;
  sudo dnf install -y xfreerdp&lt;br /&gt;
&lt;br /&gt;
  # if you have an American English (en-US) keyboard:&lt;br /&gt;
  xfreerdp /u:$username /p:&amp;quot;$password&amp;quot; /kbd:409 /w:1024 /h:768 +clipboard /v:$ip_address&lt;br /&gt;
&lt;br /&gt;
  # if you have a Queen&#039;s English (en-GB) keyboard:&lt;br /&gt;
  xfreerdp /u:$username /p:&amp;quot;$password&amp;quot; /kbd:809 /w:1024 /h:768 +clipboard /v:$ip_address&lt;br /&gt;
&lt;br /&gt;
For other keyboard layouts, see: https://github.com/FreeRDP/FreeRDP/blob/master/include/freerdp/locale/keyboard.h&lt;br /&gt;
&lt;br /&gt;
=== Connecting from Mac OSX ===&lt;br /&gt;
Untested. Please edit this section if you know more.&lt;br /&gt;
&lt;br /&gt;
    open rdp://$username:$password@$ip_address:3389?screendepth###24:screenWidth###1024:screenHeight###768&lt;br /&gt;
&lt;br /&gt;
see also: https://apple.stackexchange.com/a/54925/112073&lt;br /&gt;
&lt;br /&gt;
Microsoft also has a Remote Desktop app for macOS (available on the app store at https://itunes.apple.com/us/app/microsoft-remote-desktop-10/id1295203466?mt=12) that works pretty well and is easy to use.&lt;br /&gt;
&lt;br /&gt;
== How do I return it when I&#039;m done? ==&lt;br /&gt;
&lt;br /&gt;
There&#039;s no need. Your loaned instance is an Amazon EC2 spot instance whose lifetime is finite. It can even die while it&#039;s in the middle of working for you, if the spot price is outbid. Think of it as a disposable minion whose survival depends on being busy and who will expire when exhausted,  bored, or will defect to a higher-paying villain at any time. If you don&#039;t create an RDP connection to your instance within 30 minutes of requesting it, it will die of boredom. If you disconnect your RDP session for more than 15 minutes, it will die of boredom. If you shut it down. It will die fulfilled. When working on the loaner, it would be advisable to save your intermediate results periodically and script your actions, so that if the loaner disappears you can quickly get back to where you were on a new loaner.&lt;br /&gt;
&lt;br /&gt;
== How do I get help if it&#039;s not working? ==&lt;br /&gt;
&lt;br /&gt;
* raise a bug in the [https://bugzilla.mozilla.org/enter_bug.cgi?product=Infrastructure%20%26%20Operations&amp;amp;component=RelOps RelOps component]. cc or assign rthijssen@mozilla.com&lt;br /&gt;
* ping :grenade in #taskcluster on IRC (during normal working hours: 9 - 5 GMT+3)&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=CIDuty/How_To/Tree_Closure&amp;diff=1196271</id>
		<title>CIDuty/How To/Tree Closure</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=CIDuty/How_To/Tree_Closure&amp;diff=1196271"/>
		<updated>2018-06-26T16:53:45Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Fixed typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==How do I schedule a downtime?==&lt;br /&gt;
&lt;br /&gt;
Whenever Sheriffs/RelEng/IT/WebDev wants a tree-closing downtime because of a infra issue, they should contact the CiDuty person of the day in #ci, by email or preferably by &#039;&#039;putting exact wording they&#039;d like in the downtime notice as it relates to their bug, and then nominating the bug using the &amp;quot;needs-treeclosure?&amp;quot; flag&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Once we know that we want to close the tree(s), head to: https://mozilla-releng.net/treestatus login select the tree(s) to be closed and add a note with the bug number, then update the tree to the correct status (open/closed).&lt;br /&gt;
&lt;br /&gt;
=== When do we close the trees ===&lt;br /&gt;
* Infra related issue:&lt;br /&gt;
** Error code 500 (server load)&lt;br /&gt;
** HG Issues (cloning issues, timeouts)&lt;br /&gt;
** HDD problems (space, I/O)&lt;br /&gt;
** Pending Tasks keep raising (Indicator for another problems, such as BBB not working properly)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When planning a downtime, CiDuty should consider:&lt;br /&gt;
* the urgency of the work&lt;br /&gt;
* what other work, if any, can be safely done in the same downtime &lt;br /&gt;
&lt;br /&gt;
=== Preparing for the downtime === &lt;br /&gt;
* CiDuty will:&lt;br /&gt;
** Create a bug with the explanation why the tress get closed&lt;br /&gt;
** verify that the bug is assigned to the person who will actually be doing the work in the downtime&lt;br /&gt;
*** for security sensitive work, be vague, but still include the bug# and vague description. (this reduces confusion about whether an item of work is in/out of a downtime).&lt;br /&gt;
&lt;br /&gt;
==== Who do I notify, and when? ====&lt;br /&gt;
# Just After the trees got closed:&lt;br /&gt;
## Updated the #ci Channel topic and add &amp;quot; TREES CLOSED - BUG: XXXX &amp;quot; right after the LDAP username.&lt;br /&gt;
## Send notifications to: #ci, #sheriffs (if needed), #developers, about the Trees being closed.&lt;br /&gt;
## If new updates come from #sheriffs, #developers, #releng or anyone, make sure #ci is being constantly updated with the current status. &lt;br /&gt;
&lt;br /&gt;
=== After the downtime ===&lt;br /&gt;
CiDuty will:&lt;br /&gt;
# reopen the trees&lt;br /&gt;
# verify with sheriff that trees open, all ok?&lt;br /&gt;
# update the bugs with status.&lt;br /&gt;
# send &amp;quot;TREE OPEN&amp;quot; announcements in #ci, #sheriffs, #developers&lt;br /&gt;
&lt;br /&gt;
For any questions, or if you&#039;re not sure about a particular server, please check with &#039;&#039;&#039;|ciduty&#039;&#039;&#039; in #ci. &lt;br /&gt;
 &lt;br /&gt;
If possible, consolidate RelEng and IT downtimes that need tree closures to avoid the disruption of having two tree closures soon after each other. This is &amp;quot;nice to do&amp;quot;, not a &amp;quot;requirement&amp;quot;; if it reduces risk by doing two separate downtimes, that&#039;s fine!&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=CIDuty/How_To/Tree_Closure&amp;diff=1196269</id>
		<title>CIDuty/How To/Tree Closure</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=CIDuty/How_To/Tree_Closure&amp;diff=1196269"/>
		<updated>2018-06-26T16:53:18Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: added link to tree status&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==How do I schedule a downtime?==&lt;br /&gt;
&lt;br /&gt;
Whenever Sheriffs/RelEng/IT/WebDev wants a tree-closing downtime because of a infra issue, they should contact the CiDuty person of the day in #ci, by email or preferably by &#039;&#039;putting exact wording they&#039;d like in the downtime notice as it relates to their bug, and then nominating the bug using the &amp;quot;needs-treeclosure?&amp;quot; flag&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Once we know that we want to close the tree(s), head to: https://mozilla-releng.net/treestatus loginm select the tree(s) to be closed and add a note with the bug number, then update the tree to the correct status (open/closed).&lt;br /&gt;
&lt;br /&gt;
=== When do we close the trees ===&lt;br /&gt;
* Infra related issue:&lt;br /&gt;
** Error code 500 (server load)&lt;br /&gt;
** HG Issues (cloning issues, timeouts)&lt;br /&gt;
** HDD problems (space, I/O)&lt;br /&gt;
** Pending Tasks keep raising (Indicator for another problems, such as BBB not working properly)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When planning a downtime, CiDuty should consider:&lt;br /&gt;
* the urgency of the work&lt;br /&gt;
* what other work, if any, can be safely done in the same downtime &lt;br /&gt;
&lt;br /&gt;
=== Preparing for the downtime === &lt;br /&gt;
* CiDuty will:&lt;br /&gt;
** Create a bug with the explanation why the tress get closed&lt;br /&gt;
** verify that the bug is assigned to the person who will actually be doing the work in the downtime&lt;br /&gt;
*** for security sensitive work, be vague, but still include the bug# and vague description. (this reduces confusion about whether an item of work is in/out of a downtime).&lt;br /&gt;
&lt;br /&gt;
==== Who do I notify, and when? ====&lt;br /&gt;
# Just After the trees got closed:&lt;br /&gt;
## Updated the #ci Channel topic and add &amp;quot; TREES CLOSED - BUG: XXXX &amp;quot; right after the LDAP username.&lt;br /&gt;
## Send notifications to: #ci, #sheriffs (if needed), #developers, about the Trees being closed.&lt;br /&gt;
## If new updates come from #sheriffs, #developers, #releng or anyone, make sure #ci is being constantly updated with the current status. &lt;br /&gt;
&lt;br /&gt;
=== After the downtime ===&lt;br /&gt;
CiDuty will:&lt;br /&gt;
# reopen the trees&lt;br /&gt;
# verify with sheriff that trees open, all ok?&lt;br /&gt;
# update the bugs with status.&lt;br /&gt;
# send &amp;quot;TREE OPEN&amp;quot; announcements in #ci, #sheriffs, #developers&lt;br /&gt;
&lt;br /&gt;
For any questions, or if you&#039;re not sure about a particular server, please check with &#039;&#039;&#039;|ciduty&#039;&#039;&#039; in #ci. &lt;br /&gt;
 &lt;br /&gt;
If possible, consolidate RelEng and IT downtimes that need tree closures to avoid the disruption of having two tree closures soon after each other. This is &amp;quot;nice to do&amp;quot;, not a &amp;quot;requirement&amp;quot;; if it reduces risk by doing two separate downtimes, that&#039;s fine!&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=CIDuty/How_To/Tree_Closure&amp;diff=1196268</id>
		<title>CIDuty/How To/Tree Closure</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=CIDuty/How_To/Tree_Closure&amp;diff=1196268"/>
		<updated>2018-06-26T16:47:11Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Initial release&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==How do I schedule a downtime?==&lt;br /&gt;
&lt;br /&gt;
Whenever Sheriffs/RelEng/IT/WebDev wants a tree-closing downtime because of a infra issue, they should contact the CiDuty person of the day in #ci, by email or preferably by &#039;&#039;putting exact wording they&#039;d like in the downtime notice as it relates to their bug, and then nominating the bug using the &amp;quot;needs-treeclosure?&amp;quot; flag&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== When do we close the trees ===&lt;br /&gt;
* Infra related issue:&lt;br /&gt;
** Error code 500 (server load)&lt;br /&gt;
** HG Issues (cloning issues, timeouts)&lt;br /&gt;
** HDD problems (space, I/O)&lt;br /&gt;
** Pending Tasks keep raising (Indicator for another problems, such as BBB not working properly)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When planning a downtime, CiDuty should consider:&lt;br /&gt;
* the urgency of the work&lt;br /&gt;
* what other work, if any, can be safely done in the same downtime &lt;br /&gt;
&lt;br /&gt;
=== Preparing for the downtime === &lt;br /&gt;
* CiDuty will:&lt;br /&gt;
** Create a bug with the explanation why the tress get closed&lt;br /&gt;
** verify that the bug is assigned to the person who will actually be doing the work in the downtime&lt;br /&gt;
*** for security sensitive work, be vague, but still include the bug# and vague description. (this reduces confusion about whether an item of work is in/out of a downtime).&lt;br /&gt;
&lt;br /&gt;
==== Who do I notify, and when? ====&lt;br /&gt;
# Just After the trees got closed:&lt;br /&gt;
## Updated the #ci Channel topic and add &amp;quot; TREES CLOSED - BUG: XXXX &amp;quot; right after the LDAP username.&lt;br /&gt;
## Send notifications to: #ci, #sheriffs (if needed), #developers, about the Trees being closed.&lt;br /&gt;
## If new updates come from #sheriffs, #developers, #releng or anyone, make sure #ci is being constantly updated with the current status. &lt;br /&gt;
&lt;br /&gt;
=== After the downtime ===&lt;br /&gt;
CiDuty will:&lt;br /&gt;
# reopen the trees&lt;br /&gt;
# verify with sheriff that trees open, all ok?&lt;br /&gt;
# update the bugs with status.&lt;br /&gt;
# send &amp;quot;TREE OPEN&amp;quot; announcements in #ci, #sheriffs, #developers&lt;br /&gt;
&lt;br /&gt;
For any questions, or if you&#039;re not sure about a particular server, please check with &#039;&#039;&#039;|ciduty&#039;&#039;&#039; in #ci. &lt;br /&gt;
 &lt;br /&gt;
If possible, consolidate RelEng and IT downtimes that need tree closures to avoid the disruption of having two tree closures soon after each other. This is &amp;quot;nice to do&amp;quot;, not a &amp;quot;requirement&amp;quot;; if it reduces risk by doing two separate downtimes, that&#039;s fine!&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=ReleaseEngineering/How_To/Restart_Buildbot_Masters&amp;diff=1195949</id>
		<title>ReleaseEngineering/How To/Restart Buildbot Masters</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=ReleaseEngineering/How_To/Restart_Buildbot_Masters&amp;diff=1195949"/>
		<updated>2018-06-22T04:29:59Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Added noted on reconfig.lock&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
We occasionally need to restart buildbot masters for various reasons:&lt;br /&gt;
* upgrades to the underlying OS&lt;br /&gt;
* gradual increase in memory usage over time, leading to reduced master performance&lt;br /&gt;
&lt;br /&gt;
There&#039;s a Nagios check in place reminding us when the masters need to be rebooted:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nagios-releng&amp;gt; Wed 23:19:55 UTC [7691] [moc] nagios1.private.releng.scl3.mozilla.com:buildbot-master-machines-buildbot_age cluster is WARNING:CLUSTER WARNING: buildbot-master-machines-buildbot_age cluster: 0 ok, 41 warning, 0 unknown, 0 critical (http://m.mozilla.org/buildbot-master-machines-buildbot_age+cluster)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Manually =&lt;br /&gt;
If you need to restart a single master by hand, here&#039;s the sequence you should follow:&lt;br /&gt;
* disable the master in [https://secure.pub.build.mozilla.org/slavealloc/ui/#masters slavealloc]. This prevents the master from taking more slave connections while you&#039;re waiting for it to shutdown.&lt;br /&gt;
* click the &amp;quot;Clean Shutdown&amp;quot; button on the web interface for the given master, e.g. http://buildbot-master82.bb.releng.scl3.mozilla.com:8001/&lt;br /&gt;
* wait for the jobs currently running on that master to complete. You can track progress in two ways:&lt;br /&gt;
** search in-page for &amp;quot;Running&amp;quot; on the master&#039;s buildslaves page, e.g. http://buildbot-master82.bb.releng.scl3.mozilla.com:8001/buildslaves?no_builders=1&lt;br /&gt;
** check BuildAPI for the [https://secure.pub.build.mozilla.org/buildapi/running list of running jobs] and look for the ones corresponding to that master&lt;br /&gt;
* once the master is shutdown, perform whatever upgrades are required, etc.&lt;br /&gt;
* restart the master. &#039;&#039;&#039;NOTE:&#039;&#039;&#039; buildbot masters are configured to restart buildbot automatically on boot, so if you reboot the master, buildbot will restart itself. To restart manually:&lt;br /&gt;
 xebec:buildduty ccooper$ ssh cltbld@buildbot-master82&lt;br /&gt;
 Unauthorized access prohibited&lt;br /&gt;
 [cltbld@buildbot-master82.bb.releng.scl3.mozilla.com ~]$ cd /builds/buildbot/build1/&lt;br /&gt;
 [cltbld@buildbot-master82.bb.releng.scl3.mozilla.com build1]$ make start&lt;br /&gt;
* re-enable the master in [https://secure.pub.build.mozilla.org/slavealloc/ui/#masters slavealloc].&lt;br /&gt;
* Don&#039;t forget to remove the reconfig.lock file if the script gets interrupted for any reason.&lt;br /&gt;
&lt;br /&gt;
= By script =&lt;br /&gt;
The above actions have been encapsulated into a script: https://hg.mozilla.org/build/tools/file/default/buildfarm/maintenance/restart_masters.py. The script is setup to run on &amp;lt;tt&amp;gt;buildduty-tools.srv.releng.usw2.mozilla.com&amp;lt;/tt&amp;gt;, located at &amp;lt;tt&amp;gt;/home/buildduty/restart_masters/&amp;lt;/tt&amp;gt; under buildduty&#039;s account.&lt;br /&gt;
&lt;br /&gt;
The wrapper script &amp;lt;tt&amp;gt;/home/buildduty/restart_masters.sh&amp;lt;/tt&amp;gt; is used to update repositories and call restart_masters.py. The latter will prompt for the usernames and passwords it needs (ldap for slavealloc, cltbld and root for ssh).&lt;br /&gt;
&lt;br /&gt;
Here is an example invocation:&lt;br /&gt;
&lt;br /&gt;
 # ssh -A buildduty@buildduty-tools&lt;br /&gt;
 $ screen -R restart_masters&lt;br /&gt;
 $ /home/buildduty/restart_masters.sh&lt;br /&gt;
&lt;br /&gt;
You can enter nonsense for the cltbld and root passwords because key auth is used. Forwarding your ssh agent is required for ssh  access to the masters. If you use a timeout make sure it&#039;s sufficiently long for the script to repeat, but don&#039;t leave it running indefinitely. &#039;&#039;&#039;NB: rebooting masters by adding the -r arg to restart_masters.py is non-functional because root logins are disabled.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The logs go to [https://papertrailapp.com/systems/255918104/events?q=restart_masters papertrail], outputting a progress report every 60 minutes. For really minimal view (which may hide errors) see this [https://papertrailapp.com/systems/255918104/events?q=restart_masters+-%22Connection+as+cltbld%22+-%22Attempting+to+connect+to%22+-%22Checking+shutdown+status%22+-lockfile+-Disabling+-Initiating+-%22Re-enabling%22+-%22Attempting+to+restart+master%22 filtered view]. &lt;br /&gt;
&lt;br /&gt;
You can send a SIGUSR1 to restart_masters.py to prompt an extra progress report; allow time for the current status check to complete first.&lt;br /&gt;
&lt;br /&gt;
= Automated =&lt;br /&gt;
The above script requires sensitive credentials that shouldn&#039;t be stored on disk. For now, we&#039;re still running this script by hand.&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=CIDuty&amp;diff=1193755</id>
		<title>CIDuty</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=CIDuty&amp;diff=1193755"/>
		<updated>2018-05-14T08:48:53Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Update BuildDuty to CiDuty. Renaming project&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= What is CiDuty? =&lt;br /&gt;
CiDuty (formerly BuildDuty) is a team dedicated to helping out developers with Firefox continuous integration infra issues. We currently have six people based in Romania that provide 24/7 support.  CiDuty complement the [[Sheriff|sheriffing team]] where sheriffs respond to Firefox code regressions, CiDuty respond to the infrastructure that builds and tests Firefox code.&lt;br /&gt;
&lt;br /&gt;
= Manifesto =&lt;br /&gt;
The [[ReleaseEngineering/Buildduty_manifesto| CiDuty manifesto]] describes the team responsibilities in a nutshell.&lt;br /&gt;
&lt;br /&gt;
= Team =&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
| &#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Profile&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Social&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Blog&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Jordan Lund&lt;br /&gt;
| [https://mozillians.org/u/jlund jlund]&lt;br /&gt;
| [https://github.com/lundjordan github]&lt;br /&gt;
| [http://jordan-lund.ghost.io/ blog]&lt;br /&gt;
|-&lt;br /&gt;
| Zsolt Fay&lt;br /&gt;
| [https://mozillians.org/en-US/u/zfay/ zfay]&lt;br /&gt;
| [https://github.com/Rivulu5 github]&lt;br /&gt;
|  N/A&lt;br /&gt;
|-&lt;br /&gt;
| Radu Iman&lt;br /&gt;
| [https://mozillians.org/en-US/u/riman/ riman]&lt;br /&gt;
| [https://github.com/raduiman github]&lt;br /&gt;
| N/A &lt;br /&gt;
|-&lt;br /&gt;
| Bogdan Crisan&lt;br /&gt;
| [https://mozillians.org/en-US/u/bcrisan/ bcrisan]&lt;br /&gt;
| [https://github.com/bccrisan github]&lt;br /&gt;
| N/A &lt;br /&gt;
|-&lt;br /&gt;
| Danut Labici&lt;br /&gt;
| [https://mozillians.org/en-US/u/dlabici/ dlabici]&lt;br /&gt;
| [https://github.com/akhliskun github]&lt;br /&gt;
| N/A &lt;br /&gt;
|-&lt;br /&gt;
| Roland Mutter&lt;br /&gt;
| [https://mozillians.org/en-US/u/rmutter/ rmutter]&lt;br /&gt;
| [https://github.com/mutterroland github]&lt;br /&gt;
| N/A &lt;br /&gt;
|-&lt;br /&gt;
| Adrian Pop&lt;br /&gt;
| [https://mozillians.org/en-US/u/apop/ apop]&lt;br /&gt;
| [https://github.com/popadrianc github]&lt;br /&gt;
| N/A&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= CiDuty priorities =&lt;br /&gt;
The [[ReleaseEngineering/Buildduty_actionable| CiDuty actionable]] enumerates their daily/weekly sanity job.&lt;br /&gt;
&lt;br /&gt;
== Others ==&lt;br /&gt;
There is a long list of &#039;&#039;&#039;[[ReleaseEngineering/Buildduty/Other_Duties|other, less-frequent duties]]&#039;&#039;&#039; that CiDuty can assist with.&lt;br /&gt;
&lt;br /&gt;
= Documentation =&lt;br /&gt;
There&#039;s a [https://wiki.mozilla.org/ReleaseEngineering/Buildduty/How_To wiki page] that aggregates useful info related to the tasks CiDuty is taking care of (as of December 2017). &lt;br /&gt;
&lt;br /&gt;
= Useful Links =&lt;br /&gt;
* [[ReleaseEngineering/Buildduty/day_1_checklist|Day 1 checklist]]&lt;br /&gt;
* [https://secure.pub.build.mozilla.org/builddata/reports/slave_health/ Slave Health]&lt;br /&gt;
* [https://secure.pub.build.mozilla.org/slavealloc/ui/#slaves Slave Alloc]&lt;br /&gt;
* [https://tools.taskcluster.net/provisioners Provision Explorer]&lt;br /&gt;
* [https://secure.pub.build.mozilla.org/builddata/reports/slave_health/buildduty_report.html CiDuty Report]&lt;br /&gt;
* [https://secure.pub.build.mozilla.org/buildapi/ Build Dashboard Main Page]&lt;br /&gt;
** You can get JSON dumps for people to analyze by adding &amp;lt;code&amp;gt;&amp;amp;format=json&amp;lt;/code&amp;gt;&lt;br /&gt;
* [https://wiki.mozilla.org/Buildduty/How_To Public &amp;quot;How To&amp;quot; documents](&#039;&#039;&#039;new&#039;&#039;&#039;) &lt;br /&gt;
* [[ReleaseEngineering/How_To|Old/Deprecated Public &amp;quot;How To&amp;quot; documents]]&lt;br /&gt;
* [https://mana.mozilla.org/wiki/dosearchsite.action?queryString=title%3A%22How%20To%22&amp;amp;where=RelEng Private &amp;quot;How To&amp;quot; documents]&lt;br /&gt;
&lt;br /&gt;
= Meeting Notes =&lt;br /&gt;
* [https://etherpad.mozilla.org/buildduty-notes Daily buildduty stand-up notes]&lt;br /&gt;
* [[ReleaseEngineering/Buildduty/Meetings|Old buildduty weekly meetings notes]]&lt;br /&gt;
* [[ReleaseEngineering/Buildduty/SVMeetings| SoftVision buildduty stand-up notes]]&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Buildduty/manifesto&amp;diff=1193754</id>
		<title>Buildduty/manifesto</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Buildduty/manifesto&amp;diff=1193754"/>
		<updated>2018-05-14T08:45:55Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Update BuildDuty to CiDuty. Renaming project&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Intro ==&lt;br /&gt;
&lt;br /&gt;
CiDuty is an operational support team dedicated to monitoring and maintaining the health of Firefox’s continuous integration (CI) infrastructure. Employees are contractors located in Romania that provide 24/7 support. The team&#039;s &#039;&#039;&#039;&#039;&#039;responsibilities include&#039;&#039;&#039;&#039;&#039; but are not limited to: &lt;br /&gt;
* [[ReleaseEngineering/Buildduty_manifesto#Firefox_CI_infrastructure_outage_coordination_and_investigation| Firefox CI infrastructure outage coordination and investigation]]&lt;br /&gt;
* [[ReleaseEngineering/Buildduty_manifesto#Monitoring,_investigating,_and_debugging_issues_with_the_Linux,_Windows,_and_OS_X_Firefox_CI_infrastructure| Monitoring, investigating, and debugging issues with the Linux, Windows, and OS X Firefox CI infrastructure]]&lt;br /&gt;
* [[ReleaseEngineering/Buildduty_manifesto#Monitoring_Firefox_CI_backlog/pending_counts| Monitoring Firefox CI backlog/pending counts]]&lt;br /&gt;
* [[ReleaseEngineering/Buildduty_manifesto#Tree_closing_and_opening| Tree closing and opening]]&lt;br /&gt;
* [[ReleaseEngineering/Buildduty_manifesto#Loaning_Firefox_build/test_instances_to_developers| Loaning Firefox build/test instances to developers]]&lt;br /&gt;
* [[ReleaseEngineering/Buildduty_manifesto#Upload_new_packages_or_Python_modules_to_our_internal mirrors| Upload new packages or Python modules to our internal mirrors]]&lt;br /&gt;
* [[ReleaseEngineering/Buildduty_manifesto#Routine_maintenance_of_the_Firefox_CI_configuration| Routine maintenance of the Firefox CI configuration]]&lt;br /&gt;
&lt;br /&gt;
While team’s responsibilities cover a wide variety of tasks, people sometimes contact them for (or file bugs in their queue for) &#039;&#039;&#039;&#039;&#039;issues that don’t&#039;&#039;&#039;&#039;&#039; fall under their area of expertise. The following are some of the most common examples:&lt;br /&gt;
* [[ReleaseEngineering/Buildduty_manifesto#Firefox_release_builds| Firefox release builds]]&lt;br /&gt;
* [[ReleaseEngineering/Buildduty_manifesto#Developer_test_failures| Developer test failures]]&lt;br /&gt;
&lt;br /&gt;
== Things CiDuty can help with ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Firefox CI infrastructure outage coordination and investigation =====&lt;br /&gt;
When the Firefox CI system fails, getting services online again is ciduty&#039;s top priority. They are the initial point of contact for outages, but will likely escalate to additional teams with subject matter experts for resolution.&lt;br /&gt;
&lt;br /&gt;
===== Monitoring, investigating, and debugging issues with the Linux, Windows, and OS X Firefox CI infrastructure =====&lt;br /&gt;
CiDuty monitors the Firefox CI infrastructure using the Nagios GUI and irc alerts in the #ci irc channel. They routinely look for system issues, resolve them using our automation tooling, or work with datacenter staff to repair offline or degraded hardware. They also monitor email from AWS about infrastructure that is degraded or requires maintenance. &lt;br /&gt;
&lt;br /&gt;
===== Monitoring Firefox CI backlog/pending counts =====&lt;br /&gt;
CiDuty is the first point of contact for monitoring the load on the Firefox CI system and determining the cause of any high backlog or pending job counts. If they are unable to determine the root cause and solve the issue, CiDuty escalates to other teams who have subject matter experts. &lt;br /&gt;
&lt;br /&gt;
===== Tree closing and opening ===== &lt;br /&gt;
Closing and opening the trees (denying and allowing code checkins to our mercurial repos) are typically handled by the Mozilla Code Sheriffs, but CiDuty can also help out with this if needed. &lt;br /&gt;
&lt;br /&gt;
===== Loaning Firefox build/test instances to developers =====&lt;br /&gt;
CiDuty processes bugzilla requests from developers for Firefox CI build or test loaners. To obtain a loaner, submit a request to bugzilla under [https://mzl.la/2L2izjE CiDuty] and expect a response in less than one working day (UTC+2).&lt;br /&gt;
&lt;br /&gt;
===== Upload new packages or Python modules to our internal mirrors =====&lt;br /&gt;
CiDuty can help a developer who needs a new software package uploaded to tooltool or a Python package uploaded to our internal PyPi mirror.  They can also grant other developers access to upload packages to tooltool, for a given paths subset, to allow for future self-service. &lt;br /&gt;
&lt;br /&gt;
===== Routine maintenance of the Firefox CI configuration =====&lt;br /&gt;
While most of the Taskcluster configuration is handled by the end-developer, we still have infrastructure using the Buildbot CI infrastructure as well. CiDuty has the knowledge and capability to modify the Firefox buildbot-configs and perform general maintenance of the Buildbot systems. Maintenance includes tasks such as retasking machines from one platform to another as capacity requirements demand, decommissioning machines, updating keys and secrets, etc.&lt;br /&gt;
&lt;br /&gt;
== Things CiDuty isn’t responsible for ==&lt;br /&gt;
&lt;br /&gt;
===== Firefox release builds =====&lt;br /&gt;
CiDuty is not responsible for checking the state or fixing issues with any of the Firefox channel builds (Nightly, DevEdition, Release, etc). Releases of any kind are are handled by the ReleaseDuty team within Release Engineering.&lt;br /&gt;
&lt;br /&gt;
===== Developer test failures =====&lt;br /&gt;
CiDuty is the first point of contact for any ongoing, systemic, Firefox CI test failures which appear to be caused by infrastructure-related issues, but they do not triage or fix other types of test failures. Any bugs filed in the CiDuty queue for these general types of developer test failures (e.g. Mochitest, reftest, etc) will be moved during bug triage.&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=ReleaseEngineering/How_To/Process_release_email&amp;diff=1193753</id>
		<title>ReleaseEngineering/How To/Process release email</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=ReleaseEngineering/How_To/Process_release_email&amp;diff=1193753"/>
		<updated>2018-05-14T08:41:05Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Update BuildDuty to CiDuty. Renaming project&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Release Engineering How To|Process email to release@}}&lt;br /&gt;
This is a list of automatically generated emails you should expect to receive as a release engineer at mozilla.  It is not complete.&lt;br /&gt;
&lt;br /&gt;
Note that email is not a good notification methodology, and better systems should always be preferred. However, it often is all that is available for audience which needs the notification. To minimize the pain of email notifications, follow these guidelines:&lt;br /&gt;
* email should go to a unique address for the service. This can be achieved by using &amp;quot;plus addresses&amp;quot; (preferred due to positive filtering criterea). (Note: AWS SES refers to these as &amp;quot;labels&amp;quot;.)&lt;br /&gt;
** if not possible, the message MUST have a unique start to the subject field (brittle).&lt;br /&gt;
* email should be documented on this page.&lt;br /&gt;
&lt;br /&gt;
Some email is also routed to archives, which you may prefer to search instead of joining a list to receive emails:&lt;br /&gt;
* [https://groups.google.com/a/mozilla.com/forum/#!forum/releng-puppet-mail releng puppet email]&lt;br /&gt;
* [https://groups.google.com/a/mozilla.com/forum/?hl=en#!forum/release-automation-notifications release automation email]&lt;br /&gt;
* [https://groups.google.com/a/mozilla.com/forum/?hl=en#!forum/releng-ops-trial vcs-sync operations email]&lt;br /&gt;
&lt;br /&gt;
= Index =&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; The &amp;quot;Wildcard&amp;quot; column gives a suggestion on how to filter for that email.&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;10&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;fullwidth-table sortable&amp;quot;&lt;br /&gt;
!Field !! Wildcard !! Further Notes&lt;br /&gt;
|-&lt;br /&gt;
|Subject  || collapse report || [[#Performance Metrics]]&lt;br /&gt;
|-&lt;br /&gt;
|Subject || Suspected machine issue (* || Not an actionable email at this point. (from: nobody@cruncher - s/a {{bug|825625}}&lt;br /&gt;
|-&lt;br /&gt;
|Subject ||Talos Suspected machine issue *|| &#039;&#039;if you don&#039;t know, you don&#039;t care&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|Subject ||Try submission *||to: autolanduser@mozilla.com&lt;br /&gt;
|-&lt;br /&gt;
|Subject ||[vcs2vcs] alert_major_errors* || &#039;&#039;&#039;major processing error&#039;&#039;&#039; make sure build duty and/or hwine know [[#vcs2vcs|details]]&lt;br /&gt;
|-&lt;br /&gt;
|Subject ||[vcs2vcs]: git.m.o push N failed: * || single occurrence related to git.m.o/releases/gecko.git &#039;&#039;&#039;if repeated, this is a major processing error&#039;&#039;&#039; make sure build duty and/or hwine know [[#vcs2vcs|details]]&lt;br /&gt;
|-&lt;br /&gt;
|Subject ||[vcs2vcs] process delays* || &#039;&#039;&#039;if repeated, this is a major processing error&#039;&#039;&#039; make sure build duty and/or hwine know [[#vcs2vcs|details]]&lt;br /&gt;
|-&lt;br /&gt;
|Subject || [release-runner] failed || [[#What_to_do_when_one_is_received_6| How to investigate release runner failures]]. &#039;&#039;(ignore if a release isn&#039;t actively being started)&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|To      || release+amp@mozilla.com || Test Google Play store account. Blassey and Snorp have access. RelEng does not have access at this time.&lt;br /&gt;
|-&lt;br /&gt;
|To      || release+aws@mozilla.com || AWS admin email, service notifications &amp;amp; marketing. See [[#Amazon_EC2_Instance_scheduled_for_retirement|list of AWS emails]], contact catlee if unsure how to handle.&lt;br /&gt;
|-&lt;br /&gt;
|To      || release+bitbucket@mozilla.com || Mozilla Bitbucket Admin email (contact hwine for now)&lt;br /&gt;
|-&lt;br /&gt;
|To      || release+vcs2vcs@mozilla.com || Output from vcs2vcs hg&amp;lt;-&amp;gt;git conversion ([[#vcs2vcs|details]])&lt;br /&gt;
|-&lt;br /&gt;
|To      || release+aws-sanity-check@mozilla.com || Output from cruncher [http://hg.mozilla.org/build/cloud-tools/file/default/aws/aws_sanity_checker.py aws_sanity_checker.py] (contact rail)&lt;br /&gt;
|-&lt;br /&gt;
|To      || release+ec2.*@mozilla.com || error output from crontab on the indicated machine. FIX ISSUE!&lt;br /&gt;
|-&lt;br /&gt;
|To      || release+sns@mozilla.com || SNS issue notifications from various services. FIX ISSUE!&lt;br /&gt;
|-&lt;br /&gt;
|To      || release+update.b2g.o@mozilla.com || low disk space on dogfood update server, see {{bug|877224}}&lt;br /&gt;
|-&lt;br /&gt;
|To      || release+chromecast@mozilla.com || Developer account for Chromecast app support {{bug|1037018}} ([[#chromecast|details]])&lt;br /&gt;
|-&lt;br /&gt;
|To      || release+v2v-gh@mozilla.com || Primary email for github account moz-v2v-gh. Contact vcs-sync folk&lt;br /&gt;
|-&lt;br /&gt;
|To      || release+roku@mozilla.com || Primary email for Roku account, mfinkle is dev contact&lt;br /&gt;
|-&lt;br /&gt;
|To      ||  release+signaddons@mozilla.com || Primary email for signing addons in automation via API&lt;br /&gt;
|-&lt;br /&gt;
|To      ||  release+ubuntu-store@mozilla.com || Primary email for Ubuntu Store&lt;br /&gt;
|-&lt;br /&gt;
|To      || release+mozdef@mozilla.com || Security alerts from infosec&#039;s Mozdef server.  Alert team&amp;amp;infosec if you find suspicious activity.&lt;br /&gt;
|-&lt;br /&gt;
|To      || release+moc_notifications@mozilla.com || Something from the MOC. Action depends on content. (Cited in [https://mana.mozilla.org/wiki/display/MOC/MOC+Contact+Groups#MOCContactGroups-Teams mana].)&lt;br /&gt;
|-&lt;br /&gt;
|To      || release+appleagent@mozilla.com || Related to Apple ID account -- bring to manager&#039;s attention if lots of activity.&lt;br /&gt;
|-&lt;br /&gt;
|To      || release+wcw@mozilla.com &amp;amp; release+wmw@mozilla.com || Requests for Wednesday Change Window (mana link to come). CiDuty or manager should respond.&lt;br /&gt;
|-&lt;br /&gt;
|To      || release+cot@mozilla.com || GPG expiration monitoring. Alert aki, catlee, garndt.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Performance Metrics=&lt;br /&gt;
== Why we get them ==&lt;br /&gt;
We get various emails containing raw data that relates to a performance bottle neck at some point in time. Typically these are produced by cron jobs, and so received regularly regardless of metric status. (I.e. they may not require any action.)&lt;br /&gt;
&lt;br /&gt;
== What is sending them ==&lt;br /&gt;
Since this is a &amp;quot;catch all&amp;quot; category, various tools send them. Check the full headers for information on sender and source machine as needed.&lt;br /&gt;
&lt;br /&gt;
== What to do when one is received ==&lt;br /&gt;
If you don&#039;t know what it&#039;s about, you don&#039;t need to deal with it beyond setting up a filter to ignore it.&lt;br /&gt;
&lt;br /&gt;
== How to silence or acknowledge this alert ==&lt;br /&gt;
It&#039;s not an alert, so they&#039;ll keep coming until the end of time. Filter them if you&#039;re not involved with them.&lt;br /&gt;
&lt;br /&gt;
== Future plans ==&lt;br /&gt;
Adhoc, so varies by email. Theoretically, these &#039;&#039;should&#039;&#039; be transitional, and moved into automation and alerting as soon as the metric is understood.&lt;br /&gt;
&lt;br /&gt;
== How to best filter these emails ==&lt;br /&gt;
Since these are adhoc, you&#039;ll need adhoc filters. It would be nice if folks used a common prefix on subjects, such as &amp;quot;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[releng metrics]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;vcs2vcs&amp;quot;&amp;gt; &amp;lt;/div&amp;gt;&lt;br /&gt;
= vcs2vcs System=&lt;br /&gt;
== Why we get them ==&lt;br /&gt;
These emails are the interim notification for vcs2vcs system, and indicate an error that must be addressed. The b2g project is dependent upon parts of the vcs2vcs system, as are other developers and partners.&lt;br /&gt;
&lt;br /&gt;
== What is sending them ==&lt;br /&gt;
All emails are sent (perhaps indirectly) by a script from [http://hg.mozilla.org/users/hwine_mozilla.com/repo-sync-tools/ vcs2vcs tools]. The hosts sending the email will be one of the ones listed in [http://hg.mozilla.org/users/hwine_mozilla.com/repo-sync-configs/file/default/status the configs]. Full details of how each script is run, including trouble shooting tips, are in the [http://hg.mozilla.org/users/hwine_mozilla.com/repo-sync-tools/file/default/docs docs] (a formatted copy &#039;&#039;may&#039;&#039; be online [http://people.mozilla.com/~hwine/tmp/vcs2vcs/ here]).&lt;br /&gt;
&lt;br /&gt;
== What to do when one is received ==&lt;br /&gt;
* if the subject contains &amp;quot;[vcs2vcs] AUTOFIX process delays&amp;quot;, then look for another email within a few minutes and proceed as follows:&lt;br /&gt;
** if a second email from the same host follows almost immediately with a subject of &amp;quot;[vcs2vcs] process delays&amp;quot;, then the AUTOFIX failed, which is an unexpected condition. Page hwine.&lt;br /&gt;
** if no followup email is received, the AUTOFIX worked. Log in {{bug|829025}} &amp;amp; delete (or just delete and leave for hwine to log).&lt;br /&gt;
* if the subject contains &amp;quot;[vcs2vcs] process delays&amp;quot; &#039;&#039;&#039;&#039;&#039;and&#039;&#039;&#039;&#039;&#039; is repeated every 20 minutes, this is a service outage - one or more repositories are no longer being updated. The email contents will give specific errors. Consult the trouble shooting section of the docs (above) for guidance and/or PAGE hwine. &lt;br /&gt;
** Unfortunately, there appear to be a few race conditions between scripts, so a single occurrence of the email may be a false positive. ({{bug|839595}} filed to track this.)&lt;br /&gt;
&lt;br /&gt;
* if the subject contains &amp;quot;[vcs2vcs] alert_major_errors alert&amp;quot;, this is a major problem - one or more repositories are no longer being updated. The email contents will give specific errors. Consult the trouble shooting section of the docs (above) for guidance and/or contact hwine. &lt;br /&gt;
** The most common cause of this is hg repo corruption, the recovery is scripted, but can take some time. Please add to {{bug|808129}} if you fix, or block that bug with a new bug.&lt;br /&gt;
** NOTE: you may receive an additional email after the root cause is resolved. (The alert checks on the hour for problems in the prior hour.)&lt;br /&gt;
&lt;br /&gt;
* if the subject containes &amp;quot;[vcs2vcs]: git.m.o push N failed for gecko.git:&amp;quot;, this is a (usually) transient problem with pushing gecko.git (the partner facing gecko repository) to either git.m.o or git staging. Two pushes are tried each iteration - both should succeed. Each push is numbered &#039;1&#039; or &#039;2&#039;, if you see only one email report, the other already succeeded, and is ignorable. One or two sets of emails is ignorable, any more needs investigation, starting with the health of git.mozilla.org. (Note that the message is short, as this also pages hwine via sms, where brevity is nice.)&lt;br /&gt;
&lt;br /&gt;
* if the subject is something else, this is likely unexpected output from a cron job. Judge the severity and escalate to hwine appropriately. File a bug to get better diagnosis of this error condition in the future.&lt;br /&gt;
&lt;br /&gt;
== How to silence or acknowledge this alert ==&lt;br /&gt;
Resolving the root cause will stop the emails.&lt;br /&gt;
&lt;br /&gt;
== Future plans ==&lt;br /&gt;
The system will eventually be transitioned to Developer Productivity (nee Developer Services (nee IT)) for operations. Specific email will be converted to nagios alerts before then.&lt;br /&gt;
&lt;br /&gt;
== How to best filter these emails ==&lt;br /&gt;
All of these emails are sent to the addresses of the form: &amp;lt;tt&amp;gt;release+vcs2vcs*@mozilla.com&amp;lt;/tt&amp;gt;. Common sub addresses are:&lt;br /&gt;
; release+vcs2vcs : mail that will have specifics in the Subject line.&lt;br /&gt;
; release+vcs2vcs+forward : mail to vcs2vcs user, forwarded via &amp;lt;tt&amp;gt;~/.forward&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
= Release runner =&lt;br /&gt;
== Why we get them ==&lt;br /&gt;
Release runner sends e-mail when it fails in any way. Eg, failing to poll ship it after a long period of time or failing to start a submitted release.&lt;br /&gt;
&lt;br /&gt;
== What is sending them ==&lt;br /&gt;
* Source: https://hg.mozilla.org/build/tools/file/default/buildfarm/release&lt;br /&gt;
* Sent by: buildbot&lt;br /&gt;
* Runs on: buildbot-master36 through supervisord&lt;br /&gt;
&lt;br /&gt;
== What to do when one is received ==&lt;br /&gt;
[[Release:Release_Automation_on_Mercurial:Troubleshooting#How_to_investigate_release_runner_failures | How to invesigate release runner failures]]&lt;br /&gt;
&lt;br /&gt;
== How to silence or acknowledge this alert ==&lt;br /&gt;
Fix whatever problem release runner has hit. (Sometimes this means waiting out network issues.) There&#039;s no way to ack (in the nagios sense) release runner e-mails.&lt;br /&gt;
&lt;br /&gt;
== Future plans ==&lt;br /&gt;
They&#039;re here to stay.&lt;br /&gt;
&lt;br /&gt;
== How to best filter these emails ==&lt;br /&gt;
[release-runner] in the subject.&lt;br /&gt;
&lt;br /&gt;
=Amazon EC2 Instance scheduled for retirement=&lt;br /&gt;
==Example==&lt;br /&gt;
One or more of your Amazon EC2 instances in the us-east-1 region is scheduled for retirement. The following instance(s) will be shut down after 12:00 AM UTC on 2013-10-22.&lt;br /&gt;
&lt;br /&gt;
  i-02cc2669&lt;br /&gt;
&lt;br /&gt;
== Why we get them ==&lt;br /&gt;
Amazon needs us to move our virtual instance(s) off of certain physical hardware so they can perform maintenance on it.&lt;br /&gt;
&lt;br /&gt;
== What is sending them ==&lt;br /&gt;
Automated notification sent by no-reply-aws@amazon.com&lt;br /&gt;
&lt;br /&gt;
== What to do when one is received ==&lt;br /&gt;
* determine what host is running on the specified EC2 instance.&lt;br /&gt;
* power the instance down in an orderly manner&lt;br /&gt;
* start it back up&lt;br /&gt;
&lt;br /&gt;
== How to silence or acknowledge this alert ==&lt;br /&gt;
&lt;br /&gt;
== Future plans ==&lt;br /&gt;
&lt;br /&gt;
== How to best filter these emails ==&lt;br /&gt;
Filter on the sender and subject line.&lt;br /&gt;
&lt;br /&gt;
=SNS Notifications from AWS=&lt;br /&gt;
==Example==&lt;br /&gt;
Anything with the Subject &amp;quot;AWS Notification Message&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Why we get them ==&lt;br /&gt;
We use SNS to deliver notifications about various Amazon services as well as services like Papertrail. These are generally critical alerts that we&#039;ve set up and should be dealt with/investigated in a timely fashion. At the moment, only AWS Cloudwatch and Papertrail use this service, but we will likely add more in the future after we get an SNS-&amp;gt;irc bot set up because it allows for an easy HTTP/HTTPS endpoint push that other services already integrate with.&lt;br /&gt;
&lt;br /&gt;
== What is sending them ==&lt;br /&gt;
The Amazon SNS service notification topic &amp;quot;buildduty&amp;quot;&lt;br /&gt;
* arn:aws:sns:us-west-2:314336048151:buildduty&lt;br /&gt;
* arn:aws:sns:us-east-1:314336048151:buildduty&lt;br /&gt;
&lt;br /&gt;
== What to do when one is received ==&lt;br /&gt;
Determine what the issue is by parsing the output. Make sure someone is working on fixing the issue (if you&#039;re not sure how, at least contact ciduty for their input/advice).&lt;br /&gt;
&lt;br /&gt;
== How to silence or acknowledge this alert ==&lt;br /&gt;
Fix the underlying issue to stop the alert.&lt;br /&gt;
&lt;br /&gt;
== Future plans ==&lt;br /&gt;
In the near future we intend to send SNS notifications to an irc bot instead of via email.&lt;br /&gt;
&lt;br /&gt;
== How to best filter these emails ==&lt;br /&gt;
Ideally you should not filter them except into a high priority folder. You can filter on the Subject or the To address.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;chromecast&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Mail to release+chromecast@mozilla.com =&lt;br /&gt;
== Why we get them ==&lt;br /&gt;
The mobile team is adding Chromecast support (ability to fling videos/tabs from a device to a TV). They need a persistent account not linked to a single developer who might leave the company at some point.&lt;br /&gt;
&lt;br /&gt;
== What is sending them ==&lt;br /&gt;
These emails come from the &lt;br /&gt;
&lt;br /&gt;
== What to do when one is received ==&lt;br /&gt;
Traffic should be light. If the email is not simply Google self-promotion, please forward it to lead mobile devs, namely :blassey and :mfinkle. &lt;br /&gt;
&lt;br /&gt;
== How to silence or acknowledge this alert ==&lt;br /&gt;
&lt;br /&gt;
== Future plans ==&lt;br /&gt;
&lt;br /&gt;
== How to best filter these emails ==&lt;br /&gt;
You can either filter on the &amp;quot;To:&amp;quot; field for &amp;quot;release+chromecast@mozilla.com&amp;quot; to catch just these emails, or filter on &amp;quot;From:&amp;quot; for &amp;quot;noreply@google.com&amp;quot; and move all mail from Google (we have multiple accounts mailing us intermittently) to a separate Google subfolder (coop).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Security Alerts from Mozdef=&lt;br /&gt;
== Why we get them ==&lt;br /&gt;
Mozdef is an ELK stack (logging aggregator + parser) run by the infosec team.  They&#039;re consuming our Papertrail logs, at our request.&lt;br /&gt;
&lt;br /&gt;
2016.09.13: We have asked them to create some preliminary alerts on ssh access to our signing infrastructure.  See https://bugzilla.mozilla.org/show_bug.cgi?id=1290261&lt;br /&gt;
&lt;br /&gt;
== What is sending them ==&lt;br /&gt;
2016.09.13: the infosec team has a cron job finding ssh activity on the signing infrastructure, and that emails us.&lt;br /&gt;
&lt;br /&gt;
== What to do when one is received ==&lt;br /&gt;
2016.09.13: The emails are very new.  For now, we most likely want to take a look and see what the &#039;normal&#039; looks like, so we know when something out of the ordinary happens.&lt;br /&gt;
&lt;br /&gt;
On suspicious email, notify the team and infosec.&lt;br /&gt;
&lt;br /&gt;
== How to silence or acknowledge this alert ==&lt;br /&gt;
2016.10.08: These will send once an hour if there is ssh access.&lt;br /&gt;
&lt;br /&gt;
== Future plans ==&lt;br /&gt;
2016.09.13: We may change the frequency of the emails to be more immediate, once we know the noise level.&lt;br /&gt;
&lt;br /&gt;
== How to best filter these emails ==&lt;br /&gt;
As noted in the table above, these are sent to release+mozdef@mozilla.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Mail to release+moc_notifications@mozilla.com=&lt;br /&gt;
== Why we get them ==&lt;br /&gt;
Unsure when MOC will use this address.&lt;br /&gt;
&lt;br /&gt;
== What is sending them ==&lt;br /&gt;
Humans from MOC will use this address.&lt;br /&gt;
&lt;br /&gt;
== What to do when one is received ==&lt;br /&gt;
* Read and handle&lt;br /&gt;
&lt;br /&gt;
== How to silence or acknowledge this alert ==&lt;br /&gt;
* depends on context&lt;br /&gt;
&lt;br /&gt;
== Future plans ==&lt;br /&gt;
Unknown - check [https://mana.mozilla.org/wiki/display/MOC/MOC+Contact+Groups#MOCContactGroups-Teams mana] to see if anything has changed.&lt;br /&gt;
&lt;br /&gt;
== How to best filter these emails ==&lt;br /&gt;
Filter by &amp;quot;to&amp;quot; address.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Mail to release+appleagent@mozilla.com=&lt;br /&gt;
== Why we get them ==&lt;br /&gt;
* 2 step verification&lt;br /&gt;
* fall back account&lt;br /&gt;
&lt;br /&gt;
== What is sending them ==&lt;br /&gt;
Apple when folks interact with the release Apple ID agent account.&lt;br /&gt;
&lt;br /&gt;
== What to do when one is received ==&lt;br /&gt;
* If you generated it, claim it by reply.&lt;br /&gt;
* Unclaimed emails should be escalated to folks with access to release Apple ID accounts&lt;br /&gt;
&lt;br /&gt;
== How to silence or acknowledge this alert ==&lt;br /&gt;
* depends on context&lt;br /&gt;
&lt;br /&gt;
== Future plans ==&lt;br /&gt;
&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== How to best filter these emails ==&lt;br /&gt;
Filter by &amp;quot;to&amp;quot; address.&lt;br /&gt;
&lt;br /&gt;
=Sample=&lt;br /&gt;
== Why we get them ==&lt;br /&gt;
Give a brief explanation of why this email is for, what it helps us do and why it should be watched&lt;br /&gt;
&lt;br /&gt;
== What is sending them ==&lt;br /&gt;
Include a link to the source of the program sending the email.  Include information on which hosts are sending the email, and give information on how program runs.  Is it a daemon?  Does it have an init script?  Do you run it under screen?  &lt;br /&gt;
&lt;br /&gt;
== What to do when one is received ==&lt;br /&gt;
* if the title contains &amp;quot;[scl-production-puppet-new] &amp;lt;slavename&amp;gt; is waiting to be signed&amp;quot;, this is for information and requires no immediate action&lt;br /&gt;
* if the title contains &amp;quot;[scl-production-puppet-new] &amp;lt;slavename&amp;gt; has invalid cert&amp;quot;, the script will try once to clean the cert before sending the email.  If this is successful, you&#039;ll see a matching &amp;quot;&amp;lt;slavename&amp;gt; is waiting to be signed&amp;quot; email.  The key will be automatically signed&lt;br /&gt;
&lt;br /&gt;
== How to silence or acknowledge this alert ==&lt;br /&gt;
Include information on how to make the emails stop&lt;br /&gt;
&lt;br /&gt;
== Future plans ==&lt;br /&gt;
provide any future plans for this email.  Is it temporary? Is it going to be replaced by a real dashboard? Are you going to add/change things people filter on?&lt;br /&gt;
&lt;br /&gt;
== How to best filter these emails ==&lt;br /&gt;
provide insight on how to filter these emails.  Is there a distinguishing header? Is it always from a specifc host, or family of hosts?  Is there a distinctive subject?&lt;br /&gt;
&lt;br /&gt;
=Mail to release+cot@mozilla.com=&lt;br /&gt;
== Why we get them ==&lt;br /&gt;
* gpg pubkey expiration monitoring ([https://bugzilla.mozilla.org/show_bug.cgi?id=1373986]) &lt;br /&gt;
&lt;br /&gt;
== What is sending them ==&lt;br /&gt;
https://tools.taskcluster.net/hooks/project-releng/cot-gpg-keys%2Fexpiration&lt;br /&gt;
&lt;br /&gt;
== What to do when one is received ==&lt;br /&gt;
* Alert the cot-gpg-keys contributors [https://github.com/mozilla-releng/cot-gpg-keys/graphs/contributors]&lt;br /&gt;
&lt;br /&gt;
== How to silence or acknowledge this alert ==&lt;br /&gt;
* depends on context&lt;br /&gt;
&lt;br /&gt;
== Future plans ==&lt;br /&gt;
&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== How to best filter these emails ==&lt;br /&gt;
Filter by &amp;quot;to&amp;quot; address.&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=ReleaseEngineering/SpecialRepositories&amp;diff=1193752</id>
		<title>ReleaseEngineering/SpecialRepositories</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=ReleaseEngineering/SpecialRepositories&amp;diff=1193752"/>
		<updated>2018-05-14T08:39:59Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Update BuildDuty to CiDuty. Renaming project&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Special branches =&lt;br /&gt;
Release Engineering and the A-Team have various [[ReleaseEngineering/DisposableProjectBranches#Indefinite_booking|project branches]] booked permanently for various reasons:&lt;br /&gt;
* Cedar - where we enable test jobs that are still failing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Cedar =&lt;br /&gt;
== Merging m-c into Cedar ==&lt;br /&gt;
&lt;br /&gt;
We can merge the latest m-c code into cedar to:&lt;br /&gt;
&lt;br /&gt;
* compare latest unittest results + talos numbers between m-c buildbot tests and cedar mozharness tests&lt;br /&gt;
* get new cedar builds for testing&lt;br /&gt;
&lt;br /&gt;
To do this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Get a copy of cedar&lt;br /&gt;
hg clone http://hg.mozilla.org/projects/cedar&lt;br /&gt;
&lt;br /&gt;
cd cedar&lt;br /&gt;
&lt;br /&gt;
# Update to latest, in case someone has updated cedar since you last cloned/updated.&lt;br /&gt;
# the hg up -C will blow away any local changes!&lt;br /&gt;
hg pull&lt;br /&gt;
hg up -C -r default&lt;br /&gt;
&lt;br /&gt;
# Pull latest m-c changes in&lt;br /&gt;
hg pull http://hg.mozilla.org/mozilla-central&lt;br /&gt;
hg merge&lt;br /&gt;
hg commit -m &amp;quot;Merge m-c -&amp;gt; cedar&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Push to cedar&lt;br /&gt;
hg push ssh://hg.mozilla.org/projects/cedar&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Results will show up [https://tbpl.mozilla.org/?tree=Cedar here].&lt;br /&gt;
&lt;br /&gt;
== Viewing logs ==&lt;br /&gt;
&lt;br /&gt;
Jobs will show up [https://tbpl.mozilla.org/?tree=Cedar on tbpl] as they finish.&lt;br /&gt;
&lt;br /&gt;
To view logs&lt;br /&gt;
&lt;br /&gt;
* click on the job on the right&lt;br /&gt;
* find &amp;quot;View full log&amp;quot; at the bottom left of the page; click&lt;br /&gt;
&lt;br /&gt;
Known issues are filed against the two tracking bugs:&lt;br /&gt;
&lt;br /&gt;
* {{bug|713055}} - roll out mozharness desktop talos to m-c and project branches&lt;br /&gt;
* {{bug|793022}} - roll out mozharness desktop unittests to m-c and project branches&lt;br /&gt;
&lt;br /&gt;
If you find new issues, please file a bug blocking one or both bugs.&lt;br /&gt;
&lt;br /&gt;
== Retriggering jobs ==&lt;br /&gt;
&lt;br /&gt;
* Go to [https://tbpl.mozilla.org/?tree=Cedar tbpl]&lt;br /&gt;
* Click on the job in question&lt;br /&gt;
* The plus sign in the bottom left will retry the job.&lt;br /&gt;
&lt;br /&gt;
Each of these will pull the latest-and-greatest from mozharness, so if you checked a fix in, you can re-run the broken tests.&lt;br /&gt;
&lt;br /&gt;
== Adding additional tests to Cedar ==&lt;br /&gt;
&lt;br /&gt;
If we want to readd tpaint once {{bug|794587}} is fixed:&lt;br /&gt;
&lt;br /&gt;
* add &amp;quot;tpaint&amp;quot; to the other suite tests here: http://hg.mozilla.org/projects/cedar/file/38215d0638b0/testing/talos/talos.json#l55&lt;br /&gt;
* check that into ssh://hg.mozilla.org/projects/cedar&lt;br /&gt;
* the resulting build will trigger an &amp;quot;other&amp;quot; talos suite with tpaint.&lt;br /&gt;
&lt;br /&gt;
If we want to add another test type, e.g. marionette, to cedar:&lt;br /&gt;
&lt;br /&gt;
* add &amp;quot;cedar&amp;quot; to the list of marionette branches here: http://hg.mozilla.org/build/buildbot-configs/file/680736f2dc1f/mozilla-tests/config.py#l1076&lt;br /&gt;
* move the [http://hg.mozilla.org/build/buildbot-configs/file/680736f2dc1f/mozilla-tests/config.py#l1075 marionette for loop] below the [http://hg.mozilla.org/build/buildbot-configs/file/680736f2dc1f/mozilla-tests/config.py#l1100 unittest for loop].&lt;br /&gt;
** This is because the unittest for loop zeros out the tests for cedar [http://hg.mozilla.org/build/buildbot-configs/file/680736f2dc1f/mozilla-tests/config.py#l1132 here].&lt;br /&gt;
*** (this is because we don&#039;t want to have both buildbot-based and mozharness-based tests running on cedar.)&lt;br /&gt;
* get review for your change&lt;br /&gt;
* land&lt;br /&gt;
* wait for reconfig, or poke ciduty for an expedited reconfig if needed.&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Sheriffing/Deciding_To_Close_A_Tree&amp;diff=1193751</id>
		<title>Sheriffing/Deciding To Close A Tree</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Sheriffing/Deciding_To_Close_A_Tree&amp;diff=1193751"/>
		<updated>2018-05-14T08:39:00Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Update BuildDuty to CiDuty. Renaming project&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Sheriffing How To|Deciding to close a tree}}&lt;br /&gt;
== Deciding to close a tree ==&lt;br /&gt;
Many objective and subjective criteria are part of the decision to close a tree. Tree closure means that developers are prevented from pushing or merging code to a codebase. Later, sheriffs will reopen the trees when the problem appears to be resolved.&lt;br /&gt;
&lt;br /&gt;
Some of the criteria used include: &lt;br /&gt;
* Broken build on an integration or main tree (e.g. mozilla-inbound, mozilla-central, autoland)&lt;br /&gt;
* Excessive backlog for builds or tests in any platform&lt;br /&gt;
* Infrastructure or systems failures that affect a significant number of tests or builds (e.g. AWS, data center, networking issues)&lt;br /&gt;
* Mass &amp;quot;bustage&amp;quot; that could hide other test failures (this is when code lands and causes multiple tests to fail across multiple chunks of tests or suites of tests, making it harder to catch further failures if something else lands *during* the period in which these tests are failing from the original code landing)&lt;br /&gt;
* Infrastructure failure that affects our ability to see what&#039;s happening (e.g. Treeherder being down, not ingesting jobs, the data it consumes not being updated, or treestatus being broken so we&#039;re closed by default)&lt;br /&gt;
&lt;br /&gt;
In short, if the state of the tree and the surrounding systems is such that things are going to get worse if the trees stay open, it is time to close the tree.&lt;br /&gt;
&lt;br /&gt;
== Actions to take ==&lt;br /&gt;
Once you&#039;ve decided to close the tree, you need to take the following steps:&lt;br /&gt;
&lt;br /&gt;
* Decide which trees are affected&lt;br /&gt;
** If the cause is not infrastructure- or load-related, you can probably leave the Try branch and only close the affect tree, e.g. mozilla-inbound&lt;br /&gt;
** If the cause *is* infrastructure- or load-related, you should close all trees, including Try.&lt;br /&gt;
* Use the [https://mozilla-releng.net/treestatus TreeStatus] tool to close the affected trees.&lt;br /&gt;
* If a bug doesn&#039;t already exist, create a bug for the tree closure.&lt;br /&gt;
* Communicate the tree closure to developers. Announce the closure in IRC in #developers and change the channel topic to point to the tree closure bug. This avoid several unnecessary frustrations:&lt;br /&gt;
** developers want to push and notice it&#039;s not possible.&lt;br /&gt;
** developers spending time investigating failures in pending/running testruns (especially Try) that are not caused by her/his changes&lt;br /&gt;
** minimizes repeated inquiries to the sheriffs about why a tree is closed, what&#039;s the ETA, etc.&lt;br /&gt;
* engage the people needed to fix the issue. This could be:&lt;br /&gt;
** the developer(s) who landed the suspected code (if this is known)&lt;br /&gt;
** domain experts for the module where the builds/tests are failing. The [[Modules/All|Module owner list]] can help track people down.&lt;br /&gt;
** the ciduty, releng, and/or the taskcluster teams if it&#039;s an infrastructure issue&lt;br /&gt;
* If the tree closure is expected to be a longer problem, post a short mail to the mozilla.dev.platform newsgroup, e.g. https://groups.google.com/forum/#!topic/mozilla.dev.platform/Kzd1es4KiYA&lt;br /&gt;
&lt;br /&gt;
== Next steps ==&lt;br /&gt;
In case it wasn&#039;t clear from the previous section, &#039;&#039;&#039;COMMUNICATION&#039;&#039;&#039; is the &#039;&#039;most important thing&#039;&#039; during any outage. When engaging others to help, letting them know that the trees are closed &#039;&#039;usually&#039;&#039; encourages prompt cooperation. Developers or service teams may need your help to test fixes efficiently on Try, or to back out particular changesets once they are implicated. Make yourself available to these people as required.&lt;br /&gt;
&lt;br /&gt;
For everyone else not involved in trying to fix the issue, they&#039;re simply waiting for the trees to reopen and are effectively blocked. Developers and service teams may not have the time or experience to reliably update the tree closure bugs (or IRC) with status. Sheriffs should take the lead on this and keep other developers updated, both in the bug and in IRC.&lt;br /&gt;
&lt;br /&gt;
== Hand-off ==&lt;br /&gt;
In the event of longer tree closures, you may hit the end of your workday. If this happens, or better still, *before* it happens, find someone who can continue acting overseeing the tree closure. If you&#039;ve followed all the above steps, there should be an adequate papertrail for someone to follow and continue.&lt;br /&gt;
&lt;br /&gt;
Note: in the event of more systemic failures, e.g. major infrastructure failures or AWS outages, it is best to [[Sheriffing/How:To:Escalate|escalate the issue to the MOC]] (Mozilla Operations Center, #moc on IRC). They have 24/7 support and much experience dealing with outages.&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=QA_SoftVision_Team&amp;diff=1193750</id>
		<title>QA SoftVision Team</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=QA_SoftVision_Team&amp;diff=1193750"/>
		<updated>2018-05-14T08:37:22Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Update BuildDuty to CiDuty. Renaming project&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= SoftVision Team =&lt;br /&gt;
&lt;br /&gt;
== Desktop - Release QA Team ==&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|[https://wiki.mozilla.org/QA_SoftVision_Team/Desktop Firefox desktop]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|Join [https://02.chat.mibbit.com/?url=irc%3A%2F%2Firc.mozilla.org%2F%2523firefox #firefox] on irc.mozilla.org &lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|Join [https://02.chat.mibbit.com/?url=irc%3A%2F%2Firc.mozilla.org%2F%2523qa #qa] on irc.mozilla.org &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Fennec Team ==&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|[https://wiki.mozilla.org/QA_SoftVision_Team/Mobile Mobile Workflow]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|Join [https://02.chat.mibbit.com/?url=irc%3A%2F%2Firc.mozilla.org%2F%2523mobile #mobile] on irc.mozilla.org (use SSL)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Add-ons QA Team ==&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|[https://wiki.mozilla.org/QA_SoftVision_Team#Add-ons_QA_Team Add-ons QA Team]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|Join [http://wbe02.mibbit.com/?settings=1b10107157e79b08f2bf99a11f521973&amp;amp;server=irc.mozilla.org&amp;amp;channel=%23addonsqa #addonsqa] on irc.mozilla.org (use SSL)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== CI Duty Team ==&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|[https://wiki.mozilla.org/QA_SoftVision_Team#Build_Duty_Team_2 CiDuty Team]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|Join [https://irccloud.mozilla.com/#!/ircs://irc1.dmz.scl3.mozilla.com:6697/%23ci #ci] on irc.mozilla.org (use SSL)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Firefox Development Team ==&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|[https://wiki.mozilla.org/QA_SoftVision_Team#Firefox_Development_Team_2 Firefox Development Team]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Fennec Development Team ==&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|[https://wiki.mozilla.org/QA_SoftVision_Team#Fennec_Development_Team_2 Fennec Development Team]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Participation Systems Team ==&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|[https://wiki.mozilla.org/QA_SoftVision_Team#Participation_Systems_QA_Team Participation Systems Team]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Web Compatibility Team ==&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|[https://wiki.mozilla.org/QA_SoftVision_Team#Web_Compatibility_Team_2 Web Compatibility Team]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Performance Sheriff ==&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|[https://wiki.mozilla.org/QA_SoftVision_Team#Performance_Sheriff_2 Performance Sheriff]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== WebExtensions Review Team ==&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|[https://wiki.mozilla.org/QA_SoftVision_Team#WebExtensions_Review_Team_2 WebExtensions Review]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Code Sheriffs Team ==&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|[https://wiki.mozilla.org/QA_SoftVision_Team#Code_Sheriffs_Team Code Sheriffs Team]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|Join #sheriffs on irc.mozilla.org (use SSL)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Automation QA Team ==&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|[https://wiki.mozilla.org/QA_SoftVision_Team#Automation_QA_Team_2 Automation QA Team]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Photos =&lt;br /&gt;
&lt;br /&gt;
== Desktop - Release QA Team ==&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:C_Ionce.png‎‎ ‎‎|thumb|left|300px| &#039;&#039;&#039;Cornel Ionce (Team Lead)&amp;lt;br&amp;gt;Desktop&amp;lt;br&amp;gt;irc: cornel_ionce &#039;&#039;&#039;]]&lt;br /&gt;
|[[File:BogdanMaris.jpg‎ ‎‎|thumb|left|300px| &#039;&#039;&#039;Bogdan Maris (Team Lead)&amp;lt;br&amp;gt;Desktop&amp;lt;br&amp;gt;irc: bogdan_maris &#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Cristian_Baica.png |thumb|left|300px| &#039;&#039;&#039;Cristian Baica&amp;lt;br&amp;gt;Desktop&amp;lt;br&amp;gt;irc: &#039;&#039;&#039;]]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Mihai_Boldan.png |thumb|left|300px| &#039;&#039;&#039;Mihai Boldan&amp;lt;br&amp;gt;Desktop&amp;lt;br&amp;gt;irc: mboldan &#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Oana_Botisan.png ‎‎|thumb|left|300px| &#039;&#039;&#039;Oana Botisan&amp;lt;br&amp;gt;Desktop&amp;lt;br&amp;gt;irc: Oana.Botisan&#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Camelia_Badau.jpg |thumb|left|300px| &#039;&#039;&#039;Camelia Badau&amp;lt;br&amp;gt;Desktop&amp;lt;br&amp;gt;irc: cbadau&#039;&#039;&#039;]]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Gabi_Cheta.png |thumb|left|300px| &#039;&#039;&#039;Gabi Cheta&amp;lt;br&amp;gt;Desktop&amp;lt;br&amp;gt;irc: Gabi&#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Iulia_Cristescu.png ‎‎|thumb|left|300px| &#039;&#039;&#039;Iulia Cristescu&amp;lt;br&amp;gt;Desktop&amp;lt;br&amp;gt;irc: IuliaC&#039;&#039;&#039;]]&lt;br /&gt;
|[[File:CiprianGeorgiu.png ‎‎|thumb|left|300px| &#039;&#039;&#039;Ciprian Georgiu&amp;lt;br&amp;gt;Desktop&amp;lt;br&amp;gt;irc: ciprian.georgiu&#039;&#039;&#039;]]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Cristian_Comorasu.png |thumb|left|300px| &#039;&#039;&#039;Cristian Comorasu&amp;lt;br&amp;gt;Desktop&amp;lt;br&amp;gt;irc: CristiComo&#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Alexandru_Simonca.png ‎‎|thumb|left|300px| &#039;&#039;&#039;Alexandru Simonca&amp;lt;br&amp;gt;Desktop&amp;lt;br&amp;gt;irc: asimonca&#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Timea_Zsoldos.png ‎‎|thumb|left|300px| &#039;&#039;&#039;Timea Zsoldos&amp;lt;br&amp;gt;Desktop&amp;lt;br&amp;gt;irc: zstimi&#039;&#039;&#039;]].&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Emil_Ghitta.png |thumb|left|300px| &#039;&#039;&#039;Emil Ghitta&amp;lt;br&amp;gt;Desktop&amp;lt;br&amp;gt;irc: emilghitta&#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Anca_Soncutean.png |thumb|left|300px| &#039;&#039;&#039;Anca Soncutean&amp;lt;br&amp;gt;Desktop&amp;lt;br&amp;gt;irc: Anca&#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Catalin_Sasca.png |thumb|left|300px| &#039;&#039;&#039;Catalin Sasca&amp;lt;br&amp;gt;Desktop&amp;lt;br&amp;gt;irc: csasca&#039;&#039;&#039;]]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Stefania_Farcas.png |thumb|left|300px| &#039;&#039;&#039;Stefania Farcas&amp;lt;br&amp;gt;Desktop&amp;lt;br&amp;gt;irc: sfarcas&#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Cristian_Fogel.jpeg |thumb|left|300px| &#039;&#039;&#039;Cristian Fogel&amp;lt;br&amp;gt;Desktop&amp;lt;br&amp;gt;irc: cfogel&#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Vlad_Lucaci.jpeg |thumb|left|300px| &#039;&#039;&#039;Vlad Lucaci&amp;lt;br&amp;gt;Desktop&amp;lt;br&amp;gt;irc: vlucaci&#039;&#039;&#039;]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Mobile Firefox Team ==&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Ioana_chiorean.jpg|thumb|left|300px| &#039;&#039;&#039;Ioana Chiorean&amp;lt;br&amp;gt;Fennec&amp;lt;br&amp;gt;irc: IoanaChiorean&#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Oana_Horvath.png|thumb|left|300px| &#039;&#039;&#039;Oana Horvath&amp;lt;br&amp;gt;Fennec&amp;lt;br&amp;gt;irc: oanah&#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Bogdan_Surd.png|thumb|left|300px| &#039;&#039;&#039;Bogdan Surd&amp;lt;br&amp;gt;Fennec&amp;lt;br&amp;gt;irc: BogdanS&#039;&#039;&#039;]]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Sorina_Florean.png|thumb|left|300px| &#039;&#039;&#039;Sorina Florean&amp;lt;br&amp;gt;Fennec&amp;lt;br&amp;gt;irc: sorina&#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Levente_Sacal.png|thumb|left|300px| &#039;&#039;&#039;Levente Sacal&amp;lt;br&amp;gt;Fennec&amp;lt;br&amp;gt;irc: levi24&#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Catalin_Suciu.jpg|thumb|left|300px| &#039;&#039;&#039;Catalin Suciu&amp;lt;br&amp;gt;Fennec iOS&amp;lt;br&amp;gt;irc: csuciu&#039;&#039;&#039;]]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Simon_Basca.jpg ‎‎|thumb|left|300px| &#039;&#039;&#039;Simon Basca&amp;lt;br&amp;gt;Fennec iOS&amp;lt;br&amp;gt;irc: SimonB&#039;&#039;&#039;]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Add-ons QA Team ==&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Victor_Carciu.jpg ‎|thumb|left|300px| &#039;&#039;&#039;Victor Carciu - Team Lead&amp;lt;br&amp;gt;Add-ons QA&amp;lt;br&amp;gt;irc: victorC&#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Madalin_Cotetiu.jpg |thumb|left|300px| &#039;&#039;&#039;Madalin Cotetiu&amp;lt;br&amp;gt;Add-ons QA&amp;lt;br&amp;gt;irc: madalinc&#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Ioana Rusiczki.png ‎‎|thumb|left|300px| &#039;&#039;&#039;Ioana Rusiczki&amp;lt;br&amp;gt;Add-ons QA&amp;lt;br&amp;gt;irc: IoanaR&#039;&#039;&#039;]]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Cosmin_Badescu.png|thumb|left|300px| &#039;&#039;&#039;Cosmin Badescu&amp;lt;br&amp;gt;Add-ons QA&amp;lt;br&amp;gt;irc: cosminbadescu&#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Alexandra_Moga.png ‎‎|thumb|left|300px| &#039;&#039;&#039;Alexandra Moga&amp;lt;br&amp;gt;Add-ons QA&amp;lt;br&amp;gt;irc: LexaSV&#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Marius_Santa.png|thumb|left|300px| &#039;&#039;&#039;Marius Santa&amp;lt;br&amp;gt;Add-ons QA&amp;lt;br&amp;gt;irc: Santa&#039;&#039;&#039;]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== CI Duty Team ==&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Danut_Labici.png  |thumb|left|300px| &#039;&#039;&#039;Danut Labici&amp;lt;br&amp;gt;Ci Duty&amp;lt;br&amp;gt;irc: dlabici &#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Bogdan_Crisan.PNG  |thumb|left|300px| &#039;&#039;&#039;Bogdan Crisan&amp;lt;br&amp;gt;Ci Duty&amp;lt;br&amp;gt;irc: bcrisan &#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Adrian_Pop.png  ‎|thumb|left|300px| &#039;&#039;&#039;Adrian Pop&amp;lt;br&amp;gt;Ci Duty&amp;lt;br&amp;gt;irc: apop &#039;&#039;&#039;]]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Radu_Iman.png  |thumb|left|300px| &#039;&#039;&#039;Radu Iman&amp;lt;br&amp;gt;Ci Duty&amp;lt;br&amp;gt;irc: riman &#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Roland_Mutter.png  |thumb|left|300px| &#039;&#039;&#039;Roland Mutter&amp;lt;br&amp;gt;Ci Duty&amp;lt;br&amp;gt;irc: rmutter &#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Zsolt_Fay.PNG  |thumb|left|300px| &#039;&#039;&#039;Zsolt Fay&amp;lt;br&amp;gt;Ci Duty&amp;lt;br&amp;gt;irc: zfay &#039;&#039;&#039;]]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Dragos_Crisan.png  |thumb|left|300px| &#039;&#039;&#039;Dragos Crisan&amp;lt;br&amp;gt;RelOps&amp;lt;br&amp;gt;irc: dragrom &#039;&#039;&#039;]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Firefox Development Team ==&lt;br /&gt;
{| width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Bogdan_Postelnicu.png  ‎|thumb|left|300px| &#039;&#039;&#039;Bogdan Postelnicu&amp;lt;br&amp;gt;Gecko C++&amp;lt;br&amp;gt;irc: ABPostelnicu&#039;&#039;&#039;]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Fennec Development Team ==&lt;br /&gt;
{| width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:VladBaicu.jpg  ‎|thumb|left|300px| &#039;&#039;&#039;Vlad Baicu - Team Lead&amp;lt;br&amp;gt;irc: vladbaicu &amp;lt;br&amp;gt;email: vbaicu@mozilla.com&#039;&#039;&#039;]]&lt;br /&gt;
|[[File:PetruLingurar.jpg  ‎|thumb|left|300px| &#039;&#039;&#039;Petru_Mugurel Lingurar&amp;lt;br&amp;gt;irc: petru &amp;lt;br&amp;gt;email: plingurar@mozilla.com&#039;&#039;&#039;]]&lt;br /&gt;
|[[File:AndreiLazar.jpg  ‎|thumb|left|300px| &#039;&#039;&#039;Andrei Lazar&amp;lt;br&amp;gt;irc: andreilazar &amp;lt;br&amp;gt;email: alazar@mozilla.com&#039;&#039;&#039;]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Participation Systems QA Team ==&lt;br /&gt;
{| width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Viorela_Ioia.png|thumb|left|300px| &#039;&#039;&#039;Viorela Ioia&amp;lt;br&amp;gt;Participation Systems&amp;lt;br&amp;gt;irc: viorelaioia&#039;&#039;&#039;]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Web Compatibility Team ==&lt;br /&gt;
{| width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Sergiu_Logigan.png|thumb|left|300px| &#039;&#039;&#039;Sergiu Logigan&amp;lt;br&amp;gt;Web Compatibility&amp;lt;br&amp;gt;irc: Sergiu&#039;&#039;&#039;]]&lt;br /&gt;
|[[File:OanaArbuzov.jpeg|thumb|left|300px| &#039;&#039;&#039;Oana Arbuzov&amp;lt;br&amp;gt;Web Compatibility&amp;lt;br&amp;gt;irc: Oana&#039;&#039;&#039;]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Performance Sheriff ==&lt;br /&gt;
{| width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Ionut_Goldan.png|thumb|left|300px| &#039;&#039;&#039;Ionut Goldan&amp;lt;br&amp;gt;Performance Sheriff&amp;lt;br&amp;gt;irc: igoldan&#039;&#039;&#039;]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== WebExtensions Review Team ==&lt;br /&gt;
{| width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Raluca_Sofian.png|thumb|left|300px| &#039;&#039;&#039;Raluca Sofian&amp;lt;br&amp;gt;WebExtensions Review&amp;lt;br&amp;gt;irc: ralucaSofian&#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Andreea_Neamtiu.png|thumb|left|300px| &#039;&#039;&#039;Andreea Neamtiu&amp;lt;br&amp;gt;WebExtensions Review&amp;lt;br&amp;gt;irc: andreeaNeamtiu&#039;&#039;&#039;]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Engineering QA Team ==&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Brindusa_Tot.jpg ‎‎|thumb|left|300px| &#039;&#039;&#039;Brindusa Tot - Desktop, Team Lead &amp;lt;br&amp;gt; irc: brindusat, email: btot@mozilla.com &#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Stefan_Georgiev.png |thumb|left|300px| &#039;&#039;&#039;Stefan Georgiev - Desktop, Team Lead  &amp;lt;br&amp;gt; irc: StefanG_QA, email: sgeorgiev@mozilla.com &#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Ovidiu_Boca.jpg ‎‎|thumb|left|300px| &#039;&#039;&#039;Ovidiu Boca - Desktop &amp;lt;br&amp;gt; irc: ovidiu, email: ovidiu.boca@softvision .ro &#039;&#039;&#039;]]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Justin_Williams.jpg‎‎ ‎‎|thumb|left|300px| &#039;&#039;&#039;Justin Williams - Desktop &amp;lt;br&amp;gt; irc: JW_SoftvisionQA, email: jwilliams@softvision .com &#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Abe_Masresha.png |thumb|left|300px| &#039;&#039;&#039;Abe Masresha - Desktop &amp;lt;br&amp;gt; irc: Abe_LV, email: amasresha@softvision .com &#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Grover_Wimberly.png ‎‎|thumb|left|300px| &#039;&#039;&#039;Grover Wimberly IV - Desktop &amp;lt;br&amp;gt; irc: Grover-QA, email: gwimberly@softvision .com &#039;&#039;&#039;]]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Adrian_Florinescu.png ‎‎|thumb|left|300px| &#039;&#039;&#039;Adrian Florinescu - Desktop &amp;lt;br&amp;gt; irc: AdrianSv, email: adrian.florinescu @softvision.ro &#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Hani_Yacoub.png ‎‎|thumb|left|300px| &#039;&#039;&#039;Hani Yacoub - Desktop &amp;lt;br&amp;gt; irc: hani, email: hani.yacoub@softvision&amp;lt;br&amp;gt;.ro  &#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Kanchan_Kumari.jpg |thumb|left|300px| &#039;&#039;&#039;Kanchan Kumari - Desktop &amp;lt;br&amp;gt; irc: Kanchan_QA, email: kkumari@softvision .com &#039;&#039;&#039;]]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Roxana_Leitan.jpg |thumb|left|300px| &#039;&#039;&#039;Roxana Leitan - Desktop &amp;lt;br&amp;gt; irc: RoxanaLeitan, email: roxana.leitan@&amp;lt;br&amp;gt;softvision .ro &#039;&#039;&#039;]]&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Test Pilot QA Team ==&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Paul_Oiegas.png |thumb|left|300px| &#039;&#039;&#039;Paul Oiegas Desktop, Team Lead&amp;lt;br&amp;gt; irc: pauloiegasSV&amp;lt;br&amp;gt; email: poiegas@mozilla.com &#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Cosmin_Muntean.png |thumb|left|300px| &#039;&#039;&#039;Cosmin Muntean&amp;lt;br&amp;gt;Platform: Desktop&amp;lt;br&amp;gt; irc: CosminMCG&amp;lt;br&amp;gt; email: cosmin.muntean @softvision.ro &#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Ciprian_Muresan.png ‎‎|thumb|left|300px| &#039;&#039;&#039;Ciprian Muresan&amp;lt;br&amp;gt;Platform: Desktop&amp;lt;br&amp;gt; irc: cmuresan&amp;lt;br&amp;gt; email: ciprian.muresan @softvision.ro &#039;&#039;&#039;]]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Carmen_Fat.png ‎‎|thumb|left|300px| &#039;&#039;&#039;Carmen Fat&amp;lt;br&amp;gt;Platform: Desktop&amp;lt;br&amp;gt; irc: carmenf&amp;lt;br&amp;gt; email: carmen.fat@&amp;lt;br&amp;gt;softvision.ro  &#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Emil_Pasca.png ‎‎|thumb|left|300px| &#039;&#039;&#039;Emil Pasca&amp;lt;br&amp;gt;Platform: Desktop&amp;lt;br&amp;gt; irc: emilpasca&amp;lt;br&amp;gt; email: emil.pasca@&amp;lt;br&amp;gt;softvision.ro &#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Cristina_Badescu.jpg |155px|thumb|left| &#039;&#039;&#039;Cristina Badescu&amp;lt;br&amp;gt;Platform: Desktop&amp;lt;br&amp;gt; irc: cbadescu&amp;lt;br&amp;gt; email: cristina.badescu@&amp;lt;br&amp;gt;softvision.ro &#039;&#039;&#039;]]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Marius Coman.png|300px|thumb|left| &#039;&#039;&#039;Marius Coman&amp;lt;br&amp;gt;Platform: Desktop&amp;lt;br&amp;gt; irc: mcoman&amp;lt;br&amp;gt; email: marius.coman@&amp;lt;br&amp;gt;softvision.ro &#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Andreea.jpg |155px|thumb|left| &#039;&#039;&#039;Andreea Cupsa&amp;lt;br&amp;gt;Platform: Desktop&amp;lt;br&amp;gt; irc: -&amp;lt;br&amp;gt; email: andreea.cupsa@&amp;lt;br&amp;gt;softvision.ro &#039;&#039;&#039;]]&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Automation QA Team ==&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|[[File:Andrei_Filip.jpg ‎‎|thumb|left|300px| &#039;&#039;&#039;Andrei Filip - Automation QA, Team Lead &amp;lt;br&amp;gt; irc: afilip, email: afilip@mozilla.com &#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Alin_Rus.jpg ‎‎|thumb|left|300px| &#039;&#039;&#039;Alin Rus - Automation QA&amp;lt;br&amp;gt; email: arus@mozilla.com&#039;&#039;&#039;]]&lt;br /&gt;
|[[File:George_Echim.jpg ‎‎|thumb|left|300px| &#039;&#039;&#039;George Echim - Automation QA&amp;lt;br&amp;gt; email: gechim@mozilla.com&#039;&#039;&#039;]]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Ioana_Crisan.jpg ‎‎|thumb|left|300px| &#039;&#039;&#039;Ioana Crisan - Automation QA&amp;lt;br&amp;gt; email: icrisan@mozilla.com&#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Ionut_Budeanu.jpg ‎‎|thumb|left|300px| &#039;&#039;&#039;Ionut Budeanu - Automation QA&amp;lt;br&amp;gt; email: ibudeanu@mozilla.com&#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Paul_Silaghi.jpg ‎‎|thumb|left|300px| &#039;&#039;&#039;Paul Silaghi - Automation QA&amp;lt;br&amp;gt; email: psilaghi@mozilla.com&#039;&#039;&#039;]]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Roxana_Robotin.jpg ‎‎|thumb|left|300px| &#039;&#039;&#039;Roxana Robotin - Automation QA&amp;lt;br&amp;gt; irc: roxanarobotin, email: rrobotin@mozilla.com&#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Silviu_Checherita.jpg ‎‎|thumb|left|300px| &#039;&#039;&#039;Silviu Checherita - Automation QA&amp;lt;br&amp;gt; email: schecherita@mozilla.com&#039;&#039;&#039;]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Code Sheriffs Team ==&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|[[File:Andreea_Pavel.png|thumb|left|300px| &#039;&#039;&#039;Andreea Pavel&amp;lt;br&amp;gt;Code Sheriff&amp;lt;br&amp;gt;irc: apavel&#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Andrei_Ciure.png|thumb|left|300px| &#039;&#039;&#039;Andrei Ciure&amp;lt;br&amp;gt;Code Sheriff&amp;lt;br&amp;gt;irc: andrei_ciure_&#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Arthur_Iakab.png|thumb|left|300px|  &#039;&#039;&#039;Arthur Iakab&amp;lt;br&amp;gt;Code Sheriff&amp;lt;br&amp;gt;irc: arthur_iakab&#039;&#039;&#039;]]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Bogdan_Tara.png|thumb|left|300px| &#039;&#039;&#039;Bogdan Tara&amp;lt;br&amp;gt;Code Sheriff&amp;lt;br&amp;gt;irc: bogdan_tara&#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Cosmin_Sabou.png|thumb|left|300px| &#039;&#039;&#039;Cosmin Sabou&amp;lt;br&amp;gt;Code Sheriff&amp;lt;br&amp;gt;irc: cosmin_s&#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Cristian_Brindusan.png|thumb|left|300px| &#039;&#039;&#039;Cristian Brindusan&amp;lt;br&amp;gt;Code Sheriff&amp;lt;br&amp;gt;irc: CristianB&#039;&#039;&#039;]]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Cristina_Coroiu.png|thumb|left|300px| &#039;&#039;&#039;Cristina Coroiu&amp;lt;br&amp;gt;Code Sheriff&amp;lt;br&amp;gt;irc: ccoroiu&#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Dorel_Luca.png|thumb|left|300px| &#039;&#039;&#039;Dorel Luca&amp;lt;br&amp;gt;Code Sheriff&amp;lt;br&amp;gt;irc: dluca&#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Eliza_Balazs.png|thumb|left|300px| &#039;&#039;&#039;Eliza Balazs&amp;lt;br&amp;gt;Code Sheriff&amp;lt;br&amp;gt;irc: ebalazs_&#039;&#039;&#039;]]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Narcis_Beleuzu.png|thumb|left|300px| &#039;&#039;&#039;Narcis Beleuzu&amp;lt;br&amp;gt;Code Sheriff&amp;lt;br&amp;gt;irc: NarcisB&#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Natalia_Csoregi.png|thumb|left|300px| &#039;&#039;&#039;Natalia Csoregi&amp;lt;br&amp;gt;Code Sheriff&amp;lt;br&amp;gt;irc: nataliaCs&#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Noemi_Erli.png|thumb|left|300px| &#039;&#039;&#039;Noemi Erli&amp;lt;br&amp;gt;Code Sheriff&amp;lt;br&amp;gt;irc: noemi_erli&#039;&#039;&#039;]]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Raul_Gurzau.png|thumb|left|300px| &#039;&#039;&#039;Raul Gurzau&amp;lt;br&amp;gt;Code Sheriff&amp;lt;br&amp;gt;irc: RaulGurzau&#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Stefan_Hindli.png|thumb|left|300px| &#039;&#039;&#039;Stefan Hindli&amp;lt;br&amp;gt;Code Sheriff&amp;lt;br&amp;gt;irc: stefan_hindli&#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Tiberius_Oros.png|thumb|left|300px| &#039;&#039;&#039;Tiberius Oros&amp;lt;br&amp;gt;Code Sheriff&amp;lt;br&amp;gt;irc: tiberius_oros&#039;&#039;&#039;]]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Attila_Craciun.png|thumb|left|300px| &#039;&#039;&#039;Attila Craciun&amp;lt;br&amp;gt;Code Sheriff&amp;lt;br&amp;gt;irc: arny&#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Henrietta_Maior.png|thumb|left|300px| &#039;&#039;&#039;Henrietta Maior&amp;lt;br&amp;gt;Team Lead&amp;lt;br&amp;gt;irc: henrietta_maior&amp;lt;br&amp;gt;email: hmaior@mozilla.com&#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Robert_Horotan.png|thumb|left|300px| &#039;&#039;&#039;Robert Horotan&amp;lt;br&amp;gt;Team Lead&amp;lt;br&amp;gt;irc: Robert_Horotan&amp;lt;br&amp;gt;email: rhorotan@mozilla.com&#039;&#039;&#039;]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Softvision Project Management ==&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Rares_Bologa.jpg|thumb|left|300px| &#039;&#039;&#039;Rares Bologa&amp;lt;br&amp;gt;Project Manager&amp;lt;br&amp;gt;irc: RaresB&amp;lt;br&amp;gt;email: rbologa@mozilla.com&#039;&#039;&#039;]]&lt;br /&gt;
|[[File:Cristian_Chiorean.jpg|thumb|left|300px| &#039;&#039;&#039;Cristian Chiorean&amp;lt;br&amp;gt;Project Manager&amp;lt;br&amp;gt;irc: CristianChiorean&amp;lt;br&amp;gt;email: cchiorean@mozilla.com&#039;&#039;&#039;]]&lt;br /&gt;
|[[File:AndreiVaida.png‎‎ ‎‎|thumb|left|300px| &#039;&#039;&#039;Andrei Vaida&amp;lt;br&amp;gt;Project Manager&amp;lt;br&amp;gt;irc: AndreiVaida&amp;lt;br&amp;gt;email:avaida@mozilla.com&#039;&#039;&#039;]]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Fmezei.png|thumb|left|300px| &#039;&#039;&#039;Florin Mezei&amp;lt;br&amp;gt;Delivery Manager&amp;lt;br&amp;gt;irc: FlorinMezei&#039;&#039;&#039;]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=ReleaseEngineering/How_To/Setup_buildbot_masters_in_AWS&amp;diff=1193749</id>
		<title>ReleaseEngineering/How To/Setup buildbot masters in AWS</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=ReleaseEngineering/How_To/Setup_buildbot_masters_in_AWS&amp;diff=1193749"/>
		<updated>2018-05-14T08:33:15Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Update BuildDuty to CiDuty. Renaming project&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Release Engineering How To|Setup buildbot masters in AWS}}&lt;br /&gt;
This page describes how to set-up a new Buildbot Master in AWS.&lt;br /&gt;
&lt;br /&gt;
= Production masters =&lt;br /&gt;
A production buildbot master will serve as a central authority responsible for all the decisions about what, when and how to build. It sends requests for running various jobs (builds, tests, etc.) to the attached workers and they will execute the commands and return the results. &lt;br /&gt;
&lt;br /&gt;
= Steps to add a new master =&lt;br /&gt;
In order to add a new master, there&#039;re certain places we&#039;ll need to update:&lt;br /&gt;
&lt;br /&gt;
== Support files ==&lt;br /&gt;
The new master will need to be added to [http://hg.mozilla.org/build/tools/file/default/buildfarm/maintenance/production-masters.json production-masters.json] in tools repo. Also make sure &#039;&#039;&#039;not to enable&#039;&#039;&#039; the master before updating DNS with the corresponding entries and setting it up in puppet.&lt;br /&gt;
&lt;br /&gt;
== Puppet ==&lt;br /&gt;
* Make sure your masters are listed in [http://hg.mozilla.org/build/puppet/file/default/manifests/moco-nodes.pp PuppetAgain manifests].&lt;br /&gt;
** this can be done by hand, but you can also use a [http://hg.mozilla.org/build/braindump/file/default/puppet-related/json2pp.py little helper] to generate snippets (use the &amp;quot;&amp;lt;tt&amp;gt;--help&amp;lt;/tt&amp;gt;&amp;quot; option to see options to generation other snippets useful below):&lt;br /&gt;
 python json2pp.py bm118&lt;br /&gt;
 # or even better:&lt;br /&gt;
 hg -R tools export $you_commit |grep &#039;&amp;quot;name&amp;quot;:&#039; | grep ^+ | awk -F: &#039;{print $2}&#039; | awk -F&#039;&amp;quot;&#039; &#039;{print $2}&#039; | xargs python json2pp.py&lt;br /&gt;
* To create a master instance use the following snippet as a template. Don&#039;t forget to adjust the name and region accordingly (or use the snippets produced with the &amp;quot;&amp;lt;tt&amp;gt;--bash FILE&amp;lt;/tt&amp;gt;&amp;quot; option):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh buildduty@aws-manager2.srv.releng.scl3.mozilla.com&lt;br /&gt;
source /builds/aws_manager/bin/activate&lt;br /&gt;
cd /builds/aws_manager&lt;br /&gt;
&lt;br /&gt;
#get an ip in the correct region&lt;br /&gt;
ip=`python cloud-tools/scripts/free_ips.py -c cloud-tools/configs/buildbot-master -r us-west-2 -n1`&lt;br /&gt;
# double-check that the IP address is not in use by some other machine&lt;br /&gt;
host $ip&lt;br /&gt;
# create a DNS entry&lt;br /&gt;
# use full LDAP e.g. user@mozilla.com&lt;br /&gt;
invtool A create --ip $ip --fqdn buildbot-master07.bb.releng.usw2.mozilla.com --private --description &amp;quot;bug #: bm118&amp;quot;&lt;br /&gt;
# create a DNS reverse-mapping (required for puppet certs to work properly)&lt;br /&gt;
invtool PTR create --ip $ip --target buildbot-master07.bb.releng.usw2.mozilla.com  --private --description &amp;quot;bug #: bm118&amp;quot;&lt;br /&gt;
#create a CNAME&lt;br /&gt;
invtool CNAME create --fqdn  buildbot-master07.build.mozilla.org --target buildbot-master07.bb.releng.usw2.mozilla.com --private --description &amp;quot;bug #: bm118&amp;quot;&lt;br /&gt;
sleep 20m # wait for DNS to propagate&lt;br /&gt;
&lt;br /&gt;
#create the instance&lt;br /&gt;
python cloud-tools/scripts/aws_create_instance.py -c cloud-tools/configs/buildbot-master -r us-west-2 -s aws-releng \&lt;br /&gt;
-k secrets/aws-secrets.json --ssh-key ~/.ssh/aws-ssh-key  \&lt;br /&gt;
-i cloud-tools/instance_data/us-west-2.instance_data_master.json buildbot-master118&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puppet will reboot the master. You can follow the log in a different terminal:&lt;br /&gt;
 tail -F buildbot-master118.log&lt;br /&gt;
&lt;br /&gt;
* You can get the IP address of the master from the log or using AWS web console.&lt;br /&gt;
* When master rebooted make sure to login as cltbld and &#039;&#039;&#039;stop the master&#039;&#039;&#039;:&lt;br /&gt;
 cd /builds/buildbot/*1* &amp;amp;&amp;amp; make stop&lt;br /&gt;
&lt;br /&gt;
* For build/try masters, &#039;&#039;&#039;add master&#039;s ip to secrets::network::masterIPs&#039;&#039;&#039; on master-puppet1:/etc/puppet/manifests/secrets.pp. The signing instances will be automatically reloaded.&lt;br /&gt;
&lt;br /&gt;
== Add masters to inventory ==&lt;br /&gt;
&lt;br /&gt;
=== Create System in Inventory ===&lt;br /&gt;
As of 2013-05-13, there are two ways, manual data entry and CSV import&lt;br /&gt;
==== CSV Import ====&lt;br /&gt;
* Go to https://inventory.mozilla.org/en-US/csv/&lt;br /&gt;
* Import the file created with the &amp;quot;&amp;lt;tt&amp;gt;--inventory-csv FILE&amp;lt;/tt&amp;gt;&amp;quot; option above.&lt;br /&gt;
* After import, use the links in the results page to visit each server &amp;amp; set allocation to &amp;quot;release&amp;quot;&lt;br /&gt;
* Continue with [[#Common_Setup|common setup]] below&lt;br /&gt;
==== Manual Entry ====&lt;br /&gt;
* Go to https://inventory.mozilla.org/en-US/systems/new/&lt;br /&gt;
* Fill the following fields:&lt;br /&gt;
** Hostname: use FQDN&lt;br /&gt;
** System Status: production&lt;br /&gt;
** System Rack: Releng-AWS-VPC - Releng-AWS-USE1/USW2&lt;br /&gt;
** System Type: Virtual Server&lt;br /&gt;
** Operating System: Centos 6&lt;br /&gt;
** Allocated To: release&lt;br /&gt;
* Click &amp;quot;Create&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Common Setup ===&lt;br /&gt;
* Edit the new created entry&lt;br /&gt;
* Switch to &amp;quot;Key/Value Store&amp;quot;&lt;br /&gt;
* Click &amp;quot;Add adapter&amp;quot;&lt;br /&gt;
* Fill the following fields:&lt;br /&gt;
** Adapter Number (0-99): 0&lt;br /&gt;
** IP Address: IP address&lt;br /&gt;
** Mac Address: output of &amp;lt;tt&amp;gt;ip link show eth0 | tail -n -1 | awk &#039;{print $2}&#039;&amp;lt;/tt&amp;gt; on the master&lt;br /&gt;
** Adapter Name (nic0-99 or mgmt0-99): nic0&lt;br /&gt;
** Host Name: fqdn&lt;br /&gt;
** Leave the rest as is&lt;br /&gt;
* Press &amp;quot;Create&amp;quot;, then close box, to dismiss the adapter dialog&lt;br /&gt;
* Press &amp;quot;Save&amp;quot; to save the adapter (even though adapter may not show)&lt;br /&gt;
&lt;br /&gt;
== Add masters to slavealloc ==&lt;br /&gt;
See [https://wiki.mozilla.org/ReleaseEngineering/How_To/Setup_Personal_Development_Master#Adding_your_master_to_slavealloc Adding your master to slavealloc]&lt;br /&gt;
&lt;br /&gt;
== Add master&#039;s SSH key to known_hosts ==&lt;br /&gt;
See {{bug|889992}}&lt;br /&gt;
* Add the master&#039;s (scheduler and build only) ssh key to known_hosts in [http://hg.mozilla.org/build/puppet/file/38764f93e86b/modules/ssh/templates/known_hosts.erb puppet] (to make release-runner work):&lt;br /&gt;
:* dump the key by running the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh-keyscan $master_name&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
:* verify the change (ssh to masters as cltbld from bm81)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh -i .ssh/release-runner buildbot-master80.bb.releng.usw2.mozilla.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== IT ==&lt;br /&gt;
# File a [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&amp;amp;component=Server Operations Server Operations] bug to:&lt;br /&gt;
#* add the master(s) to Nagios (See {{bug|1207411}} or {{bug|1253601}})&lt;br /&gt;
#** take note of the checks that are requested in the sample bug&lt;br /&gt;
#** you should be able to see the masters in here: [https://nagios.mozilla.org/releng-scl3/cgi-bin/status.cgi?hostgroup=use1-production-buildbot-masters&amp;amp;style=detail use1] and [https://nagios.mozilla.org/releng-scl3/cgi-bin/status.cgi?hostgroup=usw2-production-buildbot-masters&amp;amp;style=detail usw2]&lt;br /&gt;
&lt;br /&gt;
== Lock a slave and let it take jobs ==&lt;br /&gt;
* Locked through slavealloc a slave to the newly setup master.&lt;br /&gt;
* Let it run for a couple of hours and check that the jobs worked well.&lt;br /&gt;
* Check also in the #ci channel for possible nagios checks going off (e.g. [[ReleaseEngineering/Queue_directories|Queue directories]] checks)&lt;br /&gt;
&lt;br /&gt;
If no issues are found then go ahead and enable the master on slavealloc.&lt;br /&gt;
&lt;br /&gt;
== Final Verification ==&lt;br /&gt;
The following steps should be performed to ensure the rest has worked okay (all steps should be run as user &amp;lt;tt&amp;gt;cltbld&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
* SSH verification (and associated netflows).&lt;br /&gt;
    ssh -i ~/.ssh/tbirdbld_dsa tbirdbld@upload.tbirdbld.productdelivery.prod.mozaws.net id&lt;br /&gt;
    ssh -i ~/.ssh/trybld_dsa     trybld@upload.trybld.productdelivery.prod.mozaws.net id&lt;br /&gt;
    ssh -i ~/.ssh/ffxbld_rsa     ffxbld@upload.ffxbld.productdelivery.prod.mozaws.net id&lt;br /&gt;
    ssh -i ~/.ssh/ffxbld_rsa     ffxbld@pvtbuilds2.dmz.scl3.mozilla.com id&lt;br /&gt;
&lt;br /&gt;
* mySQL verification (associated netflows):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nc -zv buildbot-rw-vip.db.scl3.mozilla.com 3306&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* ensure nagios checks are all green and notifications are enabled (aka not disabled), e.g:&lt;br /&gt;
https://nagios1.private.releng.scl3.mozilla.com/releng-scl3/cgi-bin/status.cgi?host=buildbot-master129.bb.releng.usw2.mozilla.com&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Sheriffing/How_To/Getting_started_as_a_sheriff&amp;diff=1193748</id>
		<title>Sheriffing/How To/Getting started as a sheriff</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Sheriffing/How_To/Getting_started_as_a_sheriff&amp;diff=1193748"/>
		<updated>2018-05-14T08:30:48Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Update BuildDuty to CiDuty. Renaming project&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Sheriffing How To|Getting started as a sheriff}}&lt;br /&gt;
So you want to be a Sheriff? Here&#039;s how to start.&lt;br /&gt;
&lt;br /&gt;
= Things You&#039;ll Need =&lt;br /&gt;
&lt;br /&gt;
Not all of these have to be ready on Day One, but eventually you&#039;ll need the following.&lt;br /&gt;
* [[IRC|IRC account]], for communicating with developers, fellow sheriffs, and others.&lt;br /&gt;
* [[Sheriffing/How:To:SheriffingFromUnifiedRepos#Setting_up_the_repo|Clone of the Mercurial repositories]], for committing changes to the repositories.&lt;br /&gt;
* A properly configured mercurial setup. You can use &amp;lt;code&amp;gt;./mach mercurial-setup&amp;lt;/code&amp;gt; from your clone of the repository to run through a setup wizard. I recommend setting up the qbackout extension to aid in easily backing out patches.&lt;br /&gt;
* LDAP account, for signing in to Treeherder and pushing commits to the source code repositories.&lt;br /&gt;
* [https://www.mozilla.org/en-US/firefox/new/ A modern browser], to access [[Sheriffing/How:To:Treeherder|Treeherder]], [https://bugzilla.mozilla.org Bugzilla], and other Mozilla web tools.&lt;br /&gt;
&lt;br /&gt;
= The Sheriffs How-To =&lt;br /&gt;
&lt;br /&gt;
A lot of knowledge about what sheriffs do is built up by day-to-day experiences on the job. We&#039;ve created a number of wiki pages documenting a lot of this information, indexed [[Sheriffing/How:To|here]].&lt;br /&gt;
&lt;br /&gt;
Some of the more helpful (and up to date) pages:&lt;br /&gt;
* [[Sheriffing/How:To:Treeherder]] - Explains some useful terminology, what each part of Treeherder&#039;s UI means/does, and how to use Treeherder to classify failures&lt;br /&gt;
* [[Sheriffing/How:To:SheriffingFromUnifiedRepos]] - This is useful, though some of the referenced repositories are no longer sheriffed, and it assumes you have knowledge of a lot of Mozilla/mercurial terms.&lt;br /&gt;
&lt;br /&gt;
= Communication =&lt;br /&gt;
&lt;br /&gt;
Sheriffs hang out in the #sheriffs channel on IRC - also it&#039;s useful to be in the following Channels:&lt;br /&gt;
&lt;br /&gt;
* #developers - most of the developers are around here&lt;br /&gt;
* #ci - our counterparts of the build system “sheriffs”&lt;br /&gt;
* #releng - &#039;&#039;&#039;DECOMMISSIONED&#039;&#039;&#039; Use #ci for Release Engineering Channel&lt;br /&gt;
* #taskcluster - taskcluster team channel&lt;br /&gt;
&lt;br /&gt;
A more-complete list of channels is listed [[IRC#Commonly_Used_Mozilla_IRC_Channels|here]].&lt;br /&gt;
&lt;br /&gt;
Also join [https://mail.mozilla.org/listinfo/sheriffs the sheriffs mailing list].&lt;br /&gt;
&lt;br /&gt;
= Sheriffed Repositories =&lt;br /&gt;
&lt;br /&gt;
Mozilla has dozens of different source code repositories for various projects and releases, but sheriffs only need to care about a few of them:&lt;br /&gt;
* [https://treeherder.mozilla.org/#/jobs?repo=mozilla-central mozilla-central], the main development repository.&lt;br /&gt;
* [https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound mozilla-inbound], one of mozilla-central&#039;s integration branches where new commits initially land for testing.&lt;br /&gt;
* [https://treeherder.mozilla.org/#/jobs?repo=autoland autoland], another integration branch for mozilla-central.&lt;br /&gt;
* [https://treeherder.mozilla.org/#/jobs?repo=mozilla-beta mozilla-beta], one of the release stabilization branches for code that has already gone through several weeks of testing.&lt;br /&gt;
* [https://treeherder.mozilla.org/#/jobs?repo=mozilla-release mozilla-release], the official release branch, where Firefox code goes to become part of an official build of Firefox.&lt;br /&gt;
* [https://treeherder.mozilla.org/#/jobs?repo=mozilla-esr52 mozilla-esrXX], one or more branches set up to track patches for the current (and at times when the ESR releases overlap, the previous) version of [https://www.mozilla.org/en-US/firefox/organizations/ Firefox ESR]. (At the moment, this is mozilla-esr52.)&lt;br /&gt;
&lt;br /&gt;
Once you&#039;re up to speed, it&#039;s best to leave a tab open to each of these repositories throughout your work day so you can track failures as they come in.&lt;br /&gt;
&lt;br /&gt;
= Sheriffing Tasks =&lt;br /&gt;
&lt;br /&gt;
Sheriffs do a lot of things throughout the day.&lt;br /&gt;
* Watch the sheriffed repositories via [[Sheriffing/How_To/Treeherder|Treeherder]] for failures.&lt;br /&gt;
** Classify/Star known intermittent failures.&lt;br /&gt;
** File tracking bugs for newly discovered intermittent failures.&lt;br /&gt;
** Resolve issues with code that has landed. This can be done with some of the following:&lt;br /&gt;
*** [[Sheriffing/How_To/Backouts|Backout]] the bad code.&lt;br /&gt;
*** Ensure that developers land followup patches to fix issues that are discovered.&lt;br /&gt;
** Monitor the repositories and tests for any issues related to infrastructure issues.&lt;br /&gt;
** Mark repositories as being unable to accept commits from developers (also called &amp;quot;[[Sheriffing/Deciding_To_Close_A_Tree|close the trees]]&amp;quot;) via Treestatus, allowing you to fix issues without a bunch of new potentially-bad commits from landing in the interim.&lt;br /&gt;
* [[Sheriffing/How_To/Merges|Merge]] known-good commits from the mozilla-inbound and autoland repositories over to mozilla-central, and then back around to mozilla-inbound and autoland.&lt;br /&gt;
** Once the actual merge is performed, you need to run the Bugherder tool against the merge on mozilla-central to get the information properly updated in Bugzilla. There&#039;s a link to Bugherder in the per-push menu item in Treeherder.&lt;br /&gt;
* Landing approved patches that are marked as &amp;quot;checkin-needed&amp;quot; onto mozilla-inbound or autoland.&lt;br /&gt;
* Backporting approved patches (also called &amp;quot;[[Sheriffing/How_To/Uplifts|uplifting]]&amp;quot;) from mozilla-central to one or more of the release stabilization branches (mozilla-beta, mozilla-release, mozilla-esr52, etc) to get the patch into users&#039; hands sooner.&lt;br /&gt;
&lt;br /&gt;
== Permissions ==&lt;br /&gt;
The following permission have to be set for the mentioned actions:&lt;br /&gt;
* commit access level 1 (scm_level_1 LDAP group):&lt;br /&gt;
** save job classifications&lt;br /&gt;
** retrigger jobs&lt;br /&gt;
** push to Try server (test patches, do beta simulations etc.)&lt;br /&gt;
** request to add selected jobs to a push&lt;br /&gt;
* commit access level 3 (scm_level_3 LDAP group):&lt;br /&gt;
** push to mozilla-inbound, mozilla-central etc. (not autoland or modify servo/, see below)&lt;br /&gt;
** land patches from within the browser with Review Board (&amp;quot;MozReview&amp;quot;)&lt;br /&gt;
** request to run job on previous pushes where it might have been skipped (&amp;quot;Backfilling&amp;quot;)&lt;br /&gt;
* scm_autoland LDAP group:&lt;br /&gt;
** push directly to autoland (needed for merges and some backouts)&lt;br /&gt;
* scm_servo_vendor LDAP group:&lt;br /&gt;
** allow to changes files in the servo/ folder (needed for merges and some backouts)&lt;br /&gt;
* vpn_sheriff LDAP group:&lt;br /&gt;
** terminate machines running tests&lt;br /&gt;
** request to run all missing jobs from menu for a push&lt;br /&gt;
** cancel all jobs on non-Try pushes&lt;br /&gt;
** manually request Nightlies (?)&lt;br /&gt;
* vpn_treestatus LDAP group:&lt;br /&gt;
** change the status of the trees (e.g. close on test failures or infrastructure issues)&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=ReleaseEngineering/TryServer&amp;diff=1193747</id>
		<title>ReleaseEngineering/TryServer</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=ReleaseEngineering/TryServer&amp;diff=1193747"/>
		<updated>2018-05-14T08:25:57Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Update BuildDuty to CiDuty. Renaming project&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Try Server =&lt;br /&gt;
The [https://treeherder.mozilla.org/#/jobs?repo=try try server] is an easy way to test a patch without actually checking the patch into the core repository. Your code will go through the same tests as a mozilla-central push, and you&#039;ll be able to download builds if you wish.&lt;br /&gt;
&lt;br /&gt;
== Getting access to the Try Server  ==&lt;br /&gt;
To use the try server, you&#039;ll need [http://www.mozilla.org/hacking/commit-access-policy/ Level 1 Commit Access]. You can learn more about Mozilla&#039;s commit access policies and start the process of signing up for an account here: [http://www.mozilla.org/hacking/committer/ Becoming a Mozilla Contributor]&lt;br /&gt;
&lt;br /&gt;
After you have level 1 commit access, you&#039;ll need to do a bit of setup before you&#039;ll be able to push. See [https://developer.mozilla.org/en-US/docs/Mercurial/Using_Mercurial#How_do_I_check_stuff_in.3F this guide] for instructions. Assuming you only have level 1 access, you won&#039;t be able to push to mozilla-central, but you can replace &#039;hg.mozilla.org/mozilla-central&#039; with &#039;hg.mozilla.org/try&#039;.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
Before using try, there is some recommended configuration you should set up. This can be accomplished by running:&lt;br /&gt;
&lt;br /&gt;
 $ ./mach mercurial-setup&lt;br /&gt;
&lt;br /&gt;
Be sure to at least enable the [http://mozilla-version-control-tools.readthedocs.org/en/latest/hgmozilla/firefoxtree.html firefoxtree extension] and the push-to-try extension. The push-to-try extension is required if you wish to use the |mach try| command (see below). Firefoxtree will give you a handy &#039;try&#039; alias you can use for pushing, and prevent you from accidentally pushing multiple heads. If for some reason you prefer not to use firefoxtree, you can set the same alias up manually in your hgrc:&lt;br /&gt;
&lt;br /&gt;
 [paths]&lt;br /&gt;
 try = ssh://hg.mozilla.org/try&lt;br /&gt;
&lt;br /&gt;
Note: Never pull the whole try repo. You&#039;ll end up with hundreds of heads containing everyone&#039;s half baked and broken pushes.&lt;br /&gt;
&lt;br /&gt;
For more information, see [http://mozilla-version-control-tools.readthedocs.org/en/latest/hgmozilla/index.html mercurial for mozillians].&lt;br /&gt;
&lt;br /&gt;
== How to push to try ==&lt;br /&gt;
There are two ways to schedule jobs on try. You can either push like normal, and select which jobs you want using [https://wiki.mozilla.org/EngineeringProductivity/Projects/Treeherder treeherder], or you can specify a try syntax in your commit message to schedule jobs automatically. &lt;br /&gt;
&lt;br /&gt;
=== Scheduling jobs with Treeherder ===&lt;br /&gt;
&lt;br /&gt;
You can push to try with:&lt;br /&gt;
&lt;br /&gt;
 $ ./mach try empty&lt;br /&gt;
&lt;br /&gt;
Once the push succeeds, you can open it in Treeherder and then sign in to schedule jobs manually.&lt;br /&gt;
&lt;br /&gt;
Select the drop-down arrow at the top right of your push, and choose &amp;quot;Add new Jobs&amp;quot;. It might take several seconds for the jobs to load ({{bug|1288028}}) :&lt;br /&gt;
&lt;br /&gt;
https://s3.amazonaws.com/media-p.slid.es/uploads/185196/images/2042414/TH_dropdown.png&lt;br /&gt;
&lt;br /&gt;
If it helps, you can use the filter box in the site header to restrict the list of runnable jobs being displayed.  Click the job symbols you wish to schedule. &lt;br /&gt;
&lt;br /&gt;
If you select a test job, the required build will automatically be scheduled:&lt;br /&gt;
&lt;br /&gt;
https://s3.amazonaws.com/media-p.slid.es/uploads/185196/images/2042426/TH_with_jobs.png&lt;br /&gt;
&lt;br /&gt;
Finally, click &amp;quot;Trigger New Jobs&amp;quot; near the top right of your push.&lt;br /&gt;
&lt;br /&gt;
NOTE: An action task gets scheduled which will schedule all the tasks you chose.&lt;br /&gt;
&lt;br /&gt;
=== Scheduling jobs with Try Syntax ===&lt;br /&gt;
If you know exactly what you want to run, you can use [[Build:TryChooser]] to select which jobs run directly in your commit message. Make sure the commit message containing try syntax is placed in your &#039;&#039;topmost commit&#039;&#039;.  The [http://trychooser.pub.build.mozilla.org/ TryChooser] web page can help you build a commit message for custom requests. It will generate both a syntax string as well as a mach command you can simply paste into your terminal.&lt;br /&gt;
&lt;br /&gt;
==== Using mach ====&lt;br /&gt;
The recommended way to push with a try syntax, is to use |mach try|. It works with both mercurial and git, and you can use the [http://trychooser.pub.build.mozilla.org/ TryChooser] web page to generate the command. For example:&lt;br /&gt;
&lt;br /&gt;
 $ mach try -b o -p linux -u mochitest-1 -t none&lt;br /&gt;
&lt;br /&gt;
The |mach try| command also has some advanced features. It can actually change how the job gets run within automation. For example, to run only mochitests under &#039;dom/indexedDB&#039;:&lt;br /&gt;
&lt;br /&gt;
 $ mach try -b o -p linux -u mochitests --and dom/indexedDB&lt;br /&gt;
&lt;br /&gt;
For more information see:&lt;br /&gt;
&lt;br /&gt;
 $ mach try --help&lt;br /&gt;
&lt;br /&gt;
Note: This method doesn&#039;t work well with mq.&lt;br /&gt;
&lt;br /&gt;
==== Using the Trychooser Extension ====&lt;br /&gt;
You can also use the [https://bitbucket.org/sfink/trychooser mercurial trychooser extension] from sfink. It has some neat features, like a curses ui that lets you graphically choose a try syntax. Though {{bug|1197868}} tracks implementing this feature in |mach try|. Eventually trychooser will be deprecated in favor of |mach try|.&lt;br /&gt;
&lt;br /&gt;
==== Using mq ====&lt;br /&gt;
The aforementioned tools may not play all that nicely with [https://www.mercurial-scm.org/wiki/MqExtension mercurial queues]. If you use mq, you can still push to try manually. First build your try syntax with the [http://trychooser.pub.build.mozilla.org/ TryChooser] web page. Then run:&lt;br /&gt;
&lt;br /&gt;
 $ hg qref --message &amp;quot;try: &amp;lt;your-computed-syntax-here&amp;gt;&amp;quot;&lt;br /&gt;
 $ hg push -f try&lt;br /&gt;
&lt;br /&gt;
== Viewing the results ==&lt;br /&gt;
You can see the results of your tryserver build in a number of ways:&lt;br /&gt;
&lt;br /&gt;
* You&#039;ll get an email on a successful push with a link to treeherder for your revision as well as optional emails on any non-successful build/test/talos results (this setting can be adjusted using [[Build:TryChooser]] args for email notification)&lt;br /&gt;
* You can have the results of your try run posted to bug(s) automatically at the completion of the run using the --post-to-bugzilla flag in your try syntax (see: [[Build:TryChooser]] for examples)&lt;br /&gt;
* The link to treeherder will be printed on the command line.&lt;br /&gt;
* Look for your changeset on [https://treeherder.mozilla.org/#/jobs?repo=try Treeherder]. You can add &#039;&#039;&#039;&amp;amp;author=YOUR.EMAIL&#039;&#039;&#039; to only see your pushes.&lt;br /&gt;
* Download your completed builds from [http://ftp.mozilla.org/pub/mozilla.org/firefox/try-builds/?C=M;O=D firefox/tryserver-builds on ftp.m.o].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Using a custom mozconfig  ==&lt;br /&gt;
The mozconfigs for recent mozilla-central clones are located in the browser/config/mozconfigs directory. Edit those as you please.&lt;br /&gt;
&lt;br /&gt;
If you want to apply the same mozconfig changes to multiple platforms, you can edit &amp;lt;tt&amp;gt;build/mozconfig.common.override&amp;lt;/tt&amp;gt; instead.  This file is included at the end of each of the in-tree mozconfig files.&lt;br /&gt;
&lt;br /&gt;
Android mozconfigs are in mobile/android/config/mozconfigs.&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
* TryServer purpose is to tell what will happen on Tinderbox, not to check every possible build option/configuration.&lt;br /&gt;
** Any non-standard feature is implicitly unsupported. You may try them, but don&#039;t complain if they break.&lt;br /&gt;
&lt;br /&gt;
== Getting debug symbols ==&lt;br /&gt;
By default native debug symbols are not uploaded for Try server builds because of their size. If you want to debug your builds locally you must add &amp;lt;tt&amp;gt;MOZ_CRASHREPORTER_UPLOAD_FULL_SYMBOLS=1&amp;lt;/tt&amp;gt; to the in-tree mozconfigs. You can do this for all platforms by importing [http://hg.mozilla.org/users/tmielczarek_mozilla.com/mq/raw-file/b44faf6cd177/enable-full-symbols this patch] into your mq and pushing it along with your changes to Try. This will cause a ...crashreporter-symbols-full.zip package to be uploaded to the builds directory for each platform built.&lt;br /&gt;
&lt;br /&gt;
== Adding new jobs ==&lt;br /&gt;
It&#039;s possible to create new jobs (or modify existing ones) directly *in* your try push, provided you use taskcluster. Just edit the relevant configuration in testing/taskcluster. For more information on creating jobs, see the [http://docs.taskcluster.net/ taskcluster docs].&lt;br /&gt;
&lt;br /&gt;
== Desktop l10n jobs ==&lt;br /&gt;
You can use the steps in [[ReleaseEngineering/TryServer#Scheduling jobs with Treeherder|Scheduling jobs with Treeherder]] to add localized desktop builds to your try push, regardless of whether you used try syntax at first. Filtering with &#039;l10n&#039; helps to find the jobs amongst the many possibilities.&lt;br /&gt;
&lt;br /&gt;
The jobs can be customized by modifying files prior to pushing:&lt;br /&gt;
* reducing the number of locales by limiting &amp;lt;tt&amp;gt;browser/locales/all-locales&amp;lt;/tt&amp;gt; (eg top-locales like de fr ja ja-JP-mac ru zh-TW). Leaving a full list of locales is likely to hit a timeout on Mac and Windows&lt;br /&gt;
* use a different en-US build by modifying [https://dxr.mozilla.org/mozilla-central/source/testing/mozharness/configs/single_locale/try.py#4 en_us_binary_url], but note that the building en-US and then l10n in one push is not a tested scenario&lt;br /&gt;
&lt;br /&gt;
The resulting builds are uploaded to the same sub-directory as en-US builds, eg try-linux/ for 32bit linux.&lt;br /&gt;
&lt;br /&gt;
== Desktop l10n jobs (on Taskcluster) ==&lt;br /&gt;
&lt;br /&gt;
To get Desktop l10n jobs on taskcluster on try, simply pass `-b o -p linux64-l10n,linux-l10n` with your try push. You&#039;ll also get these jobs automatically with `-p linux64,linux` if you are touching one of the files known to be heavily involved in l10n jobs. (Taskcluster support for other platforms is not yet available)&lt;br /&gt;
&lt;br /&gt;
You can also use the steps in [[ReleaseEngineering/TryServer#Scheduling jobs with Treeherder|Scheduling jobs with Treeherder]] to add localized desktop builds to your try push, regardless of whether you used try syntax at first. Filtering with &#039;l10n&#039; helps to find the jobs amongst the many possibilities.&lt;br /&gt;
&lt;br /&gt;
The jobs can be customized by modifying files prior to pushing:&lt;br /&gt;
* reducing the number of locales by limiting &amp;lt;tt&amp;gt;browser/locales/all-locales&amp;lt;/tt&amp;gt; (eg top-locales like de fr ja ja-JP-mac ru zh-TW).&lt;br /&gt;
* use a different en-US build by modifying [https://dxr.mozilla.org/mozilla-central/source/testing/mozharness/configs/single_locale/try.py#4 en_us_binary_url], but note that the building en-US and then l10n in one push is not a tested scenario&lt;br /&gt;
&lt;br /&gt;
The resulting builds are uploaded as a task artifact, and are not yet signed.&lt;br /&gt;
&lt;br /&gt;
== Android Single-Locale l10n jobs (on Taskcluster) ==&lt;br /&gt;
&lt;br /&gt;
(NOTE: Only supported on Gecko 51a1 and above)&lt;br /&gt;
&lt;br /&gt;
To get Android l10n jobs on taskcluster on try, simply pass `-p android-api-15-l10n` with your try push. You&#039;ll also get these jobs automatically with `-p android-api-15` if you are touching one of the files known to be heavily involved in l10n jobs.&lt;br /&gt;
&lt;br /&gt;
You can also use the steps in [[ReleaseEngineering/TryServer#Scheduling jobs with Treeherder|Scheduling jobs with Treeherder]] to add localized desktop builds to your try push, regardless of whether you used try syntax at first. Filtering with &#039;l10n&#039; helps to find the jobs amongst the many possibilities.&lt;br /&gt;
&lt;br /&gt;
The jobs can be customized by modifying files prior to pushing:&lt;br /&gt;
* reducing the number of locales by limiting &amp;lt;tt&amp;gt;mobile/android/locales/all-locales&amp;lt;/tt&amp;gt; (eg top-locales like de fr ru zh-TW).&lt;br /&gt;
* use a different en-US build by modifying [https://dxr.mozilla.org/mozilla-central/source/testing/mozharness/configs/single_locale/try_android-api-15.py#3 en_us_binary_url], but note that the building en-US and then l10n in one push is not a tested scenario&lt;br /&gt;
&lt;br /&gt;
The resulting builds are uploaded as a task artifact, and are not yet signed.&lt;br /&gt;
&lt;br /&gt;
== Server Status ==&lt;br /&gt;
* Pending builds by revision are at https://secure.pub.build.mozilla.org/buildapi/pending&lt;br /&gt;
* In-progress builds by revision are are https://secure.pub.build.mozilla.org/buildapi/running&lt;br /&gt;
&lt;br /&gt;
== Other Notes ==&lt;br /&gt;
* Finished builds will live in  http://ftp.mozilla.org/pub/mozilla.org/firefox/try-builds/&amp;lt;your_ldap_email&amp;gt;-&amp;lt;revision&amp;gt; for 14 days before deletion&lt;br /&gt;
* Treeherder data is purged after 4 months.&lt;br /&gt;
* If you have any problems please [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&amp;amp;component=Release%20Engineering&amp;amp;status_whiteboard=tryserver file a bug]&lt;br /&gt;
&lt;br /&gt;
* Suggestions for the future can be made [[Build:TryServer:Suggestions|here]] or file a blocking bug against {{bug|try_enhancements}}&lt;br /&gt;
&lt;br /&gt;
== Other Mozilla Try Servers ==&lt;br /&gt;
* [[ReleaseEngineering/ThunderbirdTryServer|Thunderbird Try Server]] for the comm-central repository&lt;br /&gt;
&lt;br /&gt;
== Problem Diagnosis ==&lt;br /&gt;
=== Can not access try server ===&lt;br /&gt;
Test your account &amp;amp; configuration&lt;br /&gt;
* &amp;lt;code&amp;gt;ssh hg.mozilla.org&amp;lt;/code&amp;gt;, response: &amp;quot;No Interactive shells allowed here!&amp;quot;&lt;br /&gt;
* &amp;lt;code&amp;gt;ssh hg.mozilla.org clone invalid_sandbox&amp;lt;/code&amp;gt;, response: menu display and interactive prompting.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;long_try_push&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Pushes to try take a very long time ===&lt;br /&gt;
Note: if a fellow developer cancelled their try push, they have saddled you with the cost of rebuilding the cache. (See [http://dtor.com/halfire/2014/07/02/2014_06_try_server_update.html#caching caching] details.)&lt;br /&gt;
&lt;br /&gt;
If you&#039;re experiencing excessive wait times (&amp;gt; 45min) pushing to try, please file a bug asking IT to reset the try repository using [https://bugzilla.mozilla.org/enter_bug.cgi?comment=please%20schedule%20a%20reset%20of%20the%20try%20repository%20ASAP%20with%20sheriffs%20%26%20releng.&amp;amp;component=WebOps%3A%20Source%20Control&amp;amp;op_sys=All&amp;amp;product=Infrastructure%20%26%20Operations&amp;amp;rep_platform=All&amp;amp;short_desc=Push%20to%20try%20taking%20XXX%20minutes this template] (please include specifics of your experience). They will coordinate with sheriffs and release engineering as needed.&lt;br /&gt;
&lt;br /&gt;
=== Waiting for Lock ===&lt;br /&gt;
If you get a message similar to:&lt;br /&gt;
    remote: waiting for lock on repository /repo/hg/mozilla/try/ held by &#039;hgssh1.dmz.scl3.mozilla.com:23974&#039;&lt;br /&gt;
    remote: abort: repository /repo/hg/mozilla/try/: timed out waiting for lock held by hgssh1.dmz.scl3.mozilla.com:30549&lt;br /&gt;
It means several developers are trying to push to try at the same time. In the case above, nothing appears to be wrong, as the PID changes between the messages.&lt;br /&gt;
&lt;br /&gt;
=== Waiting for Lock multiple times with the same pid ===&lt;br /&gt;
Similar to the above case, but with the same pid when you retry over and over again.&lt;br /&gt;
&lt;br /&gt;
Please retry your push. If you see messages indicating the same process has been pushing for more than 15 minutes, treat as [[#long_try_push|above]].&lt;br /&gt;
&lt;br /&gt;
== CiDuty issues == &lt;br /&gt;
=== How do I trigger additional talos/test runs for a given try build? ===&lt;br /&gt;
If your trychooser syntax included the tests you&#039;d like more of, then select the job you want on Treeherder and use the + button. For test suites you didn&#039;t request originally you can use the &amp;quot;Add New Jobs&amp;quot; interface in Treeherder.&lt;br /&gt;
&lt;br /&gt;
=== How do I cancel existing jobs? ===&lt;br /&gt;
For individual jobs, select the relevant one on Treeherder and use the cancel button. To cancel all jobs, use the menu arrow shown on the header row for each push, and then the &amp;quot;Cancel all&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
=== TryChooser ===&lt;br /&gt;
See the [[ReleaseEngineering/TryChooser#Buildduty_Issues|TryChooser]] wiki page.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* https://developer.mozilla.org/en/Creating_Mercurial_User_Repositories&lt;br /&gt;
* http://trychooser.pub.build.mozilla.org/&lt;br /&gt;
* https://wiki.mozilla.org/Sheriffing/How:To:Recommended_Try_Practices&lt;br /&gt;
* https://wiki.mozilla.org/Build:TryChooser&lt;br /&gt;
* https://wiki.mozilla.org/ReleaseEngineering:Autoland&lt;br /&gt;
* [http://build.mozilla.org/buildapi/self-serve Manage Submissions] [[https://build.mozilla.org/buildapi/self-serve/try try]]&lt;br /&gt;
* [https://catlee.github.io/highscores/highscores.html Scoreboard]&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Sheriffing/How_To/Escalate&amp;diff=1193746</id>
		<title>Sheriffing/How To/Escalate</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Sheriffing/How_To/Escalate&amp;diff=1193746"/>
		<updated>2018-05-14T08:23:20Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Update BuildDuty to CiDuty. Renaming project&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Sheriffing How To|Escalating issues to release engineering and the MOC}}&lt;br /&gt;
= Guidelines on escalating outages =&lt;br /&gt;
&lt;br /&gt;
== MOC ==&lt;br /&gt;
If you cannot pinpoint the affected system or team responsible, going directly to the MOC can save a lot of time, especially during off-hours. The MOC can be reached in irc #moc. The MOC knows how to contact and escalate any issue.&lt;br /&gt;
&lt;br /&gt;
Other signs of a global issue include:&lt;br /&gt;
* you see nagios alerts for the issue in #sysadmins&lt;br /&gt;
* there&#039;s already a status (https://status.mozilla.org/) (but still let MOC know it&#039;s tree-impacting)&lt;br /&gt;
&lt;br /&gt;
== Releng and Ciduty ==&lt;br /&gt;
If it&#039;s something RelEng can handle (or you also want them to be aware), here&#039;s the escalation path:&lt;br /&gt;
* ping *|ciduty in #ci&lt;br /&gt;
* use the !squirrel stalk word in #ci&lt;br /&gt;
* Follow the escalation route at https://wiki.mozilla.org/ReleaseEngineering#Contacting_Release_Engineering&lt;br /&gt;
&lt;br /&gt;
== TaskCluster ==&lt;br /&gt;
* ping in #taskcluster (see https://wiki.mozilla.org/TaskCluster for coverage in any timezone)&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=ReleaseEngineering&amp;diff=1193745</id>
		<title>ReleaseEngineering</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=ReleaseEngineering&amp;diff=1193745"/>
		<updated>2018-05-14T08:18:49Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Update #releng to #ci&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float: left;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: right; width: 60%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;firstHeading toc&amp;quot; style=&amp;quot;border: thin black solid; text-size: 80%; width: 50%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Quick Links For You&amp;lt;/h2&amp;gt;&lt;br /&gt;
* [https://treeherder.mozilla.org/ Treeherder]&lt;br /&gt;
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Release%20Engineering&amp;amp;component=Other File a new RelEng bug]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;firstHeading toc&amp;quot; style=&amp;quot;border: thin black solid; text-size: 80%; width: 50%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Quick Links For Us&amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[ReleaseEngineering/How To|How Tos]]&lt;br /&gt;
* [https://tools.taskcluster.net/ Taskcluster Tools]&lt;br /&gt;
* [https://mozilla-releng.net/ Releng Services]&lt;br /&gt;
* [https://ship-it.mozilla.org/ Ship It]&lt;br /&gt;
* [https://aus4-admin.mozilla.org/ Balrog]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= About Us =&lt;br /&gt;
We ship Firefox to the world!&lt;br /&gt;
&lt;br /&gt;
Release Engineering does this by:&lt;br /&gt;
&lt;br /&gt;
* Developing world-class, scalable, open, secure, and maintainable infrastructure for application builds and tests, on a diverse set of desktop and mobile platforms&lt;br /&gt;
* Building fast and reliable pipelines to transform source code into shipped products&lt;br /&gt;
&lt;br /&gt;
= Contacting Release Engineering =&lt;br /&gt;
Our team is located on 3 continents and in 5 time zones. This allows us to provide better service, especially if you contact us using one of the following methods:&lt;br /&gt;
* To request a new service, please [https://bugzilla.mozilla.org/enter_bug.cgi?product=Release%20Engineering file a bug]&lt;br /&gt;
* To ask a general question, ping in #ci on IRC, or email release@m.c&lt;br /&gt;
* To request status on an existing request, set the &amp;quot;needinfo&amp;quot; flag in the bug.&lt;br /&gt;
Our team works normal business hours for our respective time zones. If you need to escalate an issue that is both &#039;&#039;&#039;urgent&#039;&#039;&#039; &#039;&#039;and&#039;&#039; &#039;&#039;&#039;important&#039;&#039;&#039;, use the following methods:&lt;br /&gt;
# Use #ci in IRC or email release@m.c, starting your message with &#039;URGENT:&#039;. If no response in 15 minutes, then&lt;br /&gt;
# Be sure the bug severity is set to &amp;quot;&amp;lt;tt&amp;gt;blocker&amp;lt;/tt&amp;gt;&amp;quot;&lt;br /&gt;
# Call one or more of the following people (nagios page preferred if you have access):&lt;br /&gt;
#* [https://phonebook.mozilla.org/#search/catlee Chris AtLee] Eastern Time&lt;br /&gt;
#* [https://phonebook.mozilla.org/#search/jlund Jordan Lund] Pacific Time&lt;br /&gt;
If you get voice mail, please leave your callback number.&lt;br /&gt;
&lt;br /&gt;
= Contributing =&lt;br /&gt;
If you are interested in getting involved with Release Engineering, please see our [[ReleaseEngineering/Contribute|contributing page]]! We&#039;d love to hear from you.&lt;br /&gt;
&lt;br /&gt;
= Team =&lt;br /&gt;
&lt;br /&gt;
Mozilla&#039;s Release Engineering:&lt;br /&gt;
* twitter: [https://twitter.com/MozRelEng @MozRelEng]&lt;br /&gt;
* blogs: [http://planet.mozilla.org/releng Planet Release Engineering]&lt;br /&gt;
* calendar: [https://www.google.com/calendar/embed?src=mozilla.com_2d32343333353036312d393737%40resource.calendar.google.com&amp;amp;ctz=America/Los_Angeles Google Calendar]&lt;br /&gt;
* mailing list: [https://groups.google.com/forum/#!forum/mozilla.release.engineering release-engineering@lists.mozilla.org] &lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
| &#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Profile&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Twitter&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Blog&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ben Hearsum&lt;br /&gt;
| [https://mozillians.org/u/bhearsum bhearsum]&lt;br /&gt;
| [https://twitter.com/bhearsum @bhearsum]&lt;br /&gt;
| [http://hearsum.ca/blog Ben&#039;s blog]&lt;br /&gt;
|-&lt;br /&gt;
| Justin Wood &lt;br /&gt;
| [https://mozillians.org/en-US/u/Callek/ Callek]&lt;br /&gt;
|&lt;br /&gt;
| [http://blog.drapostles.org/ &amp;quot;Callek&#039;s Blog&amp;quot;]&lt;br /&gt;
|-&lt;br /&gt;
| Chris AtLee &lt;br /&gt;
| [https://mozillians.org/u/catlee catlee]&lt;br /&gt;
| [https://twitter.com/chrisatlee @chrisatlee]&lt;br /&gt;
| [https://atlee.ca/blog/ chris&#039; random ramblings]&lt;br /&gt;
|-&lt;br /&gt;
| Jordan Lund&lt;br /&gt;
| [https://mozillians.org/u/jlund jlund]&lt;br /&gt;
|&lt;br /&gt;
| [http://jordan-lund.ghost.io/ ghost blog]&lt;br /&gt;
|-&lt;br /&gt;
| Nick Thomas&lt;br /&gt;
| [https://mozillians.org/u/nthomas nthomas]&lt;br /&gt;
| [https://twitter.com/nthomasftang @nthomasftang]&lt;br /&gt;
| [http://ftangftang.wordpress.com/ F&#039;tang F&#039;tang Release wrangling at the bottom of the world]&lt;br /&gt;
|-&lt;br /&gt;
| Rail Aliiev&lt;br /&gt;
| [https://mozillians.org/u/rail rail]&lt;br /&gt;
| [https://twitter.com/railaliiev @railaliiev]&lt;br /&gt;
| [http://rail.merail.ca/ Rail&#039;s blog]&lt;br /&gt;
|-&lt;br /&gt;
| Aki Sasaki&lt;br /&gt;
| [https://mozillians.org/en-US/u/aki/ aki]&lt;br /&gt;
| [https://twitter.com/escapewindow @escapewindow]&lt;br /&gt;
| [http://escapewindow.dreamwidth.org/ escapewindow]&lt;br /&gt;
|-&lt;br /&gt;
| Mihai Tabara&lt;br /&gt;
| [https://mozillians.org/en-US/u/mtabara/ mtabara]&lt;br /&gt;
| [https://twitter.com/mihaitabara @mihaitabara]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Rok Garbas&lt;br /&gt;
| &lt;br /&gt;
| [https://twitter.com/garbas @garbas]&lt;br /&gt;
| [https://garbas.si/ Rok&#039;s blog]&lt;br /&gt;
|-&lt;br /&gt;
| Johan Lorenzo&lt;br /&gt;
| [https://mozillians.org/u/jlorenzo/ jlorenzo]&lt;br /&gt;
| &lt;br /&gt;
| [https://johanlorenzo.github.io/blog/ Johan&#039;s blog]&lt;br /&gt;
|-&lt;br /&gt;
| Simon Fraser&lt;br /&gt;
| [https://mozillians.org/en-US/u/sfraser/ sfraser]&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Tom Prince&lt;br /&gt;
| [https://mozillians.org/en-US/u/tom.prince tprince]&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Interns ==&lt;br /&gt;
* [[ReleaseEngineering/Interns|Interns]]&lt;br /&gt;
&lt;br /&gt;
= Releng Offerings =&lt;br /&gt;
&lt;br /&gt;
As mentioned above, Releng offer pipelines to transform source code into shipped products. The following sections break down how that happens. Each section can be understood as both isolated and combined parts.&lt;br /&gt;
&lt;br /&gt;
== Initiating a Release ==&lt;br /&gt;
&lt;br /&gt;
To start a release, [[Release Management]] submit a form in [[ReleaseEngineering/Applications/Ship It|Ship It]] with what product they would like to release, what revision to use, and a number of other inputs.&lt;br /&gt;
&lt;br /&gt;
== Configuring &amp;amp; Scheduling ==&lt;br /&gt;
&lt;br /&gt;
[[ReleaseEngineering/Applications/Ship It|Ship It]] then creates [https://docs.taskcluster.net/manual/tasks Taskcluster tasks] that are needed to take a builds and release them to users. These tasks make up the release graph that are derived from templates within [https://firefox-source-docs.mozilla.org/taskcluster/taskcluster/index.html taskgraph] and are submitted via [https://firefox-source-docs.mozilla.org/taskcluster/taskcluster/actions.html action tasks]. &lt;br /&gt;
&lt;br /&gt;
== Signing ==&lt;br /&gt;
&lt;br /&gt;
The signing of build artifacts and binaries. Some features of this:&lt;br /&gt;
&lt;br /&gt;
* signing is done through a client/server model&lt;br /&gt;
* integrated with Taskcluster thanks to [https://github.com/mozilla-releng/signingscript signingscript] in conjunction with [https://github.com/mozilla-releng/scriptworker scriptworker], a securely managed [https://docs.taskcluster.net/manual/tasks/workertypes Taskcluster worker type]. signingscript tasks are part of the task graph that is generated from [[ReleaseEngineering/Applications/Ship It|Ship It]]&lt;br /&gt;
* keys are generated with modern standards&lt;br /&gt;
* keys are secured by our infra and rotated regularly&lt;br /&gt;
* coming soon: self served signing through exposed API&lt;br /&gt;
&lt;br /&gt;
== Uploading ==&lt;br /&gt;
&lt;br /&gt;
As important release artifacts are created, they are then uploaded to [https://archive.mozilla.org/ archive.m.o] where they can served from and live permanently for historical or longstanding support reasons.&lt;br /&gt;
&lt;br /&gt;
Like signing, uploading is integrated with Taskcluster thanks to [https://github.com/mozilla-releng/beetmoverscript beetmoverscript] in conjunction with [https://github.com/mozilla-releng/scriptworker scriptworker], a securely managed [https://docs.taskcluster.net/manual/tasks/workertypes Taskcluster worker type]. signingscript tasks are part of the task graph that is generated from [[ReleaseEngineering/Applications/Ship It|Ship It]]&lt;br /&gt;
&lt;br /&gt;
== Install &amp;amp; Update Tests ==&lt;br /&gt;
&lt;br /&gt;
Like product tests, releases likewise need tests. This ensures that initial downloads install correctly on all supported platforms and updates work as expected, all before actually releasing. Right now this is done through our Update and Final Verify tests. Which, like all other sections are part of the release graph.&lt;br /&gt;
&lt;br /&gt;
TODO: link to documentation and source of these &lt;br /&gt;
&lt;br /&gt;
== Shipping &amp;amp; Updates ==&lt;br /&gt;
&lt;br /&gt;
Finally, we release the product via both initial downloads and as new updates.&lt;br /&gt;
&lt;br /&gt;
For Desktop Firefox:&lt;br /&gt;
* Initial installs are served via updating the download page, mozilla.com ([[Mozilla.com/Bedrock|Bedrock]]) and updating [[Bouncer]], Mozilla&#039;s mirroring and redirection server.&lt;br /&gt;
* Updates are handled by our own application, [http://mozilla-balrog.readthedocs.io/en/latest/index.html Balrog]. Balrog is our server side component of the update system&lt;br /&gt;
** this is integrated with Taskcluster thanks to [https://github.com/mozilla-releng/balrogscript balrogscript] in conjunction with [https://github.com/mozilla-releng/scriptworker scriptworker], a securely managed [https://docs.taskcluster.net/manual/tasks/workertypes Taskcluster worker type]. balrogscript tasks are part of the task graph that is generated from [[ReleaseEngineering/Applications/Ship It|Ship It]]&lt;br /&gt;
&lt;br /&gt;
For Android Products, including Firefox:&lt;br /&gt;
* releases are submitted to the Play Store&lt;br /&gt;
** this is integrated with Taskcluster thanks to [https://github.com/mozilla-releng/pushapkscript pushapkscript] in conjunction with [https://github.com/mozilla-releng/scriptworker scriptworker], a securely managed [https://docs.taskcluster.net/manual/tasks/workertypes Taskcluster worker type]. pushapkscript tasks are part of the task graph that is generated from [[ReleaseEngineering/Applications/Ship It|Ship It]]&lt;br /&gt;
&lt;br /&gt;
= Development =&lt;br /&gt;
&lt;br /&gt;
== Best Practices ==&lt;br /&gt;
* [[ReleaseEngineering/Python Standards|Python Standards]] - Our Python coding standards&lt;br /&gt;
* [[ReleaseEngineering/Development Best Practices|Development Best Practices]] - read this when you&#039;re starting something new&lt;br /&gt;
* [[ReleaseEngineering/Deployment|Deployment]] - How we deploy our tools, and how do we update them.&lt;br /&gt;
* [[ReleaseEngineering/Wiki Guidelines|Wiki Guidelines]] - how to wiki garden for fun and profit&lt;br /&gt;
&lt;br /&gt;
== Bugzilla ==&lt;br /&gt;
* [[ReleaseEngineering/Bugzilla/Flags|Flags]]&lt;br /&gt;
* [[ReleaseEngineering/Bugzilla/Whiteboard|Whiteboard]]&lt;br /&gt;
* [[ReleaseEngineering/Bugzilla/Triage|Triage]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Operations =&lt;br /&gt;
&lt;br /&gt;
Release Engineering has historically been involved with the Build and Release pipeline of a product. As part of that, we have some responsibility to help ensure that the build (continuous integration) and release (deployment) pipeline infrastructure is in good running health. We have two functional groups that monitor and respond to any operational issues that come up.&lt;br /&gt;
&lt;br /&gt;
== Buildduty ==&lt;br /&gt;
&lt;br /&gt;
Buildduty provides support for Firefox&#039;s build and test infrastructure&lt;br /&gt;
&lt;br /&gt;
The role of Buildduty has grown beyond Release Engineering&#039;s scope. There is a dedicated team of 6 people, providing 24/7 support of Mozilla&#039;s build and test infrastructure.&lt;br /&gt;
&lt;br /&gt;
See the [[Buildduty|Buildduty home page]] and [[Buildduty/manifesto|manifesto]] for more information.&lt;br /&gt;
&lt;br /&gt;
== Releaseduty ==&lt;br /&gt;
&lt;br /&gt;
Releaseduty provides support for Firefox&#039;s release infrastructure and is currently handled by Releng&lt;br /&gt;
&lt;br /&gt;
See the [[ReleaseEngineering/Releaseduty home page]] for more information.&lt;br /&gt;
&lt;br /&gt;
= Releng Applications =&lt;br /&gt;
* [[ReleaseEngineering/Applications|Applications]] - Various applications and services that RelEng provides&lt;br /&gt;
* TODO update application list with: Services, Scriptworker, ChainOfTrust&lt;br /&gt;
&lt;br /&gt;
= Mozilla Applications = &lt;br /&gt;
&lt;br /&gt;
* [[Taskcluster]] - our task execution tool for providing continuous integration and release pipelines&lt;br /&gt;
* [[EngineeringProductivity/Projects/Treeherder|Treeherder]] - aggregates all the build, test, and release tasks as a reporting dashboard&lt;br /&gt;
* [[ReleaseEngineering/PuppetAgain|PuppetAgain]] - Release Operations tool and puppet configs for configurating build and release machines. Both for workers and hosting applications&lt;br /&gt;
* TODO - add Release Operations replacement for Slaveapi: Controller&lt;br /&gt;
&lt;br /&gt;
= External Third Party Dependencies =&lt;br /&gt;
&lt;br /&gt;
* AWS&lt;br /&gt;
* Heroku&lt;br /&gt;
* Papertrail&lt;br /&gt;
* Nagios&lt;br /&gt;
* Sentry&lt;br /&gt;
&lt;br /&gt;
= Deprecated =&lt;br /&gt;
&lt;br /&gt;
below pages should be deleted or be given a &amp;quot;warning&amp;quot; outdated box where appropriate.&lt;br /&gt;
&lt;br /&gt;
== Buildbot ==&lt;br /&gt;
* Master&lt;br /&gt;
** [[ReleaseEngineering/Master Naming|Master Naming]]&lt;br /&gt;
** [[ReleaseEngineering/Master Setup|Master Setup]]&lt;br /&gt;
** [[ReleaseEngineering/Upgrading Buildbot|Upgrading Buildbot]]&lt;br /&gt;
** [[ReleaseEngineering/Preproduction|Preproduction]]&lt;br /&gt;
** [https://intranet.mozilla.org/RelEngWiki/index.php/Masters Masters] (authentication required)&lt;br /&gt;
** [[ReleaseEngineering/Queue directories|Queue directories]]&lt;br /&gt;
* Slave&lt;br /&gt;
** [[ReleaseEngineering/Buildslave Versions|Buildslave Versions]]&lt;br /&gt;
** [[ReleaseEngineering/Buildslave Startup Process|Buildslave Startup Process]]&lt;br /&gt;
** [[ReleaseEngineering/Slave_Naming|Slave naming]]&lt;br /&gt;
* Development&lt;br /&gt;
** [[ReleaseEngineering/Virtualenv|Virtualenv]] - How to set up and use python virtual environments&lt;br /&gt;
** [[ReleaseEngineering:TestingTechniques|Methods for testing your changes]]&lt;br /&gt;
** [[ReleaseEngineering/Buildbot Best Practices|Buildbot Best Practices]]&lt;br /&gt;
** [[ReleaseEngineering/Landing Buildbot Master Changes|Landing Buildbot Master Changes]]&lt;br /&gt;
* References&lt;br /&gt;
** [[ReleaseEngineering/Buildbot_Database_Schemas|Buildbot Database Schemas]]&lt;br /&gt;
&lt;br /&gt;
== VCS Sync ==&lt;br /&gt;
* [[ReleaseEngineering/VCSSync/HowTo|HowTo]]&lt;br /&gt;
* [[ReleaseEngineering/VCSSync/History|History]]&lt;br /&gt;
&lt;br /&gt;
== Releases ==&lt;br /&gt;
* [[Releases/RelEngChecklist | Release Checklist]] and [[Releases/BuildNotesIndex | Build Notes]]&lt;br /&gt;
* [[:Category:Releases:Post_Mortem_Meetings | Releng Post Mortem Meetings]]&lt;br /&gt;
* [[ReleaseEngineering/Releaseduty | What is releaseduty?]]&lt;br /&gt;
* [https://github.com/mozilla/releasewarrior Release Promotion]&lt;br /&gt;
* [[UpdateGeneration|Update Generation]]&lt;br /&gt;
** [[ReleaseEngineering/PatcherTags|Patcher tags for release updates]]&lt;br /&gt;
&lt;br /&gt;
== Platform Support ==&lt;br /&gt;
* [[ReferencePlatforms|Reference Platforms]]&lt;br /&gt;
* [[ReleaseEngineering/Applications#slavealloc|Slave Allocator]]&lt;br /&gt;
* [[ReleaseEngineering/Official Platform Support Checklist|Official Platform Support Checklist]]&lt;br /&gt;
&lt;br /&gt;
== Tryserver ==&lt;br /&gt;
* [[ReleaseEngineering/TryserverAsBranch|Tryserver As Branch]]&lt;br /&gt;
* [[ReleaseEngineering/TryServer | TryServer]]&lt;br /&gt;
* [[ReleaseEngineering/TryChooser | TryChooser]]&lt;br /&gt;
&lt;br /&gt;
== Testing ==&lt;br /&gt;
* [[ReleaseEngineering:IntermittentErrors | Intermittent Errors]]&lt;br /&gt;
* [[ReleaseEngineering/RequestingASlave | Requesting A Slave]]&lt;br /&gt;
* [[ReleaseEngineering/Testing a new Signing Server | Testing a new Signing Server]]&lt;br /&gt;
&lt;br /&gt;
= Subpages =&lt;br /&gt;
* [[ReleaseEngineering/Presentations|Presentations]]&lt;br /&gt;
* [[ReleaseEngineering/How Tos|How Tos]]&lt;br /&gt;
* [http://moz-releng-docs.readthedocs.org/en/latest/ Releng Docs] &#039;&#039;&#039;&#039;&#039;outdated&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* [[Special:PrefixIndex/{{FULLPAGENAME}}/]] - all subpages of [[{{FULLPAGENAME}}]] in the wiki&lt;br /&gt;
* [[ReleaseEngineering/Buildbot Migration|Buildbot Migration]] - &#039;&#039;&#039;&#039;&#039;outdated&#039;&#039;&#039;&#039;&#039; What builds are produced where? Buildbot, TaskCluster, or other?&lt;br /&gt;
* [[ReleaseEngineering/Obsolete Pages]]&lt;br /&gt;
* [[ReleaseEngineering/Day_1_Checklist|day 1 checklist]]&lt;br /&gt;
* [[ReleaseEngineering/Day_-1_Checklist|day -1 checklist]]&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=ReleaseEngineering/TryChooser&amp;diff=1193744</id>
		<title>ReleaseEngineering/TryChooser</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=ReleaseEngineering/TryChooser&amp;diff=1193744"/>
		<updated>2018-05-14T08:15:25Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Update BuildDuty to CiDuty. Renaming project&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://mozilla-releng.net/trychooser/ TryChooser] lets you select specific jobs you want to run on [https://wiki.mozilla.org/Build:TryServer tryserver].  You use TryChooser by putting a &amp;lt;tt&amp;gt;try:&amp;lt;/tt&amp;gt; block at the end of the topmost commit message when you push to try.&lt;br /&gt;
==Syntax Builder==&lt;br /&gt;
&#039;&#039;&#039;To simplify using the TryChooser, you can use the [https://mozilla-releng.net/trychooser/ TryChooser Syntax Builder] website&#039;&#039;&#039; &lt;br /&gt;
or the [http://hg.mozilla.org/users/pbiggar_mozilla.com/trychooser/file/tip mercurial extension] (which also functions as a command-line application, but is not maintained by RelEng).&lt;br /&gt;
&lt;br /&gt;
==Defaults==&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t specify an option or if you give an invalid value for an option, TryChooser will use its default for that option:&lt;br /&gt;
&lt;br /&gt;
 try: --build do&lt;br /&gt;
      --platform all&lt;br /&gt;
      --unittests all&lt;br /&gt;
      --talos none&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
; &amp;lt;tt&amp;gt;try: -b do -u crashtest&amp;lt;/tt&amp;gt;&lt;br /&gt;
: Debug and optimized builds, all available platforms, only crashtests, no talos:&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;tt&amp;gt;try: -b d -p linux -u none&amp;lt;/tt&amp;gt;&lt;br /&gt;
: Linux debug build, no unittests, no talos:&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;tt&amp;gt;try: -b do -p all -u all -t none&amp;lt;/tt&amp;gt;&lt;br /&gt;
: Run all platforms, all tests, no talos. This is a lot of tests, which will use a lot of resources! Unless absolutely necessary, narrow the list of platforms and/or the list of unit tests to those you really need.:&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;tt&amp;gt;try: -b do -u all -t chrome,nochrome&amp;lt;/tt&amp;gt;&lt;br /&gt;
: Debug and optimized builds for all platforms, all unittests, select talos:&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;tt&amp;gt;try: -b do -u all -t chrome,nochrome mozharness: --spsProfile&amp;lt;/tt&amp;gt;&lt;br /&gt;
: Same as above but run talos in profiling mode so that it produces zip files with profiles that can be opened in Cleopatra. See [https://wiki.mozilla.org/Buildbot/Talos/Profiling Talos Profiling].&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;tt&amp;gt;try: -b o -u jsreftest,crashtest,mochitest-1 -t tp4,scroll&amp;lt;/tt&amp;gt;&lt;br /&gt;
: Opt builds on all available platforms, select unittests, select talos&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;tt&amp;gt;try: -b o -u all -n --post-to-bugzilla bug 456234&amp;lt;/tt&amp;gt;&lt;br /&gt;
: Opt builds on all available platforms, all unittests, no emails, results posted to bug 456234&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;tt&amp;gt;try: -b d -p macosx64 -u all[10.7]&amp;lt;/tt&amp;gt;&lt;br /&gt;
: Debug builds for 64-bit OSX, run all tests only on OSX 10.7 machines&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;tt&amp;gt;try: -b d -p macosx64 -u all[-10.7]&amp;lt;/tt&amp;gt;&lt;br /&gt;
: Debug builds for 64-bit OSX, run all tests but not on all OSX test platforms except OSX 10.7&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;tt&amp;gt;try: -b do -p all -u all[x64]&amp;lt;/tt&amp;gt;&lt;br /&gt;
: &amp;quot;T push&amp;quot; -- good replacement for &amp;lt;tt&amp;gt;-p all -u all&amp;lt;/tt&amp;gt;. Builds on all platforms, runs all tests on linux64.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;tt&amp;gt;try: -b do -p all -u all[10.8]&amp;lt;/tt&amp;gt;&lt;br /&gt;
: Same as above, but run the tests on OSX 10.8 instead&lt;br /&gt;
&lt;br /&gt;
You may precede the &amp;lt;tt&amp;gt;try:&amp;lt;/tt&amp;gt; section with other text:&lt;br /&gt;
  bug 12345 attempt 2, try: -b d -p linux64 -t jsreftest&lt;br /&gt;
&lt;br /&gt;
==Workflow==&lt;br /&gt;
&lt;br /&gt;
===Without MQ===&lt;br /&gt;
&lt;br /&gt;
If you&#039;re not using Mercurial Queues, you can use TryChooser by including a &amp;quot;try:&amp;quot; string in the message of the commit you push to try:&lt;br /&gt;
&lt;br /&gt;
 $ (edit your code)&lt;br /&gt;
 $ hg commit -m &amp;quot;Bug XXXXXX - Change foo to bar.  try: -b d -p all&amp;quot;&lt;br /&gt;
 $ hg push -f &amp;lt;nowiki&amp;gt;ssh://hg.mozilla.org/try&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===With MQ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If you are running Mercurial 2.1 or higher, see [[Build:TryServer#hg_phases|this note]] about phases. ({{bug|725362}})&lt;br /&gt;
&lt;br /&gt;
If you&#039;re using Mercurial Queues, you can use TryChooser by adding an empty patch with a &amp;quot;try:&amp;quot; string to the top of your queue:&lt;br /&gt;
&lt;br /&gt;
 hg qgoto your-patch&lt;br /&gt;
 hg qnew -m &amp;quot;try: &amp;lt;Insert options here&amp;gt;&amp;quot; try&lt;br /&gt;
 hg push -f -rtip &amp;lt;nowiki&amp;gt;ssh://hg.mozilla.org/try&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After pushing, you can remove the empty patch:&lt;br /&gt;
&lt;br /&gt;
 hg qpop&lt;br /&gt;
 hg qremove try&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
===What if I want PGO for my build===&lt;br /&gt;
Until {{bug|691673}} is resolved, you&#039;ll have to do a small hack if you want PGO to work on your try push. Add&lt;br /&gt;
 mk_add_options MOZ_PGO=1&lt;br /&gt;
to &amp;lt;tt&amp;gt;[https://dxr.mozilla.org/mozilla-central/source/build/mozconfig.common.override build/mozconfig.common.override]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===What if I don&#039;t put &amp;quot;try:&amp;quot; in my commit message?===&lt;br /&gt;
If you don&#039;t give a &amp;quot;try:&amp;quot; string in your commit message, you&#039;ll get an error message on attempts to push to try as per {{bug|649402}} where try syntax use was made mandatory.&lt;br /&gt;
&lt;br /&gt;
===What if make a syntax error in my commit message?===&lt;br /&gt;
If you pass an invalid parameter, TryChooser will ignore it and substitute the default in its place.  For instance, if you specify &amp;lt;tt&amp;gt;try: -b f -u crashtest&amp;lt;/tt&amp;gt;, you&#039;ll get both debug and optimized builds, since &amp;quot;f&amp;quot; is not a recognized argument.  You&#039;ll only get crashtest run on those builds, however.&lt;br /&gt;
&lt;br /&gt;
===Where&#039;s the full list of unit tests and talos tests I can request?===&lt;br /&gt;
&lt;br /&gt;
Try should have the same test/talos suites available to it as mozilla-central does so you can refer to [https://treeherder.mozilla.org Treeherder] for complete listings.&lt;br /&gt;
&lt;br /&gt;
To match up the Talos suite name to the tests it runs you can go [http://hg.mozilla.org/build/buildbot-configs/file/701b6ccd8e55/mozilla-tests/config.py#l19 here]. (eg: &#039;chrome&#039; runs ts:tdhtml:twinopen:tsspider)&lt;br /&gt;
&lt;br /&gt;
If you need help building the syntax line you can also go to the [http://trychooser.pub.build.mozilla.org/ TryChooser Syntax Builder] page.&lt;br /&gt;
&lt;br /&gt;
===What do I do if I need to add a job after I push?===&lt;br /&gt;
Use try extender on Treeherder. To be announced in November.&lt;br /&gt;
&lt;br /&gt;
===What do I do if I need to remove a job after I push?===&lt;br /&gt;
Check out [https://build.mozilla.org/buildapi/self-serve Self Serve!]. With Self-Serve you can cancel pending builds, re-build/run completed builds/test/talos runs.&lt;br /&gt;
&lt;br /&gt;
===What do I do if I used the wrong syntax and I&#039;m missing a job?===&lt;br /&gt;
With the [[ReleaseEngineering/How_To/Trigger_arbitrary_jobs|arbitrary jobs API]] you can trigger jobs that would have not been triggered according to your Try syntax.&lt;br /&gt;
You can even specify a different build or tests.zip.&lt;br /&gt;
&lt;br /&gt;
===Where are my builds/test/talos?===&lt;br /&gt;
If you think Treeherder is missing results or it feels like it&#039;s been a while since you kicked the build off and you&#039;re getting antsy for results.  Here are some things you can look into before pinging the person on ciduty:&lt;br /&gt;
* Did the build compile successfully?  If it didn&#039;t, you won&#039;t get unittests or talos results.&lt;br /&gt;
**Look for your directory in [http://ftp.mozilla.org/pub/mozilla.org/firefox/tryserver-builds/ the builds FTP server] and see what has been uploaded.  (You can also find here the email-changeset string that you&#039;ll need if you end up pinging releng.)&lt;br /&gt;
* Check [http://build.mozilla.org/buildapi/running/ Running] and [http://build.mozilla.org/buildapi/pending/ Pending] to view your build&#039;s status, since these are where Treeherder gets the job data from, so are closer to the source of truth.&lt;br /&gt;
&lt;br /&gt;
===What if I want to run a sub-set of tests for a job?===&lt;br /&gt;
&#039;&#039;&#039;Note: This is currently broken, see [https://bugzilla.mozilla.org/show_bug.cgi?id=1336606 bug 1336606]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Tests can be tagged via the *.ini files, e.g.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[default]&lt;br /&gt;
tags = search&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[default]&lt;br /&gt;
&lt;br /&gt;
[browser_426329.js]&lt;br /&gt;
tags = search&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can then run just the required tag by appending `--tag search` onto your try command, e.g.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./mach try -b d -p linux64 -u mochitest-e10s-bc -t none --artifact --tag search&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Parsing details==&lt;br /&gt;
&lt;br /&gt;
The parser for TryChooser is [http://hg.mozilla.org/build/buildbotcustom/file/tip/try_parser.py here].&lt;br /&gt;
&lt;br /&gt;
The basic algorithm is:&lt;br /&gt;
* The commit message is split on &#039;try:&#039;.&lt;br /&gt;
* Whatever follows after &#039;try:&#039; is passed to try_parser as a string.&lt;br /&gt;
* The string is processed into a list of args handed to parse_known_args (thus keeping anything that is not a recognized argument from causing errors).&lt;br /&gt;
&lt;br /&gt;
The email preferences are parsed out in the [http://hg.mozilla.org/build/buildbotcustom/file/tip/bin/try_mailer.py try_mailer] script, and the --post-to-bugzilla flag is currently a work in progress but will land in the RelEng [http://hg.mozilla.org/build/tools/scripts/autoland tools] repo as part of the [https://wiki.mozilla.org/BugzillaAutoLanding Bugzilla Autolanding] project.&lt;br /&gt;
&lt;br /&gt;
==CiDuty Issues==&lt;br /&gt;
=== How to Deploy TryChooser changes ===&lt;br /&gt;
[[ReleaseEngineering/How_To/Update_TryChooser]]&lt;br /&gt;
&lt;br /&gt;
=== Jobs not scheduled at all? ===&lt;br /&gt;
Recreate the comment of their change with https://mozilla-releng.net/trychooser/ and compare it to make sure is correct.&lt;br /&gt;
&lt;br /&gt;
Then do a sendchange and tail the scheduler master:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 buildbot sendchange --master buildbot-master10:9301 --revision 923103d5a656 \&lt;br /&gt;
   --branch try --username mpalmgren@mozilla.com \&lt;br /&gt;
   --comments &amp;quot;try: -b d -p linux -u all&amp;quot; doit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* If tryserver was just reset verify that [[ReleaseEngineering/How_To/Reset_the_Try_Server#Try_Hg_Poller_state|the scheduler has been reset]]&lt;br /&gt;
&lt;br /&gt;
=== Using the TryChooser to submit build/test requests ===&lt;br /&gt;
CiDuty can also use the same TryChooser syntax as developers use to (re)submit build and testing requests. Here is an example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 buildbot sendchange --master buildbot-master10:9301 --revision 923103d5a656 \&lt;br /&gt;
   --branch try --username mpalmgren@mozilla.com \&lt;br /&gt;
   --comments &amp;quot;try: -b d -p linux -u all&amp;quot; doit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Unable to schedule builds due to missing &#039;requests&#039; package ===&lt;br /&gt;
As with pip 8.0, the &#039;--download-cache&#039; option has been removed (it was already deprecated since 6.0). The fix for this issue was removing the argument in mozharness config (see https://hg.mozilla.org/try/rev/1c396281c01b).&lt;br /&gt;
In order to build with a base revision prior to &#039;1c396281c01b&#039;, you will need to rebase your patch to use a newer version. &lt;br /&gt;
&lt;br /&gt;
== Source code ==&lt;br /&gt;
&lt;br /&gt;
The trychooser syntax builder lives in the buildtools repository, under the subdirectory &amp;quot;trychooser&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
* Mercurial: https://hg.mozilla.org/build/tools/ &lt;br /&gt;
* Git: https://github.com/mozilla/build-tools/&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=ReleaseEngineering/Slave_Health&amp;diff=1193733</id>
		<title>ReleaseEngineering/Slave Health</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=ReleaseEngineering/Slave_Health&amp;diff=1193733"/>
		<updated>2018-05-14T06:42:56Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Update BuildDuty to CiDuty. Renaming project&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= What is slave health? =&lt;br /&gt;
Slave health is a web tool used by releng, specifically ciduty, to monitor and affect the health of the various slave pools.&lt;br /&gt;
&lt;br /&gt;
https://secure.pub.build.mozilla.org/builddata/reports/slave_health/index.html&lt;br /&gt;
&lt;br /&gt;
= Deployment =&lt;br /&gt;
{{Release Engineering Deployment|slave health}}&lt;br /&gt;
Slave health is deployed on cruncher under &amp;lt;code&amp;gt;/home/buildduty/slave_health&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are currently two cronjobs on cruncher that correspond to slave health:&lt;br /&gt;
&lt;br /&gt;
 #m   h     d   mth   dow&lt;br /&gt;
 */15  *    *   *     *   /home/buildduty/slave_health/slave_health_cron.sh&lt;br /&gt;
 15    0    *   *     *   source /home/buildduty/buildduty/bin/activate &amp;amp;&amp;amp; \&lt;br /&gt;
   python /home/buildduty/slave_health/slave_health/scripts/generate_chart_objects.py&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/home/buildduty/slave_health/slave_health_cron.sh&amp;lt;/code&amp;gt; should be copied from &amp;lt;code&amp;gt;/home/buildduty/slave_health/slave_health/scripts&amp;lt;/code&amp;gt; on when the script is updated in version control.&lt;br /&gt;
&lt;br /&gt;
= CiDuty Report =&lt;br /&gt;
&lt;br /&gt;
We also stick the [https://secure.pub.build.mozilla.org/builddata/reports/slave_health/buildduty_report.html CiDuty report] under slave health, however its not generated from the slave health repo.&lt;br /&gt;
&lt;br /&gt;
It is run from cron with:&lt;br /&gt;
 #m   h     d   mth   dow&lt;br /&gt;
 1     5-18 *   *     1-5 /home/buildduty/buildduty/buildduty_report.sh&lt;br /&gt;
&lt;br /&gt;
The related files are in braindump at:&lt;br /&gt;
* [http://hg.mozilla.org/build/braindump/file/default/reports/buildduty_report.sh buildduty_report.sh]&lt;br /&gt;
* [http://hg.mozilla.org/build/braindump/file/default/reports/buildduty_report.py buildduty_report.py]&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=ReleaseEngineering:Buildduty:Downtimes&amp;diff=1193732</id>
		<title>ReleaseEngineering:Buildduty:Downtimes</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=ReleaseEngineering:Buildduty:Downtimes&amp;diff=1193732"/>
		<updated>2018-05-14T06:28:37Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Update BuildDuty to CiDuty. Renaming project&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==How do I schedule a downtime?==&lt;br /&gt;
&lt;br /&gt;
Whenever RelEng/IT/WebDev wants a tree-closing downtime for work on any systems, they should contact the CiDuty person of the day in #ci, by email or preferably by &#039;&#039;putting exact wording they&#039;d like in the downtime notice as it relates to their bug, and then nominating the bug using the &amp;quot;needs-treeclosure?&amp;quot; flag&#039;&#039;.&lt;br /&gt;
* NOTE: &#039;&#039;&#039;All ServerOps components now have &amp;quot;needs-treeclosure&amp;quot; flag enabled&#039;&#039;&#039; (previously only some ServerOps components had the flag). &lt;br /&gt;
* NOTE: &#039;&#039;&#039;ServerOps &amp;quot;infra only&amp;quot; bugs are not visible to CiDuty by default.&#039;&#039;&#039; If the bug can be changed to &amp;quot;Moco specific&amp;quot;, then it will be visible to all of RelEng, and show up in all the queries. If the bug needs to remain &amp;quot;infra only&amp;quot;, then the bug assignee needs to file, and closely track all changes to, a new separate bug that CiDuty can use for scheduling. &lt;br /&gt;
&lt;br /&gt;
When planning a downtime, CiDuty should consider:&lt;br /&gt;
* the urgency of the work&lt;br /&gt;
* what other work, if any, can be safely done in the same downtime &lt;br /&gt;
&lt;br /&gt;
...and propose a time that:&lt;br /&gt;
* is low impact to developers&lt;br /&gt;
* is low impact to releases (assessed by asking a list of pre-approvers). &lt;br /&gt;
* is not scheduled near any other downtimes / planned outages&lt;br /&gt;
* fits the schedule of the person who understands the work&lt;br /&gt;
* has CiDuty available to handle tree closing/opening and field questions in #developers (other channels as needed)&lt;br /&gt;
* &#039;&#039;&#039;gives &amp;gt;1 day notice to newsgroups if at all possible&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
=== Preparing for the downtime === &lt;br /&gt;
* review all bugs nominated with &amp;quot;needs-treeclosure?&amp;quot;&lt;br /&gt;
* for bugs approved to land in the downtime, CiDuty will:&lt;br /&gt;
** verify that the bug is assigned to the person who will actually be doing the work in the downtime&lt;br /&gt;
** set the &amp;quot;needs-treeclosure+&amp;quot; flag in the bugs&lt;br /&gt;
** set the whiteboard field with the proposed time/date. &lt;br /&gt;
** write a downtime notice that includes:&lt;br /&gt;
*** bug# and description for each item.&lt;br /&gt;
*** for security sensitive work, be vague, but still include the bug# and vague description. (this reduces confusion about whether an item of work is in/out of a downtime).&lt;br /&gt;
*** boilerplate text about the timing of the downtime and how it will affect developers. I&#039;ve included the boilerplate below:&lt;br /&gt;
====Downtime Boilerplate====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* When can I push?&lt;br /&gt;
&lt;br /&gt;
We pride ourselves on having the self-serve tools[1] to make &lt;br /&gt;
it easier to recover from build failures caused by a &lt;br /&gt;
downtime. However, we understand that some developers may &lt;br /&gt;
not be available to re-trigger failed runs after a downtime &lt;br /&gt;
is done, or may not want to incur that hassle. Some would &lt;br /&gt;
rather push early enough to receive all their results before &lt;br /&gt;
the downtime starts, others would rather wait until the &lt;br /&gt;
downtime is complete.&lt;br /&gt;
&lt;br /&gt;
If you have LDAP access to Mozilla servers, which if you&#039;re &lt;br /&gt;
landing code you likely do, you can check the current &lt;br /&gt;
end-to-end times for your chosen development branch[2]. &lt;br /&gt;
Compare your end-to-end time with the declared start of the &lt;br /&gt;
downtime in order to make an informed decision about whether&lt;br /&gt;
you really want to push _now_.&lt;br /&gt;
&lt;br /&gt;
1. https://build.mozilla.org/buildapi/self-serve &lt;br /&gt;
2. https://build.mozilla.org/buildapi/reports/endtoend&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Who do I notify, and when? ====&lt;br /&gt;
# etherpad/email everyone who will be working in the downtime, and ask to approve the draft downtime notice&lt;br /&gt;
# &#039;&#039;&#039;BEFORE&#039;&#039;&#039; posting to the newsgroups, send draft copy of the downtime notice to the list of pre-approvers. Ask for any objections/questions. As of 2012/04/25, the current list of pre-approvers is:&lt;br /&gt;
#* Bob Moss &amp;lt;bmoss@m.c&amp;gt;, Chris Hofmann &amp;lt;chofmann@m.c&amp;gt;,  Alex Keybl &amp;lt;akeybl@m.c&amp;gt;, Damon Sicore &amp;lt;dsicore@m.c&amp;gt;, Johnathan Nightingale &amp;lt;johnath@m.c&amp;gt;, JP Rosevear &amp;lt;jpr@m.c&amp;gt;, Sheila Mooney &amp;lt;smooney@m.c&amp;gt;&lt;br /&gt;
#* cc release@m.c and infra-all@m.c&lt;br /&gt;
# post the downtime notice to the &#039;&#039;&#039;dev.planning&#039;&#039;&#039; &amp;amp; &#039;&#039;&#039;dev.tree-management&#039;&#039;&#039; newsgroups, and send a copy of the notice to &#039;&#039;&#039;all@m.c&#039;&#039;&#039;.&lt;br /&gt;
# err on the side of over-communication, i.e. play it safe: if you think a group will be impacted by a downtime and they are not included in the lists above, contact them.&lt;br /&gt;
# All of the above notifications should go out &#039;&#039;&#039;*at least 24 hours*&#039;&#039;&#039; before the planned downtime.&lt;br /&gt;
&lt;br /&gt;
===Running the downtime===&lt;br /&gt;
# Be sure to check dev.planning, dev.tree-management newsgroups and planet.m.o regularly to ensure nothing comes up in response that would require changes to, or outright cancelling of, the downtime. A standout example here would be a chem-spill release.&lt;br /&gt;
# Before starting the downtime, CiDuty will notify sheriff in #developers, and close trees. &lt;br /&gt;
&lt;br /&gt;
=== After the downtime ===&lt;br /&gt;
CiDuty will:&lt;br /&gt;
# reopen the trees&lt;br /&gt;
# verify with sheriff that trees open, all ok?&lt;br /&gt;
# update the bugs with status (landed-and-stuck&amp;quot;, rolled-back) - it&#039;s possible this will be done first by the person who attempted the downtime. However, if not, CiDuty should update the bugs for the record.&lt;br /&gt;
# send &amp;quot;TREE OPEN&amp;quot; newsgroup post/email, listing what did / didn&#039;t get done&lt;br /&gt;
&lt;br /&gt;
== How do I coordinate downtimes with IT? ==&lt;br /&gt;
Some IT maintenance requires tree closure. Maintaining or rebooting any of the following systems needs coordinated downtimes with RelEng and IT. It usually also needs advance notice of Tree Closures posted to the [usual sources:&lt;br /&gt;
&lt;br /&gt;
* build.m.o (clobberer, build data, tryserver symbols)&lt;br /&gt;
* cruncher.build.m.o (graphs dashboard, dumping build data, dashboards, pulse)&lt;br /&gt;
* cvs.mozilla.org (talos)&lt;br /&gt;
* hg.mozilla.org (firefox source repos, build repos)&lt;br /&gt;
* tinderbox.mozilla.org (central reporting point for all builds)&lt;br /&gt;
* ftp.mozilla.org (release updates on beta channel)&lt;br /&gt;
* stage.mozilla.org (publishing builds, downloading builds for talos/unittest)&lt;br /&gt;
* graphs.mozilla.org (performance tracking)&lt;br /&gt;
* buildbot-rw-vip.db.scl3.mozilla.com (buildbot scheduler db, graphserver?)&lt;br /&gt;
* buildbot-ro-vip.db.scl3.mozilla.com (used by cruncher)&lt;br /&gt;
* mail.build.mozilla.org - currently dm-mail03.m.o (build mail to tinderbox)&lt;br /&gt;
* aus3-staging.mozilla.org (update snippets)&lt;br /&gt;
* nm-ops03.build.mozilla.org (releng VMs)&lt;br /&gt;
* nagios.mozilla.org (monitoring)&lt;br /&gt;
* relengweb1.dmz.scl3.mozilla.com (replacement for build.m.o)&lt;br /&gt;
* tbpl.mozilla.org (build status) &lt;br /&gt;
&lt;br /&gt;
For any questions, or if you&#039;re not sure about a particular server, please check with &#039;&#039;&#039;|ciduty&#039;&#039;&#039; in #ci. &lt;br /&gt;
 &lt;br /&gt;
If possible, consolidate RelEng and IT downtimes that need tree closures to avoid the disruption of having two tree closures soon after each other. This is &amp;quot;nice to do&amp;quot;, not a &amp;quot;requirement&amp;quot;; if it reduces risk by doing two separate downtimes, that&#039;s fine!&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Buildduty/day_1_checklist&amp;diff=1193731</id>
		<title>Buildduty/day 1 checklist</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Buildduty/day_1_checklist&amp;diff=1193731"/>
		<updated>2018-05-14T06:23:58Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Update BuildDuty to CiDuty. Renaming project&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
Welcome to CiDuty! &lt;br /&gt;
&lt;br /&gt;
This page is meant to serve as a resource for new CiDuty people getting up to speed and ensuring they have access to the appropriate systems that they are expected to use.&lt;br /&gt;
&lt;br /&gt;
= CiDuty and the Manifesto =&lt;br /&gt;
&lt;br /&gt;
* Before you start it would be a good idea to make sure you know what CiDuty is all about. Please have a read through of [[ReleaseEngineering/Buildduty_manifesto|the manifesto]]&lt;br /&gt;
&lt;br /&gt;
= Access =&lt;br /&gt;
&lt;br /&gt;
== SSO ==&lt;br /&gt;
&lt;br /&gt;
Generally, we rely on [https://auth0.com/ auth0] across Mozilla for authentication and [https://mana.mozilla.org/wiki/display/SYSADMIN/LDAP+Architecture LDAP] for authorization. Once given LDAP and you have created a permanent password, you can use that to login to the [https://sso.mozilla.com SSO portal]. From SSO, you should have links to various services from email, irc, calendar, slack, mana, etc. More on each of those later on this page&lt;br /&gt;
&lt;br /&gt;
== login.mozilla.com ==&lt;br /&gt;
&lt;br /&gt;
[https://login.mozilla.com/ login.mozilla.com] is where you can change a number of authentication/authorization access bits that you have control over. Each todo in this section assumes you have access to this page.&lt;br /&gt;
&lt;br /&gt;
=== LDAP password reset ===&lt;br /&gt;
&lt;br /&gt;
If you were given a temporary ldap password or you haven&#039;t created your own password yet, you should do this now.&lt;br /&gt;
&lt;br /&gt;
=== SSH ===&lt;br /&gt;
&lt;br /&gt;
Upload your public ssh key. It is a good idea to generate a separate ssh keypair from your personal one or any other that you have created in the past and use that explicitly for CiDuty and upload that. Follow this [[Security/Guidelines/OpenSSH#OpenSSH_client|SSH guidelines doc]] on how to generate, configure, and use your ssh key.&lt;br /&gt;
&lt;br /&gt;
note: example ssh config for accessing our systems given below in Jumphost section&lt;br /&gt;
&lt;br /&gt;
=== PGP ===&lt;br /&gt;
&lt;br /&gt;
We use pgp keys to share private information, secrets, and verify that the source came from someone we trust. Generate a keypair for this and upload your public key so others can find it. It would be really good if you could have other people sign your key, adding more trust that this key really belongs to you.&lt;br /&gt;
&lt;br /&gt;
You can use the the [https://mana.mozilla.org/wiki/display/SD/Generating+a+GPG+Public+Key pgp quickstart guide on mana] or you can use the The [https://www.gnupg.org/gph/en/manual.html GNU Privacy Handbook] for reference.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VPN ===&lt;br /&gt;
&lt;br /&gt;
Many of our systems are behind a private network in addition to auth0. Follow the prompts to generate and download an openVPN certificate that you can use to import to your vpn client.&lt;br /&gt;
&lt;br /&gt;
See the instructions on how to [https://mana.mozilla.org/wiki/display/SD/VPN install and configure your VPN client] and help choosing the right client for your platform.&lt;br /&gt;
&lt;br /&gt;
note: macOS and Windows users should use [https://www.sparklabs.com/viscosity/ Viscosity]. This application comes with a free 30 day trial. During your trial, your manager can help you create a ServiceNow ticket to get a Viscosity full license. &lt;br /&gt;
&lt;br /&gt;
=== MFA ===&lt;br /&gt;
&lt;br /&gt;
This MFA account is specific to login.mozilla.com and is used for LDAP/auth0 based logins. Follow the instructions to download the Duo Mobile app and create a Mozilla account.&lt;br /&gt;
&lt;br /&gt;
note: later on in this page we will create more MFA accounts for various systems like Github and accessing our Jumphost&lt;br /&gt;
&lt;br /&gt;
== Jumphost ==&lt;br /&gt;
&lt;br /&gt;
To access any of Release Engineering, Taskcluster, and Release Operations hosts directly, you will need to go through VPN -&amp;gt; a Jumphost machine -&amp;gt; Separate MFA -&amp;gt; your target host.&lt;br /&gt;
&lt;br /&gt;
To do that, you and your manager will need to file a ticket against Release Operations and have them send you an invite to add an MFA account on your Duo App.&lt;br /&gt;
&lt;br /&gt;
Then once you have your Jumphost MFA setup correctly, you will need to have your ssh config to correctly route through the jumphost before trying the target host you want.&lt;br /&gt;
&lt;br /&gt;
example ssh config:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ruby&amp;quot;&amp;gt;&lt;br /&gt;
# Ensure KnownHosts are unreadable if leaked - it is otherwise easier to know which hosts your keys have access to.&lt;br /&gt;
HashKnownHosts yes&lt;br /&gt;
# Host keys the client accepts - order here is honored by OpenSSH&lt;br /&gt;
HostKeyAlgorithms ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ssh-ed25519,ssh-rsa,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521,ecdsa-sha2-nistp384,ecdsa-sha2-nistp256&lt;br /&gt;
&lt;br /&gt;
Host hg.mozilla.org git.mozilla.org&lt;br /&gt;
    User USERNAME@mozilla.com&lt;br /&gt;
    Compression yes&lt;br /&gt;
    ServerAliveInterval 300&lt;br /&gt;
&lt;br /&gt;
Host *.mozilla.com&lt;br /&gt;
    User USERNAME&lt;br /&gt;
    IdentityFile ~/.ssh/id_rsa_mozilla_2017-05-12&lt;br /&gt;
    Compression yes&lt;br /&gt;
    ServerAliveInterval 300&lt;br /&gt;
&lt;br /&gt;
Host *.build.mozilla.org&lt;br /&gt;
    Compression yes&lt;br /&gt;
    User cltbld&lt;br /&gt;
    ServerAliveInterval 300&lt;br /&gt;
&lt;br /&gt;
Host rejh?.srv.releng.????.mozilla.com&lt;br /&gt;
    ControlMaster auto&lt;br /&gt;
    ControlPath ~/.ssh/ssh-%C&lt;br /&gt;
    ControlPersist 10m&lt;br /&gt;
    ForwardAgent no&lt;br /&gt;
 &lt;br /&gt;
Host *.releng.mdc1.mozilla.com !rejh?.srv.releng.mdc1.mozilla.com !*.private.releng.????.mozilla.com&lt;br /&gt;
    ProxyJump rejh1.srv.releng.mdc1.mozilla.com&lt;br /&gt;
 &lt;br /&gt;
Host *.releng.us??.mozilla.com *.releng.scl3.mozilla.com !rejh?.srv.releng.????.mozilla.com !*.private.releng.scl3.mozilla.com&lt;br /&gt;
    ProxyJump rejh1.srv.releng.scl3.mozilla.com&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== CiDuty LDAP groups ==&lt;br /&gt;
&lt;br /&gt;
You may have access to the [https://ldapadmin1.private.scl3.mozilla.com/manage/ ldap admin page] and see your own groups that you have on your record. This page is behind vpn and auth0.&lt;br /&gt;
&lt;br /&gt;
Although you can read your current groups, you will not be able to modify them. To extend with CiDuty groups that you need. You and your manager will need to file a ticket for them under &amp;quot;MOC: Service Requests&amp;quot;&lt;br /&gt;
&lt;br /&gt;
example ldap groups they may have by default:&lt;br /&gt;
  cn=corp-vpn,ou=groups,dc=mozilla&lt;br /&gt;
  cn=IntranetWiki,ou=groups,dc=mozilla&lt;br /&gt;
  cn=irccloud,ou=groups,dc=mozilla&lt;br /&gt;
  cn=mfa,ou=groups,dc=mozilla&lt;br /&gt;
  cn=phonebook_access,ou=groups,dc=mozilla&lt;br /&gt;
  cn=team_moco,ou=groups,dc=mozilla&lt;br /&gt;
  cn=vpn_corp,ou=groups,dc=mozilla&lt;br /&gt;
  cn=vpn_default,ou=groups,dc=mozilla&lt;br /&gt;
&lt;br /&gt;
example ldap groups you may need to file for and request added (example, Bug 1434168):&lt;br /&gt;
  cn=releng,ou=groups,dc=mozilla&lt;br /&gt;
  cn=RelEngWiki,ou=groups,dc=mozilla&lt;br /&gt;
  cn=vpn_releng,ou=groups,dc=mozilla&lt;br /&gt;
  cn=vpn_releng_loan,ou=groups,dc=mozilla&lt;br /&gt;
  cn=vpn_relengwiki,ou=groups,dc=mozilla&lt;br /&gt;
  cn=vpn_tooltooleditor,ou=groups,dc=mozilla&lt;br /&gt;
  cn=inventory,ou=groups,dc=mozilla&lt;br /&gt;
  cn=inventory_build,ou=groups,dc=mozilla&lt;br /&gt;
  cn=vpn_inventory,ou=groups,dc=mozilla&lt;br /&gt;
  cn=nagiosadmin,ou=groups,dc=mozilla&lt;br /&gt;
  cn=GraphsAdmin,ou=groups,dc=mozilla&lt;br /&gt;
  cn=active_scm_level_1,ou=groups,dc=mozilla&lt;br /&gt;
  cn=all_scm_level_1,ou=groups,dc=mozilla&lt;br /&gt;
  cn=vpn_genericrhel6,ou=groups,dc=mozilla&lt;br /&gt;
&lt;br /&gt;
= Communications =&lt;br /&gt;
&lt;br /&gt;
== Mail ==&lt;br /&gt;
Mozilla mail is handled by [https://mail.google.com/ Gmail] now.&lt;br /&gt;
&lt;br /&gt;
Have your manager subscribe you to this list if you are not already.&lt;br /&gt;
&lt;br /&gt;
=== Mailing lists ===&lt;br /&gt;
&lt;br /&gt;
Need permission:&lt;br /&gt;
* [https://groups.google.com/a/mozilla.com/forum/?hl=en#!forum/buildduty buildduty@mozilla.com] - this is our team email. Ask owner (e.g. jlund) for access&lt;br /&gt;
* [https://groups.google.com/a/mozilla.com/forum/?hl=en#!forum/releng-puppet-mail Puppet Mail] (warning: you will want to filter this as it can send a lot of mail)&lt;br /&gt;
&lt;br /&gt;
You&#039;ll also need to manually subscribe to the following public lists:&lt;br /&gt;
* [https://lists.mozilla.org/listinfo/release-engineering release-engineering] public mailing list&lt;br /&gt;
* [https://lists.mozilla.org/listinfo/dev-planning mozilla.dev.planning]&lt;br /&gt;
* [https://lists.mozilla.org/listinfo/dev-tree-management mozilla.dev.tree-management]&lt;br /&gt;
* https://mail.mozilla.org/listinfo/taskcluster-announce - announcements of events, major changes (low volume, no discussion)&lt;br /&gt;
* https://lists.mozilla.org/listinfo/tools-taskcluster - general taskcluster discussion&lt;br /&gt;
* [https://groups.google.com/a/mozilla.com/forum/#!forum/firefox-ci firefox-ci] mailing list&lt;br /&gt;
* TODO public relops&lt;br /&gt;
&lt;br /&gt;
These are available as [news://news.mozilla.org newsgroups], google groups, and [https://lists.mozilla.org/listinfo Mailman lists]&lt;br /&gt;
&lt;br /&gt;
== Calendar ==&lt;br /&gt;
Like mail, we now use [https://www.google.com/calendar/ Google calendar].&lt;br /&gt;
&lt;br /&gt;
You&#039;ll want to subscribe to the following public calendars:&lt;br /&gt;
* [https://calendar.google.com/calendar/embed?src=mozilla.com_2d32343333353036312d393737%40resource.calendar.google.com Release Engineering - Public]&lt;br /&gt;
* [https://www.google.com/calendar/feeds/mozilla.com_toi1svbfjd878aslutkgj32dco%40group.calendar.google.com/public/basic Releng PTO]&lt;br /&gt;
* TODO public taskcluster&lt;br /&gt;
* TODO public relops&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bugzilla ==&lt;br /&gt;
&lt;br /&gt;
Almost everything at Mozilla goes through Bugzilla. [https://bugzilla.mozilla.org/createaccount.cgi Create a Bugzilla account] if you have not already. You should setup MFA and can reuse your LDAP based MFA account.&lt;br /&gt;
&lt;br /&gt;
You&#039;ll need a few tweaks to your account to get access to everything releng-related:&lt;br /&gt;
* Use your LDAP email if you would like. You can use a personal one or bugzilla specific one if you prefer to filter that way&lt;br /&gt;
* Add privileges for bugzilla group &amp;quot;build&amp;quot; (Mozilla Build Team) (Can be done by catlee or bugzilla admin.)&lt;br /&gt;
* Add your irc nickname &amp;amp;amp; ldap username as &amp;amp;quot;aliases&amp;amp;quot; for your account&lt;br /&gt;
** log into bugzilla &amp;amp;amp; follow links &amp;amp;quot;Preferences&amp;amp;quot; -&amp;amp;gt; &amp;amp;quot;Account Information&amp;amp;quot;&lt;br /&gt;
** append the aliases, with a leading &#039;:&#039; and enclosed in brackets (&#039;[]&#039;) to the &amp;amp;quot;Real Name&amp;amp;quot; field&lt;br /&gt;
** e.g.: &amp;amp;quot;&amp;lt;tt&amp;gt;Chris AtLee [:catlee]&amp;lt;/tt&amp;gt;&amp;amp;quot;&lt;br /&gt;
* [https://bugzilla.mozilla.org/page.cgi?id=quicksearch.html QuickSearch help]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Vidyo ==&lt;br /&gt;
&lt;br /&gt;
Our primary two way video meeting platform is Vidyo. Basic usage instructions are [https://mana.mozilla.org/wiki/display/SD/Vidyo+Desktop+3 here]. Especially if you are running linux, it is highly recommended that you install the client and make test calls prior to any meeting.&lt;br /&gt;
&lt;br /&gt;
Special [https://mana.mozilla.org/wiki/display/~gene@mozilla.com/How+to+get+Vidyo+working+on+Ubuntu+16.04+and+newer Ubuntu instructions] that may help&lt;br /&gt;
&lt;br /&gt;
Add to your contact list the CiDuty room&lt;br /&gt;
&lt;br /&gt;
== IRC ==&lt;br /&gt;
&lt;br /&gt;
Historically, IRC is the primary place for chat based communication. Many people use the [https://mana.mozilla.org/wiki/display/SD/IRCCloud+Account+Setup%20IRCCloud%20cloud locally-hosted irccloud] instance. SSO should have a link to the irccloud instance. Servicedesk has some great [https://mana.mozilla.org/wiki/display/SD/Internet+Relay+Chat+-+IRC getting started tips] for IRC.&lt;br /&gt;
&lt;br /&gt;
Useful channels&lt;br /&gt;
* #ci, #taskcluster, #developers, #mobile, #ateam, #moc&lt;br /&gt;
&lt;br /&gt;
Protected channels&lt;br /&gt;
* #platform-ops-soc, #platform-ops-alerts, #access-alerts&lt;br /&gt;
  * pw in secrets repo&lt;br /&gt;
* you don&#039;t need to join all of these but some may be useful: https://mana.mozilla.org/wiki/display/SYSADMIN/IRC+use+within+IT&lt;br /&gt;
  * pw in mana&lt;br /&gt;
&lt;br /&gt;
== Slack ==&lt;br /&gt;
&lt;br /&gt;
Some parts of Mozilla prefer Slack to IRC, more info on [https://mana.mozilla.org/wiki/display/CCT/Slack mana].&lt;br /&gt;
&lt;br /&gt;
== Wiki ==&lt;br /&gt;
&lt;br /&gt;
wiki.mozilla.org (here) is the main source for public documentation&lt;br /&gt;
&lt;br /&gt;
== Mana ==&lt;br /&gt;
&lt;br /&gt;
Some internal Mozilla systems (IT, HR) are documented on [https://mana.mozilla.org mana]. File a [https://mozilla.service-now.com/ ServiceNow] ticket if you don&#039;t have access when you start.&lt;br /&gt;
&lt;br /&gt;
== Google Drive ==&lt;br /&gt;
&lt;br /&gt;
Google Drive (formerly Google docs) is a preferred way to share things these days. This includes spreadsheets and documents that will change a great deal over time. &lt;br /&gt;
&lt;br /&gt;
Google Drive access should be enabled with your email account when you start. If you need access to a particular document, talk to the document owner or your manager/mentor.&lt;br /&gt;
&lt;br /&gt;
= Development =&lt;br /&gt;
&lt;br /&gt;
== Mercurial (hg) ==&lt;br /&gt;
&lt;br /&gt;
Most development in releng (and at Mozilla writ-large) is stored in version control using [http://mercurial.selenic.com/ hg]. &lt;br /&gt;
&lt;br /&gt;
There is an excellent step-by-step guide for setting up and using hg: [https://mozilla-version-control-tools.readthedocs.org/en/latest/hgmozilla/index.html Mercurial for Mozillians]&lt;br /&gt;
&lt;br /&gt;
The root webview of the Mozilla hg repositories is here: https://hg.mozilla.org/&lt;br /&gt;
&lt;br /&gt;
There are 3 levels of commit access:&lt;br /&gt;
* Level 1 access allows you to use the [[ReleaseEngineering/TryServer|Try Server]] and setup user repos. As a new contributor, you should request this on day one.&lt;br /&gt;
* Level 2 access is required to land code in the build and project repos. Once you have a proven track record of successful patches, you can ask your manager/mentor to vouch for your Level 2 access. Your manager/mentor can also land patches for you until you receive Level 2 access.&lt;br /&gt;
* Level 3 access is required to land code in [https://hg.mozilla.org/mozilla-central mozilla-central] and its derived integration &amp;amp; release branches. At some point in your Mozilla contribution story, you may need Level 3 access but many contributors never do. Talk to your manager/mentor if you think you need this access. You should already have Level 2 access when you request Level 3.&lt;br /&gt;
&lt;br /&gt;
You need to file an IT bug to get hg commit access. Follow the instructions for [https://www.mozilla.org/en-US/about/governance/policies/commit/ Becoming a Mozilla Committer], and for Level 2, specify you need access to (at least) hg.mozilla.org/build/* (Product/Component: mozilla.org/Repository Account Requests). &lt;br /&gt;
* example request: {{bug|703351}}&lt;br /&gt;
&lt;br /&gt;
== Git &amp;amp; Github ==&lt;br /&gt;
&lt;br /&gt;
There are git mirrors of many popular Mozilla repositories. One of the Mozilla github admins (jlund) can add you to the following GitHub groups:&lt;br /&gt;
* TODO create a Builduty team under Mozilla&lt;br /&gt;
&lt;br /&gt;
There are also a handful of git repos hosted directly by Mozilla. Your manager/mentor will let you know if you need access to one of these. ([[Github|See also]])&lt;br /&gt;
&lt;br /&gt;
= Secrets =&lt;br /&gt;
&lt;br /&gt;
Releng and Relops have a shared repo of secrets. Please reach out to jlund or another manager for instructions on how to access and ask to be add yourself as a recipient to every secret that the rest of the CiDuty team (users/buildduty-fingerprints) has access to&lt;br /&gt;
&lt;br /&gt;
= Releng AWS account =&lt;br /&gt;
&lt;br /&gt;
File a release engineering &amp;quot;general&amp;quot; ticket and needinfo jlund or another releng manager to create a user account and add you to the CiDuty group&lt;br /&gt;
&lt;br /&gt;
= Other Services =&lt;br /&gt;
&lt;br /&gt;
For access to other services, you&#039;ll need file a couple of bugs:&lt;br /&gt;
* Access to [http://nagios.mozilla.org/nagios/ Nagios]&lt;br /&gt;
** File a bug in bugzilla under &#039;MOC: Service Requests&#039;&lt;br /&gt;
* Access to [https://inventory.mozilla.org/en-US/#inventory inventory]&lt;br /&gt;
** File a bug under &#039;Infrastructure &amp;amp; Operations::WebOps: Inventory&#039;&lt;br /&gt;
* Access to Papertrail&lt;br /&gt;
** ask jlund or another manager to be added to the encrypted file in the secrets repo&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=CIDuty/Reconfigs&amp;diff=1193730</id>
		<title>CIDuty/Reconfigs</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=CIDuty/Reconfigs&amp;diff=1193730"/>
		<updated>2018-05-14T06:16:13Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Update BuildDuty to CiDuty. Renaming project&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
{{Release Engineering How To|Reconfigs}}&lt;br /&gt;
&lt;br /&gt;
A reconfig (short for &amp;quot;reconfigure the buildbot masters&amp;quot;) is how changes to buildbot configurations make it into production. CiDuty is responsible for running reconfigs.&lt;br /&gt;
&lt;br /&gt;
In a nutshell, a reconfig consists of:&lt;br /&gt;
* moving the &#039;&#039;production&#039;&#039; tag for the [https://hg.mozilla.org/build/buildbot-configs buildbot-configs] repository, and the &#039;&#039;production-0.8&#039;&#039; tag for the [https://hg.mozilla.org/build/buildbotcustom buildbotcustom] to the current tip (or chosen revision)&lt;br /&gt;
* updating the source checkout of both repositories on all the buildbot masters&lt;br /&gt;
* updating the [https://hg.mozilla.org/build/tools tools] checkout on each master to the current tip&lt;br /&gt;
* executing a buildbot reconfig command on each buildbot master &lt;br /&gt;
&lt;br /&gt;
Please see the [[ReleaseEngineering/How_To/Land_Buildbot_Master_Changes|instructions for how to land buildbot changes]] for more information.&lt;br /&gt;
&lt;br /&gt;
It is polite to ask in #releng if anyone has further changes to land before starting the reconfig process.&lt;br /&gt;
&lt;br /&gt;
= How to reconfig =&lt;br /&gt;
The current state of the art is to use the [https://hg.mozilla.org/build/tools/file/default/buildfarm/maintenance/end_to_end_reconfig.sh end_to_end_reconfig.sh] script. To see all the available options the script provides:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bash ./end_to_end_reconfig.sh -h&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The end_to_end_reconfig.sh script uses the original [https://wiki.mozilla.org/ReleaseEngineering/Managing_Buildbot_with_Fabric fabric scripts] as it&#039;s core, but also takes care of updating the wiki, updating bugs affected by the merge, and updating the tools checkouts on foopies as well. As such, the script has a few, indirect python module dependencies:&lt;br /&gt;
* fabric&lt;br /&gt;
* requests&lt;br /&gt;
However, the script will try to install the dependencies automatically if they are missing.&lt;br /&gt;
&lt;br /&gt;
In order to update the wiki/bugzilla, the script also requires your credentials for those services in a config file:&lt;br /&gt;
&lt;br /&gt;
 # Needed if updating wiki - note the wiki does *not* use your LDAP credentials...&lt;br /&gt;
 export WIKI_USERNAME=XXX&lt;br /&gt;
 export WIKI_PASSWORD=XXXXXXXX&lt;br /&gt;
 &lt;br /&gt;
 # Needed if updating Bugzilla bugs to mark them as in production - *no* Persona integration - must be a  native Bugzilla account.. .&lt;br /&gt;
 # Details for the &#039;Release Engineering SlaveAPI Service&#039; &amp;lt;slaveapi@mozilla.releng.tld&amp;gt; Bugzilla user can be found in the RelEng&lt;br /&gt;
 # private repo, in file passwords/slaveapi-bugzilla.txt.gpg (needs decrypting with an approved gpg key).&lt;br /&gt;
 export BUGZILLA_USERNAME=&#039;XXX@mozilla.com&#039;&lt;br /&gt;
 export BUGZILLA_PASSWORD=&#039;XXXXXXXXX&#039;&lt;br /&gt;
 &lt;br /&gt;
 # Used for slaveapi actions&lt;br /&gt;
 export LDAP_USERNAME=&#039;XXX@mozilla.com&#039;&lt;br /&gt;
 export LDAP_PASSWORD=&#039;XXXXXXXX&#039;&lt;br /&gt;
&lt;br /&gt;
The script will also: &lt;br /&gt;
* create a template config file (default is &#039;&#039;~/.reconfig/config&#039;&#039;) if it does not exist, but you&#039;ll need to fill in your own credentials before it will work.&lt;br /&gt;
* attempt to update IRC with reconfig status. To do so, it uses a minimal bash IRC client called [http://tools.suckless.org/ii/ ii]. You can [http://tools.suckless.org/ii/ download ii from their website], or install it via a package manager (e.g. port install ii). Updating irc is non-fatal, but make sure &#039;&#039;ii&#039;&#039; is in your PATH if you want it to work.&lt;br /&gt;
* create a temporary folder (&#039;&#039;/tmp/reconfig&#039;&#039;) to store the reconfig files. When starting a new reconfig, you should delete the reconfig folder corresponding to an older run of the script before attempting to run it again.&lt;br /&gt;
&lt;br /&gt;
= Updating the pinned version of mozharness on mozilla-central =&lt;br /&gt;
The revision of [https://hg.mozilla.org/build/mozharness mozharness] used by a particular branch of mozilla code is now tracked in-tree. As a courtesy to developers and sheriffs, CiDuty is expected to update the pinned revision in the mozilla-central integration branch when they move the &amp;lt;code&amp;gt;production&amp;lt;/code&amp;gt; tag. The change will be merged from mozilla-central to other branches by sheriffs as part of their normal duties.&lt;br /&gt;
&lt;br /&gt;
The pinned revision is tracked in this file: http://hg.mozilla.org/mozilla-central/file/920ded6a1f77/testing/mozharness/mozharness.json&lt;br /&gt;
&lt;br /&gt;
Update the revision in the file to point to the revision of the new mozharness &amp;lt;code&amp;gt;production&amp;lt;/code&amp;gt; tag and land normally.&lt;br /&gt;
&lt;br /&gt;
NOTE: once all of mozharness moves in-tree, this step will be unnecessary.&lt;br /&gt;
&lt;br /&gt;
= Updating master/master_config.json =&lt;br /&gt;
&lt;br /&gt;
If you have added/removed a platform that will change the content of master/master_config.json in tools/buildfarm/maintenance/production_masters.json, you&#039;ll need to manually update the masters that this change impacts because the end_to_end_reconfig.sh script does not do this step. {{bug|1215294}} opened to enable this in the script.&lt;br /&gt;
&lt;br /&gt;
Example&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /builds/buildbot/tests1-linux64/ &lt;br /&gt;
export PRODUCTION_MASTERS=tools/buildfarm/maintenance/production-masters.json&lt;br /&gt;
python buildbot-configs/update-master-json.py $PRODUCTION_MASTERS master/master_config.json&lt;br /&gt;
make checkconfig&lt;br /&gt;
make reconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Help, my reconfig failed! =&lt;br /&gt;
Assuming you&#039;re using the end_to_end_reconfig.sh script, you can resume after fixing the error. Errors and exit state can be found in the manage_masters-##########.log which is created in /tmp/reconfig by default. The hourly auto reconfig logs are in the bb dir as &amp;lt;tt&amp;gt;reconfig.{log,lock}&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Running the script again will yield the following menu:&lt;br /&gt;
&lt;br /&gt;
 * Please select one of the following options:&lt;br /&gt;
 1) Continue with existing reconfig (e.g. if you have resolved a merge conflict)&lt;br /&gt;
 2) Delete saved state for existing reconfig, and start from fresh&lt;br /&gt;
 3) Abort and exit reconfig process&lt;br /&gt;
&lt;br /&gt;
Number 1 is usually the best option here, especially if the hg operations actually succeeded during the previous attempt. This way the wiki/bugzilla updates will still be properly applied.&lt;br /&gt;
&lt;br /&gt;
= Help, my reconfig is stuck! =&lt;br /&gt;
Reconfigs can take as little as 30 minutes to run, but can take up to 2 hours depending on how busy the systems are. &lt;br /&gt;
&lt;br /&gt;
In general, linux test masters are the slowest to reconfig. You can tail the manage_masters-##########.log to keep up with progress. By default, this log is created in /tmp/reconfig. The hourly auto reconfig logs are in the bb dir as &amp;lt;tt&amp;gt;reconfig.{log,lock}&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If the reconfig gets stuck, see [[ReleaseEngineering/How_To/Unstick_a_Stuck_Slave_From_A_Master|How To/Unstick a Stuck Slave From A Master]].&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=CiDuty/actionable&amp;diff=1193729</id>
		<title>CiDuty/actionable</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=CiDuty/actionable&amp;diff=1193729"/>
		<updated>2018-05-14T06:12:30Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Updated BuildDuty to CiDuty. Renaming project&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Intro ==&lt;br /&gt;
CiDuty is responsible for routine keep-the-lights-on (KTLO) waterline tasks. These include but are not limited to providing loaners to developers, triaging urgent break-fix issues, handling trees closures, and maintaining documentation. If any of these come up early in CiDuty morning, they take priority over anything else. CiDuty should continue performing checks on a regular basis throughout &lt;br /&gt;
the day to make sure things are in a good state. &lt;br /&gt;
&lt;br /&gt;
== Continuously ==&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039; Nagios and SNS Alerts - Monitor alerts from [https://nagios.mozilla.org/releng-scl3/cgi-bin/status.cgi?host=all&amp;amp;servicestatustypes=28&amp;amp;hoststatustypes=15&amp;amp;serviceprops=270346&amp;amp;hostprops=270346/ SCL3] and [https://nagios1.private.releng.mdc1.mozilla.com/releng-mdc1/cgi-bin/status.cgi?host=all&amp;amp;servicestatustypes=28/ MDC1] Nagios instances and SNS alerts from [https://papertrailapp.com/dashboard/ papertrail] in the #ci IRC channel. Triage unacknowledged alerts and file/fix bugs as necessary according to the [https://wiki.mozilla.org/ReleaseEngineering/How_To/ Release Engineering How-Tos]. Make sure that all CiDuty bugs have the correct priority set according to the [[ReleaseEngineering/Buildduty_actionable#Buildduty_Bugzilla_Priority_levels/pending_counts| priority list]] below. A few examples of such alerts include:&lt;br /&gt;
* High CI wait times&lt;br /&gt;
* CI pending job backlogs&lt;br /&gt;
* Buildbot misconfigurations&lt;br /&gt;
* Relengbot failures&lt;br /&gt;
* Golden AMI generation failures&lt;br /&gt;
* Unresponsive machines&lt;br /&gt;
* DIsk/RAM/CPU issues&lt;br /&gt;
* Failed processes&lt;br /&gt;
* Buildbot master process age&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039; Monitor the #releng and #taskcluster irc channels for requests/questions from developers and other ops teams.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3.&#039;&#039;&#039; Bug triaging - The [https://secure.pub.build.mozilla.org/builddata/reports/slave_health/buildduty_report.html CiDuty report] (generated hourly) should be your starting point for bug triaging. Click on the bug number link in the CiDuty report to see the specified bug in bugzilla. You can also view the list of bugs with this [https://mzl.la/2wDHhDZ bugzilla search].&lt;br /&gt;
* At the top, it lists unassigned bugs for loan requests. Keep this queue empty and make sure developers are unblocked. The wiki has instructions for [https://wiki.mozilla.org/ReleaseEngineering/How_To/Loan_a_Slave/ how to loan a machine]. &lt;br /&gt;
* After loans are taken care of, make sure that bugs in the &amp;quot;No dependencies&amp;quot; section get dependencies filed, e.g. diagnosis bug, decomm bug, etc. The specific next steps will depend on the issue; [https://wiki.mozilla.org/ReleaseEngineering/How_To/ Release Engineering How-Tos] has details covering each case. &lt;br /&gt;
* Do the same for bugs in the &amp;quot;All dependencies resolved&amp;quot; section to make sure the next action is taken (re-image, decomm, return to production, etc). Again, the specific next steps will depend on the issue.&lt;br /&gt;
* Systemic issues (e.g. test failures that require further investigation) should not stay in the CiDuty bugzilla component. It may be OK for you to take the bug and work on it depending on how much time you have, but generally these types of bugs should be escalated to the appropriate team and moved to their component (e.g. General Automation) once CiDuty has triaged them.&lt;br /&gt;
&lt;br /&gt;
== Daily ==&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039; Review email from AWS looking for announced maintenance, degraded instances, etc. Resolve any issues with instances specified in the AWS email, and notify the appropriate groups of any planned maintenance.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039; Check for and terminate long-running/outdated AWS instances.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3.&#039;&#039;&#039; Check slave health for errored instances.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4.&#039;&#039;&#039; Perform buildbot reconfigs if needed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5.&#039;&#039;&#039; Perform buildbot master restarts as needed.&lt;br /&gt;
&lt;br /&gt;
== Weekly ==&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039; Review AWS instances. All those AWS that have &#039;Unknown State/Type&#039; or have been &#039;stopped for a while&#039;.&lt;br /&gt;
* check the AWS sanity logs in [https://papertrailapp.com/dashboard/ papertrail]&lt;br /&gt;
* for each host under heading &amp;quot;&#039;&#039;[https://papertrailapp.com/systems/74950614/events?q=Unknown%20State Unknown State]&#039;&#039;&amp;quot;, &amp;quot;&#039;&#039;[https://papertrailapp.com/systems/74950614/events?q=Unknown%20Type Unknown Type]&#039;&#039;&amp;quot;, follow this [https://wiki.mozilla.org/ReleaseEngineering/How_To/Manage_AWS_slaves#Unknown_Type_Or_State_Instances/ guide]&lt;br /&gt;
* for each host under heading &amp;quot;&#039;&#039;[https://papertrailapp.com/systems/74950614/events?q=Stopped%20For%20A%20While Stopped For A While]&#039;&#039;&amp;quot;, follow this [https://wiki.mozilla.org/ReleaseEngineering/How_To/Manage_AWS_slaves#Stopped_For_A_While_Instances/ guide] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039; Run the aws_manage_routingtables script to make sure that the AWS routing tables are up to date and error free. Fix any reported errors&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3.&#039;&#039;&#039; Review the loaner email report and verify that loaners are still required. Reimage/terminate returned loaners as necessary&lt;br /&gt;
&lt;br /&gt;
== CiDuty Bugzilla Priority levels ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;P1:&#039;&#039;&#039; Waterline KTLO work.&lt;br /&gt;
This includes developer loaners, urgent break-fix, trees closures, etc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;P2:&#039;&#039;&#039; Projects above waterline that take high priority and have hard deadlines.&lt;br /&gt;
This includes various fixes that we need to take care of once, not on a recurring basis. Examples of this are [https://bugzilla.mozilla.org/show_bug.cgi?id=1363897/ 1363897]  (legacy extensions disabling prior to 57) and [https://bugzilla.mozilla.org/show_bug.cgi?id=1315977/ 1315977]  (upgrading python to 2.7.6 on mac builders)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;P3.&#039;&#039;&#039; Training/Daily Documentation.&lt;br /&gt;
This includes onboarding and runbook documentation. Creating/expanding this documentation will help us deliver faster on other bugs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;P4.&#039;&#039;&#039; TC migration cleanup.&lt;br /&gt;
This includes all tasks related to decommissioning, capacity and load reduction, etc as we transition from Buildbot to Taskcluster.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;P5.&#039;&#039;&#039; Operational development.&lt;br /&gt;
This includes adding new scripts or improving existing scripts, e.g. to reduce running times, improve logging and notifications system, etc.&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=CIDuty/How_To/How_To_Loan_BD&amp;diff=1192033</id>
		<title>CIDuty/How To/How To Loan BD</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=CIDuty/How_To/How_To_Loan_BD&amp;diff=1192033"/>
		<updated>2018-04-09T18:34:22Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Slight alteration on layout.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction = &lt;br /&gt;
Use this page if you want to loan a machine to a developer. This guide has been updated on &#039;&#039;&#039;26 March 2018&#039;&#039;&#039; and reflects the new changes/requirements on how you should approach the process. &lt;br /&gt;
&lt;br /&gt;
The format will be as follows:&lt;br /&gt;
* Finding a server&lt;br /&gt;
* Cleaning it up&lt;br /&gt;
* Activating and Testing the VNC connection to the server&lt;br /&gt;
* Sending the credentials to the requester&lt;br /&gt;
Everything you need to do when loaning one of the two type of servers is on this page. You can safely click on the links when instructed too as you will be automatically scrolled to the next step (eg: Server Steps -&amp;gt; VNC -&amp;gt; Email).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= OSX Yosemite r7 - Test - Build Bot =&lt;br /&gt;
==  Find a server ==&lt;br /&gt;
Head to SlaveAlloc, following this link: [https://secure.pub.build.mozilla.org/slavealloc/ui/#slaves https://secure.pub.build.mozilla.org/slavealloc/ui/#slaves] and in the top-right search for &#039;&#039;&#039;yosemite-r7&#039;&#039;&#039;:&lt;br /&gt;
Look for a server that &#039;&#039;&#039;DOESN&#039;T&#039;&#039;&#039; have a note to it, such as the note in the example below, keep in mind servers with &amp;quot;&#039;&#039;&#039;migration to taskcluster&#039;&#039;&#039;&amp;quot; are not good   for loaning either:&lt;br /&gt;
[[File:Slavealloc-search-example.png]]&lt;br /&gt;
----&lt;br /&gt;
Take note of the server number, then lets find out if there is a task running on the server.&lt;br /&gt;
Follow [https://secure.pub.build.mozilla.org/buildapi/running THIS LINK] and in the top-right search for &#039;&#039;&#039;10.10.5&#039;&#039;&#039; (version of OSX yosemite). At this point there should be 2 things:&lt;br /&gt;
1) Nothing shows up. Make sure your search query is correct and if it is, it&#039;s safe to assume there are no tasks running on any of the selected servers, so feel free to pick whichever you find fancy.&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
Now if you have the server &#039;&#039;&#039;[https://wiki.mozilla.org/Buildduty/How_To/How_To_Loan_BD#Connect_to_the_server SKIP TO Connect to the server section]&#039;&#039;&#039;.&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
2) There is stuff that shows up, which means we need to do some more investigation. If after the search you see anything (as shown below) click on all the &#039;&#039;&#039;Buildmaster&#039;&#039;&#039; column links:&lt;br /&gt;
[[File:Slavealloc-search-with-results.png]]&lt;br /&gt;
----&lt;br /&gt;
The link will lead you to the task-execution page which shows you what&#039;s happening on the slave. At this point (if there are more than 5 results) I would &#039;&#039;&#039;recommend&#039;&#039;&#039; you to open a text editor as we need to keep track of which server is running. You can extract the number from the textfield in the example below:&lt;br /&gt;
[[File:Slave-alloc-buildmaster-tasknumber.png]]&lt;br /&gt;
----&lt;br /&gt;
After you have a complete list of all the busy servers, see if there are servers that are free/idle. If not, come back again 30 minutes later and check again.&lt;br /&gt;
&lt;br /&gt;
== Connect to the server ==&lt;br /&gt;
Now that we have a server number, we need to SSH into it, you can do that by typing this into the terminal. Change the DLAP to your mozilla username and XXX to the server number which you want to loan:&lt;br /&gt;
 ssh LDAP@t-yosemite-r7-XXXX.test.releng.scl3.mozilla.com&lt;br /&gt;
&lt;br /&gt;
Now run the following to commands:&lt;br /&gt;
 passwd root&lt;br /&gt;
 passwd cltbld&lt;br /&gt;
 And change the passwords to the ones offered by your team leader.&lt;br /&gt;
&lt;br /&gt;
== Cleaning up BuildBot and Puppet files ==&lt;br /&gt;
At this step we gonna run, again, 3 commands, to clean up some files from server. Like last time, run this commands one at a time.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; rm -rf /var/lib/puppet/ssl/private_keys /Library/LaunchDaemons/com.mozilla.puppet.plist \&lt;br /&gt;
   /Library/LaunchDaemons/org.mozilla.puppetize.plist ~cltbld/.bash_history \&lt;br /&gt;
   ~root/.bash_history ~root/.sh_history /etc/kcpassword ~cltbld/.ssh \&lt;br /&gt;
   /opt/runner /etc/taskcluster-worker.yml /usr/local/bin/taskcluster-worker \&lt;br /&gt;
   /usr/local/bin/generic-worker/ \&lt;br /&gt;
   /Library/LaunchDaemons/org.mozilla.pf.plist \&lt;br /&gt;
   /Library/LaunchDaemons/org.mozilla.pflog.plist \&lt;br /&gt;
   /Library/LaunchAgents/net.generic.worker.plist&lt;br /&gt;
 &lt;br /&gt;
 find /builds -maxdepth 1 -type f -print -delete&lt;br /&gt;
 &lt;br /&gt;
 sudo reboot&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT&#039;&#039;&#039;: Make sure you &#039;&#039;&#039;waste no time with the reboot&#039;&#039;&#039; after running the 2 commands. Puppet might try to be sneaky and re-puppetize the machine.&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
At this point you can skip to the next step, which is: [https://wiki.mozilla.org/Buildduty/How_To/How_To_Loan_BD#Setup.2C_test_and_grant_VNC_access Setup Test and Grant VNC access]&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= OSX Yosemite r7 - Test - TaskCluster =&lt;br /&gt;
==  Find a server ==&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
== Connect to the server ==&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
== Terminate the TC Worker ==&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
== Cleaning up TC files ==&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
= Setup, test and grant VNC access =&lt;br /&gt;
== Activate VNC on the server ==&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
== Test the VNC connection ==&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
== Grant VNC access/rights to the requester ==&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
At this point all thats left if to send the credentials to the requester.&lt;br /&gt;
&lt;br /&gt;
= Send the credentials for the server to the requester =&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=CIDuty/How_To/How_To_Loan_BD&amp;diff=1192032</id>
		<title>CIDuty/How To/How To Loan BD</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=CIDuty/How_To/How_To_Loan_BD&amp;diff=1192032"/>
		<updated>2018-04-09T18:32:54Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Added how to loan OSX Yosemite r7 Test Build Bot machines.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction = &lt;br /&gt;
Use this page if you want to loan a machine to a developer. This guide has been updated on &#039;&#039;&#039;26 March 2018&#039;&#039;&#039; and reflects the new changes/requirements on how you should approach the process. &lt;br /&gt;
&lt;br /&gt;
The format will be as follows:&lt;br /&gt;
* Finding a server&lt;br /&gt;
* Cleaning it up&lt;br /&gt;
* Activating and Testing the VNC connection to the server&lt;br /&gt;
* Sending the credentials to the requester&lt;br /&gt;
Everything you need to do when loaning one of the two type of servers is on this page. You can safely click on the links when instructed too as you will be automatically scrolled to the next step (eg: Server Steps -&amp;gt; VNC -&amp;gt; Email).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= OSX Yosemite r7 - Test - Build Bot =&lt;br /&gt;
==  Find a server ==&lt;br /&gt;
Head to SlaveAlloc, following this link: [https://secure.pub.build.mozilla.org/slavealloc/ui/#slaves https://secure.pub.build.mozilla.org/slavealloc/ui/#slaves] and in the top-right search for &#039;&#039;&#039;yosemite-r7&#039;&#039;&#039;:&lt;br /&gt;
Look for a server that &#039;&#039;&#039;DOESN&#039;T&#039;&#039;&#039; have a note to it, such as the note in the example below, keep in mind servers with &amp;quot;&#039;&#039;&#039;migration to taskcluster&#039;&#039;&#039;&amp;quot; are not good   for loaning either:&lt;br /&gt;
[[File:Slavealloc-search-example.png]]&lt;br /&gt;
----&lt;br /&gt;
Take note of the server number, then lets find out if there is a task running on the server.&lt;br /&gt;
Follow [https://secure.pub.build.mozilla.org/buildapi/running THIS LINK] and in the top-right search for &#039;&#039;&#039;10.10.5&#039;&#039;&#039; (version of OSX yosemite). At this point there should be 2 things:&lt;br /&gt;
1) Nothing shows up. Make sure your search query is correct and if it is, it&#039;s safe to assume there are no tasks running on any of the selected servers, so feel free to pick whichever you find fancy.&lt;br /&gt;
Now if you have the server &#039;&#039;&#039;[https://wiki.mozilla.org/Buildduty/How_To/How_To_Loan_BD#Connect_to_the_server SKIP TO Connect to the server section]&#039;&#039;&#039;.&lt;br /&gt;
----&lt;br /&gt;
2) There is stuff that shows up, which means we need to do some more investigation. If after the search you see anything (as shown below) click on all the &#039;&#039;&#039;Buildmaster&#039;&#039;&#039; column links:&lt;br /&gt;
[[File:Slavealloc-search-with-results.png]]&lt;br /&gt;
----&lt;br /&gt;
The link will lead you to the task-execution page which shows you what&#039;s happening on the slave. At this point (if there are more than 5 results) I would &#039;&#039;&#039;recommend&#039;&#039;&#039; you to open a text editor as we need to keep track of which server is running. You can extract the number from the textfield in the example below:&lt;br /&gt;
[[File:Slave-alloc-buildmaster-tasknumber.png]]&lt;br /&gt;
----&lt;br /&gt;
After you have a complete list of all the busy servers, see if there are servers that are free/idle. If not, come back again 30 minutes later and check again.&lt;br /&gt;
&lt;br /&gt;
== Connect to the server ==&lt;br /&gt;
Now that we have a server number, we need to SSH into it, you can do that by typing this into the terminal. Change the DLAP to your mozilla username and XXX to the server number which you want to loan:&lt;br /&gt;
 ssh LDAP@t-yosemite-r7-XXXX.test.releng.scl3.mozilla.com&lt;br /&gt;
&lt;br /&gt;
Now run the following to commands:&lt;br /&gt;
 passwd root&lt;br /&gt;
 passwd cltbld&lt;br /&gt;
 And change the passwords to the ones offered by your team leader.&lt;br /&gt;
&lt;br /&gt;
== Cleaning up BuildBot and Puppet files ==&lt;br /&gt;
At this step we gonna run, again, 3 commands, to clean up some files from server. Like last time, run this commands one at a time.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; rm -rf /var/lib/puppet/ssl/private_keys /Library/LaunchDaemons/com.mozilla.puppet.plist \&lt;br /&gt;
   /Library/LaunchDaemons/org.mozilla.puppetize.plist ~cltbld/.bash_history \&lt;br /&gt;
   ~root/.bash_history ~root/.sh_history /etc/kcpassword ~cltbld/.ssh \&lt;br /&gt;
   /opt/runner /etc/taskcluster-worker.yml /usr/local/bin/taskcluster-worker \&lt;br /&gt;
   /usr/local/bin/generic-worker/ \&lt;br /&gt;
   /Library/LaunchDaemons/org.mozilla.pf.plist \&lt;br /&gt;
   /Library/LaunchDaemons/org.mozilla.pflog.plist \&lt;br /&gt;
   /Library/LaunchAgents/net.generic.worker.plist&lt;br /&gt;
 &lt;br /&gt;
 find /builds -maxdepth 1 -type f -print -delete&lt;br /&gt;
 &lt;br /&gt;
 sudo reboot&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT&#039;&#039;&#039;: Make sure you &#039;&#039;&#039;waste no time with the reboot&#039;&#039;&#039; after running the 2 commands. Puppet might try to be sneaky and re-puppetize the machine.&lt;br /&gt;
&lt;br /&gt;
At this point you can skip to the next step, which is: [https://wiki.mozilla.org/Buildduty/How_To/How_To_Loan_BD#Setup.2C_test_and_grant_VNC_access Setup Test and Grant VNC access]&lt;br /&gt;
&lt;br /&gt;
= OSX Yosemite r7 - Test - TaskCluster =&lt;br /&gt;
==  Find a server ==&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
== Connect to the server ==&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
== Terminate the TC Worker ==&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
== Cleaning up TC files ==&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
= Setup, test and grant VNC access =&lt;br /&gt;
== Activate VNC on the server ==&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
== Test the VNC connection ==&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
== Grant VNC access/rights to the requester ==&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
At this point all thats left if to send the credentials to the requester.&lt;br /&gt;
&lt;br /&gt;
= Send the credentials for the server to the requester =&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=CIDuty/How_To/How_To_Loan_BD&amp;diff=1192030</id>
		<title>CIDuty/How To/How To Loan BD</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=CIDuty/How_To/How_To_Loan_BD&amp;diff=1192030"/>
		<updated>2018-04-09T18:24:31Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Live preview of formating.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction = &lt;br /&gt;
Use this page if you want to loan a machine to a developer. This guide has been updated on &#039;&#039;&#039;26 March 2018&#039;&#039;&#039; and reflects the new changes/requirements on how you should approach the process. &lt;br /&gt;
&lt;br /&gt;
The format will be as follows:&lt;br /&gt;
* Finding a server&lt;br /&gt;
* Cleaning it up&lt;br /&gt;
* Activating and Testing the VNC connection to the server&lt;br /&gt;
* Sending the credentials to the requester&lt;br /&gt;
Everything you need to do when loaning one of the two type of servers is on this page. You can safely click on the links when instructed too as you will be automatically scrolled to the next step (eg: Server Steps -&amp;gt; VNC -&amp;gt; Email).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= OSX Yosemite r7 - Test - Build Bot =&lt;br /&gt;
==  Find a server ==&lt;br /&gt;
Head to SlaveAlloc, following this link: [https://secure.pub.build.mozilla.org/slavealloc/ui/#slaves] and in the top-right search for &#039;&#039;&#039;yosemite-r7&#039;&#039;&#039;:&lt;br /&gt;
Look for a server that &#039;&#039;&#039;DOESN&#039;T&#039;&#039;&#039; have a note to it, such as the note in the example below, keep in mind servers with &amp;quot;&#039;&#039;&#039;migration to taskcluster&#039;&#039;&#039;&amp;quot; are not good for loaning either:&lt;br /&gt;
[[File:Slavealloc-search-example.png|thumb]]&lt;br /&gt;
----&lt;br /&gt;
Take note of the server number, then lets find out if there is a task running on the server.&lt;br /&gt;
Follow [https://secure.pub.build.mozilla.org/buildapi/running THIS LINK] and in the top-right search for &#039;&#039;&#039;10.10.5&#039;&#039;&#039; (version of OSX yosemite). At this point there should be 2 things:&lt;br /&gt;
1) Nothing shows up. Make sure your search query is correct and if it is, it&#039;s safe to assume there are no tasks running on any of the selected servers, so feel free to pick whichever you find fancy.&lt;br /&gt;
Now if you have the server &#039;&#039;&#039;SKIP TO Connect to the server section&#039;&#039;&#039;.&lt;br /&gt;
----&lt;br /&gt;
2) There is stuff that shows up, which means we need to do some more investigation. If after the search you see anything (as shown below) click on all the &#039;&#039;&#039;Buildmaster&#039;&#039;&#039; column links:&lt;br /&gt;
[[File:Slavealloc-search-with-results.png|thumb]]&lt;br /&gt;
----&lt;br /&gt;
The link will lead you to the task-execution page which shows you what&#039;s happening on the slave. At this point (if there are more than 5 results) I would &#039;&#039;&#039;recommend&#039;&#039;&#039; you to open a text editor as we need to keep track of which server is running. You can extract the number from the textfield in the example below:&lt;br /&gt;
[[File:Slave-alloc-buildmaster-tasknumber.png|thumb]]&lt;br /&gt;
----&lt;br /&gt;
After you have a complete list of all the busy servers, see if there are servers that are free/idle. If not, come back again 30 minutes later and check again.&lt;br /&gt;
&lt;br /&gt;
== Connect to the server ==&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
== Cleaning up BuildBot and Puppet files ==&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
= OSX Yosemite r7 - Test - TaskCluster =&lt;br /&gt;
==  Find a server ==&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
== Connect to the server ==&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
== Terminate the TC Worker ==&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
== Cleaning up TC files ==&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
= Setup, test and grant VNC access =&lt;br /&gt;
== Activate VNC on the server ==&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
== Test the VNC connection ==&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
== Grant VNC access/rights to the requester ==&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
At this point all thats left if to send the credentials to the requester.&lt;br /&gt;
&lt;br /&gt;
= Send the credentials for the server to the requester =&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=File:Slave-alloc-buildmaster-tasknumber.png&amp;diff=1192029</id>
		<title>File:Slave-alloc-buildmaster-tasknumber.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=File:Slave-alloc-buildmaster-tasknumber.png&amp;diff=1192029"/>
		<updated>2018-04-09T18:19:36Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Slave-alloc-buildmaster-tasknumber&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=File:Slavealloc-search-with-results.png&amp;diff=1192028</id>
		<title>File:Slavealloc-search-with-results.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=File:Slavealloc-search-with-results.png&amp;diff=1192028"/>
		<updated>2018-04-09T18:18:27Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Slavealloc-search-with-results&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=File:Slavealloc-search-example.png&amp;diff=1192027</id>
		<title>File:Slavealloc-search-example.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=File:Slavealloc-search-example.png&amp;diff=1192027"/>
		<updated>2018-04-09T18:13:55Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Image that shows a slavealloc page with some example servers.&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=CIDuty/How_To/How_To_Loan_BD&amp;diff=1191298</id>
		<title>CIDuty/How To/How To Loan BD</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=CIDuty/How_To/How_To_Loan_BD&amp;diff=1191298"/>
		<updated>2018-03-27T04:39:18Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Initial release&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction = &lt;br /&gt;
Use this page if you want to loan a machine to a developer. This guide has been updated on &#039;&#039;&#039;26 March 2018&#039;&#039;&#039; and reflects the new changes/requirements on how you should approach the process. &lt;br /&gt;
&lt;br /&gt;
The format will be as follows:&lt;br /&gt;
* Finding a server&lt;br /&gt;
* Cleaning it up&lt;br /&gt;
* Activating and Testing the VNC connection to the server&lt;br /&gt;
* Sending the credentials to the requester&lt;br /&gt;
Everything you need to do when loaning one of the two type of servers is on this page. You can safely click on the links when instructed too as you will be automatically scrolled to the next step (eg: Server Steps -&amp;gt; VNC -&amp;gt; Email).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= OSX Yosemite r7 - Test - Build Bot =&lt;br /&gt;
==  Find a server ==&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
== Connect to the server ==&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
== Cleaning up BuildBot and Puppet files ==&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
= OSX Yosemite r7 - Test - TaskCluster =&lt;br /&gt;
==  Find a server ==&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
== Connect to the server ==&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
== Terminate the TC Worker ==&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
== Cleaning up TC files ==&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
= Setup, test and grant VNC access =&lt;br /&gt;
== Activate VNC on the server ==&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
== Test the VNC connection ==&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
== Grant VNC access/rights to the requester ==&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
At this point all thats left if to send the credentials to the requester.&lt;br /&gt;
&lt;br /&gt;
= Send the credentials for the server to the requester =&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=CIDuty/How_To&amp;diff=1191297</id>
		<title>CIDuty/How To</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=CIDuty/How_To&amp;diff=1191297"/>
		<updated>2018-03-27T04:27:04Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Added new step-by-step link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Alerts =====&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/Queue_directories Command queues]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Dealing_with_high_pending_counts High Pending Counts]&lt;br /&gt;
: &#039;&#039;&#039;Processes&#039;&#039;&#039;&lt;br /&gt;
:: [https://wiki.mozilla.org/ReleaseEngineering/Applications/BuildbotBridge Buildbot Bridge]&lt;br /&gt;
:: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Restart_Buildbot_Masters Buildbot Master - buildbot age]&lt;br /&gt;
:: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Manage_spot_AMIs Golden AMI]&lt;br /&gt;
: [https://mana.mozilla.org/wiki/display/NAGIOS/Pending+Scriptworker+Tasks Pending Scriptworker Tasks]&lt;br /&gt;
: [https://mana.mozilla.org/wiki/display/NAGIOS/Puppet+Freshness Puppet Freshness]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Fix_Build4h_not_updating Build4h not updating]&lt;br /&gt;
&lt;br /&gt;
===== Buildbot =====&lt;br /&gt;
: &#039;&#039;&#039;Manage Buildbot Masters&#039;&#039;&#039;&lt;br /&gt;
:: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Setup_buildbot_masters_in_AWS Add a New Buildbot Master in AWS]&lt;br /&gt;
:: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Bring_Buildbot_Masters_Up_After_an_Outage Bring Buildbot Masters Up After an Outage]&lt;br /&gt;
:: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Decommission_buildbot_masters Decommission a Master]&lt;br /&gt;
:: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Land_Buildbot_Master_Changes Land Buildbot Master Changes]&lt;br /&gt;
:: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Restart_Buildbot_Masters Restart Buildbot Masters]&lt;br /&gt;
:: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Setup_Personal_Development_Master Setup a Personal Development Master]&lt;br /&gt;
: &#039;&#039;&#039;Manage Buildbot Slaves&#039;&#039;&#039;&lt;br /&gt;
:: Hardware Machines&lt;br /&gt;
::: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Connect_To_IPMI Connect to IPMI/PDU]&lt;br /&gt;
::: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Decommission_Slave Decommission a Slave]&lt;br /&gt;
::: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Handle_an_Idle_Slave Handle an Idle Slave ]&lt;br /&gt;
::: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Reboot_Multiple_Slaves_Using_Slaveapi Reboot Multiple Machines]&lt;br /&gt;
::: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Request_That_a_Machine_Be_Reimaged Re-image machines]&lt;br /&gt;
::: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Set_Up_a_Freshly_Imaged_Slave Return a re-imaged machine to production]&lt;br /&gt;
::: [https://wiki.mozilla.org/ReleaseEngineering/Buildduty/Slave_Management Slave_Management]&lt;br /&gt;
::: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Move_slaves_between_pools Move slaves between pools]&lt;br /&gt;
:: Virtual Machines&lt;br /&gt;
::: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Add_Disk_to_an_EC2_Instance Add a new disk to an EC2 instance]&lt;br /&gt;
::: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Manage_AWS_slaves Manage AWS instances]&lt;br /&gt;
:: Loaners&lt;br /&gt;
::: [https://wiki.mozilla.org/Buildduty/How_To/How_To_Loan_BD How to loan servers - New step-by-step guide ]&lt;br /&gt;
::: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Loan_a_Slave Loan a Machine]&lt;br /&gt;
::: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Update_VPN_ACL Grant VPN Access]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/Buildduty/Slave_Management#Slave_Tracking Machine Tracking]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/Buildduty/Reconfigs Perform a Reconfig]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Work_with_Golden_AMIs Work with Golden AMIs]&lt;br /&gt;
&lt;br /&gt;
===== Puppet =====&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/PuppetAgain/HowTo/Build_DEBs Build DEBs]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/PuppetAgain/HowTo/Build_DMGs Build DMGs]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/PuppetAgain/HowTo/Build_RPMs Build RPMs]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/PuppetAgain/HowTo/Hack_on_PuppetAgain Hack on PuppetAgain]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/PuppetAgain/HowTo/Push_changes_to_Production Push Changes to Production]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/PuppetAgain/Modules/users Rotate Passwords across Releng Infra]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/PuppetAgain/HowTo/Set_up_a_user_environment Setup a User Environment]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Update_Mercurial Update Mercurial]&lt;br /&gt;
&lt;br /&gt;
===== TaskCluster =====&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Loan_a_Slave#t-yosemite-r7_taskcluster Loan an OSX Worker]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering:TestingTechniques Test a Patch]&lt;br /&gt;
: [https://wiki.mozilla.org/BuildDuty:QuarantineInstances Quarantine instances]&lt;br /&gt;
&lt;br /&gt;
===== Tree Management =====&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Close_or_Open_the_Tree Close or Open the Tree]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/TryServer Push to Try Server]&lt;br /&gt;
&lt;br /&gt;
===== Other Tasks =====&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Upload_to_internal_Pypi Upload a Python Package to the Internal Pypi]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/Applications/Tooltool Upload a Package/Binary to ToolTool]&lt;br /&gt;
: [https://wiki.mozilla.org/Buildduty/How_To/Add_new_secrets_to_Puppet_Hiera Add new secrets to Puppet Hiera]&lt;br /&gt;
&lt;br /&gt;
===== See Also =====&lt;br /&gt;
: Relevant [https://wiki.mozilla.org/ReleaseEngineering/Buildduty/Training_-_Relevant_Buildduty_Bugs buildduty bugs] that would be suitable for training&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=CIDuty/How_To&amp;diff=1191296</id>
		<title>CIDuty/How To</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=CIDuty/How_To&amp;diff=1191296"/>
		<updated>2018-03-27T04:22:11Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Fixed link for Hiera after change in structure&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Alerts =====&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/Queue_directories Command queues]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Dealing_with_high_pending_counts High Pending Counts]&lt;br /&gt;
: &#039;&#039;&#039;Processes&#039;&#039;&#039;&lt;br /&gt;
:: [https://wiki.mozilla.org/ReleaseEngineering/Applications/BuildbotBridge Buildbot Bridge]&lt;br /&gt;
:: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Restart_Buildbot_Masters Buildbot Master - buildbot age]&lt;br /&gt;
:: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Manage_spot_AMIs Golden AMI]&lt;br /&gt;
: [https://mana.mozilla.org/wiki/display/NAGIOS/Pending+Scriptworker+Tasks Pending Scriptworker Tasks]&lt;br /&gt;
: [https://mana.mozilla.org/wiki/display/NAGIOS/Puppet+Freshness Puppet Freshness]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Fix_Build4h_not_updating Build4h not updating]&lt;br /&gt;
&lt;br /&gt;
===== Buildbot =====&lt;br /&gt;
: &#039;&#039;&#039;Manage Buildbot Masters&#039;&#039;&#039;&lt;br /&gt;
:: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Setup_buildbot_masters_in_AWS Add a New Buildbot Master in AWS]&lt;br /&gt;
:: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Bring_Buildbot_Masters_Up_After_an_Outage Bring Buildbot Masters Up After an Outage]&lt;br /&gt;
:: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Decommission_buildbot_masters Decommission a Master]&lt;br /&gt;
:: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Land_Buildbot_Master_Changes Land Buildbot Master Changes]&lt;br /&gt;
:: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Restart_Buildbot_Masters Restart Buildbot Masters]&lt;br /&gt;
:: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Setup_Personal_Development_Master Setup a Personal Development Master]&lt;br /&gt;
: &#039;&#039;&#039;Manage Buildbot Slaves&#039;&#039;&#039;&lt;br /&gt;
:: Hardware Machines&lt;br /&gt;
::: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Connect_To_IPMI Connect to IPMI/PDU]&lt;br /&gt;
::: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Decommission_Slave Decommission a Slave]&lt;br /&gt;
::: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Handle_an_Idle_Slave Handle an Idle Slave ]&lt;br /&gt;
::: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Reboot_Multiple_Slaves_Using_Slaveapi Reboot Multiple Machines]&lt;br /&gt;
::: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Request_That_a_Machine_Be_Reimaged Re-image machines]&lt;br /&gt;
::: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Set_Up_a_Freshly_Imaged_Slave Return a re-imaged machine to production]&lt;br /&gt;
::: [https://wiki.mozilla.org/ReleaseEngineering/Buildduty/Slave_Management Slave_Management]&lt;br /&gt;
::: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Move_slaves_between_pools Move slaves between pools]&lt;br /&gt;
:: Virtual Machines&lt;br /&gt;
::: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Add_Disk_to_an_EC2_Instance Add a new disk to an EC2 instance]&lt;br /&gt;
::: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Manage_AWS_slaves Manage AWS instances]&lt;br /&gt;
:: Loaners&lt;br /&gt;
::: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Loan_a_Slave Loan a Machine]&lt;br /&gt;
::: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Update_VPN_ACL Grant VPN Access]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/Buildduty/Slave_Management#Slave_Tracking Machine Tracking]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/Buildduty/Reconfigs Perform a Reconfig]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Work_with_Golden_AMIs Work with Golden AMIs]&lt;br /&gt;
&lt;br /&gt;
===== Puppet =====&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/PuppetAgain/HowTo/Build_DEBs Build DEBs]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/PuppetAgain/HowTo/Build_DMGs Build DMGs]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/PuppetAgain/HowTo/Build_RPMs Build RPMs]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/PuppetAgain/HowTo/Hack_on_PuppetAgain Hack on PuppetAgain]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/PuppetAgain/HowTo/Push_changes_to_Production Push Changes to Production]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/PuppetAgain/Modules/users Rotate Passwords across Releng Infra]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/PuppetAgain/HowTo/Set_up_a_user_environment Setup a User Environment]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Update_Mercurial Update Mercurial]&lt;br /&gt;
&lt;br /&gt;
===== TaskCluster =====&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Loan_a_Slave#t-yosemite-r7_taskcluster Loan an OSX Worker]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering:TestingTechniques Test a Patch]&lt;br /&gt;
: [https://wiki.mozilla.org/BuildDuty:QuarantineInstances Quarantine instances]&lt;br /&gt;
&lt;br /&gt;
===== Tree Management =====&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Close_or_Open_the_Tree Close or Open the Tree]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/TryServer Push to Try Server]&lt;br /&gt;
&lt;br /&gt;
===== Other Tasks =====&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/How_To/Upload_to_internal_Pypi Upload a Python Package to the Internal Pypi]&lt;br /&gt;
: [https://wiki.mozilla.org/ReleaseEngineering/Applications/Tooltool Upload a Package/Binary to ToolTool]&lt;br /&gt;
: [https://wiki.mozilla.org/Buildduty/How_To/Add_new_secrets_to_Puppet_Hiera Add new secrets to Puppet Hiera]&lt;br /&gt;
&lt;br /&gt;
===== See Also =====&lt;br /&gt;
: Relevant [https://wiki.mozilla.org/ReleaseEngineering/Buildduty/Training_-_Relevant_Buildduty_Bugs buildduty bugs] that would be suitable for training&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=CIDuty&amp;diff=1191295</id>
		<title>CIDuty</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=CIDuty&amp;diff=1191295"/>
		<updated>2018-03-27T04:18:39Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: /* Useful Links */ - Minor changes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= What is Buildduty? =&lt;br /&gt;
Buildduty is a team dedicated to helping out developers with Firefox continuous integration infra issues. We currently have six people based in Romania that provide 24/7 support.  Buildduty complement the [[Sheriff|sheriffing team]] where sheriffs respond to Firefox code regressions, Buildduty respond to the infrastructure that builds and tests Firefox code.&lt;br /&gt;
&lt;br /&gt;
= Manifesto =&lt;br /&gt;
The [[ReleaseEngineering/Buildduty_manifesto| buildduty manifesto]] describes the team responsibilities in a nutshell.&lt;br /&gt;
&lt;br /&gt;
= Team =&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
| &#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Profile&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Social&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Blog&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Jordan Lund&lt;br /&gt;
| [https://mozillians.org/u/jlund jlund]&lt;br /&gt;
| [https://github.com/lundjordan github]&lt;br /&gt;
| [http://jordan-lund.ghost.io/ blog]&lt;br /&gt;
|-&lt;br /&gt;
| Zsolt Fay&lt;br /&gt;
| [https://mozillians.org/en-US/u/zfay/ zfay]&lt;br /&gt;
| [https://github.com/Rivulu5 github]&lt;br /&gt;
|  N/A&lt;br /&gt;
|-&lt;br /&gt;
| Radu Iman&lt;br /&gt;
| [https://mozillians.org/en-US/u/riman/ riman]&lt;br /&gt;
| [https://github.com/raduiman github]&lt;br /&gt;
| N/A &lt;br /&gt;
|-&lt;br /&gt;
| Bogdan Crisan&lt;br /&gt;
| [https://mozillians.org/en-US/u/bcrisan/ bcrisan]&lt;br /&gt;
| [https://github.com/bccrisan github]&lt;br /&gt;
| N/A &lt;br /&gt;
|-&lt;br /&gt;
| Danut Labici&lt;br /&gt;
| [https://mozillians.org/en-US/u/dlabici/ dlabici]&lt;br /&gt;
| [https://github.com/akhliskun github]&lt;br /&gt;
| N/A &lt;br /&gt;
|-&lt;br /&gt;
| Roland Mutter&lt;br /&gt;
| [https://mozillians.org/en-US/u/rmutter/ rmutter]&lt;br /&gt;
| [https://github.com/mutterroland github]&lt;br /&gt;
| N/A &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Buildduty priorities =&lt;br /&gt;
The [[ReleaseEngineering/Buildduty_actionable| buildduty actionable]] enumerates their daily/weekly sanity job.&lt;br /&gt;
&lt;br /&gt;
== Others ==&lt;br /&gt;
There is a long list of &#039;&#039;&#039;[[ReleaseEngineering/Buildduty/Other_Duties|other, less-frequent duties]]&#039;&#039;&#039; that buildduty can assist with.&lt;br /&gt;
&lt;br /&gt;
= Documentation =&lt;br /&gt;
There&#039;s a [https://wiki.mozilla.org/ReleaseEngineering/Buildduty/How_To wiki page] that aggregates useful info related to the tasks Buildduty is taking care of (as of December 2017). &lt;br /&gt;
&lt;br /&gt;
= Useful Links =&lt;br /&gt;
* [[ReleaseEngineering/Buildduty/day_1_checklist|Day 1 checklist]]&lt;br /&gt;
* [https://secure.pub.build.mozilla.org/builddata/reports/slave_health/ Slave Health]&lt;br /&gt;
* [https://secure.pub.build.mozilla.org/slavealloc/ui/#slaves Slave Alloc]&lt;br /&gt;
* [https://tools.taskcluster.net/provisioners Provision Explorer]&lt;br /&gt;
* [https://secure.pub.build.mozilla.org/builddata/reports/slave_health/buildduty_report.html Buildduty Report]&lt;br /&gt;
* [https://secure.pub.build.mozilla.org/buildapi/ Build Dashboard Main Page]&lt;br /&gt;
** You can get JSON dumps for people to analyze by adding &amp;lt;code&amp;gt;&amp;amp;format=json&amp;lt;/code&amp;gt;&lt;br /&gt;
* [https://wiki.mozilla.org/Buildduty/How_To Public &amp;quot;How To&amp;quot; documents](&#039;&#039;&#039;new&#039;&#039;&#039;) &lt;br /&gt;
* [[ReleaseEngineering/How_To|Old/Deprecated Public &amp;quot;How To&amp;quot; documents]]&lt;br /&gt;
* [https://mana.mozilla.org/wiki/dosearchsite.action?queryString=title%3A%22How%20To%22&amp;amp;where=RelEng Private &amp;quot;How To&amp;quot; documents]&lt;br /&gt;
&lt;br /&gt;
= Meeting Notes =&lt;br /&gt;
* [https://etherpad.mozilla.org/buildduty-notes Daily buildduty stand-up notes]&lt;br /&gt;
* [[ReleaseEngineering/Buildduty/Meetings|Old buildduty weekly meetings notes]]&lt;br /&gt;
* [[ReleaseEngineering/Buildduty/SVMeetings| SoftVision buildduty stand-up notes]]&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=CIDuty&amp;diff=1191294</id>
		<title>CIDuty</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=CIDuty&amp;diff=1191294"/>
		<updated>2018-03-27T04:17:23Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Added link to Buildduty new How to page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= What is Buildduty? =&lt;br /&gt;
Buildduty is a team dedicated to helping out developers with Firefox continuous integration infra issues. We currently have six people based in Romania that provide 24/7 support.  Buildduty complement the [[Sheriff|sheriffing team]] where sheriffs respond to Firefox code regressions, Buildduty respond to the infrastructure that builds and tests Firefox code.&lt;br /&gt;
&lt;br /&gt;
= Manifesto =&lt;br /&gt;
The [[ReleaseEngineering/Buildduty_manifesto| buildduty manifesto]] describes the team responsibilities in a nutshell.&lt;br /&gt;
&lt;br /&gt;
= Team =&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
| &#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Profile&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Social&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Blog&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Jordan Lund&lt;br /&gt;
| [https://mozillians.org/u/jlund jlund]&lt;br /&gt;
| [https://github.com/lundjordan github]&lt;br /&gt;
| [http://jordan-lund.ghost.io/ blog]&lt;br /&gt;
|-&lt;br /&gt;
| Zsolt Fay&lt;br /&gt;
| [https://mozillians.org/en-US/u/zfay/ zfay]&lt;br /&gt;
| [https://github.com/Rivulu5 github]&lt;br /&gt;
|  N/A&lt;br /&gt;
|-&lt;br /&gt;
| Radu Iman&lt;br /&gt;
| [https://mozillians.org/en-US/u/riman/ riman]&lt;br /&gt;
| [https://github.com/raduiman github]&lt;br /&gt;
| N/A &lt;br /&gt;
|-&lt;br /&gt;
| Bogdan Crisan&lt;br /&gt;
| [https://mozillians.org/en-US/u/bcrisan/ bcrisan]&lt;br /&gt;
| [https://github.com/bccrisan github]&lt;br /&gt;
| N/A &lt;br /&gt;
|-&lt;br /&gt;
| Danut Labici&lt;br /&gt;
| [https://mozillians.org/en-US/u/dlabici/ dlabici]&lt;br /&gt;
| [https://github.com/akhliskun github]&lt;br /&gt;
| N/A &lt;br /&gt;
|-&lt;br /&gt;
| Roland Mutter&lt;br /&gt;
| [https://mozillians.org/en-US/u/rmutter/ rmutter]&lt;br /&gt;
| [https://github.com/mutterroland github]&lt;br /&gt;
| N/A &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Buildduty priorities =&lt;br /&gt;
The [[ReleaseEngineering/Buildduty_actionable| buildduty actionable]] enumerates their daily/weekly sanity job.&lt;br /&gt;
&lt;br /&gt;
== Others ==&lt;br /&gt;
There is a long list of &#039;&#039;&#039;[[ReleaseEngineering/Buildduty/Other_Duties|other, less-frequent duties]]&#039;&#039;&#039; that buildduty can assist with.&lt;br /&gt;
&lt;br /&gt;
= Documentation =&lt;br /&gt;
There&#039;s a [https://wiki.mozilla.org/ReleaseEngineering/Buildduty/How_To wiki page] that aggregates useful info related to the tasks Buildduty is taking care of (as of December 2017). &lt;br /&gt;
&lt;br /&gt;
= Useful Links =&lt;br /&gt;
* [[ReleaseEngineering/Buildduty/day_1_checklist|Day 1 checklist]]&lt;br /&gt;
* [https://secure.pub.build.mozilla.org/builddata/reports/slave_health/ Slave Health]&lt;br /&gt;
* [https://secure.pub.build.mozilla.org/slavealloc/ui/#slaves Slave Alloc]&lt;br /&gt;
* [https://tools.taskcluster.net/provisioners Provision Explorer]&lt;br /&gt;
* [https://secure.pub.build.mozilla.org/builddata/reports/slave_health/buildduty_report.html Buildduty Report]&lt;br /&gt;
* [https://secure.pub.build.mozilla.org/buildapi/ Build Dashboard Main Page]&lt;br /&gt;
** You can get JSON dumps for people to analyze by adding &amp;lt;code&amp;gt;&amp;amp;format=json&amp;lt;/code&amp;gt;&lt;br /&gt;
* [https://wiki.mozilla.org/Buildduty/How_To Public &amp;quot;How To&amp;quot; documents](&#039;&#039;&#039;new&#039;&#039;&#039;) / [[ReleaseEngineering/How_To|Public &amp;quot;How To&amp;quot; documents]] (&#039;&#039;&#039;old&#039;&#039;&#039;)&lt;br /&gt;
* [https://mana.mozilla.org/wiki/dosearchsite.action?queryString=title%3A%22How%20To%22&amp;amp;where=RelEng Private &amp;quot;How To&amp;quot; documents]&lt;br /&gt;
&lt;br /&gt;
= Meeting Notes =&lt;br /&gt;
* [https://etherpad.mozilla.org/buildduty-notes Daily buildduty stand-up notes]&lt;br /&gt;
* [[ReleaseEngineering/Buildduty/Meetings|Old buildduty weekly meetings notes]]&lt;br /&gt;
* [[ReleaseEngineering/Buildduty/SVMeetings| SoftVision buildduty stand-up notes]]&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=BuildDuty/How_To/Add_new_secrets_to_Puppet_Hiera&amp;diff=1191293</id>
		<title>BuildDuty/How To/Add new secrets to Puppet Hiera</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=BuildDuty/How_To/Add_new_secrets_to_Puppet_Hiera&amp;diff=1191293"/>
		<updated>2018-03-27T04:14:42Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Dlabici moved page BuildDuty/How To/Add new secrets to Puppet Hiera to Buildduty/How To/Add new secrets to Puppet Hiera&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Buildduty/How To/Add new secrets to Puppet Hiera]]&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=CIDuty/How_To/Add_new_secrets_to_Puppet_Hiera&amp;diff=1191292</id>
		<title>CIDuty/How To/Add new secrets to Puppet Hiera</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=CIDuty/How_To/Add_new_secrets_to_Puppet_Hiera&amp;diff=1191292"/>
		<updated>2018-03-27T04:14:42Z</updated>

		<summary type="html">&lt;p&gt;Dlabici: Dlabici moved page BuildDuty/How To/Add new secrets to Puppet Hiera to Buildduty/How To/Add new secrets to Puppet Hiera&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Task Overview =&lt;br /&gt;
If a developer ask for some credentials to be added to Puppet, PuppetAgain and/or Hiera, such as in this [https://bugzilla.mozilla.org/show_bug.cgi?id=1402371 bug 1402371] it requires you to access a puppet master, open a file which (at the date of writing this guide) has over 4300 lines, encrypt passwords, backups files, create some string names, verify everything then share the name of the string(s).&lt;br /&gt;
&lt;br /&gt;
= Connect to puppet master =&lt;br /&gt;
After you got the credentials which you need to add to Puppet, please connect as yourself to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~$ ssh LDAP-USERNAME@releng-puppet2.srv.releng.scl3.mozilla.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
After you are connected to the master, make yourself root:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~$ sudo su -&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
Now changes directory to:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~$ cd /etc/hiera&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Backup existing secrets file =&lt;br /&gt;
This is very important! if anything goes wrong with the next steps, you will have a &amp;quot;safe spot&amp;quot; to come back too.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~$ cp /etc/hiera/secrets.eyaml /etc/hiera/screts.eyaml.LDAP-YYYYMMDD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~$ cp /etc/hiera/secrets.eyaml /etc/hiera/screts.eyaml.dlabici-20180322&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Encrypt and add new credentials =&lt;br /&gt;
== Check if name is available ==&lt;br /&gt;
Before we do anything we need to check the &amp;quot;secrets vault&amp;quot; if the name we want to use for our string is not used already so to do that  we can check it with the following command. As an added example, I have to add 2 passwords, so I will be listing the commands that I used to make sure the string name is free to be taken. &#039;&#039;&#039;Keep in mind&#039;&#039;&#039;: Names should be all lowercase with underlines &#039;&#039;&#039;like_this_for_example&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~$ hiera NAME_OF_STRING&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Example for task which needs us to add AWS IAM credentials:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~$ hiera cloud_watcher_access_key_id&lt;br /&gt;
~$ hiera cloud_watcher_secret_access_key&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If the command above returns &amp;quot;&#039;&#039;&#039;&amp;lt;u&amp;gt;nil&amp;lt;/u&amp;gt;&#039;&#039;&#039;&amp;quot; then we can use the name!&lt;br /&gt;
&lt;br /&gt;
== Encrypt the password/credential ==&lt;br /&gt;
Now that we verified if the string name is usable we can encrypt everything and prepare to add it to secrets.eyaml.&lt;br /&gt;
Simple run this command in the terminal:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~$: eyaml encrypt --pkcs7-private-key /etc/hiera/keys/private_key.pem --pkcs7-public-key /etc/hiera/keys/public_key.pem \&lt;br /&gt;
    --output examples --password -l &#039;NAME_OF_STRING_THAT_YOU_VERIFIED_LAST_STEP&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you execute the command, you will be asked to &amp;quot;&amp;lt;u&amp;gt;Enter Password:&amp;lt;/u&amp;gt;&amp;quot; this is where you put the credential that you want to securely store!&lt;br /&gt;
After you enter the password, you will receive 2 outputs. Copy the second one as we will need it later. Output should look something like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cloudwatcher_access_key_id: &amp;gt;&lt;br /&gt;
    XXXXXXXXX,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br /&gt;
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br /&gt;
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br /&gt;
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br /&gt;
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br /&gt;
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br /&gt;
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br /&gt;
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br /&gt;
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br /&gt;
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Add the encrypted credentials to secrets.eyaml ==&lt;br /&gt;
Now with everything ready, we have to add the credentials at the very end of the file. Open the file with your favorite editor and paste it there with 1 empty line above it!&lt;br /&gt;
Save the file then quickly run the next step.&lt;br /&gt;
&#039;&#039;&#039;TIP&#039;&#039;&#039;: If you use &#039;&#039;&#039;nano&#039;&#039;&#039; to edit the file press &#039;&#039;&#039;CTRL+SHIFT+_&#039;&#039;&#039; (underline) and when asked for which Line Number you want to jump to, press &#039;&#039;&#039;CTRL+V&#039;&#039;&#039;. Those 2 commands together will jump you to the very end of the file.&lt;br /&gt;
&lt;br /&gt;
= Validate the new secrets =&lt;br /&gt;
Okay, now that we added and saved everything that we need to, please run the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~$: python -c &amp;quot;import yaml; f=open(&#039;secrets.eyaml&#039;,&#039;r&#039;); yaml.load(f)&amp;quot; &amp;amp;&amp;amp; echo &amp;quot;pass&amp;quot; || echo &amp;quot;FAIL&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
We are looking for the output to be &amp;quot;&#039;&#039;&#039;pass&#039;&#039;&#039;&amp;quot; and nothing else! If it says anything else, please backup the file you made at step 3!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Okay so the output is pass, is there a way to verify everything worked?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Yeah! Simple run &#039;&#039;&#039;hiera name_of_your_string&#039;&#039;&#039; and if you get an output that is not &amp;quot;nil&amp;quot;, you are done!&lt;br /&gt;
You have added new secrets to Puppet!&lt;/div&gt;</summary>
		<author><name>Dlabici</name></author>
	</entry>
</feed>