Closed Bug 1615005 Opened 5 years ago Closed 5 years ago

Assist with SoftVision QA testing for sync migration

Categories

(Cloud Services :: Operations: Miscellaneous, task, P1)

task

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: rachel, Assigned: bobm)

References

Details

We have several softvision accounts that will be used for testing the migration script as part of PI-430

TIMING

Staging:
We're going to plan on starting on Feb 24th.

Production:
Date TBD

Account Info:

PRODUCTION ACCOUNTS
Firefox account Sync ID
small@mailinator.com 137900849
medium@mailinator.com 137901151
large@mailinator.com 137901306
xlarge@mailinator.com 137901574
stefantest1@mailinator.com 104435379
vtamas+1@mozilla.com 135124277

STAGING ACCOUNTS
small@sharklasers.com 5743942
medium@sharklasers.com 5743943
large@sharklasers.com 5743944
xlarge@sharklasers.com 5743945
vtamas+102@mozilla.com 5552941
sdeiac+3@mozilla.com 5743946

:jrconlin, ni?-ing you here for instructions on running the migration script against production and staging; can you detail them here?

Flags: needinfo?(jrconlin)
Depends on: 1615019

The migration script is located as part of the https://github.com/mozilla-services/syncstorage-rs repo under tools/user_migration.

Some instructions are provided in the README.md file displayed at https://github.com/mozilla-services/syncstorage-rs/tree/master/tools/user_migration

For stage migration, the mysql and spanner dsns should point to the stage instances. In addition, it may be useful to include the stage tokenserver database DSN as the --token_dsn argument. This will ensure that the tokenserver assigns the user to the spanner database after migration occurs.

A few additional notes:

Because of the complexities involved in sync and migration, the sync-storage server currently does NOT force the user to re-fetch a new token by sending a 4xx message at the completion of the migration. Sync across multiple devices tends to be a bit unpredictable. Instead, we rely on the client's token expiring, and the client electing to fetch a new token. This may take several hours, depending on the device. You may be able to hasten that by using a manual Refresh Token process. (Will follow up this comment with steps once I confirm with the sync team that the FAQ is still accurate)

The migration script has been tested using a Stand Alone server, since dev does not have access to stage or prod servers. Expect the unexpected, and bugs gleefully accepted.

Flags: needinfo?(jrconlin)

Following up from discussions with sync:

It may be possible to reset the sync token: "You can disconnect devices from the "devices and apps" list in account settings, which is similar to signing out of sync". This does also imply that logging out of sync and then logging back in should also suffice. There may be a desktop specific method to manually reset the sync token, however this will not be available to mobile devices. I will update as information becomes available.

Further note from Sync:

"setting the pref services.sync.debug.ignoreCachedAuthCredentials [equal to true] will force the client to fetch a new token from the tokenserver every time it needs one"

This should force migration to fetch a new token, which would get the new assignment. It is recommended that you only set this AFTER the sync migration script completes to prevent accidental reassignment.

So the steps should be:

  1. run the migration script for the user.
  2. in about:config set services.sync.debug.ignoreCachedAuthCredentials to true.
  3. force a sync via 'Sync Now`

This should cause the client to connect to the new sync store, and rectify.

Assignee: nobody → bobm

xlarge@sharklasers.com 5743945

This uid is now 5744115. The sync node it was allocated has been used for other testing. This id will need to be reconnected and re-sync before we perform any tests. I would like to migrate the user data over Wednesday, Feb. 26th, morning-time US/Pacific (or soon thereafter). However, for the testing to be most effective the sync clients should have some pre-populated data, and then disconnect and not sync again until after the data has been transferred and the users have been re-assigned.

Please verify that this will be possible.

Flags: needinfo?(vasilica.mihasca)

Hello Bob, I made some new unique browsing data and synced using the xlarge@sharklasers.com account and I disconnected the account after that.
I'll wait for your updates to start the verification part.

Flags: needinfo?(vasilica.mihasca)

(In reply to Stefan Deiac from comment #5)

I'll wait for your updates to start the verification part.

We are still working on the migration. I will provide further updates when we ready.

(In reply to Bob Micheletto [:bobm] from comment #4)

xlarge@sharklasers.com 5743945

This uid is now 5744115. The sync node it was allocated has been used for other testing. This id will need to be reconnected and re-sync before we perform any tests. I would like to migrate the user data over Wednesday, Feb. 26th, morning-time US/Pacific (or soon thereafter). However, for the testing to be most effective the sync clients should have some pre-populated data, and then disconnect and not sync again until after the data has been transferred and the users have been re-assigned.

Please verify that this will be possible.

We successfully imported all the sync data json files into the targeted users and we also created a few more for this testing:

vtamas+100@mozilla.com 5469316
vtamas+101@mozilla.com 5613640
sdeiac+4@mozilla.com 5744129
sdeiac+5@mozilla.com 5469295
sdeiac+6@mozilla.com 5469296

One of the testing objectives is to monitor the user behavior during migration which means that they do not need to be previously linked to spanner in order to analyze how each user behaves during the migration process. Besides the happy flow we have targeted also particular scenarios like:

  • manual sync performed during migration
  • Firefox account disconnection during migration
  • closing the browser during migration
  • network disconnection during migration

In conclusion, the testing users should remain assigned to MySQL and we need to be aware when the migration process will start.

(In reply to Vasilica Tamas, QA from comment #7)

In conclusion, the testing users should remain assigned to MySQL and we need to be aware when the migration process will start.

I have set aside an hour to do the staging data migration on March 3rd, 10 AM US/Eastern. Please acknowledge if that time is acceptable. Let's coordinate the migration in the #services-engineering Slack channel.

Flags: needinfo?(vasilica.mihasca)

(In reply to Bob Micheletto [:bobm] from comment #8)

(In reply to Vasilica Tamas, QA from comment #7)

In conclusion, the testing users should remain assigned to MySQL and we need to be aware when the migration process will start.

I have set aside an hour to do the staging data migration on March 3rd, 10 AM US/Eastern. Please acknowledge if that time is acceptable. Let's coordinate the migration in the #services-engineering Slack channel.

That sounds great. Thanks!

Flags: needinfo?(vasilica.mihasca)

Thank you @bobm and @jconlin for this stage testing coordination!
Here are the testing results: https://testrail.stage.mozaws.net/index.php?/runs/view/26240&group_by=cases:section_id&group_order=asc

Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED

I created a new node in production and assigned the prod users to that node = sync-node-815. This is staging for the prod user migration testing next week.

Please enable those clients to sync their data to the new back end prior to testing next week.

The new node is sync-815-us-west-2.sync.services.mozilla.com

Status: RESOLVED → REOPENED
Resolution: FIXED → ---

Erik, it looks like we need two more users assigned for testing against production:

sdeiac+1@mozilla.com - 104435855
vtamas+2@mozilla.com 135141393

Would you be able to assign these users as well?

Flags: needinfo?(eolson)

Yes, I will assign them to 815 shortly

Flags: needinfo?(eolson)

Those two users have been migrated to https://sync-815-us-west-2.sync.services.mozilla.com

Confirmed we're good to go with planning the next round of testing for tomorrow, March 11th starting at 7am PDT.

Hello Stefan and Vasilica,
We fixed the abort script and migrated the sdeic+2@mozilla.com user again, copying all data except bookmarks 3-10. Can you please test syncing that user now?

Priority: -- → P1
Status: REOPENED → RESOLVED
Closed: 5 years ago5 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.