[SDK] Migrate federation to central LoginCluster
Mass user migration to centralized federated user uuids.
- Generate a list of all existing users across clusters with --migrate-to flag (this fills in the "home" column for every user)
- Produce report listing each email address, existing user uuid, if the user owns anything, the cluster that the user will be migrated to
- Admin reviews report
- Report is fed back in
- If no local user exists for a home cluster, create a new user with the email address
- Use user merge to redirect all the old user accounts (and reassign all their data) to user on the home cluster. Decide where to relocate ownership (user or a project owned by user) based on which accounts are empty or not.
Note: API server needs to allow migrating objects owned by remote users to federated user, and make the old remote user disappear (currently migrating remote accounts is not supported) (this was specifically requested by the customer).
API merge method allows specifying the owner_uuid
Write some tests (based on mocks) for the tool.