Project

General

Profile

Feature #8642

Bug #7161: Support more than 24 HTTP mirrors

Enable the mirror pool dispatcher on all website pages that need it

Added by intrigeri almost 4 years ago. Updated over 2 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
Installation
Target version:
Start date:
01/09/2015
Due date:
04/15/2016
% Done:

100%

QA Check:
Feature Branch:
web/8642-enable-mirror-pool-dispatcher
Type of work:
End-user documentation
Blueprint:
Starter:
Affected tool:

Description

This is about having our JS mirror pool dispatcher loaded and active on web pages that need it.


Related issues

Blocks Tails - Feature #8643: Clean up the remainers of the old mirror pool setup Resolved 01/09/2015 04/15/2016
Blocked by Tails - Bug #11329: Mark all links on the website which should use the mirror pool Resolved 04/06/2016
Blocks Tails - Feature #11284: Update the DNS round-robin mirror pool to only include a few fast and reliable HTTP mirrors Resolved 03/25/2016
Blocks Tails - Bug #11483: Have mirrors.json use proper server-side caching control Resolved 05/24/2016

Associated revisions

Revision ef80d237 (diff)
Added by intrigeri over 2 years ago

Enable the mirror pool dispatcher on all pages.

refs: #8642

History

#1 Updated by intrigeri almost 4 years ago

  • Blocked by Feature #8641: Have the mirror pool dispatcher script deployed on tails.b.o added

#2 Updated by intrigeri almost 4 years ago

  • Blocks Feature #8643: Clean up the remainers of the old mirror pool setup added

#4 Updated by intrigeri over 3 years ago

  • Target version changed from Sustainability_M1 to Tails_2.3

#5 Updated by intrigeri about 3 years ago

  • Due date set to 04/15/2016

#6 Updated by intrigeri about 3 years ago

  • Subject changed from Adjust download documentation to point to the mirror pool dispatcher URL to Adjust download page to point to use the mirror pool dispatcher

#7 Updated by intrigeri about 3 years ago

  • Subject changed from Adjust download page to point to use the mirror pool dispatcher to Adjust download page to use the mirror pool dispatcher

#8 Updated by intrigeri about 3 years ago

  • Blocked by Feature #8635: Make each mirror provide a unique virtualhost name added

#9 Updated by intrigeri over 2 years ago

In https://mailman.boum.org/pipermail/tails-dev/2016-February/010262.html (#10284) we've decided to not do this, and instead use the fallback DNS round-robin pool for anyone not using DAVE.

#10 Updated by intrigeri over 2 years ago

  • Blocked by deleted (Feature #8641: Have the mirror pool dispatcher script deployed on tails.b.o)

#12 Updated by intrigeri over 2 years ago

  • Blocked by deleted (Feature #8635: Make each mirror provide a unique virtualhost name)

#13 Updated by intrigeri over 2 years ago

  • Blocks deleted (Feature #8643: Clean up the remainers of the old mirror pool setup)

#14 Updated by intrigeri over 2 years ago

  • Status changed from Confirmed to Rejected
  • Assignee deleted (intrigeri)

#15 Updated by intrigeri over 2 years ago

  • % Done changed from 0 to 100

#16 Updated by u over 2 years ago

  • Status changed from Rejected to Confirmed
  • Assignee set to intrigeri
  • % Done changed from 100 to 60

I am reopening this. Some links on the website should use the mirror pool dispatcher: news/* (Call for testing) and the newly to be added back link to to the ISO and signature.

#17 Updated by u over 2 years ago

  • Subject changed from Adjust download page to use the mirror pool dispatcher to Adjust some website pages to use the mirror pool dispatcher

#18 Updated by intrigeri over 2 years ago

FTR: we had to revisit the decision made last month, since there will be a direct link to the ISO (#11024) and thus non-DAVE downloads can hardly be considered as a corner case anymore.

#19 Updated by intrigeri over 2 years ago

  • Blocks Feature #8643: Clean up the remainers of the old mirror pool setup added

#20 Updated by intrigeri over 2 years ago

  • Subject changed from Adjust some website pages to use the mirror pool dispatcher to Enable the mirror pool dispatcher on all website pages that need it
  • Description updated (diff)

#21 Updated by intrigeri over 2 years ago

  • Blocked by Bug #11329: Mark all links on the website which should use the mirror pool added

#22 Updated by intrigeri over 2 years ago

  • Blocked by Feature #8641: Have the mirror pool dispatcher script deployed on tails.b.o added

#23 Updated by intrigeri over 2 years ago

  • Blocked by Feature #8635: Make each mirror provide a unique virtualhost name added

#24 Updated by intrigeri over 2 years ago

  • Assignee changed from intrigeri to u
  • Feature Branch set to web/8642-enable-mirror-pool-dispatcher

#25 Updated by intrigeri over 2 years ago

  • Status changed from Confirmed to In Progress
  • Assignee changed from u to intrigeri

Tested the branch locally as best as I could, and it seems to work :)

We now have two options:

  • merge this into master, and have the JS use a mirrors.json that only has dl.amnesia.boum.org
  • wait until #8635 is done and mirrors.json points to the new mirrors pool

Let's think about it more.

#26 Updated by intrigeri over 2 years ago

I think we should wait until at least ma1 and co6 have reviewed our the JS code of our mirror-dispatcher library + our changes to DAVE, i.e. until we can consider mirror-dispatcher.js as reviewed and ready for production use.

#27 Updated by intrigeri over 2 years ago

  • Target version changed from Tails_2.3 to Tails_2.4

#28 Updated by intrigeri over 2 years ago

  • Blocked by deleted (Feature #8635: Make each mirror provide a unique virtualhost name)

#29 Updated by intrigeri over 2 years ago

  • Blocked by Feature #11384: Record the current state of our mirror pool in JSON added

#30 Updated by intrigeri over 2 years ago

  • Blocked by deleted (Feature #8641: Have the mirror pool dispatcher script deployed on tails.b.o)

#31 Updated by intrigeri over 2 years ago

  • Blocked by Feature #8640: Have the mirror pool dispatcher library audited added

#32 Updated by intrigeri over 2 years ago

Note that there's ongoing work on the IA, that may add more links that need to get the right CSS class, so before we merge this we'll need to do a last complete search for such links (and then, we'll need to communicate with the IA developers and doc writers, to let them know how links to dl.a.b.o should look like nowadays).

#33 Updated by intrigeri over 2 years ago

intrigeri wrote:

[...] we'll need to communicate with the IA developers and doc writers, to let them know how links to dl.a.b.o should look like nowadays).

Just done that (over email).

#34 Updated by intrigeri over 2 years ago

  • Blocked by Feature #11284: Update the DNS round-robin mirror pool to only include a few fast and reliable HTTP mirrors added

#35 Updated by intrigeri over 2 years ago

  • Assignee changed from intrigeri to u
  • QA Check set to Ready for QA

Can you please review this branch, and then reassign to me?

#36 Updated by u over 2 years ago

  • Assignee changed from u to intrigeri
  • QA Check changed from Ready for QA to Pass

Looks good! thanks!

#37 Updated by u over 2 years ago

Depending on https://labs.riseup.net/code/issues/11405 we might want to include this script only on non IE browsers. Using conditional comments :

<!--[if !IE]><!--><script>our script</script><!--<![endif]-->

.. but this will not work in recent IE browsers as support for this kind of comment has been deprecated..https://msdn.microsoft.com/library/hh801214(v=vs.85).aspx So I'm not sure it's actually a good solution.

#38 Updated by intrigeri over 2 years ago

  • QA Check deleted (Pass)

#39 Updated by intrigeri over 2 years ago

  • Blocked by deleted (Feature #11284: Update the DNS round-robin mirror pool to only include a few fast and reliable HTTP mirrors)

#40 Updated by intrigeri over 2 years ago

  • Blocked by deleted (Feature #11384: Record the current state of our mirror pool in JSON)

#41 Updated by intrigeri over 2 years ago

  • Blocks Feature #11284: Update the DNS round-robin mirror pool to only include a few fast and reliable HTTP mirrors added

#42 Updated by intrigeri over 2 years ago

  • Blocked by deleted (Feature #8640: Have the mirror pool dispatcher library audited)

#43 Updated by intrigeri over 2 years ago

(u and I agree that this can now go live, without blocking on #8640, since u has addressed all concerns raised by the 1st security audit, and I'm happy with the resulting code.)

#44 Updated by intrigeri over 2 years ago

  • % Done changed from 60 to 70

I've merged master again, and checked that any new dl.a.b.o or stable_i386_iso_url occurrence had the right CSS class. Then I've tested locally, it works fine, modulo a bug in the JS (reject() does not exist, so our various sanity checks are no-ops in practice) that we've just discovered. Once that bug is fixed, I'll test again and will send this to sajolida's plate for a last review, and I'll let him merge! :)

#45 Updated by intrigeri over 2 years ago

  • Assignee changed from intrigeri to sajolida
  • QA Check set to Ready for QA

All known issues have been fixed, it works for me locally on news/test_2.2-rc1.en.html and install/download/openpgp.en.html. Please review and merge :)

#46 Updated by intrigeri over 2 years ago

  • Blocks Bug #11483: Have mirrors.json use proper server-side caching control added

#47 Updated by sajolida over 2 years ago

  • Status changed from In Progress to Resolved
  • Assignee deleted (sajolida)
  • % Done changed from 70 to 100
  • QA Check deleted (Ready for QA)

Merging now!

Also available in: Atom PDF