Vagrant instances for local development and testing of edX instances and Ansible playbooks/roles.
- Vagrant stacks in
basecreate new base boxes from scratch. - Vagrant stacks in
releasedownload a base box with most requirements already installed. The instances then update themselves with the latest versions of the application code.
If you are a developer or designer, you should use the release stacks.
For creating test edX instances, there are two versions of the stack:
fullstackis a production-like configuration running all the services on a single server. https://openedx.atlassian.net/wiki/display/OpenOPS/Running+Fullstackdevstackis designed for local development. It uses the same system requirements as in production, but simplifies certain settings to make development more convenient. https://openedx.atlassian.net/wiki/display/OpenOPS/Running+Devstack
For testing Ansible playbooks and roles, there are two directories under the base directory:
test_playbookis used for testing the playbooks in the Ansible configuration scripts.test_roleis used for testing the roles in the Ansible configuration scripts.
To test an Ansible playbook using Vagrant:
- Create/modify a playbook under
/playbooks(e.g. "foo.yml") - Export its name as the value of the environment variable
VAGRANT_ANSIBLE_PLAYBOOK, like this:
export VAGRANT_ANSIBLE_PLAYBOOK=foo
- Execute
vagrant upfrom within thetest_playbookdirectory.
To test an Ansible role using Vagrant:
- Create/modify a role under
/playbooks/roles(e.g. "bar-role") - Export its name as the value of the environment variable
VAGRANT_ANSIBLE_ROLE, like this:
export VAGRANT_ANSIBLE_ROLE=bar-role
- Execute
vagrant upfrom within thetest_roledirectory.