-
Notifications
You must be signed in to change notification settings - Fork 99
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Split brain handling #44
Conversation
* Planned to be used for handling split-brain
* Use TXT as 'heartbeat' for spefic gslb deployment * Use UTC timestamp with second level precision * Switch to automatically generated geo tag based fqdns * Eventually we will detect 'stale' gslb deployments by an outdated timestamp * The timestamp is about to handle situation of split brain between multiple gslb deployments in case of network partition between them but not between gslb and edgeDNS
@donovanmuller it's not completed implementation. Before proceeding further I would like to validate the design. |
@ytsarev 👍let's discuss and walk through the permutations. |
* Inline typo fix - was harmless before due to standard port fallback
{Address: "10.0.0.1", Name: "test-gslb-ns-eu.example.com"}, | ||
{Address: "10.0.0.2", Name: "test-gslb-ns-eu.example.com"}, | ||
{Address: "10.0.0.3", Name: "test-gslb-ns-eu.example.com"}, | ||
{Address: "10.1.0.1", Name: "test-gslb-ns-sa.example.com"}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
County code for South Africa is za
😀
* Test logic injection * Stripped implementation for fakeInfoblox connector from https://github.com/infobloxopen/infoblox-go-client/blob/master/object_manager_test.go * Why we need to implement fakeConnector on our own? - infoblox-go-client package does not export fakeConnector - even if we export it with mass rename to FakeConnector object_manager_test.go will not be installed by `go mod` golang/go#26913 - moving into main ibclient package file does not seem to be good idea as it is purely testing code with dependenies like gingko/omega - also upstream will probably never accept it
* Temporary comment out yet unused fields of the fake Infoblox connector to obey the lint Switch github actions pipeline back to upstream As shoukoo/golang-pipeline#5 was merged
* fakedns can serve TXT with 10m old timestamp withing * associated test suite extensions
@donovanmuller commits are squashed to more or less important semantic sets. Btw that's how relevant part of test suite execution looks like
|
outdated timestamp
between multiple gslb deployments in case of network partition
between them but not between gslb and edgeDNS