Skip to content

Installation on Main

Nate Coraor edited this page Oct 2, 2017 · 32 revisions

Before you begin see Getting Set Up At TACC

Run the installer

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

Install Tools

Go to https://main-installer.galaxyproject.org/ and install tools as normal.

Custodial tasks

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

Finalize CVMFS transaction

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

Determine tool requirements

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>

Update CVMFS stratum 1 servers, local caches, and restart Galaxy

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.

Clone this wiki locally