[ci] Add PR pipeline for testing ipv6#140473
[ci] Add PR pipeline for testing ipv6#140473brianseeders wants to merge 71 commits intoelastic:mainfrom
Conversation
…thout the changes in this branch
|
Pinging @elastic/es-delivery (Team:Delivery) |
|
@DaveCTurner @rjernst Adding you two as well since I believe you were involved in some of the initial discussions. I'm most curious about your thoughts on how close this gets us to being able to say that standalone Elasticsearch officially supports IPv6. |
|
I think if we're going to exclude certain things from these tests then we need to document that they're unsupported in an IPv6-only environment. IMO it'd be ok to say that for these things:
I think we should fix For the YAML test skips, will this skip all of those YAML tests forevermore? Is there a way we could skip them only for branches 9.3 and earlier, so that we start to get this covered from 9.4 onwards? I'm concerned that we're not running any Docker/testcontainers tests: I think that's too much of a loss of test coverage. |
Overview
This PR is to support running most of our tests in an IPv6-only environment.
The running environment looks like this:
localhostresolves to the IPv6 loopback address onlyjava.net.preferIPv6Addresses=true"network.host": "_local:ipv6_"by default whenjava.net.preferIPv6Addresses=trueStuff in this PR:
test-ipv6labelhttp://::1:80needs to behttp://[::1]:80Skipped Tests
There are a few sets of tests that were skipped when running with IPv6:
.../azure/classic/AzureDiscoveryClusterFormationTests.java
I'm not really sure what was ultimately going on here. Possibly a problem with an Azure SDK. The responsible team will need to address.
Several yamlRestCompatTest
There are several YAML tests that needed to be updated to parse IPv6 IP addresses correctly. However, these tests check out the YAML that exists on older branches and uses it to run tests, so these tests have to be skipped until the YAML is updated on the old branches.
Any test using HdfsFixture.java
Hadoop doesn't support IPv6, so these tests fail. See comment in the code for more details.
Any test using Krb5kDcContainer.java
There's configuration for this fixture hard-coded to
127.0.0.1, and fixing it is more complicated than just changing that. The responsible team will have to take care of this one.Running locally
Here is how I run the tests locally (we should add a command or something that does this for convenience):