Upgrading Avalon 7.8 to Avalon 8.0
WIP document pending 8.0 release.
Requirements
Ruby 3.3+ and Node.js 20 are recommended.
Config changes
Solr 6 configuration files removed
Ensure solr has been upgraded to solr 9 (see instructions included in Avalon 7.6 → 7.7 upgrade notes)dropbox.sharepoint (options) - settings to enable sharepoint integration in dropbox modal
See [Sharepoint Dropbox] for details about setting it up.ffprobe (optional) - path to ffprobe executable on Avalon server (defaults to
ffprobe
)
Troubleshooting
Checking that export and migration are complete
Restarting export or migrations in case of errors
Upgrade Steps
For Manual Installations
Pre-upgrade steps
Ensure section_list migration has been run (See Upgrading Avalon 7.7 to Avalon 7.8 | MediaObject Section List Migration)
Export Fedora 4 repository and migrate it to Fedora 6 OCFL
cd /tmp mkdir fc4_to_fc6 cd fc4_to_fc6 # Setup Java 21+ (if needed) curl -O -L https://download.java.net/java/GA/jdk21/fd2272bbf8e04c3dbaee13770090416c/35/GPL/openjdk-21_linux-x64_bin.tar.gz tar xvzf openjdk-21_linux-x64_bin.tar.gz # Download specific version of import/export tool curl -O -L https://github.com/fcrepo-exts/fcrepo-import-export/releases/download/fcrepo-import-export-1.2.0/fcrepo-import-export-1.2.0.jar # Export from fedora 4 jdk-21/bin/java -jar fcrepo-import-export-1.2.0.jar -b --dir fcrepo4.7.5_export --user fedoraAdmin:fedoraAdmin --mode export --resource http://fedora:8080/fedora/rest --binaries --membership --auditLog > importexport_`date +%Y%m%dT%H%M%S`.log 2>&1 # Download specific build of upgrade-utils # Run migration Fedora 4 -> Fedora 5 (inside container again) jdk-21/bin/java -jar fcrepo-upgrade-utils-6.4.0-SNAPSHOT.jar --input-dir fcrepo4.7.5_export --output-dir fcrepo5_export --source-version 4.7.5 --target-version 5+ > upgrade_5_`date +%Y%m%dT%H%M%S`.log 2>&1 # Run migration Fedora 5 -> Fedora 6 jdk-21/bin/java --add-opens java.base/java.util.concurrent=ALL-UNNAMED -jar fcrepo-upgrade-utils-6.4.0-SNAPSHOT.jar --input-dir fcrepo5_export --output-dir fcrepo6_export --source-version 5+ --target-version 6+ --base-uri http://fedora:8080/fedora/rest > upgrade_6_`date +%Y%m%dT%H%M%S`.log 2>&1
Setup Fedora 6 (See https://wiki.lyrasis.org/display/FEDORA6x/Deployment )
Copy migrated Fedora 6 OCFL directory to
fcrepo.home
and restart Fedora
Upgrade steps
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
Generate credentials (if needed)
Restart passenger (if using)
For Docker Installations
Before upgrading an AWS docker install based on avalon-terraform
or the aws_min
branch of avalon-docker
make a backup of your supplemental files prior to destroying the avalon container!
Then load them into an S3 bucket:
See Investigate Supplemental File Storage · Issue #77 · avalonmediasystem/avalon-docker for more discussion on this. If you run into any problems, please reach out on slack or the email list.
Pre-upgrade steps
Ensure section_list migration has been run (See Upgrading Avalon 7.7 to Avalon 7.8 | MediaObject Section List Migration)
Export Fedora 4 repository and migrate it to Fedora 6 OCFL (inside avalon container)
Copy migrated data out into new
fedora_data
directory (outside avalon container)
Upgrade steps
Stop Avalon
Update new code from avalon-docker
Pull new images
Setup fedora 6 cache database
Check config changes then restart the Avalon containers
You can also build your own image, Docker Buildkit is recommended