Confirmed users
1,504
edits
| (24 intermediate revisions by 3 users not shown) | |||
| Line 3: | Line 3: | ||
** A Tokenserver+Verifier stack: See the TokenServer sections below... | ** A Tokenserver+Verifier stack: See the TokenServer sections below... | ||
== Quick Verification Of Stage Deployments == | == Quick Verification Of Stage Deployments == | ||
| Line 44: | Line 8: | ||
* TokenServer+Verifier Stage environment: | * TokenServer+Verifier Stage environment: | ||
From the browser: https://token.stage.mozaws.net | |||
curl https://token.stage.mozaws.net | |||
curl -I https://token.stage.mozaws.net | |||
Use the simple "make test" command from an install of tokenserver on the localhost or AWS instance. | Use the simple "make test" command from an install of tokenserver on the localhost or AWS instance. | ||
cd loadtest | cd loadtest | ||
| Line 53: | Line 21: | ||
bin/sync-cli.js -e EMAIL -p PASSWORD --env stage -t COLLECTION | bin/sync-cli.js -e EMAIL -p PASSWORD --env stage -t COLLECTION | ||
where -t is one of bookmarks,history,passwords,tabs,addons,prefs,forms | where -t is one of bookmarks,history,passwords,tabs,addons,prefs,forms | ||
* Verifier Stage environment: | * Verifier Stage environment: | ||
In the browser: https://verifier.stage.mozaws.net/ | |||
curl https://verifier.stage.mozaws.net | |||
curl -I https://verifier.stage.mozaws.net | |||
Use the simple "make test" command from an install of browserid-verifier on the localhost or AWS instance. | Use the simple "make test" command from an install of browserid-verifier on the localhost or AWS instance. | ||
cd loadtest | cd loadtest | ||
make test SERVER_URL=https://verifier.stage.mozaws.net | make test SERVER_URL=https://verifier.stage.mozaws.net | ||
* Sync Server Stage environment: | * Sync Server Stage environment: | ||
Install server-syncstorage to the local host or AWS instance (see below) | Install server-syncstorage to the local host or AWS instance (see below) | ||
| Line 85: | Line 59: | ||
* Tokenserver+Verifier Production Environment | * Tokenserver+Verifier Production Environment | ||
In the browser: https://token.services.mozilla.com | |||
curl https://token.services.mozilla.com | |||
curl -I https://token.services.mozilla.com | |||
Then: | |||
Use the test tool from here: https://github.com/edmoz/fxa-sync-client | Use the test tool from here: https://github.com/edmoz/fxa-sync-client | ||
Install and check all collection types for a known account in Production: | Install and check all collection types for a known account in Production: | ||
| Line 91: | Line 69: | ||
* Verifier Production Environment | * Verifier Production Environment | ||
In the browser: https://verifier.accounts.firefox.com | |||
curl https://verifier.accounts.firefox.com | |||
curl -I https://verifier.accounts.firefox.com | |||
Then: | |||
Use the simple "make test" command from an install of browserid-verifier on the localhost or AWS instance. | Use the simple "make test" command from an install of browserid-verifier on the localhost or AWS instance. | ||
cd loadtest | cd loadtest | ||
make test SERVER_URL=https://verifier.accounts.firefox.com | make test SERVER_URL=https://verifier.accounts.firefox.com | ||
* Sync Server Stage environment | * Sync Server Stage environment | ||
Sign in with a known FxA account and sync data with a current Production account (sync node). | Sign in with a known FxA account and sync data with a current Production account (sync node). | ||
| Line 100: | Line 83: | ||
== Load Test Tool Client/Host == | == Load Test Tool Client/Host == | ||
* It is always best to configure an AWS instance as the host for all load testing. | * It is always best to configure an AWS instance as the host for all load testing. | ||
* All load tests can now run on the localhost (the AWS instance) or against the new Loads Cluster. See the following | * All load tests can now run on the localhost (the AWS instance) or against the new Loads Cluster. See the following links for more information: | ||
** https://wiki.mozilla.org/QA/Services/LoadsV1ClientTestHost | |||
** https://wiki.mozilla.org/QA/Services/TSVerifierSyncTestEnvironments#Loads_Services_Cluster_Environment | |||
* | |||
* | |||
== Installing BrowserID-Verifier and the Loads tool on Localhost or AWS == | == Installing BrowserID-Verifier and the Loads tool on Localhost or AWS == | ||
| Line 159: | Line 91: | ||
$ git clone git://github.com/mozilla/browserid-verifier | $ git clone git://github.com/mozilla/browserid-verifier | ||
$ cd browserid-verifier | $ cd browserid-verifier | ||
Note: You may want to install a specific branch for testing vs defaulting to Master | |||
$ npm install | $ npm install | ||
$ npm test | $ npm test | ||
| Line 197: | Line 130: | ||
* REFs: | * REFs: | ||
** https://wiki.mozilla.org/QA/Services/ | ** https://wiki.mozilla.org/QA/Services/LoadsToolsAndTesting1 | ||
** https://github.com/mozilla/browserid-verifier/tree/master/loadtest | ** https://github.com/mozilla/browserid-verifier/tree/master/loadtest | ||
| Line 204: | Line 137: | ||
$ git clone https://github.com/mozilla-services/tokenserver | $ git clone https://github.com/mozilla-services/tokenserver | ||
$ cd tokenserver | $ cd tokenserver | ||
Note: You may want to install a specific branch for testing vs defaulting to Master | |||
$ make build | $ make build | ||
$ make test | $ make test | ||
| Line 211: | Line 145: | ||
Note: This should hit Prod by default: SERVER_URL=https://token.services.mozilla.com | Note: This should hit Prod by default: SERVER_URL=https://token.services.mozilla.com | ||
* Note: This will install a local copy of the Loads tool for use with TokenServer. | * Note: This will install a local copy of the Loads tool for use with TokenServer+Verifier. | ||
== Running the load test against TokenServer+Verifier in Stage == | == Running the load test against TokenServer+Verifier in Stage == | ||
| Line 244: | Line 178: | ||
* REFs: | * REFs: | ||
** https://wiki.mozilla.org/QA/Services/ | ** https://wiki.mozilla.org/QA/Services/LoadsToolsAndTesting1 | ||
** https://github.com/mozilla-services/tokenserver/tree/master/loadtest | ** https://github.com/mozilla-services/tokenserver/tree/master/loadtest | ||
== Installing Sync | == Installing Sync and load testing on Localhost or AWS == | ||
Installation: | Installation: | ||
$ git clone https://github.com/mozilla-services/ | $ git clone https://github.com/mozilla-services/syncstorage-loadtest/ | ||
$ cd | $ cd syncstorage-loadtest | ||
Note: You may want to install a specific branch for testing vs defaulting to Master | |||
$ pip install -r requirements.txt | |||
== Running the load test against Sync 1.5 in Stage == | == Running the load test against Sync 1.5 in Stage == | ||
* Loads against specific Sync nodes in Stage | * Loads against specific Sync nodes in Stage | ||
$ | $ export SERVER_URL=https://your.storagenode.here#SECRET | ||
Sync Stage nodes: | Sync Stage nodes: | ||
https://sync-1-us-east-1.stage.mozaws.net | https://sync-1-us-east-1.stage.mozaws.net | ||
https://sync-2-us-east-1.stage.mozaws.net | https://sync-2-us-east-1.stage.mozaws.net | ||
...etc... | ...etc... | ||
NOTE: The OPs team has the SECRET string for Stage. Get it from them before you start testing. | NOTE: The OPs team has the SECRET string for Stage. Get it from them before you start testing. | ||
* Load testing with Molotov: https://molotov.readthedocs.io/en/stable/ | |||
$ bin/molotov [commands] loadtest.py | |||
== Using the Loads V1 Services Cluster for Sync 1.5 in Stage == | == Using the Loads V1 Services Cluster for Sync 1.5 in Stage == | ||
* | * loadtesting from server-syncstorage has been deprecated, please refer to mozilla-services/syncstorage-loadtest | ||
** https://github.com/mozilla-services/server-syncstorage/tree/master/loadtest | ** https://github.com/mozilla-services/server-syncstorage/tree/master/loadtest | ||
| Line 294: | Line 216: | ||
$ make test SERVER_URL=https://token.stage.mozaws.net | $ make test SERVER_URL=https://token.stage.mozaws.net | ||
$ make bench SERVER_URL=https://token.stage.mozaws.net | $ make bench SERVER_URL=https://token.stage.mozaws.net | ||
See https://wiki.mozilla.org/QA/Services/TSVerifierSyncTestEnvironments# | See https://wiki.mozilla.org/QA/Services/TSVerifierSyncTestEnvironments#TokenServer.2BVerifier_Stage_Environment | ||
Note: the current version of 'make bench' tends to use a lot of CPU and Memory on the localhost. | Note: the current version of 'make bench' tends to use a lot of CPU and Memory on the localhost. | ||
| Line 327: | Line 249: | ||
* REFs: | * REFs: | ||
** https://wiki.mozilla.org/QA/Services/ | ** https://wiki.mozilla.org/QA/Services/LoadsToolsAndTesting1 | ||
** https://github.com/mozilla-services/server-syncstorage/tree/master/loadtest | ** https://github.com/mozilla-services/server-syncstorage/tree/master/loadtest | ||
| Line 487: | Line 409: | ||
File \"/data/tokenserver/local/lib/python2.6/site-packages/gunicorn/workers/async.py\"... | File \"/data/tokenserver/local/lib/python2.6/site-packages/gunicorn/workers/async.py\"... | ||
..."Connection pool is full, discarding connection: 127.0.0.1", "... | ..."Connection pool is full, discarding connection: 127.0.0.1", "... | ||
Also, any 499s are probably an artifact of the current (V1) load test. | |||
REF: | REF: | ||
https://bugzilla.mozilla.org/show_bug.cgi?id=1040396 | https://bugzilla.mozilla.org/show_bug.cgi?id=1040396 | ||
| Line 499: | Line 422: | ||
* Acceptable Verifier errors: | * Acceptable Verifier errors: | ||
The verifier_out.log will show errors of the following types: | |||
result: 'failure',\n reason: 'untrusted issuer...' | |||
result: 'failure',\n reason: 'expired' | |||
result: 'failure',\n reason: 'algorithms do not match' | |||
result: 'failure',\n reason: 'audience mismatch: scheme mismatch' | |||
Also, any 499s in the nginx logs are probably an artifact of the current (V1) load test. | |||
* Acceptable Sync node errors: | * Acceptable Sync node errors: | ||
| Line 520: | Line 440: | ||
Usually, you will not see 304s, 400s, 412s, or 415s for a load test, | Usually, you will not see 304s, 400s, 412s, or 415s for a load test, | ||
although they may show up in the logs after running the remote integration tests. | although they may show up in the logs after running the remote integration tests. | ||
Also, any 499s are probably an artifact of the current (V1) load test. | |||
In /var/log/hekad/sync_1_5.stderr.log | In /var/log/hekad/sync_1_5.stderr.log | ||
| Line 541: | Line 462: | ||
* and also on StackDriver: https://app.stackdriver.com/groups/6664/stage-loads-cluster | * and also on StackDriver: https://app.stackdriver.com/groups/6664/stage-loads-cluster | ||
* | * For all other monitoring, see the following section: | ||
** | ** https://wiki.mozilla.org/QA/Services/TSVerifierSyncTestEnvironments#Monitoring_the_Stage_Environment | ||
== Performance Testing Information == | == Performance Testing Information == | ||
| Line 580: | Line 479: | ||
== Known Bugs, Issues, and Tasks == | == Known Bugs, Issues, and Tasks == | ||
* Tokenserver | * Tokenserver: | ||
** Repo: https://github.com/mozilla-services/tokenserver/issues | |||
** Bugzilla: http://mzl.la/1s4qZKn | |||
* BrowserID-Verifier: | |||
** Repo: https://github.com/mozilla/browserid-verifier/issues | ** Repo: https://github.com/mozilla/browserid-verifier/issues | ||
** Bugzilla: no specific cateogory | ** Bugzilla: no specific cateogory | ||
* Sync: | |||
** Repo: https://github.com/mozilla-services/server-syncstorage/issues | ** Repo: https://github.com/mozilla-services/server-syncstorage/issues | ||
** Bugzilla: http://mzl.la/VUrYQ5 | ** Bugzilla: http://mzl.la/VUrYQ5 | ||