Closed
Bug 952881
Opened 11 years ago
Closed 9 years ago
Deploy bugzfeed (WebSocket server for the Bugzilla Change Notification System) to Heroku
Categories
(bugzilla.mozilla.org :: Infrastructure, defect)
bugzilla.mozilla.org
Infrastructure
Tracking
()
RESOLVED
FIXED
People
(Reporter: mcote, Unassigned)
References
Details
Bugzfeed is the WebSockets application that serves data from the Bugzilla Change Notification System.
It is available from pypi under the package name "bugzfeed". It is a Tornado application, installed as "bugzfeed-server". Source is at https://github.com/mozilla/bugzfeed. The default configuration should work, although you will probably want to specify the port via --port=$PORT or in a config file (see example in the source).
I have no idea how many users it will have and hence no idea about system requirements. It is, however, designed to be scalable; since it creates an independent consumer on pulse, it can be run on multiple machines with a load balancer.
Comment 1•11 years ago
|
||
Mark - before we can commit to setting this up anywhere, we're going to need bugzfeed to go through a security review. i am marking this bug for a review.
Flags: sec-review?
Comment 2•11 years ago
|
||
Clearing secreview flag as I've filed a separate secreview bug.
Flags: sec-review?
Comment 3•11 years ago
|
||
We'll have an opsec review. :cturra, do you know where this would live? afaik, we don't have websocket support behind the ZLBs at the moment.
Flags: needinfo?(cturra)
Comment 4•11 years ago
|
||
that's a great question - i don't know. this might be a good case to spend some time sorting out how we want to deal with websockets behind zeus tho.
Flags: needinfo?(cturra)
Comment 5•11 years ago
|
||
(In reply to Chris Turra [:cturra] from comment #4)
> that's a great question - i don't know. this might be a good case to spend
> some time sorting out how we want to deal with websockets behind zeus tho.
We could do a direct NAT and SSL termination in Apache, like we do with people.mo
Assignee | ||
Comment 6•11 years ago
|
||
FYI the security reviews were completed last week. What kind of an ETA could I expect on this? Note that it's related to an IT goal (Bugzilla performance) indirectly, in that, when it is widely adopted, it should cut down on the number of clients constantly polling BMO for updates.
Flags: needinfo?(cturra)
Assignee | ||
Comment 7•11 years ago
|
||
For now, at least, I have deployed bugzfeed on AWS at ws://bugzfeed.mozilla.org/.
Status: NEW → RESOLVED
Closed: 11 years ago
Flags: needinfo?(cturra)
Resolution: --- → FIXED
Assignee | ||
Comment 8•11 years ago
|
||
Going to reopen this, since we do want this deployed on Mozilla infrastructure at some point.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Comment 9•11 years ago
|
||
Mark: can you please file a new bug for it when that future point arrives? Thanks!
Status: REOPENED → RESOLVED
Closed: 11 years ago → 11 years ago
Resolution: --- → FIXED
Assignee | ||
Comment 10•11 years ago
|
||
Anytime you're ready. :) Some groups want apps that rely on it, so it should have some sort of proper admin.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Updated•11 years ago
|
Assignee: server-ops-webops → klibby
QA Contact: nmaul → laura
Updated•11 years ago
|
Whiteboard: [kanban:https://kanbanize.com/ctrl_board/4/157]
Updated•11 years ago
|
Component: WebOps: Bugzilla → Infrastructure
Product: Infrastructure & Operations → bugzilla.mozilla.org
Comment 11•10 years ago
|
||
ping?
Comment 12•10 years ago
|
||
I just had a chat with :glob about this. The current, temporary, bugzfeed setup is bad and we need a proper production deployment ASAP. see 1079596
Bugzfeed needs TLS and Websocket support. Which means a TCP load balancer that handles the TLS termination but does not touch the content (no HTTP).
I see 3 options, sorted by preference:
1. Use ZLB to terminate TLS and source-ip load balancing to VMs running bugzfeed
2. Use ELB in AWS to terminate TLS and source-ip load balancing to AWS instances running bugzfeed
3. NAT an IP to a single Apache server and terminate TLS there
Can someone in WebOps or Infra pick a preferred solution and move this bug forward? If solution 2 is chosen, let's run this in IT AWS, and I'll help with the ELB setup (we have scripts).
Updated•10 years ago
|
Flags: needinfo?(cturra)
Comment 13•10 years ago
|
||
BMO infra is handled by Dev Services (e.g. me). :glob appears to have handled the SSLv3 issue in 1079596, so how ASAP is ASAP? I haven't forgotten about this, but I can only juggle so many chainsaws at once. If WebOps has cycles, then feel free to use them.
Assignee | ||
Comment 14•10 years ago
|
||
By the end of the quarter would be nice. We want to integrate bugzfeed into BMO, but we want to wait until it's on our dev-service-maintained infrastructure to do that.
Comment 15•10 years ago
|
||
due to ssl issues i have turned off the ssl endpoint for our "temporary" bugzfeed server (see bug 1079596).
we're now looking at almost a full year from the time when we were good to go (sec-review was completed on 2014-02-04).
Assignee | ||
Updated•9 years ago
|
Flags: needinfo?(cturra)
Assignee | ||
Comment 16•9 years ago
|
||
I'm going to look into moving this to Heroku soon.
Assignee | ||
Updated•9 years ago
|
Assignee: klibby → mcote
Status: REOPENED → ASSIGNED
Summary: Deploy bugzfeed (WebSocket server for the Bugzilla Change Notification System) → Deploy bugzfeed (WebSocket server for the Bugzilla Change Notification System) to Heroku
Whiteboard: [kanban:https://kanbanize.com/ctrl_board/4/157]
Assignee | ||
Comment 17•9 years ago
|
||
I have finally set up Bugzfeed on Heroku. I'm just waiting on DNS changeover (bug 1222882), but it is currently accessible via ws://bugzfeed.herokuapp.com/ and (with SSL!) wss://bugzfeed.herokuapp.com/. SSL via wss://bugzfeed.mozilla.org/ will be available after the DNS update.
You can see an example app, currently using wss://bugzfeed.herokuapp.com/, at https://people.mozilla.org/~mcote/bugzfeed_example/ (also available in the Bugzfeed source on GitHub).
Comment 18•9 years ago
|
||
Will wss://bugzfeed-dev.allizom.org (for https://bugzilla-dev.allizom.org) be also available as before?
Assignee | ||
Comment 19•9 years ago
|
||
Good point. I'll incorporate something into the production bugzfeed app, since it doesn't change enough to warrant a dev instance. So it'll probably be something like wss://bugzfeed.mozilla.org/dev/.
Comment 20•9 years ago
|
||
Nice! SSL conf looks good, but if you could just disable RC4-SHA, it's be just perfect.
$ ./cipherscan bugzfeed.herokuapp.com
........................
Target: bugzfeed.herokuapp.com:443
prio ciphersuite protocols pfs curves
1 ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 ECDH,P-256,256bits prime256v1
2 ECDHE-RSA-AES128-SHA256 TLSv1.2 ECDH,P-256,256bits prime256v1
3 ECDHE-RSA-AES128-SHA TLSv1,TLSv1.1,TLSv1.2 ECDH,P-256,256bits prime256v1
4 DHE-RSA-AES128-SHA TLSv1,TLSv1.1,TLSv1.2 DH,1024bits None
5 ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 ECDH,P-256,256bits prime256v1
6 ECDHE-RSA-AES256-SHA384 TLSv1.2 ECDH,P-256,256bits prime256v1
7 ECDHE-RSA-AES256-SHA TLSv1,TLSv1.1,TLSv1.2 ECDH,P-256,256bits prime256v1
8 AES128-GCM-SHA256 TLSv1.2 None None
9 AES128-SHA256 TLSv1.2 None None
10 AES128-SHA TLSv1,TLSv1.1,TLSv1.2 None None
11 AES256-GCM-SHA384 TLSv1.2 None None
12 AES256-SHA256 TLSv1.2 None None
13 AES256-SHA TLSv1,TLSv1.1,TLSv1.2 None None
14 ECDHE-RSA-RC4-SHA TLSv1,TLSv1.1,TLSv1.2 ECDH,P-256,256bits prime256v1
15 RC4-SHA TLSv1,TLSv1.1,TLSv1.2 None None
Certificate: trusted, 2048 bits, sha256WithRSAEncryption signature
TLS ticket lifetime hint: 300
OCSP stapling: not supported
Cipher ordering: server
Curves ordering: server - fallback: no
Server supports secure renegotiation
Server supported compression methods: NONE
TLS Tolerance: yes
Assignee | ||
Comment 21•9 years ago
|
||
Hm, I don't think I can change anything in Heroku's SSL config, unfortunately.
Assignee | ||
Comment 22•9 years ago
|
||
I put in support for bugzilla-dev today. You can now access wss://bugzfeed.herokuapp.com/dev/ for updates to bugs on bugzilla-dev.
This, and the general Heroku work, are still in (and deployed from) separate branches, but I'll merge it in as soon as we switch away from the old host.
Assignee | ||
Comment 23•9 years ago
|
||
The example at https://people.mozilla.org/~mcote/bugzfeed_example/ has also been updated so you can (optionally) subscribe to bugzilla-dev.
Comment 24•9 years ago
|
||
I have already re-enabled the Bugzfeed support in my BzDeck app! Will update the endpoint URL once the DNS is updated.
Comment 25•9 years ago
|
||
The DNS record has been updated but I get the Connection Insecure message at https://bugzfeed.mozilla.org/ due to the cert mismatch. Also, Heroku says No such app.
Depends on: 1222882
Assignee | ||
Comment 26•9 years ago
|
||
Yeah, something is not right here. Not only is the cert not set up properly, but I can't even get the non-SSL version to work. ws://bugzfeed.herokuapp.com/ is fine, but ws://bugzfeed.mozilla.org/ isn't. Hm.
Comment 27•9 years ago
|
||
Now it works for me :)
Assignee | ||
Comment 28•9 years ago
|
||
\o/
Status: ASSIGNED → RESOLVED
Closed: 11 years ago → 9 years ago
Resolution: --- → FIXED
Assignee | ||
Comment 29•9 years ago
|
||
ulfr: I'm assuming, from your lack of reply, that leaving RC4-SHA is not ideal but acceptable.
Assignee | ||
Comment 30•9 years ago
|
||
Moving this conversation to the original security-related bug, bug 1079596.
You need to log in
before you can comment on or make changes to this bug.
Description
•