using network based replication sandboxes
I'm testing a set of scripts that will allow replication failover in a complex replication setup.
In the real-world these scripts operate on master(s)-slave(s) setups that all have a seperate ip address, the slaves are loadbalanced using ipvs / keepalived, we always deploy two masters, one as active master the other as hot-standby.
Each master would have a slavegroup assigned to it, in some cases we deal with intermediate masters which are also slaves for a subset of data coming from a different database servergroup.
I would very much like to use mysql-sandbox as a testing tool, it's great. And would reduce the requirements for my testing environment to basically zero / a single machine.
However to avoid large amount of wrapper code for the current python classes this would involve attaching a separate ipaddress to each mysql-instance in a sandbox.
Is this possible at all ? I had a quick and very superficial look through the sourcecode and the concept of starting different servers on different ports but the same ip-address seems fairly central to the entire codebase.
Ideally I'd start every instance on a additional address in the 127.0.0.0/8 range on the same port.
+ master1 -> 127.0.0.10
+ master2 -> 127.0.0.11 (replicating off master1)
+ slave1 -> 127.0.0.21 (replicating off master1)
+ slave2 -> 127.0.0.22 (replicating off master1)
+ slave3 -> 127.0.0.31 (replicating off master2)
+ slave4 -> 127.0.0.32 (replicating off master2)
In this setup I would have an easy testing scenario by modifying the /etc/hosts file on the test-machine to match staging/production.
Any suggestions to map this problem into the current sandbox setup would be greatly appreciated.
Ramon van Alteren
Can you help with this problem?
Provide an answer of your own, or ask Ramon for more information if necessary.