Upgrading Avalon 8.0 to Avalon 8.0.1

Upgrading Avalon 8.0 to Avalon 8.0.1

Requirements

Ruby 3.3.x and Node.js 20.x are recommended.

Files from Google Drive

In previous Avalon releases, files added from the Google Drive adapter for Browse Everything are unmanaged; that is, not being moved, held or deleted as specified in application settings. This has been resolved in 8.0.1.

If you have added files via Drive, you may need to remediate manually. You can see files sourced from Drive querying the masterfile file_location field, which will contain the string https://www.googleapis.com. For example, to get all of the masterfile ids of matching files, run this command in the rails console: ActiveFedora.solr.conn.get('select', params: { q: 'has_model_ssim:MasterFile AND file_location_ssi:/https\:\/\/www.googleapis.com.*/', rows: 1_000_000, fl: [:id]})

Upgrade Steps

For Manual Installations

  1. Install ruby 3.3.x (if needed)

  2. Update gems, and migrate DB

    bundle install --with production --without development test RAILS_ENV=production bundle exec rake db:migrate
  3. Install node.js 20.x (if needed)

  4. Update JS dependencies

    yarn install # in Avalon root dir
  5. Update configuration, see Config changes above

  6. Restart passenger (if using)

    passenger-config restart-app

For Docker Installations

  1. Stop Avalon

    docker-compose down
  2. Update new code from avalon-docker

    git checkout main git pull
  3. Pull new images

    docker-compose pull avalon solr
  4. Check config changes then restart the Avalon containers

    docker-compose up

You can also build your own image, Docker Buildkit is recommended

docker-compose build avalon

 

For Terraform installations

These instructions are a work in progress.

  1. Set avalon_docker_code_branch and avalon_branch in terraform.tfvars if necessary. (Latest tags are v8.0.1 for Avalon and avalon-8.0.1-aws_min for avalon-docker.)

  2. Perform the upgrade:

    terraform apply

This might error on destroying fedora 4 s3 buckets if they aren't empty. You can safely ignore these errors and decide later if you want to backup and retain these buckets or delete them.

You may also see an error when attempting to create an iam user which already exists. If this happens rerunning the terraform apply should resolve the issue and successfully run to completion