ftp.m.o, shift-reloaded
For quite some time, we've been wanting to reorganize how bits and builds find their way out to the world.
It's a project we've affectionately referred to as "stage migration," and we're finally at a point where we're ready to make changes that will hopefully improve security and auditability, reliability, and expandability.
The primary goals of this move are to support:
- Ensuring that builds get scanned before they're available for download
- Audit access to the FTP tree and move to LDAP authentication for easier management
- Move to expandable storage, backed by a highly-reliable storage platform
- Combine ftp.m.o and archive.m.o, to make it easier to find builds
To address these goals, this week, the Build & IT teams will be reconfiguring the way the servers that make up ftp.m.o are set up.
The main changes that you'll notice are:
- archive.m.o and ftp.m.o will be merged into one site, which will respond to both addresses. (So, no need to switch between them if you're regression testing!)
- Directories with many builds, like firefox/nightly/, will be rearranged to allow much quicker access than the current archive.m.o. We'll be creating YYYY/MM subdirectories, and moving deliverables into those directories. For example, the builds from March of last year would be found in firefox/nightly/2006/03/, and in that directory, you would find directories with builds like 2006-03-01-04-mozilla1.8 and 2006-03-01-04-trunk. We will be doing this for all builds older than a month.
- All files will be virus scanned before becoming available. We currently virus scan all builds, but depending on a number of factors, it was possible for unscanned-builds to appear on the FTP site for a window of time; we've removed this window.
- Interactive shell accounts on the FTP farm will be replaced with sftp-only accounts.
We will be doing most of this work during an outage window starting on Thursday, 27 September at 10 pm to 2 am. The tree will be closed during this time, because we'll be teaching Tinderbox about the new FTP structure. Updates might be wonky on Friday, as well.
We will be moving the archived builds around earlier in the week, on Wednesday during the European day ("Go, go, gadget cf!" :-)
We're doing our best to minimize adverse changes but because of the above, it's possible that your account could become disabled, or data in your home directory on the current FTP machine becomes unavailable. If that happens, please email build@mozilla.org, and let us know, so we can fix it.
Comments
"We'll be creating YYYY/MM subdirectories, and moving deliverables into those directories.... We will be doing this for all builds older than a month."
Does that mean that if I link to a build the day it comes out, my link will break a month later when it moves? It would be nice if you could avoid that.
Posted by: Jesse Ruderman | September 24, 2007 10:39 PM
You are still gonna have the "latest" directory, rite?
I use that to always download the latest nightly build, instead of having to go to a specific date directory.
Posted by: Henrik Gemal | September 24, 2007 10:53 PM
@Jesse: Hrm... yes it would. We'll try to figure out a way to fix that; I'm thinking we'll probably do something creative involving symlinks, so if you want to link to a build forever, you should link to the YYYY-MM/$build directory.
@Henrik: Yes, no changes to "latest."
Posted by: Preed | September 25, 2007 10:20 AM
It sound like a job for mod_rewrite. Something like this might work:
RewriteEngine On
RewriteRule ^/?(([0-9]+)-([0-9]+)-.*)$ -
RewriteCond $1 !-F
RewriteCond $2/$3/$1 -F
RewriteRule ^/?(([0-9]+)-([0-9]+)-.*)$ /$2/$3/$1 [R]
Posted by: AndersH | September 27, 2007 12:00 PM
mod_rewrite on an FTP server?
Posted by: Fred Wenzel | September 28, 2007 12:37 AM
@AndersH:
What Fred said.
@Fred:
Aww, you said it... so I didn't have to. :-)
Seriously though, part of me wishes we'd just ditch ftp... it would make a lot of "behind the scenes tricks" easier to do... but I understand why we keep ftp access around... and as long as we do, we often have to be... "creative."
Posted by: Preed | September 28, 2007 1:15 AM
Ah, sorry, your "firefox/nightly/"-link was a http:-link. Are people really using ftp for download anymore? Just curious what is the http/ftp-ratio?
Posted by: AndersH | September 28, 2007 7:31 AM
Not very many people still use it, but the ones who do are noisy. We hear about it when it breaks. And sometimes people think they can link there to get releases early. We had to administratively block access to release files via ftp this last release cycle because someone on a big site direct-linked it and filled all the connection slots on the ftp server so nobody could get nightlies. On the HTTP side we just redirect those to the releases server that has all the bandwidth :)
Posted by: Dave Miller | September 29, 2007 5:42 PM