Transitioning guide#

The following serves as a guide to transition an existing Freva instance (within the python2 frame work) to the new (python3 based) version.

Transition to new Database#

We have created a small command line interface (freva-migrate) that helps migrating content of an existing Freva framework to the new one. The freva-migrate command has currently one sub commands:

The new system has witnessed small changes to the database structure. The database sub-command of the freva-migrate command helps to transition to this new database structure. To migrate a database of an old installation of the Freva system to a freshly deployed Freva instance use the following command:

usage: freva-migrate database [-h] [--old-port OLD_PORT] [--old-db OLD_DB] [--old-pw OLD_PW] [--old-user OLD_USER]
                              new_hostname old_hostname cert-file

Freva database migration

positional arguments:
  new_hostname         The hostname where the new database is deployed.
  old_hostname         Hostname of the old database.
  cert-file            Path to the public certificate file.

options:
  -h, --help           show this help message and exit
  --old-port OLD_PORT  The port where the old database server is running on. (default: 3306)
  --old-db OLD_DB      The name of the old database (default: evaluationsystem)
  --old-pw OLD_PW      The passowrd to the old database (default: None)
  --old-user OLD_USER  The old database user (default: evaluationsystem)

The cert-file positional argument refers to the public certificate file that was created during the deployment process and is needed to establish a connection to the new database (via the vault). You can either use the one that has been saved by the deployment or use it from the freva config directory. By default the certificate file resides within freva path of the deployment root_dir for example /mnt/project/freva/project.crt. Also don’t forget to set the domain name for your institution as a unique identifier.

After the command has been applied the new database with its “old” content from the previous Freva instance will be ready for use.

Transition to new DRS Config#

In the old version the DRS (Date Reference Syntax) File configuration, that is the definitions of dataset metadata, was hard coded into the module evaluation_system.model.file. In the new version this configuration is saved in a designated toml file (drs_config.toml). The ingestion of data is done by the new data-crawler software, which is written in python. More information on this configuration and usage of the software can be found on the software documentation.