Upgrading Shares On Demand 3.4 to 3.4.6

Summary

This article covers the steps required to upgrade the software on your 3.4 Shares On Demand to the 3.4.6 released versions.  In the future, we will add some information on how to migrate that, to the current build of Shares On Demand 3.4.6.

 

Preparation

 

  1. Contact Aspera Support to have your Entitlement upgraded to the 3.4.6 release.  (New version has support for web application e.g. Console and Shares).
  2. SSH to your server, and 'sudo' to the root user.  See this article for more details.  
  3. Back up your existing Console.  (Use the console Web UI for console - backup of Shares is covered below)
  4. Make sure there are no active transfers on your server
  5. Download the latest software packages for Shares On Demand
  6. # wget http://download.asperasoft.com/sw-private/ondemand/3.4.6/f9851ed3-d855-4857-a1e3-78a08a6d8392/aspera-ec2-tools-3.4.0-88420.noarch.rpm 
    # wget http://download.asperasoft.com/sw-private/ondemand/3.4.6/f9851ed3-d855-4857-a1e3-78a08a6d8392/aspera-shares-1.7.6.88367-1.x86_64.rpm 
    # wget http://download.asperasoft.com/sw-private/ondemand/3.4.6/f9851ed3-d855-4857-a1e3-78a08a6d8392/aspera-entsrv-3.4.6.88403-linux-64.rpm 
    # wget http://download.asperasoft.com/sw-private/ondemand/3.4.6/f9851ed3-d855-4857-a1e3-78a08a6d8392/aspera-common-1.2.10.88405-0.x86_64.rpm
    # wget http://download.asperasoft.com/sw-private/ondemand/3.4.6/f9851ed3-d855-4857-a1e3-78a08a6d8392/aspera-console-2.3.2.88413-0.x86_64.rpm

 

Process

  1. Backup the Shares Application
    # /opt/aspera/shares/script/rake.sh backup DIR=/tmp
  2. Backup the Console Database
  3. # asctl console:backup_database
  4. If you have custom SSL certs (or just want to backup existing SSL certs), back them up into a new directory (e.g. BACKUP_DIR):
    # cp /opt/aspera/shares/conf/cert.key /opt/aspera/shares/conf/cert.pem /tmp/BACKUP_DIR
  5. Stop all Console processes
    # asctl all:stop
  6. Stop the shares nginx web server
    /etc/init.d/aspera_shares_nginx stop
  7. Install the Aspera server, console and console software
    # rpm -Uvh aspera-entsrv-3.4.6.88403-linux-64.rpm
    # rpm -Uvh aspera-ec2-tools-3.4.0-88420.noarch.rpm
    # rpm -Uvh aspera-common-1.2.10.88405-0.x86_64.rpm
    # rpm -Uvh aspera-console-2.3.2.88413-0.x86_64.rpm
  8. Run the Console Upgrade procedure
    # asctl console:upgrade
  9. Stop the apache process (it was started automatically by the Console upgrade.  With this install, we will use nginx for the web server, not Apache.
    # asctl apache:stop
  10. Uninstall Shares Application (note: to upgrade from Shares 1.0.3 to 1.7.2 we need to fully uninstall Shares).  Stop All shares processes, and remove them from init.
    # /etc/init.d/aspera_shares_nginx stop
    # /etc/init.d/aspera_shares_delayed_job stop
    # chkconfig --del aspera_shares_nginx
    # chkconfig --del aspera_shares_delayed_job
    # rpm -e aspera-shares
    # mv /opt/aspera/shares/ /opt/aspera/shares.bak
  11. remove the old shares init scripts.  NOTE: Be sure to press 'y' to confirm that you want to delete these files.

  12. rm /etc/init.d/aspera_shares_nginx 
  13. rm /etc/init.d/aspera_shares_delayed_job
  14. Install the new Shares rpm
    # rpm -Uvh aspera-shares-1.7.6.88367-1.x86_64.rpm 
  15. Configure Shares to use the existing MySQL (that comes with Aspera Console). Find the MySQL password which is used for the production version of MySQL
    # less  /opt/aspera/console/config/database.yml
  16. Edit /opt/aspera/shares/etc/my.cnf.setup and enter in the new password.  Here is an example of a working config.  NOTE: We also changed localhost to 127.0.0.1   
    [client]
    user = root
    password = 7b3b67b4-7eh6-43a9-b6a6-485b78327bd3
    host = 127.0.0.1
    port = 4406
  17. Run the Shares 'install' utility
    # /opt/aspera/shares/u/setup/bin/install
  18. Configure nginx to be the primary web server.  Use a text editor to create a file in/opt/aspera/shares/etc/nginx/conf.di.e.
    # vi /opt/aspera/shares/etc/nginx/conf.d/console_cluster.conf 
    The file should have the following contents:
    upstream console_cluster { 
    server 127.0.0.1:3500;
    server 127.0.0.1:3501;
    server 127.0.0.1:3502;
    server 127.0.0.1:3503;
    }
  19. add the console locations:
  20. vi /opt/aspera/shares/etc/nginx/locations-enabled/console_locations.conf
    location = /aspera/console {
      return 301 $scheme://$host$uri/$is_args$args;
    }
                        
    location ^~ /aspera/console/ {
      alias /opt/aspera/console/public/;
      expires 1d;
      try_files $uri @console_cluster;
    }
                        
    location @console_cluster {
      proxy_pass http://console_cluster;
      proxy_redirect off;
      proxy_set_header Host $http_host;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto https;
      proxy_set_header X-Real-IP $remote_addr;
    }
  21. If you have SSL certificates, this is when you can restore them.  Here is a command to restore them.  Please substitute BACKUP_DIR for the location of your keys:
    # cp /tmp/BACKUP_DIR/cert.key /opt/aspera/shares/etc/nginx/cert.key
    # cp /tmp/BACKUP_DIR/cert.pem /opt/aspera/shares/etc/nginx/cert.pem    

    Restart Nginx:

    # /etc/init.d/aspera-shares restart
  22. Enable entitlement mode for the Console application:
  23. # cd /opt/aspera/console/
    # export RAILS_ENV=production
    # export PATH=/opt/aspera/common/ruby/bin:$PATH
    # asctl console:rake --trace aspera:ami:entitlement:license_mode_on
  24. Restore the Shares configuration:
    /opt/aspera/shares/u/setup/bin/restore /tmp/BACKUP_DIR   (NOTE: BACKUP_DIR WAS AUTOMATICALLY CREATED AND SHOULD BE A DATE STAMP)
  25. Enable the entitlement mode for the Shares application:  
  26. # /opt/aspera/shares/bin/run bash -c 'cd /opt/aspera/shares/u/shares && RAILS_ENV=production bundle exec rake aspera:ami:entitlement:license_mode_on'
  27. Your system should be upgraded.  Please login and confirm that everything is working as expected.

 

Have more questions? Submit a request

0 Comments

Article is closed for comments.
Powered by Zendesk