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

  1. Ensure section_list migration has been run (See Upgrading Avalon 7.7 to Avalon 7.8 | MediaObject Section List Migration)

  2. 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
  3. Setup Fedora 6 (See https://wiki.lyrasis.org/display/FEDORA6x/Deployment )

  4. Copy migrated Fedora 6 OCFL directory to fcrepo.home and restart Fedora

Upgrade steps

  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. Generate credentials (if needed)

  7. Restart passenger (if using)

 

For Docker Installations

Pre-upgrade steps

  1. Ensure section_list migration has been run (See Upgrading Avalon 7.7 to Avalon 7.8 | MediaObject Section List Migration)

  2. Export Fedora 4 repository and migrate it to Fedora 6 OCFL (inside avalon container)

  3. Copy migrated data out into new fedora_data directory (outside avalon container)

Upgrade steps

  1. Stop Avalon

  2. Update new code from avalon-docker

  3. Pull new images

  4. Setup fedora 6 cache database

  5. Check config changes then restart the Avalon containers

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