account_migration

Migrating existing accounts

The sbgrid-cli migrate-account command allows a user to change accounts. This can be useful when moving between SBGrid member labs or to change from legacy SBGrid account to a new account which allows installation of BioGrids

The process does not require reinstallation or extensive changes to the software collection. A network connection and a recent release of sbgrid-cli is required.

  • Migrating existing accounts
  • Troubleshooting common errors
    • Authentication failed
    • Permissions and file ownership issue
    • Missing programs link <!-- /TOC --> ### sbgrid-cli migrate-account usage
      $ ./sbgrid-cli migrate-account --help 
      
      SBGrid Installer 2.2.20 e4c704acc0 — 
                       _______  _____    _    __
                      / __/ _ )/ ___/___(_)__/ /
                     _\ \/ _  / (_ / __/ / _  /
                    /___/____/\___/_/ /_/\_,_/
                        C o n s o r t i u m
      
      USAGE — migrate-account
      
        ▸ sbgrid-cli migrate-account [site] [user] [key] [OPTIONS...]
      
      
      ARGUMENTS
      
        [site]                               The installation site provided with your new account   
                                             credentials                                            
        [user]                               The username provided with your new account credentials
        [key]                                The activation key provided with your new account      
                                             credentials                                            
      
      OPTIONS
      
        -c, --custom-config <config>         Specify a custom configuration file (the new account   
                                             credentials will be overwritten to the same location)  
        --darwin                             Specify macOS as a platform                            
        --linux                              Specify Linux as a platform                            
      
      GLOBAL OPTIONS
      
        -h, --help                           Display global help or command-related help.           
        -V, --version                        Display version.                                       
        --no-color                           Disable use of colors in output.                       
        -v, --verbose                        Verbose mode: will also output debug messages.         
        --quiet                              Quiet mode - only displays warn and error messages.    
        --silent                             Silent mode: does not output anything, giving no       
                                             indication of success or failure other than the exit   
                                             code.                                                  
        -y, --yes                            Skips confirmation prompts                             
        --no-progress-bar                    Disables the progress bar                              
      

Migration in 3 steps (download, untar, account_migrate)

The sbgrid-cli has a migration function to migrate between two SBGrid accounts. You only need to run three commands. In a terminal, run:

1) Download the latest version of the sbgrid-cli with the curl command. You can also use a browser.

On macOS :

$ curl -k -LO https://sbgrid-installation-manager.s3.amazonaws.com/2.2.20/sbgrid-cli_2.2.20-macos.tar.gz
On Linux:
$ curl -k -LO https://sbgrid-installation-manager.s3.amazonaws.com/2.2.20/sbgrid-cli_2.2.20-linux.tar.gz

2) Decompress and untar the archive

$ tar -zxf sbgrid-cli_2.2.20-macos.tar.gz

3) Run the migration command. The "./" preceding the command will execute the downloaded and decompressed file from the current directory.

$ ./sbgrid-cli migrate-account
You will be prompted for a new site, username, and key.
  $ ./sbgrid-cli migrate-account
✔ Enter the new site name … smith_b_123i
✔ Enter the new username … jdoe
✔ Enter the new key … nPjmIsDZYD6060jSCReL5G73AeHPxCMhDRt4==

or you can just use this command to do it all in one shot:

 $ ./sbgrid-cli migrate-account smith_b_123i jdoe nPjmIsDZYD6060jSCReL5G73AeHPxCMhDRt4==

If all goes well, you should see :

$ ./sbgrid-cli migrate-account smith_b_123i jdoe VJmj0xjVA1ovzbXjDEhfYhAqcAu9lnpopalT==
info: Verifying the new credentials & running installation diagnostics...
info: (1/3) Checking rsync credentials...
info: (2/3) Checking connection...
info: Checking services...
info: Checking sbgrid.org (HTTPS) ...
info: Checking sbgrid.org (HTTP) ...
info: (3/3) Checking your installation's file permissions & ownership
info: Checking file permissions...
info: OK -> /home/jdoe/.sbgrid_installer has permissions 0600
info: OK -> /home/jdoe/.sbgrid/logs has permissions 0755
info: OK -> /home/jdoe/.sbgrid_installer has permissions 0600
info: OK -> /programs has permissions 0755
info: OK -> /opt/sbgrid has permissions 0755
info: Checking file ownership...
info: OK -> user jdoe is the owner of the /home/jdoe/.sbgrid_installer
info: OK -> user jdoe is the owner of the /home/jdoe/.sbgrid/logs
info: OK -> user jdoe is the owner of the /home/jdoe/.sbgrid_installer
info: OK -> user jdoe is the owner of the /programs
info: OK -> user jdoe is the owner of the /opt/sbgrid
info: Credential verification & installation diagnostics completed successfully
✔ This command will now migrate your current installation to the new account credentials.
Continue? … yes
info: Retrieving package metadata...
info: (1/1) Setting up your installation...
info: Migration complete

Success!

Troubleshooting common errors

Authentication failed

The following error means the new account credentials were incorrect or invalid. Check for typos or errors cutting and pasting.

info: Verifying the new credentials & running installation diagnostics...
info: Retrieving package metadata...
info: (1/3) Checking rsync credentials...

error: Authentication failed

error: Credential verification failed for user: jdoe and site: smith_b_123i

Permissions and file ownership issue

The installation must belong to user account doing the migration. The error below shows a failure due to ownership of /programs. To fix this, correct the file ownership, typically with the chown command.

  $ ./sbgrid-cli migrate-account
✔ Enter the new site name … smith_b_123i
✔ Enter the new username … jdoe
✔ Enter the new key … nPjmIsDZYD6060jSCReL5G73AeHPxCMhDRt4==
info: Verifying the new credentials & running installation diagnostics...
info: (1/3) Checking rsync credentials...
info: (2/3) Checking connection...
info: Checking services...
info: Checking sbgrid.org (HTTPS) ...
info: Checking sbgrid.org (HTTP) ...
info: (3/3) Checking your installation's file permissions & ownership
info: Checking file permissions...
info: OK -> /home/jdoe/.sbgrid_installer has permissions 0600
info: OK -> /home/jdoe/.sbgrid/logs has permissions 0755
info: OK -> /home/jdoe/.sbgrid_installer has permissions 0600
info: OK -> /programs has permissions 0755
info: OK -> /opt/sbgrid has permissions 0755
info: Checking file ownership...
info: OK -> user jdoe is the owner of the /home/jdoe/.sbgrid_installer
info: OK -> user jdoe is the owner of the /home/jdoe/.sbgrid/logs
info: OK -> user jdoe is the owner of the /home/jdoe/.sbgrid_installer
**warn: BAD -> user with UID 2000 is the owner of the /programs**
info: OK -> user jdoe is the owner of the /opt/sbgrid

error: Permissions & ownership diagnostic failed

Missing programs link

A symlink from /programs to the software installation directory is assumed to be present. If that link is missing the migration fails with this error. To fix this, (re)create the link at /programs.

  $ ./sbgrid-cli migrate-account smith_b_123i jdoe VJmj0xjVA1ovzbXjDEhfYhAqcAu9lnpopalT==
info: Verifying the new credentials & running installation diagnostics...
info: (1/3) Checking rsync credentials...
info: (2/3) Checking connection...
info: Checking services...
info: Checking sbgrid.org (HTTPS) ...
info: Checking sbgrid.org (HTTP) ...
info: (3/3) Checking your installation's file permissions & ownership
info: Checking file permissions...
info: OK -> /home/jdoe/.sbgrid_installer has permissions 0600
info: OK -> /home/jdoe/.sbgrid/logs has permissions 0755
info: OK -> /home/jdoe/.sbgrid_installer has permissions 0600

error: ENOENT: no such file or directory, stat '/programs'