Versions Compared

Key

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

...

  1. Ensure section_list migration has been run (See https://samvera.atlassian.net/wiki/spaces/AVALON/pages/2580086785/Upgrading+Avalon+7.7+to+Avalon+7.8#MediaObject-Section-List-Migration)

  2. Export Fedora 4 repository and migrate it to Fedora 6 OCFL

    Code Block
    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
    curl -O -L https://github.com/avalonmediasystem/fcrepo-upgrade-utils/releases/download/6.3.0-AVALON/fcrepo-upgrade-utils-6.3.0-AVALON.jar
    
    # Run migration Fedora 4 -> Fedora 5 (inside container again)
    jdk-21/bin/java -jar fcrepo-upgrade-utils-6.43.0-SNAPSHOTAVALON.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.43.0-SNAPSHOTAVALON.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

...

  1. Ensure section_list migration has been run (See https://samvera.atlassian.net/wiki/spaces/AVALON/pages/2580086785/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)

    Code Block
    cd /tmp
    mkdir fc4_to_fc6
    cd fc4_to_fc6
    
    # Setup Java
    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
    curl -O -L https://github.com/avalonmediasystem/fcrepo-upgrade-utils/releases/download/6.3.0-AVALON/fcrepo-upgrade-utils-6.3.0-AVALON.jar
    
    # Run migration Fedora 4 -> Fedora 5 (inside container again)
    jdk-21/bin/java -jar fcrepo-upgrade-utils-6.43.0-SNAPSHOTAVALON.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.43.0-SNAPSHOTAVALON.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. Copy migrated data out into new fedora_data directory (outside avalon container)

    Code Block
    docker cp avalon-docker-avalon-1:/tmp/fc4_to_fc6/fcrepo6_export/data fedora_data

Upgrade steps

  1. Stop Avalon

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

    Code Block
    git checkout main
    git pull
  3. Pull new images

    Code Block
    docker-compose pull
  4. Setup fedora 6 cache database

    Code Block
    docker-compose up db -d
    docker-compose exec db /bin/bash /docker-entrypoint-initdb.d/init-fedora-cache-db.sh
    docker-compose down
  5. Check config changes then restart the Avalon containers

    Code Block
    docker-compose up

...