-
Notifications
You must be signed in to change notification settings - Fork 412
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 1798146: [baremetal] Ipv6 non virtual ip fix #1436
Bug 1798146: [baremetal] Ipv6 non virtual ip fix #1436
Conversation
This seemed to work on first boot of the worker, but then on a subsequent lease renewal I'm seeing:
Edit - added some debug, we can see the proto arg doesn't exist in the line for the last case |
if dest == 'default': | ||
dest = '::/0' | ||
attrs = dict(itertools.zip_longest(*[iter(items[1:])]*2, fillvalue=None)) | ||
attrs['destination'] = dest |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
proto isn't always set, so I think we need attrs.setdefault('proto', '')
or similar here, to avoid a possible traceback with a line like fd01::/48 via fd01:0:0:4::1 dev k8s-worker-0.os metric 1024 pref medium
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @hardys. Will update
In IPv6 DHCPv6 environments, the prefix for the IPv6 address that we must use to bind services may be 128. In case that happens, the current detection code will fail to consider the address as being in the right subnet. Thankfully, thanks to the Route Advertisements, we get the prefix information we need from the routing table. This patch adds the extra code to generate pseudo CIDRs that allow us to check if an address is in the right subnet. Signed-off-by: Antoni Segura Puimedon <[email protected]>
This patch simplifies filtering by: * Calling iface_cidrs only once, * Filtering out IPv6 addresses marked with the *deprecated* flag * Allowing multiple filters Signed-off-by: Antoni Segura Puimedon <[email protected]>
6857645
to
59c17b6
Compare
/bugzilla refresh |
@celebdor: No Bugzilla bug is referenced in the title of this pull 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. |
I tested this (on ipv6 only so far) and can confirm the latest revision works - this lgtm pending feedback from someone that it all still works OK with ipv4 |
can you link this PR to https://bugzilla.redhat.com/show_bug.cgi?id=1797647 as well? |
/retitle Bug 1798146: [baremetal] Ipv6 non virtual ip fix |
@celebdor: This pull request references Bugzilla bug 1798146, which is invalid:
Comment 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. |
/bugzilla refresh |
@hardys: This pull request references Bugzilla bug 1798146, which is valid. 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. |
We now have the following bz's 4.4: https://bugzilla.redhat.com/show_bug.cgi?id=1798146 They were initially cloned the wrong way round but we reversed the depends on which hopefully the bot will accept. |
@yboaron tested the previous iteration in IPv4. |
I also tested this in ipv4 and can confirm it works so lgtm |
/lgtm |
/lgtm |
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: celebdor, hardys, runcom, yboaron The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/retest Please review the full test history for this PR and help us cut down flakes. |
7 similar comments
/retest Please review the full test history for this PR and help us cut down flakes. |
/retest Please review the full test history for this PR and help us cut down flakes. |
/retest Please review the full test history for this PR and help us cut down flakes. |
/retest Please review the full test history for this PR and help us cut down flakes. |
/retest Please review the full test history for this PR and help us cut down flakes. |
/retest Please review the full test history for this PR and help us cut down flakes. |
/retest Please review the full test history for this PR and help us cut down flakes. |
@celebdor: All pull requests linked via external trackers have merged. Bugzilla bug 1798146 has been moved to the MODIFIED state. 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. |
/cherrypick release-4.3 |
@hardys: new pull request created: #1445 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. |
@celebdor: The following test failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. 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. |
In IPv6 DHCPv6 environments, the prefix for the IPv6 address that we must use to bind services may be 128. In case that happens, the current detection code will fail to consider the address as being in the right subnet. Thankfully, thanks to the Route Advertisements, we get the prefix information we need from the routing table. This patch adds the extra code to generate pseudo CIDRs that allow us to check if an address is in the right subnet. This ports the BM fix from openshift#1436 to OpenStack platform.
Closes: #1420
- What I did
Make non_virtual_ip IPv6 compatible by checking the IPv6 route advertisements to complement the check for whether an address in in the VIPs subnet.
- How to verify it
Deploy OpenShift Baremetal on IPv6 with addresses provided by a DHCPv6 with Route Advertisement enabled and check that /etc/resolv.conf gets the right non VIP IPv6 address.