Upgrade from 4.35 to 4.36

Linux migration

For Linux deployment you need to update docker containers, their environment variables and execute database migration.

Update images version

When using pre-configured SmartFace deployment from our github, open .env file and the SF_VERSION, so the versions match:

SF_VERSION=v5_4.36.1
AC_VERSION=v5_1.14.0
SFS_VERSION=v5_1.31.1
1. Run upgrade scripts

Execute run.sh script shipped in our default deployment. In case you have custom deployment where you cannot use our pre-build script, call database upgrade manually. Please replace variables --rmq-* with your current configuration.

For MSSQL execute

docker run --rm --name admin_migration --volume $(pwd)/iengine.lic:/etc/innovatrics/iengine.lic --network sf-network ${SF_ADMIN_IMAGE} \
        run-migration \
            -p "$(getvalue CameraServicesCount)" \
            -c "$(getvalue ConnectionStrings__CoreDbContext)" -dbe $DB_ENGINE \
            --tenant-id default \
            --rmq-host "$(getvalue RabbitMQ__Hostname)" --rmq-user "$(getvalue RabbitMQ__Username)" --rmq-pass "$(getvalue RabbitMQ__Password)" \
            --rmq-virtual-host "$(getvalue RabbitMQ__VirtualHost)" --rmq-port "$(getvalue RabbitMQ__Port)" --rmq-streams-port "$(getvalue RabbitMQ__StreamsPort)" --rmq-use-ssl "$(getvalue RabbitMQ__UseSsl)" \
            --dependencies-availability-timeout 120

For PostgreSQL execute

docker run --rm --name admin_migration --volume $(pwd)/iengine.lic:/etc/innovatrics/iengine.lic --network sf-network ${SF_ADMIN_IMAGE} \
        run-migration \
            -p "$(getvalue CameraServicesCount)" \
            -c "$(getvalue ConnectionStrings__CoreDbContext)" -dbe $DB_ENGINE \
            --tenant-id default \
            --rmq-host "$(getvalue RabbitMQ__Hostname)" --rmq-user "$(getvalue RabbitMQ__Username)" --rmq-pass "$(getvalue RabbitMQ__Password)" \
            --rmq-virtual-host "$(getvalue RabbitMQ__VirtualHost)" --rmq-port "$(getvalue RabbitMQ__Port)" --rmq-streams-port "$(getvalue RabbitMQ__StreamsPort)" --rmq-use-ssl "$(getvalue RabbitMQ__UseSsl)" \
            --dependencies-availability-timeout 120
3. Watchlist synchronization

This version also requires watchlist update log stream repopulation.

docker run --rm --name admin-stream-gen --network sf-network $(getvalue REGISTRY)sf-admin:$(getvalue SF_VERSION) \
    populate-wl-update-log-stream \
    -c "$(getvalue ConnectionStrings__CoreDbContext)" \
    -dbe $(getvalue Database__DbEngine) \
    --rmq-host "$(getvalue RabbitMQ__Hostname)" --rmq-user "$(getvalue RabbitMQ__Username)" --rmq-pass "$(getvalue RabbitMQ__Password)" \
    --rmq-virtual-host "$(getvalue RabbitMQ__VirtualHost)" --rmq-port "$(getvalue RabbitMQ__Port)" --rmq-use-ssl "$(getvalue RabbitMQ__UseSsl)" --rmq-streams-port "$(getvalue RabbitMQ__StreamsPort)"