Orchestrator's Vagrant defaults to installing five (5) CentOS 6.6 boxes in the following replication topology, with a separate "admin" node:
db1<->db2 | | v v db3 db4
It is possible to override what gets installed by the use of environmental variables:
VAGRANT_SERVER_URL defaults to 'https://atlas.hashicorp.com' VAGRANT_DEFAULT_PROVIDER defaults to 'virtualbox' VAGRANT_BOX defaults to 'nrel/CentOS-6.6-x86_64
The MySQL configuration is such that it is the minimum required to set up replication. For testing such features as delayed replication, RBR/SBR, GTID, it is simply a matter of editing the vagrant/dbX-my.cnf before running the vagrant up
command.
Q: By default, there are still a lot of steps that I have to do within each virtual machine to get going
A: That is by design. Vagrant will execute db-post-install.sh
, dbX-post-install.sh
, and admin-post-install.sh
in the vagrant/ directory (they are .gitignore'd) for any custom work that you want to have done (i.e. build Orchestrator, etc etc)
Q: I run some other distribution of Linux. Why don't you support that?
A: Pull Requests are welcome! If you update any of the vagrant/*.sh
scripts, they must work with at least CentOS 6 and Ubuntu 12
If you want to use GTID Replication, you must update all of the vagrant/dbX-my.cnf files with the following options in [mysqld]:
enforce-gtid-consistency gtid-mode=ON
vagrant/dbX-my.cnf files are copied directly to the virtual machines. If you'd like to specify SBR/RBR/MIXED, add one of the following lines to the [mysqld] section of the my.cnf template:
binlog_format=MIXED binlog_format=STATEMENT binlog_format=ROW
This is not global because we want to be able to test out non-standard replication configurations.
%> export VAGRANT_DEFAULT_PROVIDER='vmware_fusion' %> vagrant up
This is the default. Nothing special is required:
%> vagrant up
%> export VAGRANT_SERVER_URL="https://atlas.hashicorp.com" %> export VAGRANT_BOX='chef/ubuntu-12.04' %> vagrant up