0

I have a new piece of infrastructure (a simple LDAP web service) that will be a drop-in replacement for something that currently exists in production.

The backend OpenLDAP server will not be upgraded at the same time.

In order to test the new infrastructure against the existing backend without risking corruption of current data, I would like to set up a secondary OpenLDAP server such that the pair operates in this way:

1) Any "write" request goes to the new "testing" LDAP server. 2) Any "read" request first goes to the existing "production" LDAP server, and then to the "testing" server if it fails.

Conceptually, this seems similar to a Master/Slave pair in which the testing node is the slave and the production node is the master, but I think that would require modification of the production node, which is a no-go.

javanix
  • 247
  • 4
  • 15
  • Are updates made by other clients really important to your testing? Why not create a testing server with a restore of your last backup of prod data? – Jeff Strunk Sep 03 '14 at 13:03
  • I can do that if I have to - it'd just be a lot easier to get good test coverage if I can simply clone clients and flip a couple of settings to point at the new testing server. The process to add new data is also long and slow enough that I'd like to avoid it if at all possible. – javanix Sep 03 '14 at 13:59

1 Answers1

0

The translucent proxy overlay can do something like this for you. All reads and writes will be handled by the new testing server first, with read misses getting proxied back to production.

Jeff Strunk
  • 2,127
  • 1
  • 24
  • 29