<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.0.5" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>John O'Duinn's Soapbox</title>
	<link>http://oduinn.com</link>
	<description>...my CyberSoapBox!</description>
	<pubDate>Thu, 15 May 2008 08:05:38 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.5</generator>
	<language>en</language>
			<item>
		<title>We have *how* many machines? (&#8221;dedicated specialised slaves&#8221; vs &#8220;pool of identical slaves&#8221;)</title>
		<link>http://oduinn.com/2008/05/14/we-have-how-many-machines-dedicated-specialised-slaves-vs-pool-of-identical-slaves/</link>
		<comments>http://oduinn.com/2008/05/14/we-have-how-many-machines-dedicated-specialised-slaves-vs-pool-of-identical-slaves/#comments</comments>
		<pubDate>Thu, 15 May 2008 07:58:32 +0000</pubDate>
		<dc:creator>John</dc:creator>
		
		<category>Mozilla</category>

		<guid isPermaLink="false">http://oduinn.com/2008/05/14/we-have-how-many-machines-dedicated-specialised-slaves-vs-pool-of-identical-slaves/</guid>
		<description><![CDATA[On 1.9/trunk, its important to point out that almost all of these 88 machines need to remain up, and working perfectly, in order to keep the 1.9/trunk tinderbox tree open. If one of these machines dies, we usually have to close the tree.
This is because most of these machines are specialized unique machines, built and [...]]]></description>
			<content:encoded><![CDATA[<p>On 1.9/trunk, its important to point out that almost all of these 88 machines need to remain up, and working perfectly, in order to keep the 1.9/trunk tinderbox tree open. If one of these machines dies, we usually have to close the tree.</p>
<p>This is because most of these machines are specialized unique machines, built and assigned to do only one thing. For example, bm-xserve08 only does Firefox mac depend/nightly builds; if the hard disk dies, we don&#8217;t automatically load balance over to another identically configured machine thats already up and running in parallel. Instead, we close the tree and quickly try to repair that broken specialized unique machine. Or manually build up a new machine to be as close as possible to the unique dead machine. All in a rush, so we can reopen the tree as soon as possible. Looks like this: <img align="middle" alt="dedicated unique slaves" title="dedicated unique slaves" src="http://www.oduinn.com/images/2008/blogpost_dedicated-vs-generic-pool1.jpg" /></p>
<p>Obviously, the more machines we bring online, the more vulnerable we are to routine hardware failures, network hiccups, etc. Kinda like a string of Christmas tree lights which goes dark when any one bulb burns out. The longer your string of Christmas tree lights, the more bulbs you have, the more chance you have of a single bulb burning out, and the more your chances of the tree going dark.</p>
<p>When we started working on moz2 infrastructure, the conversation went something like &#8220;what do you want on moz2?&#8221;, &#8220;everything we have on FF3&#8243;, &#8220;ummm&#8230; everything? really?&#8221;"yes, the full set. Oh, and we&#8217;ll need a few sets of them for a few active different mercurial branches running concurrently&#8221;.</p>
<p>So, how do we scale our infrastructure and also improve reliability?One of the big changes in how we are building out the moz2 infrastructure was to *not* have specialized unique machines. Instead, we have a pool of identical slaves for each o.s., each  slave equally able to handle whatever bundled work is handed to it. This has a couple of important consequences:</p>
<ul>
<li>if one generic slave dies, we dynamically and automatically re-allocate the work to happen on one of the remaining slaves in the pool. Builds would turn around slower, and we&#8217;d obviously start repairing the machine, but at least work would continue smoothly, and the tree would not close!</li>
<li>if we decide we want to add an additional branch, or if we feel the current number of slaves are not able to handle the workload, we can simply add new identical slaves to the pool, and automatically dynamically re-allocate the work across the enlarged pool.</li>
</ul>
<p>Looks like this:</p>
<p><img alt="pool of identical slaves" title="pool of identical slaves" src="http://www.oduinn.com/images/2008/blogpost_dedicated-vs-generic-pool2.jpg" /></p>
<p>Adding 88 new unique machines for each of 3-5 new additional active branches would be painfully to setup, and just about impossible to maintain. And we&#8217;d be *guessing* how much development work there would be in the next 18 months, and then building the infrastructure out. Instead of having to SWAG our needs for the next 18 months and then setup frantically now, this shared pool approach allows us to grow gradually as needed. Oh, and it should be more robust. <img src='http://oduinn.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>(Many thanks to BenT for the christmas tree lights analogy. I was saying &#8220;a chain is only as strong as the weakest link&#8221;, but BenT&#8217;s analogy offers much better possibilities for awful tree jokes.)
</p>
]]></content:encoded>
			<wfw:commentRss>http://oduinn.com/2008/05/14/we-have-how-many-machines-dedicated-specialised-slaves-vs-pool-of-identical-slaves/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Some new faces in ReleaseEngineering</title>
		<link>http://oduinn.com/2008/05/09/some-new-faces-in-releaseengineering/</link>
		<comments>http://oduinn.com/2008/05/09/some-new-faces-in-releaseengineering/#comments</comments>
		<pubDate>Fri, 09 May 2008 23:11:34 +0000</pubDate>
		<dc:creator>John</dc:creator>
		
		<category>Mozilla</category>

		<guid isPermaLink="false">http://oduinn.com/2008/05/09/some-new-faces-in-releaseengineering/</guid>
		<description><![CDATA[Belatedly, I&#8217;d like to welcome two new faces here in Release Engineering. Armen Zambrano Gasparnian(armenzg on irc) started last week, and he will be working trying to untangle some of our l10n infrastructure.  Lukas Blakk (lsblakk on irc) started here this week, and she will be working with Robcee on the unittest automation infrastructure.
They&#8217;re already [...]]]></description>
			<content:encoded><![CDATA[<p>Belatedly, I&#8217;d like to welcome two new faces here in Release Engineering. <a target="_blank" href="http://armenzg.blogspot.com">Armen Zambrano Gasparnian(armenzg on irc)</a> started last week, and he will be working trying to untangle some of our l10n infrastructure.  <a target="_blank" href="http://crashopensource.blogspot.com">Lukas Blakk (lsblakk on irc)</a> started here this week, and she will be working with Robcee on the unittest automation infrastructure.</p>
<p>They&#8217;re already digging into various problems, and in their spare time, have even started tempting us with homemade baking (a yummy chocolate with pecan and almond cake that didnt last 2 hours), and promises of more to come over the summer. Its our first time having interns here in the group, so its quite exciting for all of us. Next time you are in Building K, do stop by upstairs, and say hi.</p>
<p>(Oh, and I&#8217;m also glad to report that <a target="_blank" href="http://bp0.blogger.com/_kUuZHNHDPdc/SCPQTX6yX0I/AAAAAAAAAHE/Wq9xXkN1GEw/s1600-h/P1030516.jpg">Armen seems to be enjoying the official dress code</a>.)
</p>
]]></content:encoded>
			<wfw:commentRss>http://oduinn.com/2008/05/09/some-new-faces-in-releaseengineering/feed/</wfw:commentRss>
		</item>
		<item>
		<title>We have *how* many machines&#8230;. and whatdy mean, its not enough?</title>
		<link>http://oduinn.com/2008/05/08/we-have-how-many-machines-and-whatdy-mean-its-not-enough/</link>
		<comments>http://oduinn.com/2008/05/08/we-have-how-many-machines-and-whatdy-mean-its-not-enough/#comments</comments>
		<pubDate>Thu, 08 May 2008 18:27:09 +0000</pubDate>
		<dc:creator>John</dc:creator>
		
		<category>Mozilla</category>

		<guid isPermaLink="false">http://oduinn.com/2008/05/08/we-have-how-many-machines-and-whatdy-mean-its-not-enough/</guid>
		<description><![CDATA[While the sheer number of machines in my previous post surprised all of us, its more interesting to note that its not enough. Its simply just not enough. Even today, we&#8217;re constantly under the gun, bringing new machines online as fast as possible.

The 30 machines marked idle/waiting-to-mothball will all be recycled and used for blocked [...]]]></description>
			<content:encoded><![CDATA[<p>While the sheer number of machines in <a target="_blank" href="http://oduinn.com/2008/05/07/we-have-how-many-machines/">my previous post</a> surprised all of us, its more interesting to note that its not enough. Its simply just not enough. Even today, we&#8217;re constantly under the gun, bringing new machines online as fast as possible.</p>
<ul>
<li>The 30 machines marked idle/waiting-to-mothball will all be recycled and used for blocked projects that need machines.</li>
<li>Justin&#8217;s group recently brought another VMware host online, and built out extra disk space so we have space to create 30+ new VMs - 6 new VMs are coming online this week, additional to whats listed in previous blog.</li>
<li>We&#8217;re ordering another batch of 80 mac minis, as we&#8217;ve already used up the previous batch of 50 minis, after we used the initial batch of 30 minis.</li>
</ul>
<p>We hope its enough machines for a while.</p>
<p>Never mind the cost of all these machines. Pretend they were all free.</p>
<p>All of these machines need rented colo rack space, network bandwidth, electricity, a/c, humans to install and support them, humans to configure them up and bring them online. In a ripple-on effect, the more builds we produce, the more diskspace and infrastructure we need for ftp, downloads, virus scanning, tinderbox servers, etc.</p>
<p>Thats just to have them come online. Then starts the human time for the constant care and feeding that each of these unique individual machines need. For one or two machines, its easy. When you look at 200 machines, and then an additional 150 or so machines, its a no-brainer that this approach does not scale.
</p>
]]></content:encoded>
			<wfw:commentRss>http://oduinn.com/2008/05/08/we-have-how-many-machines-and-whatdy-mean-its-not-enough/feed/</wfw:commentRss>
		</item>
		<item>
		<title>We have *how* many machines?</title>
		<link>http://oduinn.com/2008/05/07/we-have-how-many-machines/</link>
		<comments>http://oduinn.com/2008/05/07/we-have-how-many-machines/#comments</comments>
		<pubDate>Thu, 08 May 2008 07:20:55 +0000</pubDate>
		<dc:creator>John</dc:creator>
		
		<category>Mozilla</category>

		<guid isPermaLink="false">http://oduinn.com/2008/05/07/we-have-how-many-machines/</guid>
		<description><![CDATA[As best as I can tell, it looks like we have the following machines running on each branch:
02 machines for 1.8.0
+ 29 machines for 1.8
+ 88 machines for 1.9/trunk
+ 33 machines for moz2
====
152 machines in use today
+ 10 ref-images
+ 30 machines idle/waiting-to-mothball
====
192 machines total
1) These numbers do not include any community machines yet. We&#8217;re still [...]]]></description>
			<content:encoded><![CDATA[<p>As best as I can tell, it looks like we have the following machines running on each branch:</p>
<p>02 machines for 1.8.0<br />
+ 29 machines for 1.8<br />
+ 88 machines for 1.9/trunk<br />
+ 33 machines for moz2<br />
====<br />
152 machines in use today<br />
+ 10 ref-images<br />
+ 30 machines idle/waiting-to-mothball<br />
====<br />
192 machines total</p>
<p>1) These numbers do not include any community machines yet. We&#8217;re still working on this.<br />
2) The 88machines on 1.9/trunk are made up of 40 builder, 23 unittest and 25 talos machines.<br />
3) Most of those 30 machines marked &#8220;idle/waiting-to-mothball&#8221; were only discovered during this housekeeping. Some of these now have bugs to track mothballing and being recycled&#8230; we&#8217;re still working through the list. It was interesting to find out how many people were still using machines that they thought were supported, but which we did not even know existed, or which we thought were long desupported!<br />
4) Its taken weeks to collate this data, and I&#8217;m still not certain we&#8217;ve identified everything. We need a central list that can be the single-source-of-truth for all these machines. Instead of doing this on various wiki pages, we&#8217;re talking with Justin, mrz and Jeremy to see if we can use the same asset tracking db they use when they install machines into the colo. That would work much better for this, but need some customization. Stay tuned&#8230;</p>
<p>We&#8217;re still gathering more info&#8230;to be continued in another blog post.
</p>
]]></content:encoded>
			<wfw:commentRss>http://oduinn.com/2008/05/07/we-have-how-many-machines/feed/</wfw:commentRss>
		</item>
		<item>
		<title>No wall-clock numbers for Thunderbird 2.0.0.14</title>
		<link>http://oduinn.com/2008/05/04/no-wall-clock-numbers-for-thunderbird-20014/</link>
		<comments>http://oduinn.com/2008/05/04/no-wall-clock-numbers-for-thunderbird-20014/#comments</comments>
		<pubDate>Mon, 05 May 2008 07:26:12 +0000</pubDate>
		<dc:creator>John</dc:creator>
		
		<category>Mozilla</category>

		<guid isPermaLink="false">http://oduinn.com/2008/05/04/no-wall-clock-numbers-for-thunderbird-20014/</guid>
		<description><![CDATA[We used the Thunderbird2.0.0.14 release to get Rick Tessner at MozillaMessagingCo up to speed. There&#8217;s a lot of Build mechanics to take in, so its not fair to add extra pressure by measuring all the wall-clock times.
Rick is also working to have the existing release automation we use for Firefox be used for Thunderbird also. [...]]]></description>
			<content:encoded><![CDATA[<p>We used the Thunderbird2.0.0.14 release to get Rick Tessner at MozillaMessagingCo up to speed. There&#8217;s a lot of Build mechanics to take in, so its not fair to add extra pressure by measuring all the wall-clock times.</p>
<p>Rick is also working to have the existing release automation we use for Firefox be used for Thunderbird also. In theory, it should just work, and initial experiments seem promising, but we&#8217;ll need a full test cycle on this before we can switch over in production. The curious can follow along in bug#<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=427769">427769</a>.
</p>
]]></content:encoded>
			<wfw:commentRss>http://oduinn.com/2008/05/04/no-wall-clock-numbers-for-thunderbird-20014/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Firefox 2.0.0.14 by the (wall-clock) numbers</title>
		<link>http://oduinn.com/2008/05/04/firefox-20014-by-the-wall-clock-numbers/</link>
		<comments>http://oduinn.com/2008/05/04/firefox-20014-by-the-wall-clock-numbers/#comments</comments>
		<pubDate>Mon, 05 May 2008 07:12:57 +0000</pubDate>
		<dc:creator>John</dc:creator>
		
		<category>Mozilla</category>

		<guid isPermaLink="false">http://oduinn.com/2008/05/04/firefox-20014-by-the-wall-clock-numbers/</guid>
		<description><![CDATA[Mozilla released Firefox2.0.0.14 on Wednesday 16-apr-2008, at 3:05pm PST. From “Dev says go” to “release is now available to public” was just over 12 days (12d 3h 20m) wall-clock time, of which Build&#038;Release took just over 3.5 days (3d 14h 35m).
11:45 04apr: Dev says “go” for rc1
13:20 04apr: FF2.0.0.14 builds started
16:50 05apr: FF2.0.0.14 linux and [...]]]></description>
			<content:encoded><![CDATA[<p>Mozilla released Firefox2.0.0.14 on Wednesday 16-apr-2008, at 3:05pm PST. From “Dev says go” to “release is now available to public” was just over 12 days (12d 3h 20m) wall-clock time, of which Build&#038;Release took just over 3.5 days (3d 14h 35m).</p>
<p>11:45 04apr: Dev says “go” for rc1<br />
13:20 04apr: FF2.0.0.14 builds started<br />
16:50 05apr: FF2.0.0.14 linux and mac builds handed to QA<br />
03:40 07apr: FF2.0.0.14 signed-win32 builds handed to QA<br />
10:20 07apr: FF2.0.0.14 update snippets available on betatest update channel<br />
16:40 08apr: Dev &#038; QA says “go” for Beta<br />
17:00 08apr: update snippets on beta update channel<br />
19:40 15apr: Dev &#038; QA says &#8220;go&#8221; for Release; Build already completed final signing, bouncer entries<br />
07:30 16apr: mirror replication started<br />
11:15 16apr: mirror absorption good for testing to start on releasetest channel<br />
13:10 16apr: QA completes testing releasetest.<br />
14:20 16apr: website changes finalized and visible. Build given &#8220;go&#8221; to make updates snippets live.<br />
14:25 16apr: update snippets available on live update channel<br />
15:05 16apr: release announced</p>
<p>Notes:</p>
<p>1) Our blow-by-blow scribbles are public, so the curious can read about it, warts and all, <a target="_blank" href="http://wiki.mozilla.org/Firefox_2.0.0.14:BuildNotes">here</a>. Those Build Notes also link to our tracking bug#<a class="external text" title="https://bugzilla.mozilla.org/show_bug.cgi?id=426307" rel="nofollow" href="https://bugzilla.mozilla.org/show_bug.cgi?id=426307">426307</a>.</p>
<p>2) While this was a firedrill release, and it went quite smoothly, it still some non-technical delays making the wall-clock numbers longer then usual.</p>
<ul>
<li>The code fix was landed mid-day Friday, and builds started lunchtime Friday. However, the Build and QA groups explicitly did not work the weekend, after a recent series of working weekends, adding an artificial delay waiting for manual announcements and signing.</li>
<li>We decided to extend the beta period from 14apr until 16apr, to avoid possibly disrupting people&#8217;s online US tax submissions on 15apr.</li>
<li>Like before, we waited until morning to start pushing to mirrors, even though we got the formal &#8220;go&#8221; the night before. This was done so mirror absorption completed as QA were arriving in the office to start testing update channels. We did this because we wanted to reduce the time files were on the mirrors untested; in the past, overly excited people have post the locations of the files as “released” on public forums, even though they are not finished the last of the sanity checks. We suspect that coordinating the mirror push like this reduced that likelihood just a bit, but it feels like we should verify that. We continue to count this waiting time as &#8220;Build&#038;Release time&#8221;, even though we are all just waiting.</li>
</ul>
<p>3) Mirror absorption took just over 3 hours to reach all values >= 65%, a higher then usual threshold.</p>
<p>take care</p>
<p>John.
</p>
]]></content:encoded>
			<wfw:commentRss>http://oduinn.com/2008/05/04/firefox-20014-by-the-wall-clock-numbers/feed/</wfw:commentRss>
		</item>
		<item>
		<title>So, how exactly do all the automated build and test systems connect together?</title>
		<link>http://oduinn.com/2008/04/24/so-how-exactly-do-all-the-automated-build-and-test-systems-connect-together/</link>
		<comments>http://oduinn.com/2008/04/24/so-how-exactly-do-all-the-automated-build-and-test-systems-connect-together/#comments</comments>
		<pubDate>Thu, 24 Apr 2008 16:51:25 +0000</pubDate>
		<dc:creator>John</dc:creator>
		
		<category>Mozilla</category>

		<guid isPermaLink="false">http://oduinn.com/2008/04/24/so-how-exactly-do-all-the-automated-build-and-test-systems-connect-together/</guid>
		<description><![CDATA[Trying to describe how our various build, unittest and talos systems connect together is tricky. The Release Engineering group spent a week all together recently, with lots of diagrams on whiteboards, just to explain it to each other.
Trying to describe it *without* a whiteboard is even more tricky&#8230; and there&#8217;s always lots of hand waving.
Trying [...]]]></description>
			<content:encoded><![CDATA[<p>Trying to describe how our various build, unittest and talos systems connect together is tricky. The Release Engineering group spent a week all together recently, with lots of diagrams on whiteboards, just to explain it to each other.</p>
<p>Trying to describe it *without* a whiteboard is even more tricky&#8230; and there&#8217;s always lots of hand waving.</p>
<p>Trying to describe it in clear concise article is&#8230;wow. <a target="_blank" href="http://ejohn.org/blog/mozilla-build-and-test-integration/">Ben Hearsum and John Resig did a really nice overview here</a>.  Well worth a read, in case you missed it.
</p>
]]></content:encoded>
			<wfw:commentRss>http://oduinn.com/2008/04/24/so-how-exactly-do-all-the-automated-build-and-test-systems-connect-together/feed/</wfw:commentRss>
		</item>
		<item>
		<title>&#8220;Software Update Channel&#8221; != &#8220;Software Distribution Channel&#8221;</title>
		<link>http://oduinn.com/2008/04/17/software-update-channel-software-distribution-channel/</link>
		<comments>http://oduinn.com/2008/04/17/software-update-channel-software-distribution-channel/#comments</comments>
		<pubDate>Fri, 18 Apr 2008 02:14:45 +0000</pubDate>
		<dc:creator>John</dc:creator>
		
		<category>Soapbox</category>

		<category>Mozilla</category>

		<guid isPermaLink="false">http://oduinn.com/2008/04/17/software-update-channel-software-distribution-channel/</guid>
		<description><![CDATA[Recent blog posts by John, Asa and Matt happened as my home WinXP computer offered to &#8220;update&#8221; Safari&#8230; something I have never installed!?!
Most comments on their blogs can be paraphrased as &#8220;you&#8217;re only complaining because its a competing browser&#8221;&#8230; or &#8220;you&#8217;re only complaining because it somehow costs Mozilla money&#8221;.
Thats missing the point completely.
Here&#8217;s a quick [...]]]></description>
			<content:encoded><![CDATA[<p>Recent blog posts by <a target="_blank" href="http://john.jubjubs.net/2008/03/21/apple-software-update/">John</a>, <a target="_blank" href="http://weblogs.mozillazine.org/asa/archives/2008/04/good_for_apple.html">Asa</a> and <a target="_blank" href="http://browsing.justdiscourse.com/2008/03/24/apples-safari-push-is-not-about-the-money/">Matt</a> happened as my home WinXP computer offered to &#8220;update&#8221; Safari&#8230; something I have never installed!?!</p>
<p>Most comments on their blogs can be paraphrased as &#8220;you&#8217;re only complaining because its a competing browser&#8221;&#8230; or &#8220;you&#8217;re only complaining because it somehow costs Mozilla money&#8221;.</p>
<p>Thats missing the point completely.</p>
<p>Here&#8217;s a quick non-browser example.</p>
<p>Suppose Microsoft Windows Automatic Updates (which delivers O.S. security fixes) suddenly also offered to download and install Microsoft&#8217;s <a target="_blank" href="http://www.microsoft.com/games/pc/gearsofwar.aspx">GearsOfWar</a> game? And defaulted to &#8220;yes&#8221;. Even if you never owned that game before. If you have your preferences set to &#8220;ask me&#8221;, then you get a chance to uncheck the checkbox, <strong>*if*</strong> you notice. But if your preferences are set to &#8220;apply automatically&#8221;, which is the default, you&#8217;ll just get GearsOfWar installed automatically.</p>
<p>The very first time this happens to me, I&#8217;d assume that the vendor considers &#8220;software update channel&#8221; to be the same as &#8220;software distribution channel&#8221;, and they want to sell me their other products. So, I&#8217;d turn off updates. Which, by the way, means I no longer get O.S. security fixes. If I was really annoyed, I might turn off updates for other vendors while I&#8217;m at it, so I no longer get Norton Anti-Virus updates either.</p>
<p>Agreeing to receive updates is agreeing to letting a trusted other person quickly fix problems on my computer, before I even know its a problem. Sometimes its fixes bugs in software, so users dont keep hitting problems that were fixed last year; anyone remember downloading patches for Win31? (heck, anyone remember ftp-ing downloads pre-1995?) Sometimes, the speed at which the fix is distributed is critical to protect users; anti-virus updates, browser security fixes, and O.S. security fixes are great examples of this.</p>
<p>If people stop trusting updates, because a few vendors abuse that trust, its bad for the software industry and its bad for users.</p>
<p>Its that simple.
</p>
]]></content:encoded>
			<wfw:commentRss>http://oduinn.com/2008/04/17/software-update-channel-software-distribution-channel/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Firefox 2.0.0.13 by the (wall-clock) numbers</title>
		<link>http://oduinn.com/2008/04/12/firefox-20013-by-the-wall-clock-numbers/</link>
		<comments>http://oduinn.com/2008/04/12/firefox-20013-by-the-wall-clock-numbers/#comments</comments>
		<pubDate>Sun, 13 Apr 2008 01:28:35 +0000</pubDate>
		<dc:creator>John</dc:creator>
		
		<category>Mozilla</category>

		<guid isPermaLink="false">http://oduinn.com/2008/04/12/firefox-20013-by-the-wall-clock-numbers/</guid>
		<description><![CDATA[Mozilla released Firefox2.0.0.13 on Tuesday 25-mar-2008, at 16:30pm PST. From “Dev says go” to “release is now available to public” was 15.25 days (15d 5h 55m) wall-clock time, of which Build&#038;Release took just over 2.33 days (2d 8h 10m).
10:35 10mar: Dev says “go” for rc1
14:50 11mar: FF2.0.0.13 builds started
16:55 11mar: FF2.0.0.13 linux builds handed to [...]]]></description>
			<content:encoded><![CDATA[<p>Mozilla released Firefox2.0.0.13 on Tuesday 25-mar-2008, at 16:30pm PST. From “Dev says go” to “release is now available to public” was 15.25 days (15d 5h 55m) wall-clock time, of which Build&#038;Release took just over 2.33 days (2d 8h 10m).</p>
<p>10:35 10mar: Dev says “go” for rc1<br />
14:50 11mar: FF2.0.0.13 builds started<br />
16:55 11mar: FF2.0.0.13 linux builds handed to QA<br />
19:00 11mar: FF2.0.0.13 mac builds handed to QA<br />
07:10 12mar: FF2.0.0.13 signed-win32 builds handed to QA<br />
14:40 12mar: FF2.0.0.13 update snippets available on betatest update channel<br />
11:30 18mar: Dev &#038; QA says “go” for Beta<br />
12:25 18mar: update snippets on beta update channel<br />
09:10 25mar: Dev &#038; QA says &#8220;go&#8221; for Release; Build already completed final signing, bouncer entries<br />
10:25 25mar: mirror replication started<br />
11:20 25mar: mirror absorption good for testing to start on releasetest channel<br />
14:20 25mar: QA completes testing releasetest.<br />
15:00 25mar: website changes finalized and visible. Build given &#8220;go&#8221; to make updates snippets live.<br />
16:00 25mar: update snippets available on live update channel<br />
16:30 25mar: release announced</p>
<p>Notes:</p>
<p>1) This was Ben Hearsum&#8217;s first time doing a release. He works in the Release group, and he&#8217;s smart, but he&#8217;s never done a release for Mozilla. Ever. The fact that he jumped into doing this release with absolutely no advance notice, and was able to use our existing automation without needing to ask any questions at all says lots about both Ben and how things are improving.</p>
<p>2) From Build&#8217;s point of view, this was a fast release. We took 2 days 8 hours, which is one of our fastest releases ever. Note: between the &#8220;Dev says go to build&#8221; and &#8220;build started&#8221; was a delay of 1 day 4 hours where Build did nothing. This delay was because we were busy with 3.0beta4 and also trying to balance out some other workloads across the group. I counted this delay as part of our 2days 8 hours, but I have to point out that if we had been ready, our total time for FF2.0.0.13 would actually been halved; we would have only needed a <strong>totally screaming fast 1day 4hours</strong>.</p>
<p>3) For better or worse, we are putting all our blow-by-blow scribbles public, so the curious can read about it, warts and all, <a target="_blank" href="http://wiki.mozilla.org/Firefox_2.0.0.13:BuildNotes">here</a>. Those Build Notes also link to our tracking bug#<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=422122">422122</a>.</p>
<p>4) Like before, we waited until morning to start pushing to mirrors. This was done so mirror absorption completed as QA were arriving in the office to start testing update channels. We did this because we wanted to reduce the time files were on the mirrors untested; in the past, overly excited people have post the locations of the files as “released” on public forums, even though they are not finished the last of the sanity checks. Coordinating the mirror push like this reduced that likelihood just a bit.</p>
<p>5) Mirror absorption took 1 hour to reach all values >= 50%, slightly faster and slightly lower then our usual threshold.</p>
<p>take care</p>
<p>John.
</p>
]]></content:encoded>
			<wfw:commentRss>http://oduinn.com/2008/04/12/firefox-20013-by-the-wall-clock-numbers/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Firefox 3.0beta4 by the (wall-clock) numbers</title>
		<link>http://oduinn.com/2008/04/09/firefox-30beta4-by-the-wall-clock-numbers/</link>
		<comments>http://oduinn.com/2008/04/09/firefox-30beta4-by-the-wall-clock-numbers/#comments</comments>
		<pubDate>Wed, 09 Apr 2008 09:46:45 +0000</pubDate>
		<dc:creator>John</dc:creator>
		
		<category>Mozilla</category>

		<guid isPermaLink="false">http://oduinn.com/2008/04/09/firefox-30beta4-by-the-wall-clock-numbers/</guid>
		<description><![CDATA[Mozilla released Firefox3.0beta4 on Monday 10-mar-2008, at 17:25pm PST. From “Dev says go” to “release is now available to public” was just over 7 days (7d 6h 10m) wall-clock time, of which Build&#038;Release took just over 3 days (3d 2h 05m).
11:15 03mar: Dev says “go” for rc1
16:10 03mar: 3.0b4rc1 builds started
23:15 03mar: 3.0b4rc1 mac builds [...]]]></description>
			<content:encoded><![CDATA[<p>Mozilla released Firefox3.0beta4 on Monday 10-mar-2008, at 17:25pm PST. From “Dev says go” to “release is now available to public” was just over 7 days (7d 6h 10m) wall-clock time, of which Build&#038;Release took just over 3 days (3d 2h 05m).</p>
<p>11:15 03mar: Dev says “go” for rc1<br />
16:10 03mar: 3.0b4rc1 builds started<br />
23:15 03mar: 3.0b4rc1 mac builds handed to QA<br />
00:05 04mar: 3.0b4rc1 linux builds handed to QA<br />
06:00 04mar: 3.0b4rc1 signed-win32 builds handed to QA<br />
11:15 04mar: 3.0b4rc1 three missing linux locales were resolved and handed to QA. See bug#<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=419771">419771</a> and bug#<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=407796">407796</a> for details.<br />
15:35 04mar: 3.0b4rc1 update snippets available on betatest update channel<br />
08:35 07mar: 3.0b4rc1 showstopper: discovered win32 was compiled without PGO. Need to respin win32 builds. Mac and linux confirmed ok.<br />
11:50 07mar: 3.0b4rc2 win32 builds started<br />
00:05 08mar: 3.0b4rc2 signed-pgo-win32 builds handed to QA<br />
14:00 08mar: 3.0b4rc2 update snippets available on betatest update channel<br />
20:00 09mar: Dev &#038; QA says “go” for Beta; Build already completed final signing, bouncer entries<br />
07:00 10mar: mirror replication started<br />
09:15 10mar: mirror absorption good for testing to start on releasetest channel<br />
13:15 10mar: QA completes testing releasetest.<br />
14:45 10mar: website changes finalized and visible. Build given “go” to make updates snippets live.<br />
15:50 10mar: update snippets available on live beta update channel<br />
17:25 10mar: QA completes testing beta channel. Release announced</p>
<p>Notes:</p>
<p>1) The Build Automation used in FF3.0b4 included a bunch of fixes landed after FF3.0b3, which helped make things smoother. Despite the respin, yet again, all the housekeeping of the last few weeks paid off.</p>
<p>2) For better or worse, we are putting all our blow-by-blow scribbles public, so the curious can read about it, warts and all, <a target="_blank" href="http://wiki.mozilla.org/Firefox_3.0b4:BuildNotes">here</a>. Those Build Notes also link to our tracking bug#<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=418926">418926</a>.</p>
<p>3) It took us much longer then usual to start the builds.We had been distracted on other projects during the prior week, and not done *any* of the prerequesite setup work in advance of this release.<br />
4) We hit bug#<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=419771">419771</a> and bug#<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=407796">407796</a> as fallout from the recent kernel updates on this machine, which delayed announcing win32 builds by a few hours.</p>
<p>5) In 3.0b4rc1, the win32 builds were confirmed to be compiled *without* the PGO compiler optimizer. This was a problem caused by how the new PGO compiler was being enabled in tinderbox, and was completely a Build snafu. The same changes were required to two copies of an identical config file, but we only updated one, and forgot about the other. We had to completely rebuild the win32 builds from the beginning, and verified the bits as they were being produced. Note that mac and linux builds did not have to be rebuilt, but to avoid confusion, we symlinked linux-rc1 -> linux-rc2 and mac-rc1 -> mac-rc2.</p>
<p>6) Like before, we waited until morning to start pushing to mirrors. This was done so mirror absorption completed as QA were arriving in the office to start testing update channels. We did this because we wanted to reduce the time files were on the mirrors untested; in the past, overly excited people have post the locations of the files as “released” on public forums, even though they are not finished the last of the sanity checks. Coordinating the mirror push like this reduced that likelihood just a bit.</p>
<p>7) Mirror absorption took 2 hours 15mins to reach all values >= 60%, slightly faster then our usual threshold.</p>
<p>take care</p>
<p>John.
</p>
]]></content:encoded>
			<wfw:commentRss>http://oduinn.com/2008/04/09/firefox-30beta4-by-the-wall-clock-numbers/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
