Closed
Bug 1145713
Opened 10 years ago
Closed 10 years ago
Add 302 redirects from TBPL to Treeherder
Categories
(Tree Management Graveyard :: TBPL, defect)
Tree Management Graveyard
TBPL
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: emorley, Assigned: emorley)
References
Details
Attachments
(2 files)
(deleted),
patch
|
Details | Diff | Splinter Review | |
(deleted),
text/plain
|
Details |
This is bug 1054977 comment 6's step #1:
(In reply to Ed Morley (Away 23rd March -> 1st April) [:edmorley] from comment #6)
> Rough plan:
> 0) Ensure bug 1050477 (mcMerge migration) is complete.
> 1) Add 302 entries to the in-repo .htaccess to redirect users to Treeherder
> (https://hg.mozilla.org/webtools/tbpl/file/default/.htaccess).
> 2) Ask for the TBPL import-buildbot-data.py cron to be stopped (for both
> prod and dev). At this point TBPL won't be consuming any resources beyond
> the redirects.
> 3) Announce TBPL EOL to dev.tree-management.
> 4) Presuming those 302s work ok, convert them to 301s after a day or two
> (http://getluky.net/2010/12/14/301-redirects-cannot-be-undon/)
...
Assignee | ||
Updated•10 years ago
|
Blocks: tbpl-eol
Summary: Add 302 redirects to treeherder → Add 302 redirects from TBPL to Treeherder
Assignee | ||
Comment 1•10 years ago
|
||
We'll also 302 redirect mcMerge, which depends on bug 1050477.
Depends on: 1050477
Assignee | ||
Comment 2•10 years ago
|
||
Notes:
https://tbpl.mozilla.org/mcmerge/.*
-> https://mcmerge.paas.allizom.org/.*
For TBPL, since it uses custom tree names, it makes the redirects more annoying. As such, I think I'll only add specific redirects (ie &revision and &author) for Try, and for the rest, I'll just redirect to the repo on treeherder with no additional URL params.
https://tbpl.mozilla.org/?tree=TBPL-REPO-NAME&rev=REV
-> https://treeherder.mozilla.org/#/jobs?repo=REPO&revision=REV
https://tbpl.mozilla.org/?tree=TBPL-REPO-NAME&pusher=EMAIL
-> https://treeherder.mozilla.org/#/jobs?repo=REPO&author=EMAIL
https://tbpl.mozilla.org/?tree=TBPL-REPO-NAME
-> https://treeherder.mozilla.org/#/jobs?repo=REPO
And for anything else:
https://tbpl.mozilla.org/.*
-> https://treeherder.mozilla.org/
Assignee | ||
Comment 3•10 years ago
|
||
Feedback from anyone welcome; it works well enough when I tested locally, but I think the best way to check for sure is just to land it and try it out on tbpl-dev before deploying. I've intentionally used 302s for now, since it's hard to unbreak 301s once in production - we can convert them to 301s later.
* Redirects mcMerge to the new paas instance.
* Excludes the cache directory from all rules, so we can still access the
revision info / data-import logs.
* Returns a 403 forbidden rather than redirecting, for things under php/, so API
consumers get a more obvious failure mode.
* Redirects common trees to the appropriate URL on Treeherder (for all others,
redirects to the Treeherder homepage).
* For the common trees, preserves/converts the pusher or revision filter params,
but removes any others since they'd require overly complex mapping to their
equivalents on Treeherder.
* For anything else, just redirect to the Treeherder homepage.
Assignee | ||
Comment 4•10 years ago
|
||
Testcases, when this lands on tbpl-dev...
eg:
$ curl -Is "http://tbpl/?tree=Try&rev=8d25899e86a6" | egrep '(HTTP|Location)'
HTTP/1.1 302 Found
Location: https://treeherder.mozilla.org/#/jobs?repo=try&revision=8d25899e86a6
==
Should redirect to Treeherder with all params preserved:
https://tbpl-dev.allizom.org/?tree=Try&rev=8d25899e86a6
https://tbpl-dev.allizom.org/?tree=Try&pusher=email@mozilla.com
https://tbpl-dev.allizom.org/?tree=Try
https://tbpl-dev.allizom.org/?tree=Mozilla-Inbound&rev=7c491d4a0e06
https://tbpl-dev.allizom.org/?tree=Mozilla-Inbound
Will have unrecognised params removed, but others preserved:
https://tbpl-dev.allizom.org/?foo=1&tree=Try&rev=8d25899e86a6&bar=2
https://tbpl-dev.allizom.org/?foo=1&tree=Try&pusher=email@mozilla.com&bar=2
https://tbpl-dev.allizom.org/?foo=1&tree=Try&bar=2
Should redirect to Treeherder homepage with params discarded:
https://tbpl-dev.allizom.org
https://tbpl-dev.allizom.org/
https://tbpl-dev.allizom.org/?tree=unknownTree
https://tbpl-dev.allizom.org/?pusher=email@mozilla.com&tree=Try
https://tbpl-dev.allizom.org/?foo=1
https://tbpl-dev.allizom.org/robots.txt
https://tbpl-dev.allizom.org/non-existent
Should redirect to mcMerge's paas instance with params preserved:
https://tbpl-dev.allizom.org/mcmerge
https://tbpl-dev.allizom.org/mcmerge/
https://tbpl-dev.allizom.org/mcmerge/?cset=2a404169de2d&tree=mozilla-central
Should return a 403 forbidden:
https://tbpl-dev.allizom.org/php
https://tbpl-dev.allizom.org/php/
https://tbpl-dev.allizom.org/php/getRevisionBuilds.php?branch=try&ignore_deprecation_notice=1&rev=bf1b63230977
Should still be accessible:
https://tbpl-dev.allizom.org/cache
https://tbpl-dev.allizom.org/cache/
https://tbpl-dev.allizom.org/cache/revision_info.txt
Assignee | ||
Comment 5•10 years ago
|
||
Assignee | ||
Updated•10 years ago
|
Attachment #8581156 -
Attachment mime type: application/x-shellscript → text/plain
Assignee | ||
Comment 6•10 years ago
|
||
Comment on attachment 8581151 [details] [diff] [review]
Add 302 redirects from TBPL to Treeherder/mcMerge
The testcases looked fine locally, so I've landed this to allow for further testing on tbpl-dev (eg I'd rather find out now than later if mod_rewrite isn't enabled etc).
https://hg.mozilla.org/webtools/tbpl/rev/73ad7a52c30e
Assignee | ||
Comment 7•10 years ago
|
||
Looks fine to me :-)
$ ./tbpl-redirect-testing.sh
https://tbpl-dev.allizom.org/?tree=Try&rev=8d25899e86a6
-> HTTP/1.1 302 Found
-> Location: https://treeherder.mozilla.org/#/jobs?repo=try&revision=8d25899e86a6
https://tbpl-dev.allizom.org/?tree=Try&pusher=email@mozilla.com
-> HTTP/1.1 302 Found
-> Location: https://treeherder.mozilla.org/#/jobs?repo=try&author=email@mozilla.com
https://tbpl-dev.allizom.org/?tree=Try
-> HTTP/1.1 302 Found
-> Location: https://treeherder.mozilla.org/#/jobs?repo=try
https://tbpl-dev.allizom.org/?tree=Mozilla-Inbound&rev=7c491d4a0e06
-> HTTP/1.1 302 Found
-> Location: https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&revision=7c491d4a0e06
https://tbpl-dev.allizom.org/?tree=Mozilla-Inbound
-> HTTP/1.1 302 Found
-> Location: https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound
https://tbpl-dev.allizom.org/?foo=1&tree=Try&rev=8d25899e86a6&bar=2
-> HTTP/1.1 302 Found
-> Location: https://treeherder.mozilla.org/#/jobs?repo=try&revision=8d25899e86a6
https://tbpl-dev.allizom.org/?foo=1&tree=Try&pusher=email@mozilla.com&bar=2
-> HTTP/1.1 302 Found
-> Location: https://treeherder.mozilla.org/#/jobs?repo=try&author=email@mozilla.com
https://tbpl-dev.allizom.org/?foo=1&tree=Try&bar=2
-> HTTP/1.1 302 Found
-> Location: https://treeherder.mozilla.org/#/jobs?repo=try
https://tbpl-dev.allizom.org
-> HTTP/1.1 302 Found
-> Location: https://treeherder.mozilla.org/
https://tbpl-dev.allizom.org/
-> HTTP/1.1 302 Found
-> Location: https://treeherder.mozilla.org/
https://tbpl-dev.allizom.org/?tree=unknownTree
-> HTTP/1.1 302 Found
-> Location: https://treeherder.mozilla.org/
https://tbpl-dev.allizom.org/?pusher=email@mozilla.com&tree=Try
-> HTTP/1.1 302 Found
-> Location: https://treeherder.mozilla.org/#/jobs?repo=try
https://tbpl-dev.allizom.org/?foo=1
-> HTTP/1.1 302 Found
-> Location: https://treeherder.mozilla.org/
https://tbpl-dev.allizom.org/robots.txt
-> HTTP/1.1 302 Found
-> Location: https://treeherder.mozilla.org/
https://tbpl-dev.allizom.org/non-existent
-> HTTP/1.1 302 Found
-> Location: https://treeherder.mozilla.org/
https://tbpl-dev.allizom.org/mcmerge
-> HTTP/1.1 302 Found
-> Location: https://mcmerge.paas.allizom.org/
https://tbpl-dev.allizom.org/mcmerge/
-> HTTP/1.1 302 Found
-> Location: https://mcmerge.paas.allizom.org/
https://tbpl-dev.allizom.org/mcmerge/?cset=2a404169de2d&tree=mozilla-central
-> HTTP/1.1 302 Found
-> Location: https://mcmerge.paas.allizom.org/?cset=2a404169de2d&tree=mozilla-central
https://tbpl-dev.allizom.org/php
-> HTTP/1.1 403 Forbidden
https://tbpl-dev.allizom.org/php/
-> HTTP/1.1 403 Forbidden
https://tbpl-dev.allizom.org/php/getRevisionBuilds.php?branch=try&ignore_deprecation_notice=1&rev=bf1b63230977
-> HTTP/1.1 403 Forbidden
https://tbpl-dev.allizom.org/cache
-> HTTP/1.1 301 Moved Permanently
-> Location: https://tbpl-dev.allizom.org/cache/
https://tbpl-dev.allizom.org/cache/
-> HTTP/1.1 200 OK
https://tbpl-dev.allizom.org/cache/revision_info.txt
-> HTTP/1.1 200 OK
Assignee | ||
Comment 8•10 years ago
|
||
Deployed now, since we'll need a couple of days to check it's working before switching things off, and we want to switch TBPL off before the end of the month. The EOL announcement also said "end of the month" rather than 31st March specifically, so I don't see this as contrary to that.
I've tested against tbpl-prod using the attached script (with domain edited), and everything works fine.
If others want to verify in-browser, try the following subset of those tests:
https://tbpl.mozilla.org
https://tbpl.mozilla.org/?tree=Mozilla-Inbound
https://tbpl.mozilla.org/?tree=Mozilla-Inbound&rev=7c491d4a0e06
https://tbpl.mozilla.org/?tree=Try
https://tbpl.mozilla.org/?tree=Try&rev=8d25899e86a6
https://tbpl.mozilla.org/mcmerge/
Deploy log:
[localhost] out: Changelog: https://hg.mozilla.org/webtools/tbpl/pushloghtml?fromchange=e6720cf640e1&tochange=73ad7a52c30e
[2015-03-29 07:47:30] [localhost] running: cd /data/genericrhel6/src/tbpl.mozilla.org/tbpl && hg pull -u -v -r 73ad7a52c30e
[2015-03-29 07:47:32] [localhost] finished: cd /data/genericrhel6/src/tbpl.mozilla.org/tbpl && hg pull -u -v -r 73ad7a52c30e (2.001s)
[localhost] out: pulling from http://hg.mozilla.org/webtools/tbpl
[localhost] out: searching for changes
[localhost] out: all local heads known remotely
[localhost] out: adding changesets
[localhost] out: adding manifests
[localhost] out: adding file changes
[localhost] out: added 2 changesets with 2 changes to 2 files
[localhost] out: resolving manifests
[localhost] out: removing mcmerge/LICENSE
[localhost] out: removing mcmerge/README.md
[localhost] out: removing mcmerge/css/opensans.woff
[localhost] out: removing mcmerge/css/style.css
[localhost] out: removing mcmerge/images/background.png
[localhost] out: removing mcmerge/images/holly.png
[localhost] out: removing mcmerge/images/sky.png
[localhost] out: removing mcmerge/images/snowy.jpg
[localhost] out: removing mcmerge/index.html
[localhost] out: removing mcmerge/js/BugData.js
[localhost] out: removing mcmerge/js/Config.js
[localhost] out: removing mcmerge/js/ConfigurationData.js
[localhost] out: removing mcmerge/js/DebugUI.js
[localhost] out: removing mcmerge/js/FlagLoader.js
[localhost] out: removing mcmerge/js/PushData.js
[localhost] out: removing mcmerge/js/Remapper.js
[localhost] out: removing mcmerge/js/Step.js
[localhost] out: removing mcmerge/js/Summary.js
[localhost] out: removing mcmerge/js/UI.js
[localhost] out: removing mcmerge/js/Utils.js
[localhost] out: removing mcmerge/js/Viewer.js
[localhost] out: removing mcmerge/js/ViewerController.js
[localhost] out: removing mcmerge/js/mcMerge.js
[localhost] out: removing mcmerge/thirdparty/bzjs/bz-0.3.0.js
[localhost] out: removing mcmerge/thirdparty/jquery/MIT-LICENSE.txt
[localhost] out: removing mcmerge/thirdparty/jquery/jquery-1.7.2.min.js
[localhost] out: removing mcmerge/thirdparty/toast/grid.css
[localhost] out: removing mcmerge/thirdparty/toast/reset.css
[localhost] out: removing mcmerge/thirdparty/toast/toast.css
[localhost] out: removing mcmerge/thirdparty/toast/type.css
[localhost] out: getting .htaccess
[localhost] out: getting js/Config.js
[localhost] out: 2 files updated, 0 files merged, 30 files removed, 0 files unresolved
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Updated•10 years ago
|
Product: Tree Management → Tree Management Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•