<div dir="ltr">Thanks, I'm actually familiar with netem, and assumed it could play a piece in any solution people had. I more meant, what are your actual testing mechanisms in a distributed environment? Do you just start up a couple of nodes by hand on separate VMs and then manually fire off commands to netem, run a test suite, then set the interface back to normal? As that seems inefficient. <div><br></div><div>I want something that I can write some config, some tests, and reproducibly have my code exercise the tests, with netsplits, packet delays/loss, etc, and confirm that my expectations still work. It doesn't seem like it would be that hard to do, if I assume I'm running on a *nix, as between netem, iptables, and ifconfig, I can create new interfaces, start my apps listening on them, and proceed to mess with traffic in all manner of interesting ways, creating partially disconnected clusters, partitioned clusters, partitioned nodes, delayed traffic, spotty traffic, etc, and see what happens. Maybe even a long running, random process that introduces these in different places in my cluster, a sort of chaos monkey for the network. Etc.</div><div><br>I figure other people have probably wanted to test things in a similar manner, so I wanted to see what methods others used.</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Nov 25, 2014 at 1:54 PM, Felix Gallo <span dir="ltr"><<a href="mailto:felixgallo@gmail.com" target="_blank">felixgallo@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><a href="http://www.linuxfoundation.org/collaborate/workgroups/networking/netem" target="_blank">http://www.linuxfoundation.org/collaborate/workgroups/networking/netem</a><br></div><div class="gmail_extra"><br><div class="gmail_quote"><span class="">On Tue, Nov 25, 2014 at 9:18 AM, Christopher Phillips <span dir="ltr"><<a href="mailto:lostcolony@gmail.com" target="_blank">lostcolony@gmail.com</a>></span> wrote:<br></span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><div dir="ltr"><br>Does anyone have a library or a set of best practices for testing netsplits? I.e., given a couple nodes, create a netsplit between them and see what one's distributed application ~really~ does in such a situation? I've looked around a bit online but my google-fu has failed me, as I wasn't able to find anything that seemed to do what I'm looking for, either in Erlang specifically, or just in a general application sense (there's Jepsen, but that seems geared for testing generic distribution libraries in a basic sense, rather than domain specific code, and I'm not very good with Clojure) which seems...odd. I've got some ideas,  but figured I'd ask around to see if anyone has done anything similar first.</div>
<br></span>_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
<br></blockquote></div><br></div>
</blockquote></div><br></div>