-
Notifications
You must be signed in to change notification settings - Fork 7
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
Bug: Controller does not filter IP address family #25
Labels
bug
Something isn't working
Comments
@ComradeOgilvy Could you please add the diff which is logged by the operator so that it’s clear where the error comes from? |
|
sstrk
added a commit
to sstrk/ch-k8s-lbaas
that referenced
this issue
Apr 22, 2021
On a DualStack-cluster, the nodes can have IPv4 and IPv6 addresses. The controller does not distinguish the addresses, which leads to the fact that all addresses will be used as Destination Addresses independent of the preferred IPFamily of the Service. This commit adjusts getDestinationAddress to return a map in which the IP addresses are distinguished based on their Address Family. Furthermore, if a Service has a preferred Address Family, only these addresses will be used as destination addresses. Issue: cloudandheat#25
sstrk
added a commit
to sstrk/ch-k8s-lbaas
that referenced
this issue
Apr 22, 2021
On a DualStack-cluster, the nodes can have IPv4 and IPv6 addresses. The controller does not distinguish the addresses, which leads to the fact that all addresses will be used as Destination Addresses independent of the preferred IPFamily of the Service. This commit adjusts getDestinationAddress to return a map in which the IP addresses are distinguished based on their Address Family. Furthermore, if a Service has a preferred Address Family, only these addresses will be used as destination addresses. Issue: cloudandheat#25
sstrk
added a commit
to sstrk/ch-k8s-lbaas
that referenced
this issue
Apr 22, 2021
The host nodes of a cluster can have IPv4 and/or IPv6 addresses. The controller does not distinguish the address families, which leads to the fact that all addresses will be used as Destination Addresses independent of the preferred IPFamily of the Service. This commit adjusts getDestinationAddress to return two lists, one for each supported address family. Furthermore, if a Service has a preferred Address Family, only these addresses will be used as destination addresses. Issue: cloudandheat#25
sstrk
added a commit
to sstrk/ch-k8s-lbaas
that referenced
this issue
Apr 23, 2021
The host nodes of a cluster can have IPv4 and/or IPv6 addresses. The controller does not distinguish the address families, which leads to the fact that all addresses will be used as Destination Addresses independent of the preferred IPFamily of the Service or the Ingress IP. This commit adjusts getDestinationAddress to return two lists, one for each supported address family. To do so, functions to check the correctness of a textual representation of an IP and to check the address family got implemented. golang does not natively support the determination of the address family, which is why the presence of ":" and "." is checked. The GenerateModel function has been adjusted to use only IP addresses of the same address family as the IngressIP as destination addresses. Issue: cloudandheat#25
sstrk
added a commit
to sstrk/ch-k8s-lbaas
that referenced
this issue
Apr 23, 2021
The host nodes of a cluster can have IPv4 and/or IPv6 addresses. The controller does not distinguish the address families, which leads to the fact that all addresses will be used as Destination Addresses independent of the preferred IPFamily of the Service or the Ingress IP. This commit adjusts getDestinationAddress to return two lists, one for each supported address family. To do so, functions to check the correctness of a textual representation of an IP and to check the address family got implemented. golang does not natively support the determination of the address family, which is why the presence of ":" and "." is checked. The GenerateModel function has been adjusted to use only IP addresses of the same address family as the IngressIP as destination addresses. Issue: cloudandheat#25
sstrk
added a commit
to sstrk/ch-k8s-lbaas
that referenced
this issue
Apr 23, 2021
The host nodes of a cluster can have IPv4 and/or IPv6 addresses. The controller does not distinguish the address families, which leads to the fact that all addresses will be used as Destination Addresses independent of the preferred IPFamily of the Service or the Ingress IP. This commit adjusts getDestinationAddress to return two lists, one for each supported address family. To do so, functions to check the correctness of a textual representation of an IP and to check the address family got implemented. golang does not natively support the determination of the address family, which is why the presence of ":" and "." is checked. The GenerateModel function has been adjusted to use only IP addresses of the same address family as the IngressIP as destination addresses. Fixes: cloudandheat#25
sstrk
added a commit
to sstrk/ch-k8s-lbaas
that referenced
this issue
Apr 23, 2021
The host nodes of a cluster can have IPv4 and/or IPv6 addresses. The controller does not distinguish the address families, which leads to the fact that all addresses will be used as Destination Addresses independent of the preferred IPFamily of the Service or the Ingress IP. This commit adjusts getDestinationAddress to return two lists, one for each supported address family. To do so, functions to check the correctness of a textual representation of an IP and to check the address family got implemented. golang does not natively support the determination of the address family, which is why the presence of ":" and "." is checked. The GenerateModel function has been adjusted to use only IP addresses of the same address family as the IngressIP as destination addresses. Fixes cloudandheat#25
sstrk
added a commit
to sstrk/ch-k8s-lbaas
that referenced
this issue
Apr 23, 2021
The host nodes of a cluster can have IPv4 and/or IPv6 addresses. The controller does not distinguish the address families, which leads to the fact that all addresses will be used as Destination Addresses independent of the preferred IPFamily of the Service or the Ingress IP. This commit adjusts getDestinationAddress to return two lists, one for each supported address family. To do so, functions to check the correctness of a textual representation of an IP and to check the address family got implemented. golang does not natively support the determination of the address family, which is why the presence of ":" and "." is checked. The GenerateModel function has been adjusted to use only IP addresses of the same address family as the IngressIP as destination addresses. Fixes cloudandheat#25
sstrk
added a commit
to sstrk/ch-k8s-lbaas
that referenced
this issue
Apr 23, 2021
The host nodes of a cluster can have IPv4 and/or IPv6 addresses. The controller does not distinguish the address families, which leads to the fact that all addresses will be used as Destination Addresses independent of the preferred IPFamily of the Service or the Ingress IP. This commit adjusts getDestinationAddress to return two lists, one for each supported address family. To do so, functions to check the correctness of a textual representation of an IP and to check the address family got implemented. golang does not natively support the determination of the address family, which is why the presence of ":" and "." is checked. The GenerateModel function has been adjusted to use only IP addresses of the same address family as the IngressIP as destination addresses. Fixes cloudandheat#25
sstrk
added a commit
to sstrk/ch-k8s-lbaas
that referenced
this issue
Apr 23, 2021
The host nodes of a cluster can have IPv4 and/or IPv6 addresses. The controller does not distinguish the address families, which leads to the fact that all addresses will be used as Destination Addresses independent of the preferred IPFamily of the Service or the Ingress IP. This commit adjusts getDestinationAddress to return two lists, one for each supported address family. To do so, functions to check the correctness of a textual representation of an IP and to check the address family got implemented. golang does not natively support the determination of the address family, which is why the presence of ":" and "." is checked. The GenerateModel function has been adjusted to use only IP addresses of the same address family as the IngressIP as destination addresses. Fixes cloudandheat#25
sstrk
added a commit
to sstrk/ch-k8s-lbaas
that referenced
this issue
Apr 27, 2021
The host nodes of a cluster can have IPv4 and/or IPv6 addresses. The controller does not distinguish the address families, which leads to the fact that all addresses will be used as Destination Addresses independent of the preferred IPFamily of the Service or the Ingress IP. This commit adjusts getDestinationAddress to return two lists, one for each supported address family. To do so, functions to check the correctness of a textual representation of an IP and to check the address family got implemented. golang does not natively support the determination of the address family, which is why the presence of ":" and "." is checked. The GenerateModel function has been adjusted to use only IP addresses of the same address family as the IngressIP as destination addresses. Fixes cloudandheat#25
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The controller does not distinguish between IPv4 and IPv6 addresses. This breaks the appliance of nftables rules if the host nodes have an IPv4 and an IPv6 address (DualStack).
The controller tries to use IPv6 addresses in an IPv4 nftables rule. This leads to the failure of nftables when trying to apply the generated config:
The text was updated successfully, but these errors were encountered: