-
Notifications
You must be signed in to change notification settings - Fork 25.5k
Description
Some of our integration tests as well as the REST tests currently use the unicast hosts list setting for node discovery. This list is statically defined at node startup, which makes it very inflexible. For the AbstractDisruptionTestCase
s, for example, we do port scanning to find free ports in order to fix the ports used by each node so that we can properly setup the unicast hosts list before starting the nodes. This port scanning does not always work reliably.. For our REST tests, we have to wait for the first node to be started up and bound to a port before we can start up the other nodes, as we need to put the address:port of the first node into the unicast hosts list of the other nodes. If we had something more flexible to achieve the same, this could really simplify our test infrastructure while also making it more resilient. Fortunately, such a more flexible node discovery already exists: it's the file-based discovery which is currently packaged as a plugin. The proposal here is to move the file-based discovery to the server project, so that it can be readily used in the testing framework for both AbstractDisruptionTestCase
as well as all REST tests.
/cc: @franekrichardson