-
Notifications
You must be signed in to change notification settings - Fork 30
Installation on Main
Before you begin see Getting Set Up At TACC
Make sure nobody is running a docker container before restarting the service (e.g. with docker ps
)...
$ ssh g2main@cvmfs0-tacc0.galaxyproject.org
$ cvmfs_server transaction main.galaxyproject.org
$ ps=$(docker ps -q) && [ "$ps" = '' ] && systemctl restart docker.service
$ docker run --rm -v /cvmfs:/cvmfs -v /galaxy-repl:/galaxy-repl:ro -p 127.0.0.1:8818:8888 galaxy/main_installer
Go to https://main-installer.galaxyproject.org/ and install tools as normal.
Conda can install things with less-than-world-readable permissions, which will cause the Galaxy user to be unable to read them, since the CVMFS client mounts everything as the cvmfs
user. Additionally, it leaves behind tarballs (which Galaxy will complain about) and often fails to make conda
/activate
/deactivate
symlinks in new environments.
Fix this with:
^C (to stop Galaxy)
$ /cvmfs/main.galaxyproject.org/bin/post_install.sh
Get the latest tag and append .N
to the tag name, e.g. if latest tag is galaxy_16.04.04863c8
, the new tag should be galaxy_16.04.04863c8.1
, followed by galaxy_16.04.04863c8.2
, etc.
$ cvmfs_server tag main.galaxyproject.org
$ cvmfs_server publish -a galaxy_16.04.04863c8.1 -m 'Installed/Updated Foo Tool' main.galaxyproject.org
$ logout
If the tool wrapper uses $GALAXY_SLOTS
, edit env/main/templates/galaxy/config/job_conf.xml.j2
and add an entry for the tool to run on the multi partition, e.g. (copy from from other multi tools):
<tools>
...
<!-- multi/stampede jobs -->
...
<tool id="SHORT_TOOL_ID" destination="dynamic_local_stampede_select_dynamic_walltime" handler="multi_handlers" resources="local_or_stampede"/>
</tools>
See the Getting Set Up At TACC page for the ansible-env
function.
If a job_conf.xml
change was not made, run:
$ ansible-env main snapshot
$ ansible-env main backup
If a job_conf.xml
change was made, run:
$ ansible-env main snapshot --tags=no-restart
$ ansible-env main config
Inspect mutable config changes that were pulled into the playbook (e.g. shed_tool_conf.xml
), inspect them with git diff
, and commit/push them if everything looks good.