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
Install ruby 3.3.x (if needed)
Update gems, and migrate DB
bundle install --with production --without development test RAILS_ENV=production bundle exec rake db:migrate
Install node.js 20.x (if needed)
Update JS dependencies
yarn install # in Avalon root dir
Update configuration, see Config changes above
Restart passenger (if using)
passenger-config restart-app
For Docker Installations
Stop Avalon
docker-compose down
Update new code from avalon-docker
git checkout main git pull
Pull new images
docker-compose pull avalon solr
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.
Set
avalon_docker_code_branch
andavalon_branch
interraform.tfvars
if necessary. (Latest tags arev8.0.1
for Avalon andavalon-8.0.1-aws_min
for avalon-docker.)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