New process for serving static content for Persona

RESOLVED FIXED

Status

Cloud Services
Operations
RESOLVED FIXED
6 years ago
6 years ago

People

(Reporter: zaach, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [qa+], URL)

Attachments

(9 obsolete attachments)

(Reporter)

Description

6 years ago
Please review the documentation on a new process for serving static content: https://etherpad.mozilla.org/static-process
Assignee: nobody → gene
Whiteboard: [qa+]
great writeup, zach!  This arch change has my r+ and full support.

I also wonder if along with this change we should change process names to reflect more clearly the responsibilities of the different processes?

browserid -> readapi
dbwriter -> writeapi

Comment 2

6 years ago
Not sure what the URL structure inside the static bit looks like. See http://gregoryszorc.com/notes/static-content-hosting.html for some tips on getting the most out of static content hosting.
:gps this is a great reference, thanks!  I'll review in depth.

Currently you can check out our resource serving strategy by loading https://login.dev.anosrep.org

We built and use this thing: https://github.com/mozilla/connect-cachify
bump!  where are we at with architecture review?  is there anything else you need from the dev team?

Comment 5

6 years ago
Pete, can you speak to this?
LGTM. One thing I'd like to see is a brief comment on why this content can't just be served from nginx (or some other static web server).
(Reporter)

Comment 7

6 years ago
The static process will be serving semi-dynamic content (page templates for the Persona site) in addition to static resources at this time. But yes, static resources should be moved into a CDN/static server eventually.

Updated

6 years ago
Blocks: 776304
Created attachment 645575 [details] [diff] [review]
draft: add browserid-static process and router-metrics.json

first draft, incomplete
Assignee: gene → rsoderberg
Status: NEW → ASSIGNED
Created attachment 645579 [details] [diff] [review]
draft: add browserid-static process and router-metrics.json (v2)

add daemontools run files
Attachment #645575 - Attachment is obsolete: true
Created attachment 645597 [details] [diff] [review]
draft: add browserid-static process and router-metrics.json (v3)

remove locale_directory config argument per changelog, still missing debug locale argument
Attachment #645579 - Attachment is obsolete: true
Created attachment 645647 [details] [diff] [review]
draft: add browserid-static process and router-metrics.json (v4)

remove "if stage" wrappers in various places, remove unrelated config change for parent bug

add svc_check_http!/static as a first guess at what the static monitoring path might be for nagios

add static bind_to 63200, static_url localhost:63200, location /static/__heartbeat__ -> localhost:63200/__heartbeat__

copy browserid 50001 rsbac rules to router 50008, static 50009
Attachment #645597 - Attachment is obsolete: true
Created attachment 645659 [details] [diff] [review]
draft: add browserid-static process and router-metrics.json (v5)

fix two unrelated rsbac typos (one functional, one cosmetic)
Attachment #645647 - Attachment is obsolete: true
Created attachment 646424 [details] [diff] [review]
draft: add browserid-static process and router-metrics.json (v6)

add daemontools run files for browserid-static service

remove duplicate router process and syntax-error close brace in webhead.pp

working on RSBAC issues with the new process
Attachment #645659 - Attachment is obsolete: true
Created attachment 646441 [details] [diff] [review]
puppet: add browserid-static process and router-metrics.json (v7)

changelog below for v6 is a complete re-do of the rsbac changes only.

add roles 50008 router, 50009 static

repair description for fd 50004 modules

repair role 50000 (uid browserid) access to nscd

clone role 50001 browserid to 50008 router, 50009 static
Attachment #646424 - Attachment is obsolete: true
Created attachment 646447 [details] [diff] [review]
sysadmins: add bidpush heartbeat check for static (v1)

requires "add browserid-static" patch (v7) for the nginx /static/__heartbeat__ redirect

confirmed working in staging
QA will work with OPs to get this Verified in Stage once all the bits and pieces are done...
Attachment #646441 - Attachment description: draft: add browserid-static process and router-metrics.json (v7) → puppet: add browserid-static process and router-metrics.json (v7)
Attachment #646447 - Attachment description: add bidpush heartbeat check for static (v1) → sysadmins: add bidpush heartbeat check for static (v1)
The puppet (v7) patch does not yet include the necessary graphs nor cepmon, and the monitoring component of the patch is untested. Work continues on those components.

Deployed train-2012.07.20 to stage with this bug's puppet (v7), sysadmins (v1) patches, and bug 776304's puppet (v1) patch.
Created attachment 646868 [details] [diff] [review]
puppet: add browserid-static process and router-metrics.json (v8)

increase RAM allocation for BrowserID mysql databases from 256M to 50% of physical RAM
Attachment #646441 - Attachment is obsolete: true

Updated

6 years ago
Blocks: 783725
developed patch for this, but train has since derailed. returning this to the general pool for :gene to either triage+assign or close as desired.
Assignee: rsoderberg → nobody
Status: ASSIGNED → NEW
Attachment #646447 - Attachment is obsolete: true
Attachment #646868 - Attachment is obsolete: true
this was eventually deployed in some fashion
Status: NEW → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.