-
Notifications
You must be signed in to change notification settings - Fork 25
Updating Galaxy Test
See Getting Set Up At TACC. Make sure you meet the requirements.
The branch that Galaxy is running is configured in usegalaxy-playbook/env/test/group_vars/all/all.yml
.
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 test client
. Note that client build is done as part of the update procedure, described below.
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/test/files/galaxy/galaxy_version.yml
at the time of first running ansible-env test 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.
Note this does not update configurations, see changing configuration in the sidebar for info on that.
user@local$ pass psc/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-galaxy role install -r requirements.yml # use --force if role versions have changed
user@galaxy04$ make LIMIT='!pulsargalaxyservers' test-update
user@galaxy04$ make LIMIT=pulsargalaxyservers test-update
user@galaxy04$ make 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 Test'
user@galaxy04$ git push
To abort a transaction (Updating Galaxy, Installing Tools, etc.):
user@galaxy04$ ssh [email protected] (from your laptop)
user@galaxy04$ cvmfs_server abort test.galaxyproject.org (or Main or Reference Data repos)
To view Galaxy logs to see if it has re-started:
user@galaxy04$ ssh [email protected]
user@galaxy04$ supervisorctl status (to see which Test Galaxy node is running)
user@galaxy04$ tail -f /srv/galaxy/test/log/zergling0.log (or zergling1)
As of 2019-04-09, Test runs from Python 3.6 installed via the tool depenency Conda in the env _galaxy_
. However, this has been done without a virtualenv as described in the 19.01 docs. Conda's Python has a few dependencies, one of which is certifi
, also one of Galaxy's dependencies. When Galaxy's pinned version of certifi
changes, installing the new version with pip
(as performed by Ansible) will fail. We need a proper solution for this, but in the meantime, the solution is to update certifi
prior to updating Galaxy with e.g.:
$ /cvmfs/test.galaxyproject.org/deps/_conda/bin/conda install -n _galaxy_ certifi=YYYY.MM.DD
If the ansible-galaxy role install -r requirements.yml
step does nothing, returns cleanly, but subsequent steps indicate missing playbooks, then you probably have too old a version of ansible-galaxy. Make sure you update to 2.9+