-
Notifications
You must be signed in to change notification settings - Fork 413
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
OCPBUGS-10695: Ignore IPv4-mapped-on-IPv6 addresses from bind test #3627
Conversation
When dealing with IPv6 addresses we need to make sure they are bindable before we report network as ready. The check has been introduced in openshift#3362 and works by trying to simply bind to a specified IPv6 address. The check however doesn't account for the fact that we may have addresses in the form of IPv4-mapped-on-IPv6. In such a scenario ncat is returning an "Invalid argument" error because it tries to open a socket of type `AF_INET6` whereas this type of address requires additional `IPV6_ADDRFORM` option which ncat is not setting. Another possibility is to create a socket of type `AF_INET` what could be done by ``` nc -4 -l ::ffff:192.168.0.14 53604 ``` In order to workaround this behaviour of netcat, we are ignoring the bind tests for IPv4-mapped-on-IPv6 address, as due to its nature it will never be stuck in tentative state even when rest of the infrastrucure is performing Duplicate Address Detection. As this address belongs to a special class of addresses, we can afford its special handling. Closes: OCPBUGS-10695
@mkowalski: This pull request references Jira Issue OCPBUGS-10695, which is invalid:
Comment The bug has been updated to refer to the pull request using the external bug tracker. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Skipping CI for Draft Pull Request. |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: mkowalski The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/test all |
@mkowalski: once the present PR merges, I will cherry-pick it on top of 4.13 in a new PR and assign it to you. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
@mkowalski: This pull request references Jira Issue OCPBUGS-10695, which is valid. The bug has been moved to the POST state. 3 validation(s) were run on this bug
No GitHub users were found matching the public email listed for the QA contact in Jira (jhajyahy@redhat.com), skipping review request. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/test e2e-metal-ipi |
/test e2e-metal-ipi-ovn-ipv6 |
@mkowalski: The following tests failed, say
Full PR test history. Your PR dashboard. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
I think this may be fixing an invalid configuration. A mapped v4 address was provided as the v6 address, and I'm not sure that's either valid or makes sense. If the address they gave us for ipv6 doesn't work as an ipv6 address then everything is going to break anyway. |
/close Ultimately openshift/baremetal-runtimecfg#227 fixes the bug. It is indeed true that if we managed to get mapped address at this stage here, something went wrong. This PR would only defer the failure to some other place so it makes not much sense to push it further |
@mkowalski: This pull request references Jira Issue OCPBUGS-10695. The bug has been updated to no longer refer to the pull request using the external bug tracker. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
@mkowalski: Closed this PR. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
When dealing with IPv6 addresses we need to make sure they are bindable before we report network as ready. The check has been introduced in #3362 and works by trying to simply bind to a specified IPv6 address.
The check however doesn't account for the fact that we may have addresses in the form of IPv4-mapped-on-IPv6. In such a scenario ncat is returning an "Invalid argument" error because it tries to open a socket of type
AF_INET6
whereas this type of address requires additionalIPV6_ADDRFORM
option which ncat is not setting. Another possibility is to create a socket of typeAF_INET
what could be done byIn order to workaround this behaviour of netcat, we are ignoring the bind tests for IPv4-mapped-on-IPv6 address, as due to its nature it will never be stuck in tentative state even when rest of the infrastrucure is performing Duplicate Address Detection. As this address belongs to a special class of addresses, we can afford its special handling.
Closes: OCPBUGS-10695