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-29659: Apply new DNS configuration only if changed #4196
OCPBUGS-29659: Apply new DNS configuration only if changed #4196
Conversation
With this change the resolv-prepender script will apply DNS changes only when DNS servers actually changed. This will significantly reduce the number of `nmcli` calls and remove scenarios in which we can end up in the infinite loop of resolv-prepender calls. Fixes: OPNET-469 Relates-to: OCPBUGS-29624
@mkowalski: This pull request references OPNET-469 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the bug to target the "4.16.0" version, but no target version was set. 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 openshift-eng/jira-lifecycle-plugin repository. |
1 similar comment
@mkowalski: This pull request references OPNET-469 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the bug to target the "4.16.0" version, but no target version was set. 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 openshift-eng/jira-lifecycle-plugin repository. |
/payload periodic-ci-openshift-release-master-nightly-4.16-e2e-metal-ipi-ovn-ipv6 |
@derekhiggins: it appears that you have attempted to use some version of the payload command, but your comment was incorrectly formatted and cannot be acted upon. See the docs for usage info. |
/payload-job periodic-ci-openshift-release-master-nightly-4.16-e2e-metal-ipi-ovn-ipv6 |
@derekhiggins: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command
See details on https://pr-payload-tests.ci.openshift.org/runs/ci/e6419c70-cf10-11ee-86dd-744eba21971c-0 |
/jira refresh |
@mkowalski: This pull request references OPNET-469 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the bug to target the "4.16.0" version, but no target version was set. 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 openshift-eng/jira-lifecycle-plugin repository. |
/jira refresh |
@mkowalski: This pull request references OPNET-469 which is a valid jira issue. 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 openshift-eng/jira-lifecycle-plugin repository. |
/jira refresh |
@mkowalski: This pull request references Jira Issue OCPBUGS-29659, which is valid. The bug has been moved to the POST state. 3 validation(s) were run on this bug
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 openshift-eng/jira-lifecycle-plugin repository. |
@mkowalski: This pull request references Jira Issue OCPBUGS-29659, which is valid. 3 validation(s) were run on this bug
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 openshift-eng/jira-lifecycle-plugin repository. |
/payload-job periodic-ci-openshift-release-master-nightly-4.16-e2e-metal-ipi-ovn-ipv6 Let's run 10 times and see the statistic. Right now 1 run, 1 success |
@mkowalski: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command
See details on https://pr-payload-tests.ci.openshift.org/runs/ci/bd14f6d0-cf38-11ee-8618-ae39fd373974-0 |
10 times will take 2 days, minimum, it seems like this PR is worth merging either way? we could just merge and observe if the situation improves. |
/test e2e-openstack lgtm assuming the ci jobs pass |
/label acknowledge-critical-fixes-only |
Adding approval to unblock team. |
/retest-required |
/hold cancel |
/test e2e-openstack Would still like to see this pass an ipv4 on-prem job. I can see that resolv.conf was populated correctly in the openstack job so I don't think that failure is related to this patch. Once we get a pass from one of these jobs feel free to remove the hold. |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: cybertron, mkowalski, sinnykumari 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 |
/hold cancel After discussing on Slack we want to land this ASAP |
@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. |
78a7967
into
openshift:master
@mkowalski: Jira Issue OCPBUGS-29659: All pull requests linked via external trackers have merged: Jira Issue OCPBUGS-29659 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 openshift-eng/jira-lifecycle-plugin repository. |
PR openshift#4196 made this conditional based on whether changes were actually made to resolv.conf. Unfortunately, because resolv.conf is persistent over reboots this means that we never touch it after the initial deployment and as a result on subsequent boots kubelet will never start because the file is never created. Because we don't care whether changes were actually made, only that resolv.conf is correctly generated, we can move this file creation out of the if block and always do it to fix the problem. Note that this probably does not happen with OVNKubernetes because the creation of br-ex triggers DNS changes (it gets cleared and then re-populated) so this is only relevant for OpenShiftSDN-based envs.
[ART PR BUILD NOTIFIER] This PR has been included in build ose-machine-config-operator-container-v4.16.0-202402210139.p0.g78a7967.assembly.stream.el8 for distgit ose-machine-config-operator. |
Fix included in accepted release 4.16.0-0.nightly-2024-02-22-021321 |
PR openshift#4196 made this conditional based on whether changes were actually made to resolv.conf. Unfortunately, because resolv.conf is persistent over reboots this means that we never touch it after the initial deployment and as a result on subsequent boots kubelet will never start because the file is never created. Because we don't care whether changes were actually made, only that resolv.conf is correctly generated, we can move this file creation out of the if block and always do it to fix the problem. Note that this probably does not happen with OVNKubernetes because the creation of br-ex triggers DNS changes (it gets cleared and then re-populated) so this is only relevant for OpenShiftSDN-based envs.
PR openshift#4196 made this conditional based on whether changes were actually made to resolv.conf. Unfortunately, because resolv.conf is persistent over reboots this means that we never touch it after the initial deployment and as a result on subsequent boots kubelet will never start because the file is never created. Because we don't care whether changes were actually made, only that resolv.conf is correctly generated, we can move this file creation out of the if block and always do it to fix the problem. Note that this probably does not happen with OVNKubernetes because the creation of br-ex triggers DNS changes (it gets cleared and then re-populated) so this is only relevant for OpenShiftSDN-based envs.
PR openshift#4196 made this conditional based on whether changes were actually made to resolv.conf. Unfortunately, because resolv.conf is persistent over reboots this means that we never touch it after the initial deployment and as a result on subsequent boots kubelet will never start because the file is never created. Because we don't care whether changes were actually made, only that resolv.conf is correctly generated, we can move this file creation out of the if block and always do it to fix the problem. Note that this probably does not happen with OVNKubernetes because the creation of br-ex triggers DNS changes (it gets cleared and then re-populated) so this is only relevant for OpenShiftSDN-based envs.
With this change the resolv-prepender script will apply DNS changes only when DNS servers actually changed. This will significantly reduce the number of
nmcli
calls and remove scenarios in which we can end up in the infinite loop of resolv-prepender calls.Fixes: OPNET-469
Relates-to: OCPBUGS-29624