Release Notes - Yoda v2.1
Version: 2.1
Released: TBA
What’s new
Changes affecting functionality for data stewards and researchers
-
Changes affecting technical administrators
-
Other changes
- iRODS: upgrade to v5.0.2
- Python-irodsclient: update to v3.2.0
- GoCommands: update to v0.11.6
- Flask and dependencies: update to v3.1.3
- Mailpit: update to v1.29.3
Known issues
- Deadlock in msiDataObjRepl & msiDataObjCopy when called from Python (irods_rule_engine_plugin_python#54)
Upgrading from previous release
Software version requirements
The playbook requires Ansible 2.16.x or higher.
Version constraints:
- Requires Yoda external user service to be on version 2.0.x or higher.
- Requires Yoda public server to be on version 2.0.x or higher.
Upgrade process
-
Backup/copy custom configurations made to Yoda version 2.0.4 To view what files were changed from the defaults, run
git diff. -
After ensuring the configurations are stored safely in another folder, reset the Yoda folder using
git stashor when you want to delete all changes made:git reset --hard. - Check out the
v2.1.0-alpha.0tag of the Yoda Git repository:git checkout v2.1.0-alpha.0 - Set the Yoda version to
v2.1.0-alpha.0in the configuration:yoda_version: v2.1.0-alpha.0 - If the old configuration contained an iRODS authentication scheme setting, update it to use
pam_password. Example:irods_authentication_scheme: pam_password - It is recommended to explicitly set the Ansible interpreter path in the
group_vars(if the Yoda environment servers all have the same Linux distribution) or in thehost_vars(if they have different Linux distributions) in order to prevent problems with Ansible using a different interpreter than expected.
For EL 9 environments:
ansible_python_interpreter: /usr/bin/python3.9
For Ubuntu 24.04 LTS environments:
ansible_python_interpreter: /usr/bin/python3.12
- Install all Ansible collections needed to deploy Yoda:
ansible-galaxy collection install -r requirements.yml - Run the Ansible playbook in check mode:
ansible-playbook -i <path-to-your-environment> playbook.yml --check ### EXAMPLE ### ansible-playbook -i /environments/development/allinone playbook.yml --check - If the playbook has finished successfully in check mode, run the Ansible playbook normally:
ansible-playbook -i <path-to-your-environment> playbook.yml ### EXAMPLE ### ansible-playbook -i /environments/development/allinone playbook.yml - Update publication endpoints if there are published packages (DataCite, landingpages and OAI-PMH):
irule -r irods_rule_engine_plugin-irods_rule_language-instance -F /etc/irods/yoda-ruleset/tools/update-publications.r - Manually restart Apache on all portal and WebDAV servers
On Ubuntu:
sudo systemctl restart apache2
On RHEL:
sudo systemctl restart httpd
- Manually restart the portal application on all portal servers
sudo touch /var/www/yoda/yoda.wsgi /var/www/yoda/yoda_debug.wsgi