Skip to content
This repository has been archived by the owner on Aug 19, 2021. It is now read-only.

Complete provisioning scripts for Vagrant #3

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Complete provisioning scripts for Vagrant #3

wants to merge 1 commit into from

Conversation

nathanstitt
Copy link
Member

I've expanded the existing scripts to completely provision a DocumentCloud development environment.

The main script is now 'runner'. It's written in ruby and relies on a Script class (in script.rb), which is a modified version of a small library I'd written some time ago. It will run the scripts in parallel if possible, while logging their output and failures.

Areas that could be improved:

  • I've tested it a decent bit, but it takes a long time (depending on network speed) to do a full run due to the base ubuntu box being out of date with it's updates. If we can update that it will make it much faster. I've got a testing one I've prepared if that'd be helpful.
  • I'm seeding a test user with a login: '[email protected]', pw: 'documentcloud' I didn't want to use a real email address without making sure it'd be ok first. That's set in the top of scripts/runner
  • The scripts don't handle failures well. If one of the intermediate commands in the scripts fail, they continue running, then exit with a 0 status. Then the runner doesn't know anything went wrong and continues without logging. The only way to fix this one is to completely redo the scripts. I'm not sure it's worth the effort, especially since they are working now.

Starting with a base Ubuntu environment, install all DocumentCloud dependencies,
and configures them accordingly.  At the end install a demo user and
start up the various solr and cloud_crowd services.

Created a script runner and expanded the existing scripts, running them in
the correct order for proper operations.  Most scripts are still
written in shell, with a few in Ruby.

This method will *hopefully* prove to be fairly resilient and (arguably)
simpler than a full-blown Chef/Puppet provisioning.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant