QA/Browser Technologies/Services/Releases/BrowserID 06222012

From MozillaWiki
Jump to: navigation, search

Areas for QA Focus

[QA] Suggested additional areas of focus for QA:

  • more focus on 123done.org, all login/logout scenarios, IE8/9 focus useful as well.

Additional areas of focus

  • Verify all closed issues as listed in the ChangeLog
  • Complete testing of all new URLs - full list is here:
  • Verify redirect back to original website after email verification
  • Verify stability of .watch() API
  • Verify all the changes from the last (derailed) train, including a full redesign and rebrand
  • Verify local installs with and without local support
  • Full load testing of Stage
  • Verify router functionality in Stage
  • Continue searching issues #1400 and newer for Verifying closed bugs.
  • Continue evaluating all issues marked "needs testcase".
  • Continue evaluating all recent open/closed issues for test case candidates.
  • Continue searching old open issues that can now be closed.
  • Verify the following closed issues not listed in the ChangeLog:
    • 1713: router in tests showing 'error forwarding request: code=ECONNRESET'
    • 1745: Unit Tests giving router errors on tests
  • And, 123done issues to Verify:
    • 3: site needs to look and work great on IE8
    • 18: fix button flash when signed in with persona but no session cookie exists
    • 21: target different environments via hostname
    • 29: After logging out user's email is still in the html
    • 30: Clear user email from HTML on logout - Issue #29
    • 31: remove users email from html on logout - closes #29
    • 32: prevent UI update during assertion verify - closes #18

Information

  • Train 30: 06-22-2012

Links


  • New URL list/redirect for Stage:
    • diresworb.org should redirect to login.anosrep.org
      • for everything except verification requests
    • login.anosrep.org should replace diresworb.org
    • static.login.anosrep.org should be the location all resources are served from
    • verifier.login.anosrep.org should be the new verifier entry point
http://anosrep.org should HTTP redirect to https://login.anosrep.org
https://anosrep.org should HTTP redirect to https://login.anosrep.org
http://diresworb.org/verify SHOULD NOT REDIRECT
https://diresworb.org/verify SHOULD NOT REDIRECT
For all other urls on diresworb:
http://diresworb.org should HTTP redirect to https://login.anosrep.org
https://diresworb.org should HTTP redirect to https://login.anosrep.org
And, all static resources should serve from https://static.login.anosrep.org


  • Current URL list/redirect for Dev:
    • dev.diresworb.org will redirect to login.dev.anosrep.org
      • for everything but verification redirects
    • login.dev.anosrep.org will replace dev.diresworb.org
    • dev.anosrep.org will redirect to login.dev.anosrep.org
    • static.dev.anosrep.org will be where all resources are served from
    • verifier.dev.anosrep.org will be the new verifier entry point


  • Production URL list/redirect after this train goes out:
    • browserid.org should redirect to login.persona.org
      • for everything but verification requests
    • login.persona.org should replace browserid.org
    • static.login.persona.org should be the location all resources are served from
    • verifier.login.persona.org should be the new verifier entry point
http://persona.org should HTTP redirect to https://login.persona.org
https://persona.org should HTTP redirect to https://login.persona.org
http://browserid.org/verify SHOULD NOT REDIRECT
https://browserid.org/verify SHOULD NOT REDIRECT
For all other urls on browserid:
http://browserid.org should HTTP redirect to https://login.persona.org
https://browserid.org should HTTP redirect to https://login.persona.org
And, all static resources should serve from https://static.login.persona.org

REF for new URLs: https://github.com/mozilla/browserid/issues/1741

Deployment Ticket

  • Bug 767708 - QA and deploy BrowserID train-2012.06.22 to production

OPs Ticket and ChangeWindow

Hot Fixes and Other Deployments

  • Bug 763586 - Develop puppet scripts to accommodate new "router" process in browserid train-2012.06.08
  • Bug 764890 - production-ify browserid router process

ChangeLog

train-2012.06.22:
 * browserid.org now redirects to login.persona.org, all URLs are updated: #1743
 * Websites can now provide their name and logo (requires SSL) to be displayed in the dialog: #1098, #1761
 * A user is now sent back to the site they were visiting after verification (requires .watch() API): #385
 * Fix .watch() API under IE8: #1637
 * For dev and ephemeral deployments, move to awsbox, and new URLs: #1394, #1046, #1741
 * Fix the scroll bar appearing on the main site's index page if it is not needed: #1693
 * Clear the password if the user types a password then changes the email address: #1540
 * New watch API now requires invocation with proper context (navigator.id.foo, not var foo = navigator.id.foo)
 * Router fixes: #1713
 * Serve fonts locally, don't pull resources from google: #1695
 * Optimize images: #1747
 * Fix flashes when verifying an email address: #1734
 * Unit test added which runs jshint: #1731
 * Fix submit occurring when selecting an email address in Firefox from the auto-complete list: #1780
 * For KPI data, round timestamp to nearest 10 minutes, making correlation improbable: #1732
 * Code cleanup: #1701, #1703, #1000, #1248, #1759, #1733, #1792
 * Breaking API change: Persona now returns pubkey from generateKeypair to IdPs as a string

Travis/CI

BID Automation

See the following site: https://wiki.mozilla.org/Identity/QA#BrowserID_Automation

Versions

Processes

  • webheads
    • /usr/bin/node bin/browserid
    • /usr/bin/node bin/verifier
    • /usr/bin/node /opt/browserid/lib/verifier/verifier-compute.js
    • /usr/bin/node /opt/browserid/lib/bcrypt-compute.js
    • /usr/bin/node bin/router
  • secure webheads
    • /usr/bin/node bin/dbwriter
    • /usr/bin/node /opt/browserid/lib/bcrypt-compute.js
  • keysigners
    • /usr/bin/node bin/keysigner
    • /usr/bin/node /opt/browserid/lib/keysigner/keysigner-compute.js
  • databases: various mysql processes
  • zeus: various zeus processes

Logs

  • webheads: /var/log/browserid/
    • browserid.log
    • browserid-metrics.json
    • verifier.log
    • verifier-metrics.json
    • verifier-compute.log
    • router.log
  • secure webheads: /var/log/browserid/
    • dbwriter.log
  • keysigners have /var/log/browserid/
    • keysigner.log
    • keysigner-compute.log
  • databases: n/a
  • zeus: various logs

Local Install - Unit Tests

  • Front-End Unit Tests: FAIL
  • Back-End/Headless Unit Tests: FAIL

Local Install - Load Test

  • Set 1 - TBD
    • Term1: CREATE_TEST_USERS=2000 BROWSERID_FAKE_VERIFICATION=1 NODE_ENV=test_mysql nohup npm start
    • Term2: nohup bin/load_gen -u 1/70 -m 70000 -o -s http://127.0.0.1:10002

Stage: Load Tests

  • Set 1: PASS

Sample Bug and Issue

New/Updated OPs Tickets and Issues

Bugzilla: https://bugzilla.mozilla.org/

  • Bug 768169 - New process for serving static content for Persona
  • Bug 729750 - Create Production environment for Vinz Clortho the BrowserID IdP Server
  • Bug 729749 - Create Dev/Stage environment for Vinz Clortho BrowserID IdP Server
  • Bug 757987 - bigtent: update idproxy config
  • Bug 765002 - Register for Microsoft Windows Live API keys for BrowserID BigTent
  • Bug 766187 - Obtain permission to use "microsoft" in domain for BrowserID BigTent's Windows Live integration
  • Bug 757983 - bigtent production tracking bug
  • Bug 764890 - production-ify browserid router process
  • Bug 750804 - Create Stage environment (id-stage.allizom.org) for https://mozilla.com/.well-known/browserid testing
  • Bug 769311 - should force 404s for browserid.org/test/*
  • Bug 757990 - bigtent: deploy service to staging
  • Bug 771673 - zeus multicast for new VIPs in phx1
  • Bug 771719 - Update registrar whois and upstream DNS to point to dynect instead of ns[1-3]mozilla.org

https://github.com/mozilla/browserid/issues

  • TBD

New/Updated APPs Tickets and Issues

Bugzilla: https://bugzilla.mozilla.org/

  • Bug 766213 - deploy new browserid etherpad site on etherpadadm/etherpad2.webapp
  • Bug 768254 - Trying to log in using browserID within an app crashes FennecAndroid

New/Updated Labs Tickets and Issues

Bugzilla: https://bugzilla.mozilla.org/

  • TBD

New/Updated Localization Tickets and Issues

Bugzilla: https://bugzilla.mozilla.org/

  • TBD

GitHub: https://github.com/mozilla/browserid/issues

  • 1824: mixed language in dialog
  • 1862: Translate the main site
  • 1863: alias en_UK et al to en_US
  • 1905: Dialog displaying wrong translations
  • 1906: Update train-2012.06.22
  • 1907: Update dev
  • 1918: Fix english strings - never use translations for en_US

Resolved/Closed Bugs and Issues

Bugzilla: https:/bugzilla.mozilla.org/

  • TBD

GitHub: https://github.com/mozilla/browserid/issues

  • 385: UI on both sites for post-account creation task is confusing.
  • 801: BrowserID: Security hole when adding an email to an existing account.
  • 1000: Feature: Set password on new account inside dialog
  • 1046: 'hacksign.in' not compatible with user testing.
  • 1248: '/manage|/users|/primaries' in browserid/views.js redirect to unreachable internal hostname in stage/prod
  • 1394: ephemeral deployments are bad at email
  • 1509: Intermittent Sign Up failures from main site when using a primary email as the first email in a new account
  • 1540: clear password field if user changes email address in /sign_in dialog
  • 1564: beta.beer and dev.beer unusable on Fx15
  • 1637: IE8: Unable to logout of 123done.org on first attempts
  • 1693: new layout main site: even if content fits on screen, scroll bar appears.
  • 1701: Clean up global variables that are being created and used in lib/
  • 1710: Getting 'failed to verify assertion: assertion has expired' with dev.{123done,diresworb}.org and IE9
  • 1713: router in tests showing 'error forwarding request: code=ECONNRESET
  • 1731: include jshint in unit tests
  • 1732: KPI timestamp reported in milliseconds
  • 1733: (mobile) debug region gives feedback to end user
  • 1734: Verification screen flashes email address field before success message.
  • 1745: Unit Tests giving router errors on tests
  • 1761: disable siteLogo from HTTP served sites.
  • 1834: Fennec 10.0.5 on Android Tablet: Manage page shows no content.
  • 1853: Unable to Sign Up from diresworb.org, https://login.anosrep.org/signup


GitHub: https://github.com/mozilla/123done/issues

  • TBD

Reopened or Updated

Bugzilla: https://bugzilla.mozilla.org/

  • TBD

GitHub: https://github.com/mozilla/browserid/issues

  • 262: Optional separate popups for login and signup
  • 730: Verification email text is incorrect for forgotton passwords.
  • 760: make "logout" work better
  • 796: Sign-in failure using Google Chrome Frame
  • 982: browserid doesn't seem to work if 3rd party cookies are disabled
  • 1070: it's confusing for users to see which link to click in the verification email
  • 1240: mismatch of PP/TOS text and button text ('next' vs. 'sign in')
  • 1248: '/manage|/users|/primaries' in browserid/views.js redirect to unreachable internal hostname in stage/prod
  • 1325: Scrollbar is not obvious in landscape mode; 'Sign in' button not visible
  • 1439: Local install RP: the "logout" button does not appear to do anything
  • 1517: BrowserID Dialog is too wide to fit in iPad sheet
  • 1607: Mismatched "such as" in Persona's "is this a public computer?" dialog
  • 1709: BrowserID completely broken in MIUI ROM Android stock browser
  • 1834: Fennec 10.0.5 on Android Tablet: Manage page shows no content.
  • 1835: 123done.org: if cookies are disabled, sign in button never appears.
  • 1844: Opera 12 Freezes on Signin
  • 1856: windows (xp/win7) - main site font issues

GitHub: https://github.com/mozilla/123done/issues

  • TBD

Opened Bugs/Issues For This Week

Bugzilla: https://bugzilla.mozilla.org/

  • TBD

GitHub: https://github.com/mozilla/browserid/issues

  • 1826: Font too large when displaying rp_hostname without a siteName or siteLogo
  • 1828: double submit of /wsapi/stage_user on main site signup
  • 1829: https://eyedee.me/api/cert_key returning 500 Internal Server Error
  • 1845: [stage] cross-origin issues with fonts
  • 1846: [stage] beta.123done.org does not finish loading the sign in button.
  • 1847: [stage] /sign_in dialog on login.anosrep.org does not work
  • 1848: dismissing /sign_in -- Error: b.setStagedOnBehalfOf is not a function
  • 1853: Unable to Sign Up from diresworb.org, https://login.anosrep.org/signup
  • 1855: compress TTF font files
  • 1856: win7/opera 11.64 - main site layout/font issues
  • 1866: [windows/opera] new layout main site: even if content fits on screen, scroll bar appears
  • 1870: identification fails on chrome for iOS (iPad/iPhone)
  • 1883: jshint "Bad option: 'jQuery'"
  • 1884: copy change 'two weeks' to 'four weeks' for 'is this your computer?'
  • 1885: win7/opera 11.64 - main site layout issue with split signup button
  • 1911: not all static resources being served from static.login.anosrep.org
  • 1923: /signup page - inconsistent "Verify Password" v. "Repeat Password"
  • 1925: Link to openphoto on new /about page on main site goes to the wrong openphoto
  • 1932: buttons on 'Remember you?' screen could use a little more margin
  • 1933: Can't cancel out of signup with primary idp in the dialog
  • 1934: Signup as primary via the dialog does not work
  • 1935: add the RP back to the subject line of the "Confirm ..." email message
  • 1936: failed to verify assertion (JSON parse error) with dev.123done.org
  • 1937: signup of primary on main site /signup fails (404 on static.dev.anosrep.org/lib/winchan.js)
  • 1938: l10n issue - link to 'cookies disabled' message is hard-coded to en-US despite user language
  • 1951: [ie8] visual defects on /about page
  • 1952: Readme improvements
  • 1957: Nine test failures on IE8 on dev and train-2012.06.22
  • 1958: backend unit tests failing on tests/static_resources.js
  • 1959: fix issue GH-1958; add '/production/authenticate_with_primary.js' to items to exclude and reformat the single line array

GitHub: https://github.com/mozilla/123done/issues

  • TBD

Other Open Bugs and Issues

Bugzilla: https://bugzilla.mozilla.org/

  • Bug 770851 - browserid.org/cookies_disabled displays a link to an en-US SUMO article

GitHub: https://github.com/mozilla/browserid/issues

  • 1800: Add "deep check" flag to heartbeat
  • 1801: Add "deep" flag to heartbeat check, round 2
  • 1802: add jshint checking for globals as a unit test
  • 1803: backend unit tests take too long
  • 1804: optimize backend unit tests by starting all daemons in parallel, and then starting router. issue #1803
  • 1805: rename loggedInEmail to loggedInUser with back compat
  • 1806: rename loggedInEmail to loggedInUser with backcompat support. issue #1805
  • 1807: Getting a bunch of new KPIs ready
  • 1808: make sure verifier does not accept chained certificates unless they are explicitly delegated
  • 1809: fix #error gradient on Android
  • 1810: add notification to add_email dialog after submit
  • 1811: Referring to the wrong button in TOS/PP text when typing password
  • 1812: Remove the tooltip HTML from the templates
  • 1813: enter key causes forms to submit twice in Chrome and Firefox
  • 1814: Remove the "submit form on enter" fix for IE8, it causes forms to be submitted twice in Firefox and Chrome.
  • 1815: Add idp_auth_complete to the page_request_test.
  • 1816: fullpage option does not appear to be used in lib/browserid/views.js
  • 1817: Make the forgot and verify_email_address pages cachable.
  • 1818: Remove the no longer used "serif" and "sans" class names.
  • 1819: Fix chrome showing a blank screen on resizing to exactly 640px.
  • 1820: Add a license for the fonts.
  • 1821: add the Apache 2.0 license that came with the font files
  • 1822: When running on iOS in a UIWebView, we sometimes get a Relay Frame error.
  • 1823: update nodemailer and pass a local instance of `util` to views - issue1756
  • 1825: Emit additional events during authentication of returning users
  • 1827: KPI data should acknowledge successful sign-in even after dialog is closed
  • 1830: ie6/ie7 exceptions thrown on 123done.org
  • 1831: mockmyid not returning from provisioning step when using dev.123done.org
  • 1832: only headers and footers are shown in opera mobile in portrait mode on Asus Transformer Tablet
  • 1833: 123done.org: "Fork me on Github" button makes it difficult to click "logout" on mobile phones.
  • 1834: Fennec 10.0.5 on Android: Manage page shows no content.
  • 1835: 123done.org: if cookies are disabled, sign in button never appears.
  • 1836: check_primary_support does not check the content-type header
  • 1837: Android 2.3 Native: possible to focus hidden change password fields
  • 1838: Android 2.3 native: main site/forgot password - after verification from another browser, sent to signin page.
  • 1839: Give a button highlight whenever it is focused.
  • 1840: Please don't unfocus the email text field in the sign-in dialog
  • 1841: Cutting the next train
  • 1842: Issue 1721 android gradient
  • 1843: Issue 1760 dep required email
  • 1844: Opera 12 Freezes on Signin
  • 1849: Round server timestamp DOWN.
  • 1850: Round the server timestamp DOWN to the nearest 10 minutes.
  • 1851: images on new /about page are not cachified.
  • 1852: A huge reorganization of the client side directories.
  • 1854: Need a reasonable approach to Android "Cannot Establish Relay Frame" error
  • 1857: https://github.com/mozilla/browserid/pull/1857
  • 1858: updates to primary flow so that the DOM API is a true abstraction.
  • 1859: Rpm version string improvement
  • 1860: No longer clear the stored returnTo on window.unload.
  • 1861: html5shim.js is not connect-cachified
  • 1864: Cachify /about images and html5shim.js
  • 1865: Change the font size of the RP name and logo as per skinny's suggestions...
  • 1867: ActiveX not not available with Windows 8 Metro
  • 1868: Remove duplicate copy of the db password setting
  • 1869: skip provisioning if dialog opens with #AUTH_RETURN_CANCEL
  • 1871: authenticate_with_primary.ejs includes winchan.js auth_with_idp/main.js without being cachified.
  • 1872: templates are not making it into compiled resources.
  • 1873: remove requiredEmail legacy code.
  • 1874: add product tour to the popup
  • 1875: in dev mode, templates are not substituted
  • 1876: when serving non-minified resources, substitute urls in templates so once can locally test links embedded in templates (like persona tos/pp)
  • 1877: Reverse the order of checking for window.XMLHttpRequest and window.ActiveXObject when creating the XHR object.
  • 1878: Firefox showing Unsupported Browser dialog
  • 1879: Fixes for issue #868 and issue #1517 and styles/assets for issue #1093
  • 1880: Password strength standards?
  • 1881: demo siteLogo fails (not served over HTTPS)
  • 1882: Improve orphaned KPI reporting
  • 1886: [next] button on sign in screen flickers blue/grey/blue
  • 1887: use siteName rather than domain in emails
  • 1888: Fix the front end tests not completing.
  • 1889: site wide copy updates
  • 1890: HTML mocks of emails
  • 1891: Universally change jQuery->jquery when used as jshint option.
  • 1892: add email screen: "Checking with your email provider" message not removed after addressInfo completes.
  • 1893: dev: email displays "undefined" in "add email" confirmation page
  • 1894: Send the email address to the "check_registration" controller when starting.
  • 1895: "email verification" copy on main site needs updated to match dialog.
  • 1896: layout of "assertion->password" level authentication screen needs updated to match new styles.
  • 1897: Update the main site "verify your email address" copy to match that of the dialog.
  • 1898: too much button flicker!
  • 1899: dev: /wsapi/authenticate_user after account creation verification being called without password.
  • 1900: Add a small delay after an xhr request is complete before submit_disable...
  • 1901: tabindex on authenticate page is out of order with new layout.
  • 1902: Clean up jshint warnings in some of the bin processes
  • 1903: Falsely detects that cookies aren't enabled
  • 1904: hotfix dialog overflow in train-2012.06.22 - issue #1517
  • 1908: updated OpenSans woff files to look good on Windows
  • 1909: Static process
  • 1910: make sure that addEmail always hides the addressInfo hint
  • 1912: experiment with node-memwatch in browserid for memory stats
  • 1913: New reset password flow
  • 1914: Node 0.8.x support
  • 1915: Update favicon with new glyph
  • 1916: front-end tests timing out at /dialog/views/error.ejs
  • 1917: why do we need node-gettext?
  • 1919: dev: button layout of "Remember You?" screen needs cleaned up
  • 1920: from skinny: slide the arrow off the screen.
  • 1921: A way to specify in the shell which front-end tests to run
  • 1922: Slide the arrow all the way off the screen
  • 1924: Change the placeholder for the verification password from "Repeat Password" to "Verify Password" to match the dialog.
  • 1926: Replace setTimeout with event emitter/handler in error-display test
  • 1927: update the OpenPhoto link to point to current.openfoto.me.
  • 1928: external domain links on /about page should open in new tab.
  • 1929: Open /about external links in new window
  • 1930: Make KPI data_sample_rate adjustable on the fly
  • 1931: Make KPI data_sample_rate configurable by platform
  • 1939: silent and allowPersistent not works
  • 1940: Make sure the "Is this your computer" buttons are the same width no matter what the language.
  • 1941: dialog: html5shim is not cachified for ie8.
  • 1942: Update the URL to WinChan. Use cachify for the resources.
  • 1943: cachify html5shim for ie8
  • 1944: Remove the en-US from the cookies-disabled SUMO article.
  • 1945: Remove the tabindexes, no longer needed with new layout.
  • 1946: Please support a more traditional login flow
  • 1947: node-gettext blowup on first run in new language
  • 1948: A way to specify what test modules to run from the shell
  • 1949: Tweak dialog mobile sizes. Prevent iOS from making text huge
  • 1950: Readme improvements
  • 1953: make sign up button display inline-block
  • 1954: setting a timeout for provisioning of 20s
  • 1955: special case auth_with_primary so that we have context and we redirect appropriately
  • 1956: Fix visual bug in IE8

GitHub: https://github.com/mozilla/123done/issues

  • TBD

GitHub: https://github.com/mozilla/browserid-bigtent/issues

  • TBD

Notes

We just cut train 2012.06.22 which is entering our staging environment now, 
and scheduled to be deployed on july 4th pending normal QA.

https://bugzilla.mozilla.org/767708

There's a pile of high value changes in this one, including:

 * new urls!  say hello to login.persona.org
 * redirect back to original website after email verification
 * websites may supply a name an logo to be displayed in-dialog
 * a stable .watch() API
 * All the changes from the last (derailed) train, including a full redesign and rebrand

dev is now open for commits for the next train!  translation can go, go, go!

Enjoy!
The Persona Folks, via Lloyd