TestEngineering/Services/LoopTestEnvironments
< TestEngineering | Services
Jump to navigation
Jump to search
Loop Server Production Environments
- Loop-Server: https://loop.services.mozilla.com
- Loop-Client: https://call.services.mozilla.com
- MSISDN Gateway: TBD
- Monitoring
- NOTE: TBD
- QA Access: not allowed
- Pointing Fx Nightly to Production
- NOTE: Fx Nightly is already set to point to Production by default
- Loop-Server - TBD
- MSISDN Gateway - TBD
- Quick Verifications
curl https://loop.services.mozilla.com should return something similar to this {"name":"mozilla-loop-server","description":"The Mozilla Loop (WebRTC App) server","version":"0.4.0-DEV", "homepage":"https://github.com/mozilla-services/loop-server/","endpoint":"http://loop.services.mozilla.com"}
curl -I https://loop.services.mozilla.com should return something similar to this HTTP/1.1 200 OK Content-length: 210 Content-Type: application/json; charset=utf-8 Date: Mon, 16 Jun 2014 20:04:58 GMT ETag: W/"d2-2131342919" Server: nginx/1.6.0 Timestamp: 1402949098207 Connection: keep-alive
curl https://call.services.mozilla.com/ returns a page of HTML
curl -I https://call.services.mozilla.com/ should return something similar to this HTTP/1.1 200 OK Accept-Ranges: bytes Content-length: 1935 Content-Type: text/html Date: Sat, 07 Jun 2014 01:20:49 GMT ETag: "539220d7-78f" Last-Modified: Fri, 06 Jun 2014 20:13:11 GMT Server: nginx/1.6.0 Connection: keep-alive
Loop Server Stage Environment
- URLs
- Loop-Server: https://loop.stage.mozaws.net
- Loop-Client: https://call.stage.mozaws.net
- Loop-Redis-Stage: still need the details
- Mock: https://loop-delayed-response.stage.mozaws.net
- MSISDN Gateway: http://msisdn.stage.mozaws.net
Loop Server Stage Details
- URL
- Loop-Server: https://loop.stage.mozaws.net
- Versions
- TBD
- AWS
- CF stack: loop-server-stage (or similar name)
- ELB: loop-server-st-ELB-<some value>
- One instance: look for "loop-server app server"
- OS
- Running SciLinux 6.4
- Files
- /data/loop-server
- /data/hekad
- /etc/circus.ini
- /etc/circus.d
- /etc/circus.d/loopserver.ini
- /etc/circus.d/hekad-loop.ini
- /etc/puppet/*
- /var/log/*
- Processes
- node loop/index.js
- stackdriver-collectd
- circusd
- heka.d
- nginx
- Logs
- /var/log/circus.log
- /var/log/loop_err.log
- /var/log/loop_out.log
- /var/log/hekad/loop.stdout.log
- /var/log/hekad/loop.stderr.log
- /var/log/nginx/access.log
- /var/log/nginx/error.log
- Heka
- heka.d
- /var/log/hekad/loop.stdout.log
- /var/log/hekad/loop.stderr.log
- Setting Stage configuration:
- Toggling the config setting to use either a mock server or a third-party server
- File: /data/loop-server/config/settings.json
- Quick Verifications
curl https://loop.stage.mozaws.net should return something similar to this {"name":"mozilla-loop-server","description":"The Mozilla Loop (WebRTC App) server","version":"0.6.0-DEV", "homepage":"https://github.com/mozilla-services/loop-server/","endpoint":"http://loop.stage.mozaws.net"}
curl -I https://loop.stage.mozaws.net should return something similar to this HTTP/1.1 200 OK Content-length: 209 Content-Type: application/json; charset=utf-8 Date: Wed, 11 Jun 2014 23:01:11 GMT ETag: W/"d1-3663081557" Server: nginx/1.6.0 Timestamp: 1402527671972 Connection: keep-alive
In the browser: https://loop.stage.mozaws.net/ should return something similar to this {"name":"mozilla-loop-server","description":"The Mozilla Loop (WebRTC App) server","version":"0.6.0-DEV", "homepage":"https://github.com/mozilla-services/loop-server/","endpoint":"http://loop.stage.mozaws.net"}
Loop Client Stage Details
- URL
- Loop-Client: https://call.stage.mozaws.net
- Versions
- TBD
- AWS
- CF Stack: loop-client-stage2
- ELB: loop-client-st-ELB-<some value>
- One instance: look for "loop-client app server"
- OS
- Scientific Linux release 6.4
- Files
- /opt/aws
- /opt/ec2
- /opt/rh
- /opt/stackdriver
- /data/loop-client
- Processes
- TBD
- Logs
- /var/log/nginx
- /media/ephemeral0 (empty)
- Heka
- TBD
- Quick Verifications
In the browser: https://call.stage.mozaws.net Should see this Loop Welcome to the Loop web client.
curl https://call.stage.mozaws.net Returns a bunch of HTML
curl -I https://call.stage.mozaws.net should return something similar to this HTTP/1.1 200 OK Accept-Ranges: bytes Content-length: 1935 Content-Type: text/html Date: Wed, 11 Jun 2014 22:24:19 GMT ETag: "539220d7-78f" Last-Modified: Fri, 06 Jun 2014 20:13:11 GMT Server: nginx/1.6.0 Connection: keep-alive
Check that Loop-Client Stage is talking to Loop-Server Stage In the browser: https://call.stage.mozaws.net/config.js should return something similar to this var loop = loop || {}; loop.config = {serverUrl: 'https://https://loop.stage.mozaws.net'};
Mock Server Stage Details
- NOTE: This server is used for load testing whenever we do not want to hit the third-party servers. A configuration change must be made in the Loop Server in order to make this work.
- Versions
- TBD
- AWS
- CF stack: loop-delayed-response (or similar)
- ELB: loop-delayed-r-ELB-<some value>
- R53AliasRecord: loop-delayed-response.stage.mozaws.net
- Instances: 1 m1.small, search for "delayed HTTP server"
- OS
- Scientific Linux release 6.4
- Files
- /data/delayed
- /data/delayed/delayed-master
- /etc/circus.d/
- /etc/circus.d/loopserver.ini
- /etc/circus.d/hekad-loop.ini
- /etc/circus.ini
- Processes
- root /usr/bin/python /usr/bin/circusd --log-output /var/log/circus.log --pidfile /var/run/
- nobody node index.js
- Logs
- /var/log/circus.log
- Heka
- TBD
- Quick Verifications
In the browser: https://loop-delayed-response.stage.mozaws.net Returns: ok
MSISDN Gateway Server Stage Details
- NOTE: TBD
- https://bugzilla.mozilla.org/show_bug.cgi?id=1020899
- https://github.com/mozilla-services/omxen/
- (and its associated deploy ticket?)
- https://github.com/mozilla-services/msisdn-gateway/issues/80
- https://github.com/mozilla-services/msisdn-gateway/pull/84
- https://github.com/mozilla-services/puppet-config/pull/596
- https://github.com/mozilla-services/svcops/pull/166
- URL
- MSISDN Gateway: http://msisdn.stage.mozaws.net
- Versions
- TBD
- AWS
- TBD
- OS
- TBD
- Files
- TBD
- Processes
- TBD
- Logs
- TBD
- Heka
- TBD
- Quick Verifications
TBD
Sentry Server Stage Details
- Versions
- TBD
- AWS
- TBD
- OS
- TBD
- Files
- /opt/sentry
- Processes
- root /usr/bin/python /usr/bin/circusd --log-output /var/log/circus.log --pidfile /var/run/
- apache /opt/sentry/bin/python /opt/sentry/bin/sentry --config=/etc/sentry.d/sentry.shared.us-east-1.stage.mozaws.net.py start ud
- Logs
- /var/log
- nothing in /media/ephemeral0
- Heka
- TBD
- Quick Verifications
TBD
QA Access via a Bastion Host
- SSH with AWS keys to the Stage bastion host in US East 1. From there SSH directly into any instance using your LDAP name. For the mock server, log in as "ec2-user".
Stage Monitoring
- NOTE: TBD
- Sentry: https://sentry.shared.us-east-1.stage.mozaws.net
- Getting access to Sentry Stage - talk to the OPs team
- Some possible dashboards
- REF: https://bugzilla.mozilla.org/show_bug.cgi?id=1020596
- https://graphite.shared.us-east-1.stage.mozaws.net (statsd data)
- https://heka.shared.us-east-1.stage.mozaws.net (shared heka)
- https://kibana.shared.us-east-1.stage.mozaws.net (kibana for looking at the elastic search data)
- https://sentry.shared.us-east-1.stage.mozaws.net
- https://heka.shared.us-east-1.stage.mozaws.net/#sandboxes/LoopHTTPStatus/outputs/LoopHTTPStatus.HTTPStatus.cbuf
- https://kibana.shared.us-east-1.stage.mozaws.net/index.html#/dashboard/file/loop_http_status.json
Prod Monitoring
- NOTE: TBD
- Sentry: http://sentry.shared.us-west-2.prod.mozaws.net
- Getting access to Sentry Prod - talk to the OPs team
- Some possible dashboards
- REF: https://bugzilla.mozilla.org/show_bug.cgi?id=1020596
- https://graphite.shared.us-west-2.prod.mozaws.net (statsd data)
- https://heka.shared.us-west-2.prod.mozaws.net (shared heka)
- https://kibana.shared.us-west-2.prod.mozaws.net (kibana for looking at the elastic search data)
- https://sentry.shared.us-west-2.prod.mozaws.net
Loads Services Cluster Environment
- URLs
- Versions
Loads Cluster/Broker/Agents: $ cd /home/ubuntu/loads/bin $ ./loads-runner --version
- AWS in US West
- loads-master (broker and agent processes)
- loads-slave-1 (agent processes)
- loads-slave-2 (agent processes)
- NOTE: there is no stack or ELB for this cluster
- Files
- /home/ubuntu
- loads
- loads-aws
- loads-web
- /home/ubuntu
- Processes
- Search for processes owned by ubuntu, loads, nginx, circus
- Logs
- /var/log/redis
- /var/log/nginx
- QA access
- You need special access to be able to SSH into these devices
- You need to make some changes to your .ssh/config file
- Monitoring
- Web Interface: http://loads.services.mozilla.com/
- StackDriver: https://app.stackdriver.com/groups/6664/stage-loads-cluster
- Cluster status
- Check from any loadtest folder or loads install:
../bin/loads-runner --ping-broker --ssh=ubuntu@loads.services.mozilla.com ../bin/loads-runner --check-cluster --ssh=ubuntu@loads.services.mozilla.com (or similar)
- Links
Dev Environment
- Versions
- TBD
- AWS
- CF Stack: bwong-loop-server (or similar)
- ELB: bwong-loop-ser-ELB-<some value>
- One instance: search for "loop app server (bwong-loop-server)"
- OS
- TBD
- Files
- TBD
- Processes
- TBD
- Logs
- TBD
- Heka
- TBD
- Quick Verifications
curl http://loop.dev.mozaws.net/ { "name": "mozilla-loop-server", "description": "The Mozilla Loop (WebRTC App) server", "version": "0.3.0-dev", "homepage": "https://github.com/mozilla-services/loop-server/", "endpoint": "http://loop.dev.mozaws.net" } or similar
curl http://msisdn.dev.mozaws.net/ { "name": "mozilla-msisdn-gateway", "description": "The Mozilla MSISDN Gateway", "version": "0.1.0-dev", "homepage": "https://github.com/mozilla-services/msisdn-gateway/", "endpoint": "http://msisdn.dev.mozaws.net" } or similar
References
- GitHub Repos
- https://github.com/orgs/mozilla-services/teams/loop
- https://github.com/mozilla-services/loop-server
- https://github.com/mozilla-services/loop-client
- https://github.com/mozilla/loop-client/releases
- https://github.com/mozilla-services/msisdn-gateway
- https://github.com/mozilla-services/msisdn-gateway/blob/master/API.md
- https://github.com/mozilla-services/svcops
- https://github.com/mozilla-services/puppet-config
- https://github.com/mozilla/fxa-auth-server/wiki/API-extensions-for-supporting-MSISDN-verification-in-FxA-auth-server
- https://github.com/mozilla/gecko-projects/tree/elm/browser/components/loop/standalone
OPs Mana and GitHub Pages
- NOTE: Talk to OPs for the links to Mana.
- Puppet Config: https://github.com/mozilla-services/puppet-config
- Cloud Formation: https://github.com/mozilla-services/svcops
- Loop-specific: TBD