Skip to content

Updating Galaxy Main

Marius van den Beek edited this page Dec 13, 2023 · 13 revisions

Before you begin

See Getting Set Up At TACC. Make sure you meet the requirements.

Also make sure you know how to look at the current logs in case something is going sideways. Currently this is done by logging into one of the relevant VMs and doing journalctl -fu 'galaxy-main*'

On Branches

The branch that Galaxy is running is configured in env/main/group_vars/all/all.yml. Sometimes this config is set to a specific revision and branch setting is commented out, in those cases you will experience playbook fail if you do not change the revision.

Most of the time, main runs the latest release_YY.MM, but if dev commits are needed on Main, we will occasionally create a usegalaxy branch from release_YY.MM and cherry-pick dev commits in to it. If the branch is currently usegalaxy and not release_YY.MM, you should merge Main's current release branch into usegalaxy on Github first.

Client Build

As of 18.09, the client always needs to be built regardless of branch. This is done by Ansible. If you need to update the client without updating Galaxy itself, you can do so with ansible-env main client.

Update Procedure

I've been unsuccessful in getting Ansible to properly update the galaxy_commit_id variable in the middle of a playbook run. As a result, the Galaxy clone on Pulsar servers would be updated to the previous version of Galaxy (the version in env/main/files/galaxy/galaxy_version.yml at the time of first running ansible-env main update) and the commit hash in welcome.html was also being set to the previous version. As a temporary solution, you can run these three processes separately, as shown in the instructions below.

user@galaxy04$ ssh -A galaxy04.tacc.utexas.edu
user@galaxy04$ . ./ansible/bin/activate
user@galaxy04$ cd usegalaxy-playbook
user@galaxy04$ git checkout main
user@galaxy04$ git pull && git submodule update
user@galaxy04$ ansible-galaxy role install -r requirements.yml   # use --force if role versions have changed
user@galaxy04% make main-update
user@galaxy04% make main-static
user@galaxy04$ git diff     # verify that none of the mutable configs pulled to the playbook are mangled
user@galaxy04$ git add -- .
user@galaxy04$ git commit -m 'Update Main'
user@galaxy04$ git push

Installing and/or updating internal tool dependencies

If you're updating to a new Galaxy release make sure all built-in tool dependencies are installed. You can do this using the instructions at https://github.com/galaxyproject/usegalaxy-playbook/wiki/Installation-on-Main#deprecated-manual-installation