Versions Compared

Key

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


Warning

This is a work in progress in preparation for upcoming Avalon 7 release

See the Avalon 7.0 Release Notes for more information.

...

Code Block
languagebash
rvm list # Get current ruby version, eg 2.2.1
rvm upgrade 2.2.1 2.5.75 # Installs Ruby 2.5.75 and migrate gemsets, wrappers, aliases and environment files

Avalon uses ImageMagick to crop the Collection poster

Code Block
languagebash
yum install ImageMagick

Anchor
configchanges
configchanges
Config changes

Old settingNew settingNote

matterhorn:
  media_path: /path/to/dir

encoding:
  working_file_path: /path/to/dir

More information

home_page:
  featured_collections: ['col1_id', 'col2_id']
  carousel_collections: ['col3_id', 'col4_id', 'col5_id']

Choose which collections to display in the featured and carousel portions of the new homepage. 

More information on customizing the UI

Ingest API Authorization changes

Changes were made to the authorization mechanism for the Avalon Ingest API in Avalon 7.0. In previous versions, user sessions authenticated with an API token were granted admin user access. In version 7.0 and later, user sessions authenticated with an API token will be granted the same access as the token's associated user. The means that when upgrading to Avalon 7.0, any API tokens in use must be checked to ensure that their associated users have the necessary permissions to perform API functions. 

Upgrade Steps

For Manual Installations

...

Code Block
languagebash
gem install bundler -v 2.0.2
bundle install --with production --without development test
RAILS_ENV=production bundle exec rake db:migrate

3.  Install yarn and update Update JS dependencies

Code Block
languagebash
curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
sudo yum install nodejs # Tested with Node.js version 10
sudo yum install yarn
yarn install # in Avalon root dir

3. Copy rightsstatement.org controlled vocabulary from config/controlled_vocabulary.yml.example into config/controlled_vocabulary.yml

4. Update configuration, see Config changes above

5. Restart passenger (if using)

Code Block
languagebash
passenger-config restart-app

5. Upgrade Redis and Restart Resque 6. Replace Resque with Sidekiq (background jobs processor). Look at our Manual Instructions for more details.

Code Block
languagebash
sudo yum upgrade redis  # Version 3.0+
sudo service redis restart
pkill -f resque
RAILS_ENV=production BACKGROUND=yes bundle exec rake resque:scheduler
RAILS_ENV=production BACKGROUND=yes QUEUE=* bundle exec rake resque:work

6. Upgrade ffmpeg (version 4+). You can either download a prebuilt binary

Code Block
languagebash
mkdir -p /tmp/ffmpeg && cd /tmp/ffmpeg
curl https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz | tar xJ
sudo cp `find . -type f -executable` /usr/bin

...

sidekiq -d -C config/sidekiq.yml

7. Upgrade mediainfo

Code Block
languagebash
sudo yum remove libmediainfo0-0.7.61-1.x86_64 libzen0-0.4.28-1.x86_64
sudo yum remove mediainfo
sudo yum install mediainfo libmediainfo libzen # Choose 19+ version

8. Retire Matterhorn 

...

Code Block
languagebash
RAILS_ENV=production bundle exec rails r script/waveform_backfill.rb

...

For Docker Installations

Stop Matterhorn

Code Block
titleconfig/settings.yml
timeliner:
  timeliner_url: https://<hostname>/timeliner

...

languagebash
docker-compose stop matterhorn

Update new code from avalon-docker

Code Block
languagebash
git checkout master
git pull

Pull or Rebuild and replace Avalon container. 

Code Block
languagebash
docker-compose pull avalon
# or docker-compose build --no-cache avalon

Check config changes then replace the Avalon container

Code Block
languagebash
docker-compose stopup avalon docker-compose up avalonworker