<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=iso-8859-1"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"Trebuchet MS";
        panose-1:2 11 6 3 2 2 2 2 2 4;}
@font-face
        {font-family:"\@SimSun";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:inherit;
        panose-1:0 0 0 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
h1
        {mso-style-priority:9;
        mso-style-link:"Heading 1 Char";
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:24.0pt;
        font-family:"Times New Roman","serif";
        font-weight:bold;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.Heading1Char
        {mso-style-name:"Heading 1 Char";
        mso-style-priority:9;
        mso-style-link:"Heading 1";
        font-family:"Times New Roman","serif";
        font-weight:bold;}
span.sep
        {mso-style-name:sep;}
span.apple-converted-space
        {mso-style-name:apple-converted-space;}
span.author
        {mso-style-name:author;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:548107629;
        mso-list-template-ids:1147023698;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l1
        {mso-list-id:708261091;
        mso-list-template-ids:1876591180;}
@list l1:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l1:level2
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l1:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l1:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l1:level5
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l1:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l1:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l1:level8
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l1:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal>[sending to mirror-list-d.  If you have a public mirror and can provide an rsync URL for your Categories, the crawler will now use it.  You can also request to get clients on Peer ASNs &#8211; email <a href="mailto:mirror-admin@fedoraproject.org">mirror-admin@fedoraproject.org</a> with your request and we can help you out. &#8211;Matt]<o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal><a href="http://domsch.com/blog/?p=620">http://domsch.com/blog/?p=620</a><o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><h1 style='margin:0in;margin-bottom:.0001pt;line-height:36.0pt;vertical-align:baseline'><span style='font-size:27.0pt;font-family:"inherit","serif";color:black'>MirrorManager 1.4 now in production in Fedora Infrastructure<o:p></o:p></span></h1><p class=MsoNormal style='line-height:13.5pt;vertical-align:baseline'><span class=sep><span style='font-size:9.0pt;font-family:"inherit","serif";color:#666666;border:none windowtext 1.0pt;padding:0in'>Posted on</span></span><span class=apple-converted-space><span style='font-size:9.0pt;font-family:"inherit","serif";color:#666666;border:none windowtext 1.0pt;padding:0in'>&nbsp;</span></span><span style='font-size:9.0pt;font-family:"inherit","serif";color:#666666'><a href="http://domsch.com/blog/?p=620" title="8:39 pm"><b><span style='color:#1982D1;border:none windowtext 1.0pt;padding:0in'>June 19, 2013</span></b></a><span class=apple-converted-space><span style='border:none windowtext 1.0pt;padding:0in'>&nbsp;</span></span><span class=sep><span style='border:none windowtext 1.0pt;padding:0in'>by</span></span><span class=apple-converted-space><span style='border:none windowtext 1.0pt;padding:0in'>&nbsp;</span></span><span class=author><span style='border:none windowtext 1.0pt;padding:0in'><a href="http://domsch.com/blog/?author=2" title="View all posts by mdomsch"><b><span style='color:#1982D1'>mdomsch</span></b></a></span></span><o:p></o:p></span></p><p style='margin:0in;margin-bottom:.0001pt;line-height:18.0pt;background:white;vertical-align:baseline;font-style:inherit;font-weight:inherit;outline: 0px'><span style='font-size:11.5pt;font-family:"inherit","serif";color:#373737'>After nearly 3 years in on-again/off-again development,</span><span class=apple-converted-space><span style='font-size:11.5pt;font-family:"inherit","serif";color:#373737'>&nbsp;</span></span><span style='font-size:11.5pt;font-family:"inherit","serif";color:#373737'><a href="http://mirrormanager.org/"><span style='color:#1982D1;border:none windowtext 1.0pt;padding:0in'>MirrorManager 1.4</span></a></span><span class=apple-converted-space><span style='font-size:11.5pt;font-family:"inherit","serif";color:#373737'>&nbsp;</span></span><span style='font-size:11.5pt;font-family:"inherit","serif";color:#373737'>is now live in the<a href="https://fedoraproject.org/wiki/Infrastructure"><span style='color:#1982D1;border:none windowtext 1.0pt;padding:0in'>Fedora Infrastructure</span></a>, happily serving mirrorlists to yum, and directing Fedora users to their favorite ISOs &#8211; just in time for the Fedora 19 freeze.<o:p></o:p></span></p><p style='margin:0in;margin-bottom:.0001pt;line-height:18.0pt;background:white;vertical-align:baseline;font-style:inherit;font-weight:inherit;outline: 0px'><span style='font-size:11.5pt;font-family:"inherit","serif";color:#373737'>Kudos go out to Kevin Fenzi, Seth Vidal, Stephen Smoogen, Toshio Kuratomi, Pierre-Yves Chivon, Patrick&nbsp;Uiterwijk, Adrian Reber, and&nbsp;Johan Cwiklinski for their assistance in making this happen. &nbsp;Special thanks to Seth for moving the mirrorlist-serving processes to their own servers where they can&#8217;t harm other FI applications, and to Smooge, Kevin and Patrick, who gave up a lot of their Father&#8217;s Day weekend (both days and nights) to help find and fix latent bugs</span><span class=apple-converted-space><span style='font-size:11.5pt;font-family:"inherit","serif";color:#373737'>&nbsp;</span></span><span style='font-size:11.5pt;font-family:"inherit","serif";color:#373737'><a href="http://domsch.com/l/testinproduction"><span style='color:#1982D1;border:none windowtext 1.0pt;padding:0in'>uncovered in production</span></a>.<o:p></o:p></span></p><p style='margin:0in;margin-bottom:.0001pt;line-height:18.0pt;background:white;vertical-align:baseline;font-style:inherit;font-weight:inherit;outline: 0px'><span style='font-size:11.5pt;font-family:"inherit","serif";color:#373737'>What does this bring the average Fedora user? &nbsp;Not a lot&#8230; &nbsp;More stability &#8211; fewer failures with yum retrieving the mirror lists, not that there were many, but it was nonzero. &nbsp;A<a href="https://mirrors.fedoraproject.org/publiclist/"><span class=apple-converted-space><span style='color:#1982D1;border:none windowtext 1.0pt;padding:0in;text-decoration:none'>&nbsp;</span></span><span style='color:#1982D1;border:none windowtext 1.0pt;padding:0in'>list of public mirrors</span></a></span><span class=apple-converted-space><span style='font-size:11.5pt;font-family:"inherit","serif";color:#373737'>&nbsp;</span></span><span style='font-size:11.5pt;font-family:"inherit","serif";color:#373737'>where the versions are sorted in numerical order.<o:p></o:p></span></p><p style='mso-margin-top-alt:0in;margin-right:0in;margin-bottom:19.5pt;margin-left:0in;line-height:18.0pt;background:white;vertical-align:baseline;font-style:inherit;font-weight:inherit;outline: 0px'><span style='font-size:11.5pt;font-family:"inherit","serif";color:#373737'>What does this bring to a Fedora mirror administrator? &nbsp;A few new tricks:<o:p></o:p></span></p><p class=MsoNormal style='margin-left:30.0pt;text-indent:-.25in;line-height:18.0pt;mso-list:l1 level1 lfo1;background:white;vertical-align:baseline'><![if !supportLists]><span style='font-size:10.0pt;font-family:Wingdings;color:#373737'><span style='mso-list:Ignore'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span></span><![endif]><span style='font-size:11.5pt;font-family:"inherit","serif";color:#373737'>Mirror admins have been able to specify their own Autonomous System Number for several years. &nbsp;Clients on the same AS get directed to that mirror. &nbsp;MM 1.4 adds the ability for mirror admins to request additional &#8220;peer ASNs&#8221; &#8211; particularly helpful for mirrors located at a peering point (say, Hawaii), where listing lots of netblocks instead is unwieldy. &nbsp;As this has the potential to be slightly dangerous (no, you can&#8217;t request ALL ASNs be sent your way), ask a Fedora sysadmin if you want to use this new feature &#8211; we can help you.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:30.0pt;text-indent:-.25in;line-height:18.0pt;mso-list:l1 level1 lfo1;background:white;vertical-align:baseline'><![if !supportLists]><span style='font-size:10.0pt;font-family:Wingdings;color:#373737'><span style='mso-list:Ignore'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span></span><![endif]><span style='font-size:11.5pt;font-family:"inherit","serif";color:#373737'>Multiple mirrors claiming the same netblock, or overlapping netblocks, were returned to clients in random order. &nbsp;Now they will be returned in ascending netblock size order. &nbsp;This lets an organization that has a private mirror, and their upstream ISP, both have a mirror, and most requests will be sent to the private mirror first, falling back to the ISP&#8217;s mirror. &nbsp;This should save some bandwidth for the organization.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:30.0pt;text-indent:-.25in;line-height:18.0pt;mso-list:l1 level1 lfo1;background:white;vertical-align:baseline'><![if !supportLists]><span style='font-size:10.0pt;font-family:Wingdings;color:#373737'><span style='mso-list:Ignore'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span></span><![endif]><span style='font-size:11.5pt;font-family:"inherit","serif";color:#373737'>If you provide rsync URLs, You&#8217;ll see reduced load from the MM crawler as it will now use rsync to retrieve your content listing, rather than a ton of HTTP or FTP requests.<o:p></o:p></span></p><p style='mso-margin-top-alt:0in;margin-right:0in;margin-bottom:19.5pt;margin-left:0in;line-height:18.0pt;background:white;vertical-align:baseline;font-style:inherit;font-weight:inherit;outline: 0px'><span style='font-size:11.5pt;font-family:"inherit","serif";color:#373737'>What does this bring Fedora Infrastructure (or anyone else running MirrorManager)?<o:p></o:p></span></p><p class=MsoNormal style='margin-left:30.0pt;text-indent:-.25in;line-height:18.0pt;mso-list:l0 level1 lfo2;background:white;vertical-align:baseline'><![if !supportLists]><span style='font-size:10.0pt;font-family:Wingdings;color:#373737'><span style='mso-list:Ignore'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span></span><![endif]><span style='font-size:11.5pt;font-family:"inherit","serif";color:#373737'>reduced memory usage in the mirrorlist servers. &nbsp;Especially with as bad as python is at memory management on x86_64 (e.g. reading in a 12MB pickle file blows out memory usage from 4MB to 120MB), this is critical. &nbsp;This directly impacts the number of simultaneous users that can be served, the response latency, and the CPU overhead too &#8211; it&#8217;s a win-win-win-win.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:30.0pt;text-indent:-.25in;line-height:18.0pt;mso-list:l0 level1 lfo2;background:white;vertical-align:baseline'><![if !supportLists]><span style='font-size:10.0pt;font-family:Wingdings;color:#373737'><span style='mso-list:Ignore'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span></span><![endif]><span style='font-size:11.5pt;font-family:"inherit","serif";color:#373737'>An improved admin interface &#8211; getting rid of hand-coded pages that looked like they could have been served by BBS software on my Commodore 64 &#8211; for something modern, more usable, and less error prone.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:30.0pt;text-indent:-.25in;line-height:18.0pt;mso-list:l0 level1 lfo2;background:white;vertical-align:baseline'><![if !supportLists]><span style='font-size:10.0pt;font-family:Wingdings;color:#373737'><span style='mso-list:Ignore'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span></span><![endif]><span style='font-size:11.5pt;font-family:"inherit","serif";color:#373737'>Code specifically intended for use by Debian/Ubuntu and<span class=apple-converted-space>&nbsp;</span><a href="http://osdir.com/ml/centos-mirror/2011-10/msg00033.html"><span style='color:#1982D1;border:none windowtext 1.0pt;padding:0in'>CentOS</span></a><span class=apple-converted-space>&nbsp;</span>communities, should they decide to use MM in the future.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:30.0pt;text-indent:-.25in;line-height:18.0pt;mso-list:l0 level1 lfo2;background:white;vertical-align:baseline'><![if !supportLists]><span style='font-size:10.0pt;font-family:Wingdings;color:#373737'><span style='mso-list:Ignore'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span></span><![endif]><span style='font-size:11.5pt;font-family:"inherit","serif";color:#373737'>A new method to upgrade database schemas &#8211; saner than SQLObject&#8217;s method. &nbsp;This should make me less scared to make schema changes in the future to support new features. &nbsp;(yes, we&#8217;re still using SQLObject &#8211; if it&#8217;s not completely broken, don&#8217;t fix it&#8230;)<o:p></o:p></span></p><p class=MsoNormal style='margin-left:30.0pt;text-indent:-.25in;line-height:18.0pt;mso-list:l0 level1 lfo2;background:white;vertical-align:baseline'><![if !supportLists]><span style='font-size:10.0pt;font-family:Wingdings;color:#373737'><span style='mso-list:Ignore'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span></span><![endif]><span style='font-size:11.5pt;font-family:"inherit","serif";color:#373737'>Map generation moved to a separate subpackage, to avoid the dependency on 165MB of &nbsp;python-basemap and python-basemap-data packages on all servers.<o:p></o:p></span></p><p style='mso-margin-top-alt:0in;margin-right:0in;margin-bottom:19.5pt;margin-left:0in;line-height:18.0pt;background:white;vertical-align:baseline;font-style:inherit;font-weight:inherit;outline: 0px'><span style='font-size:11.5pt;font-family:"inherit","serif";color:#373737'>MM 1.4 is a good step forward, and hopefully I&#8217;ve laid the groundwork to make it easier to improve in the future. &nbsp;I&#8217;m excited that more of the Fedora Infrastructure team has learned (the hard way) the internals of MM, so I&#8217;ll have additional help going forward too.<o:p></o:p></span></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal><b><span style='font-size:8.0pt;font-family:"Trebuchet MS","sans-serif";color:#444444'><o:p>&nbsp;</o:p></span></b></p><p class=MsoNormal><b><span style='font-size:8.0pt;font-family:"Trebuchet MS","sans-serif";color:#444444'>--<o:p></o:p></span></b></p><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Trebuchet MS","sans-serif";color:#444444'>Matt Domsch<o:p></o:p></span></b></p><p class=MsoNormal><span style='font-size:8.0pt;font-family:"Trebuchet MS","sans-serif";color:#444444'>Distinguished Engineer, Technology Strategist<o:p></o:p></span></p><p class=MsoNormal><b><span style='font-size:8.0pt;font-family:"Trebuchet MS","sans-serif";color:#0085C3'>Dell</span></b><span style='font-size:8.0pt;font-family:"Trebuchet MS","sans-serif";color:#444444'> | Office of the CTO<b><o:p></o:p></b></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><o:p>&nbsp;</o:p></p></div></body></html>