Skip to content
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

orchestrator fails to start in IPv6/DualStack cluster due to too many colons in address #929

Open
haslersn opened this issue Oct 9, 2024 · 0 comments

Comments

@haslersn
Copy link

haslersn commented Oct 9, 2024

With mysql-operator v0.6.3, when .Env.HOSTNAME resolves to an IPv6 address, the orchestrator fails to start with:

2024-10-09 08:37:24 ERROR failed to open raft store: listen tcp: address xxxx:xxxx:xxxx:xxxx::1:ac73:10008: too many colons in address
2024-10-09 08:37:24 FATAL 2024-10-09 08:37:24 ERROR failed to open raft store: listen tcp: address xxxx:xxxx:xxxx:xxxx::1:ac73:10008: too many colons in address
2024/10/09 08:37:24 Command exited with error: exit status 1
haslersn added a commit to haslersn/mysql-operator that referenced this issue Oct 9, 2024
…uster

In a cluster where `.Env.HOSTNAME` resolves to an IPv6 address, the
orchestrator fails to start due to a syntax error in the raft bind
address. This was reported here:
bitpoke#929

This commit fixes this, at least for DualStack clusters, by using
`.Env.POD_IP` instead, which is defined as

```yaml
- name: POD_IP
  valueFrom:
    fieldRef:
      apiVersion: v1
      fieldPath: status.podIP
```

and thus typically points to an IPv4 address in DualStack clusters.
For a general fix, the orchestrator code itself probably needs to
be modified to correctly handle the bind hostname.
haslersn added a commit to haslersn/mysql-operator that referenced this issue Oct 9, 2024
In a cluster where `.Env.HOSTNAME` resolves to an IPv6 address, the
orchestrator fails to start due to a syntax error in the raft bind
address. This was reported here:
bitpoke#929

This commit fixes this, at least for DualStack clusters, by using
`.Env.POD_IP` instead, which is defined as

```yaml
- name: POD_IP
  valueFrom:
    fieldRef:
      apiVersion: v1
      fieldPath: status.podIP
```

and thus typically points to an IPv4 address in DualStack clusters.
For a general fix, the orchestrator code itself probably needs to
be modified to correctly handle the bind hostname.
haslersn added a commit to haslersn/mysql-operator that referenced this issue Oct 9, 2024
In a cluster where `.Env.HOSTNAME` resolves to an IPv6 address, the
orchestrator fails to start due to a syntax error in the raft bind
address. This was reported here:
bitpoke#929

This commit fixes this, at least for DualStack clusters, by using
`.Env.POD_IP` instead, which is defined as

```yaml
- name: POD_IP
  valueFrom:
    fieldRef:
      apiVersion: v1
      fieldPath: status.podIP
```

and thus typically points to an IPv4 address in DualStack clusters.
For a general fix, the orchestrator code itself probably needs to
be modified to correctly handle the bind hostname.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant