Skip to content

Updating Galaxy Main

Nate Coraor edited this page Oct 12, 2018 · 13 revisions

Before you begin

See Getting Set Up At TACC. These procedures currently work with Ansible 2.4.x and probably not with any other version.

On Branches

The branch that Galaxy is running is configured in env/main/group_vars/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@local$ pass psc/xcgalaxy/ssh/private | ssh-add -
user@local$ pass tacc/xcgalaxy/ssh/private | ssh-add -
user@galaxy04$ ssh -A galaxy04.tacc.utexas.edu
user@galaxy04$ . ./ansible/bin/activate
user@galaxy04$ cd usegalaxy-playbook
user@galaxy04$ git pull && git submodule update
user@galaxy04$ ansible-env test update --limit='!pulsargalaxyservers' && ansible-env test update --limit=pulsargalaxyservers && ansible-env test 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