Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Warning

Work in progress. Don't do this!! Avalon v.4.0 Hasn't been released yet.

update Red5 webapp

 

Remove Matterhorn Notifier

...

Preparing for the Upgrade 

Before doing anything to prepare for the upgrade, backup your Avalon 3.3 installation.

config/avalon.yml

In avalon.yml, under streaming, change "url_handler:" to "server:". 

...

Code Block
  streaming:
    server: :adobegeneric
    content_path: /var/avalon/rtmp_streams
    stream_token_ttl: 20
    rtmp_base: rtmp://mallorn.dlib.indiana.edulocalhost/avalon
    http_base: http://localhost/streams

See What's New in Avalon 4.0 for more details.

Instructions

The following instructions will work for any Avalon 3.3 installation that used Puppet as its source. This includes the portable VM Image Installation, the Vagrant Virtual Machine Installation, and the Manual Installation of Avalon Using Puppet.

Upgrading is fairly simple, and must be run as the root user from a bash prompt on the Avalon system. The process for this depends on which kind of installation you have.

Portable VM image:

  • Open a terminal window from within the VM console, and type su root to become the root user. This will require the root password you provided the first time the system was booted.
  • Vagrant virtual machine:
    From within the original installer directory (from step 4 of the Vagrant Virtual Machine Image Installation Instructions), type vagrant ssh to log in as the vagrant user, then type sudo -i to become the root user.
  • Manual Puppet installed machine:
    Log in and become root as you did in steps 1 and 2 of the Manual Installation of Avalon Using Puppet instructions.

Once you have a root prompt, proceed with the upgrade as follows:

Code Block
languagebash
titleUpgrade Avalon
# 1. if starting from Portable VM image, download the installer package, unpack, and link it
$ wget http://www.avalonmediasystem.org/downloads/avalon-installer-flat.tar.gz -O flat.tar.gz 
$ tar xzf flat.tar.gz
$ export INSTALL_DIR=`pwd`
$ ln -s $INSTALL_DIR/avalon-installer-flat/files /etc/puppet/avalon_files

# 2. navigate to the installer
$ cd avalon-installer-flat

# 3. remove the Avalon deploy tag
$ rm -f /var/www/avalon/bare-deploy
$ rm -rf /opt/staging/avalon/avalon-bare-deploy.tar.gz /opt/staging/avalon/avalon-bare-deploy
 
# 4. pin mysql to version in new Gemfile.local
$ cp modules/avalon/files/shared/Gemfile.local /var/www/avalon//mallorn.dlib.indiana.edu/avalonshared/Gemfile.local

# 5. apply the puppet manifest
$ puppet apply --fileserverconfig=fileserver.conf --modulepath=modules \
	--hiera_config=hiera/hiera.yaml --templatedir=templates manifests/init.pp

# 6. reindex
$ su - avalon -c "cd /var/www/avalon/current; RAILS_ENV='production' bundle exec rake avalon:reindex"

Update config/controlled_vocabulary.yml

Additional controlled vocabularies are required for Avalon 4. Merge the new version of config/controlled_vocabulary.yml.example with your customizations in config/controlled_vocabulary.yml. See Managing Controlled Vocabularies.

 

Code Block
languagebash
titleUpgrade Matterhorn
# 1. Switch to matterhorn user
$ su - matterhorn
$ cd /usr/local/matterhorn
 
# 2. Install updated encoding profiles
$ cd etc/encoding
$ wget --no-check-certificate https://raw.githubusercontent.com/avalonmediasystem/avalon-felix/1.4.x/etc/encoding/avalon.properties -O avalon.properties

# 3. Remove avalon workflow notifier bundle
$ rm /usr/local/matterhorn/lib/matterhorn/matterhorn-workflow-notifier-avalon-1.4-SNAPSHOT.jar

# 4. Restart Matterhorn
$ exit
$ service matterhorn stop
$ service matterhorn start
Code Block
languagebash
titleUpgrade Red5
# 1. Stop Red5
$ service red5 stop
 
# 2. Switch to red5 directory
$ cd /usr/local/red5
 
# 3. Install updated avalon webapp
$ cd webapps/avalon
$ wget --no-check-certificate https://raw.githubusercontent.com/avalonmediasystem/avalon-red5/master/webapps/avalon/WEB-INF/lib/red5-avalon.jar -O WEB-INF/lib/red5-avalon.jar
$ wget --no-check-certificate https://raw.githubusercontent.com/avalonmediasystem/avalon-red5/master/webapps/avalon/WEB-INF/red5-web.properties -O WEB-INF/red5-web.properties
$ wget --no-check-certificate https://raw.githubusercontent.com/avalonmediasystem/avalon-red5/master/webapps/avalon/WEB-INF/red5-web.xml -O WEB-INF/red5-web.xml
$ wget --no-check-certificate https://raw.githubusercontent.com/avalonmediasystem/avalon-red5/master/webapps/avalon/META-INF/MANIFEST.MF -O META-INF/MANIFEST.MF
$ chmod -R a+x META-INF WEB-INF

# 4.Configure serverUrl to point to localhost
$ perl -pi -e 's/#avalon\.serverUrl=http:\/\/www\.example\.edu\/avalon\//avalon\.serverUrl=http:\/\/localhost/' WEB-INF/red5-web.properties

# 5. Restart Red5
$ service red5 start

Restart Delayed Job

See details here: Restart Delayed Job

Update AMS (if relevant)

If you are using Adobe Media Server for your streaming server, see Updating AMS for Avalon 4.0.

Sample Content

If you didn't load the sample content before, try it out to test your avalon 4.0 upgrade.