Closed
Bug 821295
Opened 13 years ago
Closed 11 years ago
Create Dev Instance for 'Witness'
Categories
(Infrastructure & Operations Graveyard :: WebOps: Other, task, P3)
Tracking
(Not tracked)
RESOLVED
WONTFIX
People
(Reporter: gerv, Unassigned)
References
()
Details
(Whiteboard: [kanban:https://kanbanize.com/ctrl_board/4/91] [triaged 20121214])
Please create a stage instance for Witness.
== Date Needed By ==
* 2012-12-31 ideally
== Language ==
* Language: Python
* Framework: Django
* Base: Playdoh
== URL ==
* Production URL: https://witness.mozilla.org/
* Stage URL: https://witness.allizom.org/
== HTTP Auth ==
* HTTP Auth is not required to access this site.
== HTTP / HTTPS ==
* HTTPS is required this site.
== Code Repository ==
* Github Repo: https://github.com/khchen428/witness
** Setup Github to auto-update every 5 minutes.
* SVN Localization Repo: N/A (no l10n yet)
** Setup SVN to auto-update every 15 minutes.
== Database ==
* This site requires a MySQL database.
== Other Services ==
None.
== Settings ==
* cp settings_local.py-dist settings_local.py
* Update settings values accordingly.
* Set DEBUG to False in settings_local.py.
== Cron ==
* bin/update_site.py -e stage
** frequency?
== Tracebacks ==
* Please configure Django tracebacks to be sent to:
** khchen428@gmail.com, zmathew.to@gmail.com
Updated•13 years ago
|
Assignee: server-ops → server-ops-webops
Component: Server Operations → Server Operations: Web Operations
QA Contact: shyam → nmaul
Comment 2•13 years ago
|
||
Typically we'll have a -dev instance that auto-updates as described above, and stage/prod will be manually updated. The purpose of stage in this design is to provide a stable testing platform that 1) doesn't block dev, and 2) matches prod closely, so that *deployments* are effectively tested as well.
That update_site.py script is unfortunately not Commander-aware so we can't drop it straight into Chief for you to be able to do your own deploys, but it looks suitable for wrapping in a shell script for standard IT/WebOps deploys. If you're interested in self-managed deploys (which I'm guessing you are, since you wrote update_site.py), we can provide examples on how to do this.
This seems like a good candidate for the generic cluster in phx1. Until sec-review is completed, there will have to be an HTTP Basic Auth layer in front of it... but we can strip that out once they give an approval.
Thank you for the detailed request... it helps a lot. :)
| Reporter | ||
Comment 3•13 years ago
|
||
All of that sounds fine to me, but I'm not on the Witness dev team :-)
Gerv
The -dev instance and deployment shell script strategy sound reasonable to me. I am not familiar with the phx1 cluster or WebOps procedures. How does one deploy to the cluster and add the Auth Layer to the instance?
Thanks!
Joe
Comment 5•13 years ago
|
||
Since this will be the first instance of the application, it will be the -dev instance and accessible from witness-dev.allizom.org when created
At this point all the steps will be done by webops, we should be able to give an ETA after our Thursday meeting
Summary: Create Stage Instance for 'Witness' → Create Dev Instance for 'Witness'
| Reporter | ||
Comment 6•13 years ago
|
||
:solarce: the privacy review has been completed; I think the next thing is a dev instance, and after that the security review (bug 821289). Are you able to say when we can get a deployment of this up and running?
Gerv
Comment 7•13 years ago
|
||
Since this bug was oepned we've launched https://mana.mozilla.org/wiki/display/websites/paas.allizom.org
I would suggest you set it up on paas.allizom.org to provide something for the security review for now
I've added it to this week's webops meeting to get an ETA on setup on a cluster
| Reporter | ||
Comment 8•13 years ago
|
||
:solarce: that sounds like a fine idea. The only problem is that access to PAAS requires an LDAP login, and neither of the Witness developers (who are best placed to set it up) have one. What's the right way to solve that?
Gerv
Comment 9•13 years ago
|
||
(In reply to Gervase Markham [:gerv] from comment #8)
> :solarce: that sounds like a fine idea. The only problem is that access to
> PAAS requires an LDAP login, and neither of the Witness developers (who are
> best placed to set it up) have one. What's the right way to solve that?
>
> Gerv
Ah, then at this time they wouldn't be able to use paas.allizom.org
| Reporter | ||
Comment 10•13 years ago
|
||
solarce: OK; so can you discuss in your meeting what the best way forward is to get a dev instance up?
Thanks,
Gerv
Comment 11•13 years ago
|
||
(In reply to Gervase Markham [:gerv] from comment #10)
> solarce: OK; so can you discuss in your meeting what the best way forward is
> to get a dev instance up?
>
> Thanks,
>
> Gerv
A question about the traceback part of things, would there be any possible PII included in data this app collects, that could be sent as part of a traceback?
| Reporter | ||
Comment 12•13 years ago
|
||
Yes, this app collects names and addresses in some circumstances. As to whether it could make it into a traceback, I defer to those with more knowledge of Django.
Gerv
Comment 13•13 years ago
|
||
(In reply to Gervase Markham [:gerv] from comment #12)
> Yes, this app collects names and addresses in some circumstances. As to
> whether it could make it into a traceback, I defer to those with more
> knowledge of Django.
>
> Gerv
If it's collecting PII and there is any chance that data could be included in an exception then we can't do tracebacks by email to non @mozilla.com email addresses
What'd be ideal is if we can skip email tracebacks all together and just use https://mana.mozilla.org/wiki/display/websites/errormill.mozilla.org via http://raven.readthedocs.org/en/latest/config/django.html
Comment 14•12 years ago
|
||
The app collects the user's email, IP, name, and physical address (optional) for all the signatures. I don't have access to the https://mana.mozilla.org/wiki/display/websites/errormill.mozilla.org link as it requires LDAP. How does one use the errormill? I can't seem to find information about it online.
Comment 15•12 years ago
|
||
(In reply to joech from comment #14)
> The app collects the user's email, IP, name, and physical address (optional)
> for all the signatures. I don't have access to the
> https://mana.mozilla.org/wiki/display/websites/errormill.mozilla.org link as
> it requires LDAP. How does one use the errormill? I can't seem to find
> information about it online.
It's in instance of https://sentry.readthedocs.org/en/latest/, so you use the Raven client, see http://raven.readthedocs.org/en/latest/config/django.html
What's the overall plan/expectation of this app? Is it something that's meant to be put into widespread use for moco/mofo/the community?
Comment 16•12 years ago
|
||
OK I will look into how to set up Raven for this client.
I'm not familiar with the acronyms moco&mofo. The users of this app will be Mozilla contributors but I'd expect the service would be hosted by Mozilla Foundation itself to track the signatures.
Comment 17•12 years ago
|
||
(In reply to joech from comment #16)
> OK I will look into how to set up Raven for this client.
>
> I'm not familiar with the acronyms moco&mofo. The users of this app will be
> Mozilla contributors but I'd expect the service would be hosted by Mozilla
> Foundation itself to track the signatures.
Sorry, MoCo == Mozilla Corporation, MoFo == Mozilla Foundation
Were you hoping to have this live under a mozilla.org domain, e.g. witness.mozilla.org?
I want to understand the scope of things so I can determine the best option for where to host this.
Comment 18•12 years ago
|
||
witness.mozilla.org sounds good to me. Gerv - what do you think?
| Reporter | ||
Comment 19•12 years ago
|
||
Yes, witness.mozilla.org seems like the right place. The idea is that many community members will be using it to sign stuff, and a few to add things to be signed.
Gerv
Comment 20•12 years ago
|
||
Hi Brandon,
Just wanted to follow-up on this ticket. Witness.mozilla.org makes sense to us. Is there anything I can do to help?
| Reporter | ||
Comment 21•12 years ago
|
||
solarce: ping? Is there anything else you need from us?
Gerv
| Reporter | ||
Comment 22•12 years ago
|
||
solarce: it's been 3 months now. Is there something blocking that we can help with?
Gerv
Comment 23•12 years ago
|
||
(In reply to Gervase Markham [:gerv] from comment #22)
> solarce: it's been 3 months now. Is there something blocking that we can
> help with?
>
> Gerv
Please discuss having this worked on with :jakem
Updated•12 years ago
|
Assignee: server-ops-webops → ezounes
Comment 24•12 years ago
|
||
I'll start work on the dev environment tomorrow morning. Once I get it rolling I'll report back with updates.
Comment 25•12 years ago
|
||
:gerv - Eric has made progress getting witness setup in our generic-dev environment, but has run into a road block. the application does not include a .wsgi file, which is required for our environment (apache+mod_wsgi).
to complete this deployment, we will need you to add wsgi support to the application.
Flags: needinfo?(gerv)
| Reporter | ||
Comment 26•12 years ago
|
||
Joe, Zach: sorry this is taking so long. Are you able to add WSGI support to Witness?
Gerv
Flags: needinfo?(gerv)
Comment 27•12 years ago
|
||
Another note on this...
One of the things I see that will be a hold-up is that this is not a normal Playdoh app. There is no "vendor" directory, and it's expecting to "pip install" many things from a requirements.txt file. This may be why there isn't already a wsgi file.
This isn't a big deal in Stackato, because we can rely on the requirements files. However, on our bare-metal clusters (like generic, where we've started to deploy this), we're not set up to do this... we rely on /vendor/ to have all of the native Python dependencies, and then system libraries for compiled dependencies.
In other words, we're geared to do a particular type of app fast (relatively speaking), and this one doesn't quite fit that mold. :)
We can solve this in a couple ways, and we're actively pursuing some of these:
1) Get community LDAP accounts for the 2 developers, so they can use Stackato, and thus not have to change the app too much. This is still blocked on production-ready Stackato, which is blocked on sec-review, but it more or less immediately unblocks dev work.
2) Attempt to deploy from a virtualenv. We don't have any processes or best practices around this currently, so it will take longer. It's been on our wishlist for a while to figure out a good way to do this. We haven't allocated time to it due to the long-impending Stackato system.
3) Spin up dedicated nodes (VMs) for this app. I'm not a fan of this, because we already have far too many "one-off" things in production, and factory-izing IT is a big priority these days.
We're currently focusing on #1, with a fallback plan of #2.
If there's any chance of converting this app to the standard Playdoh/funfactory style (ex: https://github.com/mozilla/dragnet), that would help us a lot. However I understand this could be a rather large change, so I'm merely bringing it up as an option. If it's infeasible, I understand. :)
| Reporter | ||
Comment 28•12 years ago
|
||
jakem: is the "standard style" documented? I mean, we asked Joe and Zach (and their predecessor) to build on playdoh as we thought that would make it easy for IT to deploy. If there's more to that than "build on playdoh", then it would be good to have docs of what that "more" is...
Gerv
Comment 29•12 years ago
|
||
There are docs, maintained by webdev. They appear to be pretty complete, too. Yay! :)
The repo is here: https://github.com/mozilla/playdoh-lib/
The readthedocs page is here: http://playdoh.readthedocs.org/en/latest/
There's a good bit of info in there. Especially relevant in this case would be:
http://playdoh.readthedocs.org/en/latest/getting-started/installation.html
http://playdoh.readthedocs.org/en/latest/packages.html
http://playdoh.readthedocs.org/en/latest/operations.html
Any questions on them should most likely be directed to webdev (most of whom live in #webdev), as they're much more familiar with *developing* playdoh apps, whereas we simply *deploy* them.
Comment 30•12 years ago
|
||
Thanks Jake! I'll take a look at the wsgi docs and create the files. As Gerv mentioned, we're not too familiar with deploying at Mozilla, so chances are we'll have questions for #webdev or for you.
Thanks,
Joe
Updated•12 years ago
|
Component: Server Operations: Web Operations → WebOps: Other
Product: mozilla.org → Infrastructure & Operations
Updated•12 years ago
|
Assignee: ezounes → server-ops-webops
Comment 31•12 years ago
|
||
Hello,
Is IT managed hosting for this still required?
If so, then having it be hosted on Stackato is the way to proceed, to start that, we'll need whomever is working on the application and will want to push updates to the site to obtain community LDAP accounts
To obtain community LDAP accounts follow the steps on http://www.mozilla.org/hacking/committer/ but in #2's bug, note that you need community LDAP for accessing resources, not for committing to repositories, but the rest of the process should be the same
Once your LDAP accounts are working, update this bug and we can walk through how to use Stackato
Flags: needinfo?(khchen428)
Flags: needinfo?(gerv)
Comment 32•12 years ago
|
||
Thanks :solarce for the link. I'll start the process for an LDAP account and let you know once it's working.
Flags: needinfo?(khchen428)
| Reporter | ||
Updated•12 years ago
|
Flags: needinfo?(gerv)
Updated•11 years ago
|
Whiteboard: [triaged 20121214] → [kanban:https://kanbanize.com/ctrl_board/4/91] [triaged 20121214]
| Reporter | ||
Comment 33•11 years ago
|
||
I'm afraid time and inertia have left the Witness project behind :-( A big thankyou to Joe and everyone else who worked on it, but I just can't see us wading through the process to get this up and running. :-(
Gerv
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → WONTFIX
Updated•7 years ago
|
Product: Infrastructure & Operations → Infrastructure & Operations Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•