OCPBUGS-6829: Add protocolStrategy for upstreams in dnses.operator.openshift.io#1429
Conversation
|
@gcs278: This pull request references Jira Issue OCPBUGS-6829, which is invalid:
Comment The bug has been updated to refer to the pull request using the external bug tracker. DetailsIn 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. |
|
Hello @gcs278! Some important instructions when contributing to openshift/api: |
fa7abf7 to
bdc74da
Compare
|
@gcs278: This pull request references Jira Issue OCPBUGS-6829, which is invalid:
Comment DetailsIn 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. |
|
@gcs278: This pull request references Jira Issue OCPBUGS-6829, which is invalid:
Comment The bug has been updated to refer to the pull request using the external bug tracker. DetailsIn 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. |
|
/jira refresh |
|
@gcs278: This pull request references Jira Issue OCPBUGS-6829, which is valid. 3 validation(s) were run on this bug
DetailsIn 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. |
a66cde7 to
1226985
Compare
|
@gcs278: This pull request references Jira Issue OCPBUGS-6829, which is valid. 3 validation(s) were run on this bug
DetailsIn 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. |
|
@gcs278: This pull request references Jira Issue OCPBUGS-6829, which is valid. 3 validation(s) were run on this bug
The bug has been updated to refer to the pull request using the external bug tracker. DetailsIn 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. |
|
@gcs278: This pull request references Jira Issue OCPBUGS-6829, which is valid. 3 validation(s) were run on this bug
DetailsIn 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. |
|
|
||
| var ( | ||
| // ProtocolStrategyDefault specifies no opinion for DNS protocol. | ||
| // If empty, the default behavior of CoreDNS is used. Currently, this means that CoreDNS uses the protocol of the |
There was a problem hiding this comment.
Nit can we be consistent with indentation
There was a problem hiding this comment.
Sorry - I actually turned off auto format in GoLand because it kept changing one of the // * formats to remove the bullet points and missed this.
Done.
| NetworkResolverType UpstreamType = "Network" | ||
| ) | ||
|
|
||
| // ProtocolStrategy is a preference for the protocol to use for DNS queries. |
There was a problem hiding this comment.
What should a consumer of this do if there's a value that they do not recognise? Think about what you'd expect the operator to do if a new value was added to this enum?
There was a problem hiding this comment.
Hm. I figured the consumer (cluster-dns-operator) would just do nothing if it received a value it doesn't recognize. That's how I have it coded right now (it's out-of-date with API, but openshift/cluster-dns-operator#359). By nothing, meaning, it will use the default mode of operation (same as "").
There was a problem hiding this comment.
That's fine, I would just add a comment for developers, this is our get out of jail free card for adding a future strategy, as we've already told the consumers what they should be doing if they see a value they don't recognise (which would happen for some consumers on upgrade for example)
| // ProtocolStrategy is a preference for the protocol to use for DNS queries. | |
| // ProtocolStrategy is a preference for the protocol to use for DNS queries. | |
| // --- | |
| // + When consumers observe an unknown value, they should use the default strategy. |
There was a problem hiding this comment.
Got it, done. Not sure if you literally wanted --- and a +, but let me know if you did.
There was a problem hiding this comment.
Yeah I did 😅 Sorry, should have explained, the format I put there means that the doc comment will only be visible here, it prevents the doc being picked up in any swagger or openapi copies of the docs. --- prevents swagger taking anything after it, + stops openapi picking it up
I was wrong though, the --- line needs to be // + ---
There was a problem hiding this comment.
Interesting okay. I pushed up again, let me know if I interpreted you correctly.
9247495 to
962ca3e
Compare
There was a problem hiding this comment.
I don't think this file should be checked in, it should have been removed during the verify stage 🤔
There was a problem hiding this comment.
Whoops, not sure how this got here, but removed.
There was a problem hiding this comment.
As well, I don't think this should have been checked in
…enshift.io protocolStrategy adds the ability to configure the force_tcp CoreDNS Corefile configuration for upstreams, which forces TCP for all upstream DNS requests. This is to resolve issues regarding problematic DNS upstreams as well as a potential UDP reliability problems.
|
/approve /hold Have you considered getting QE to validate the API changes in tandem with an implementation PR before we merge? Can be useful sometimes to have QE validate the API change via implementation, would not be the first time QE feedback has caused changes to APIs. If you're confident, feel free to remove the hold |
I'm asking QE right now to validate these changes to be safe. Thanks for the approval |
|
/lgtm |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: candita, gcs278, JoelSpeed, Miciah The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
Hi Team,
melvinjoseph@mjoseph-mac Downloads % oc get dns.operator default -oyaml sh-4.4# cat /etc/coredns/Corefile
melvinjoseph@mjoseph-mac Downloads % oc get dns.operator default -oyaml sh-4.4# cat /etc/coredns/Corefile So initial functionality looks good, need to test further on advance end |
|
@JoelSpeed yes we are, removing the hold, thanks for the reviews. |
|
@gcs278: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions 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. |
|
@gcs278: Jira Issue OCPBUGS-6829: Some pull requests linked via external trackers have merged: The following pull requests linked via external trackers have not merged: These pull request must merge or be unlinked from the Jira bug in order for it to move to the next state. Once unlinked, request a bug refresh with Jira Issue OCPBUGS-6829 has not been moved to the MODIFIED state. DetailsIn 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. |
|
/cherry-pick release-4.13 |
|
@gcs278: new pull request created: #1500 DetailsIn 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. |
|
/cherry-pick release-4.12 |
|
@gcs278: new pull request created: #1502 DetailsIn 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. |
OCPBUGS-6829: Add protocolStrategy for upstreams in dnses.operator.openshift.io
protocolStrategyadds the ability to configure theforce_tcpCoreDNS Corefile configuration for upstreams, which forces TCP for all upstream DNS requests. This is to resolve issues regarding problematic DNS upstreams as well as a potential UDP reliability problems.Adds the following fields:
spec.upstreamResolvers.protocolStrategyspec.servers[].forwardPlugin.protocolStrategy