How do I use an IPv6 endpoint for an S3 repository?
Using a hostname that resolves to an IPv6 address and an IPv4 address results in:
{
"error": {
"root_cause": [
{
"type": "repository_verification_exception",
"reason": "[elasticsearch] path is not accessible on master node"
}
],
"type": "repository_verification_exception",
"reason": "[elasticsearch] path is not accessible on master node",
"caused_by": {
"type": "i_o_exception",
"reason": "Unable to upload object [tests-h__VhoSGSSaVgzOkkKWHqw/master.dat] using a single upload",
"caused_by": {
"type": "sdk_client_exception",
"reason": "sdk_client_exception: Failed to connect to service endpoint: ",
"caused_by": {
"type": "i_o_exception",
"reason": "Network is unreachable"
}
}
}
},
"status": 500
}
So Elasticsearch is trying to connect with IPv4 (which is not the system preference, and which I don't have).
Using an IPv6 address results in:
{
"error": {
"root_cause": [
{
"type": "repository_verification_exception",
"reason": "[elasticsearch] path is not accessible on master node"
}
],
"type": "repository_verification_exception",
"reason": "[elasticsearch] path is not accessible on master node",
"caused_by": {
"type": "illegal_argument_exception",
"reason": "Endpoint does not contain a valid host name: https://2a03:7900:1:3:31:3:104:123"
}
},
"status": 500
}
Using brackets results in "u_r_i_syntax_exception: Illegal character in scheme name at index 0: [2a03:7900:1:3:31:3:104:123]".