naturalis / supersmart

Self-Updating Platform for the Estimation of Rates of Speciation, Migration And Relationships of Taxa
MIT License
17 stars 5 forks source link

missing dependencies in puppet manifest #55

Closed rvosa closed 9 years ago

rvosa commented 9 years ago

Many CPAN dependencies are missing from the puppet manifest. These are listed in .travis.yml (all the ones that are installed with cpanm as well as bioperl).

rvosa commented 9 years ago

I think the right workflow should be as follows:

rvosa commented 9 years ago

Nope, like this:

Challenge: travis runs inside a perlbrew environment, which uses a non-system-wide local::lib for the unit tests, but running cpanminus inside puppet appears to result in system-wide installs. This means the unit tests don't find the dependencies.

Inside vagrant we are probably happy to install things system-wide, though this is not so nice for people wanting to apply the puppet manifest on a cluster where they don't want things to go system-wide.

rvosa commented 9 years ago

Actually, if we make the puppet manifest install and upgrade cpanminus then it shouldn't do so with apt-get because that will install a system-wide one that won't play nice with perlbrew, which is what travis uses. For now I have therefore decided to NOT install cpanminus within puppet (though I can make it self-upgrade). This means that to make a vagrant box (issue #41) part of the script that does that must include the installation of cpanminus, as the puppet won't be able to do that.

rvosa commented 9 years ago

As of commit 4dadd015f7c4e43ba617ba127819d5db36b9d900 the entire installation can now be run by travis. However, it appears many unit tests are failing again, so issue #20 is re-opened.

Steps handled by .travis.yml

Steps handled by puppet

All other dependencies and configuration is done by the puppet script. This so far results in an apparently working installation in that the needed analysis tools (binaries) are found on the $PATH, the runtime config file is found in $SUPERSMART_HOME/conf/supersmart.ini and we can successfully connect to the database.