-
Notifications
You must be signed in to change notification settings - Fork 269
Refactors noProxy merge func #296
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
Conversation
|
/lgtm |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: bparees, danehans The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
/test e2e-aws |
| } | ||
|
|
||
| if len(dns.Spec.BaseDomain) > 0 { | ||
| set.Insert("." + dns.Spec.BaseDomain) |
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.
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.
cc @spadgett
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.
This would be .cluster.local or .dhansen.devcluster.openshift.com? The former is what we had added in 3.x but in 4.x since we're provisioning hosts into .dhansen.devcluster.openshift that zone it probably makes sense to add that as well.
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.
.dhansen.devcluster.openshift.com, i believe. .cluster.local is being added via hardcode elsewhere.
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.
@spadgett i would expect that this routing/proxy question would have been an issue in 3.x as well, so either:
- we were noproxying the domain in 3.x
- customers were manually adding it
- console traffic was going through the customer proxies without issue (which presumably means they were doing so without any additional CAs)
- ??
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.
It would've been either 2 or 3.
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.
For 3.x, the browser talked directly to the OAuth server. We didn't make requests to the OAuth server from our pod.
The exception is the 3.11 admin console, which is the same code base as the 4.x console. We let users customize the CA for talking to the OAuth server in the admin console, though. I'm not familiar with how proxy worked in 3.x, but presumably it was possible to add HTTP proxy env vars directly to the admin console deployment.
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.
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.
@danehans per the email thread discussion, let's drop the cluster domain from the noproxy autogenerated list and move forward w/ this PR.
we'll resolve the fallout (e.g. console being broken) on a case by case basis.
|
cc @enj |
|
/hold This is being discussed. It's not clear that the ingress subdomain can be assumed to be in-cluster. Just don't want to merge in the interim. |
|
I believe a PR landed to fix this issue. |
|
@danehans: 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. 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. |
|
/cc @jcpowermac @abhinavdahiya as the installer will need to update if this merges. |
|
/test e2e-aws-proxy |
/test e2e-aws-upgrade |
| // provided, a comma-separated string of cluster-wide noProxy settings | ||
| // are returned. | ||
| func MergeUserSystemNoProxy(proxy *configv1.Proxy, infra *configv1.Infrastructure, network *configv1.Network, cluster *corev1.ConfigMap) (string, error) { | ||
| func MergeUserSystemNoProxy(proxy *configv1.Proxy, infra *configv1.Infrastructure, network *configv1.Network, |
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.
not usable by installer as you have the configmap to get install-config here https://github.com/openshift/cluster-network-operator/pull/296/files#diff-b9dde8483f6b2bbdb5b0a7695c57743aR40
|
@deads2k I'm seeing the following auth operator error while trying to create a proxy-enabled cluster using IPI: openshift/cluster-authentication-operator#194 attempts to fix this error. However, I don't understand why this call should be proxied. Any updates on #296 (comment). Otherwise, should this PR be refactored to only include |
|
Per #296 (comment) ingress domain will not be added to default no proxy. |
Previously
MergeUserSystemNoProxy()was including specific api-server and etcd dns names when creating the default noProxy list. This PR uses the cluster'sbaseDomainfrom the openshiftconfig.DNSAPI as a noProxy entry. For example:This approach will cover etcd and api-server names and any additional names added to the cluster's base domain. For example, the cluster-ingress-operator creates a wildcard alias record for routes. For example:
These routes should not be proxied.
/assign @bparees @knobunc