-
Notifications
You must be signed in to change notification settings - Fork 4.4k
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
Attempt to retry_join to external-cloud IPv6 addresses results in address literal syntax errors #3671
Comments
Log file after removing addr_type=public_v6 and switching back to ipv4 discovery: https://gist.github.com/odysseus654/7363e05b1a9c2065c6f44594063dc610 |
Hi @odysseus654 thanks for the report - looks like we need to do some filtering/cleanup of the results coming back from the AWS APIs in order to format them correctly for Go. This'll probably best be fixed down in go-discover (and hopefully in a generic place that applies to all providers) - will take a look! |
Same problem here. The actual error is coming from |
FWIW From my perspective the responsibility for resolving this lies where the host and port are combined together, to ensure that the address is properly escaped during the concatenation. |
You are probably right. I was looking at go-discover and it's just a list of strings, and the user could also supply addresses not formatted in the Go way, so this may be better done on the Consul side vs. go-discover. |
Your insight was spot-on @odysseus654! |
consul version
for both Client and ServerClient: 1.0.0
Server: 0.9.2
consul info
for both Client and ServerClient:
Server:
Operating system and Environment details
Client: Windows Server 2012 R2, 1GB RAM
Server: Linux xxxx 4.9.58-18.51.amzn1.x86_64 #1 SMP Tue Oct 24 22:44:07 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Description of the Issue (and unexpected/desired result)
Beginning attempt to upgrade cluster to v1.0, downloaded new instance and applied updates to the config file to represent behavior changes and new features supported by v1,0
old config:
new config:
Result:
Consul successfully retrieves the IPv6 addresses of the servers in the cluster, but fairly obviously doesn't realize that IPV6 address literals must be wrapped in [brackets] or (parenthesis). The :8301 at the end of the address is fairly obviously a port number, which once is concatenated to the naked ipv6 literal cannot be parsed back out again.
Log Fragments or Link to gist
https://gist.github.com/odysseus654/202fad4c35a394d72c2db7b165670297
The text was updated successfully, but these errors were encountered: