-
Notifications
You must be signed in to change notification settings - Fork 573
NE-1091: Add proxy protocol support to IBMLoadBalancerParameters #1236
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
NE-1091: Add proxy protocol support to IBMLoadBalancerParameters #1236
Conversation
Hello @SzucsAti! Some important instructions when contributing to openshift/api: For merging purposes, this repository follows the no-Feature-Freeze process which means that in addition to the standard
OR
Who should apply these qe/docs/px labels?
|
/test verify |
/assign |
29eb0df
to
520b901
Compare
6d2e3a3
to
40d91c3
Compare
40d91c3
to
941c6c7
Compare
type ProviderLoadBalancerParameters struct { | ||
// type is the underlying infrastructure provider for the load balancer. | ||
// Allowed values are "AWS", "Azure", "BareMetal", "GCP", "Nutanix", | ||
// Allowed values are "AWS", "Azure", "BareMetal", "GCP", "IBM", "Nutanix", |
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.
Where is the change to the discriminator enum to allow this? Can't see a change to LoadBalancerProviderType
included here
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 was already changed here: https://github.com/openshift/api/blob/master/operator/v1/types_ingress.go#L473-#L490. Comment was not up to date.
operator/v1/types_ingress.go
Outdated
// protocol specifies whether the load balancer uses PROXY protocol to forward connections to | ||
// the IngressController. See "service.kubernetes.io/ibm-load-balancer-cloud-provider-enable-features: | ||
// "proxy-protocol"" at https://cloud.ibm.com/docs/containers?topic=containers-vpc-lbaas" | ||
|
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.
Is this blank line expected?
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 expected, fixed.
941c6c7
to
727438c
Compare
The changes to the API look good here but, given the proximity to branch cuts, I'd like to see a QE approval of the feature before we merge this /hold |
Issues go stale after 90d of inactivity. Mark the issue as fresh by commenting If this issue is safe to close now please do so with /lifecycle stale |
/remove-lifecycle stale |
727438c
to
639b2af
Compare
operator/v1/types_ingress.go
Outdated
// The following values are valid for this field: | ||
// | ||
// * The empty string. | ||
// * "TCP". | ||
// * "PROXY". | ||
// | ||
// The empty string specifies the default, which is TCP without PROXY | ||
// protocol. Note that the default is subject to change. |
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.
Just want to update the wording to be consistent with our standard wording on other APIs
// The following values are valid for this field: | |
// | |
// * The empty string. | |
// * "TCP". | |
// * "PROXY". | |
// | |
// The empty string specifies the default, which is TCP without PROXY | |
// protocol. Note that the default is subject to change. | |
// Valid values for protocol and TCP, PROXY and omitted. | |
// When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. | |
// The current default is TCP, without the proxy protocol enabled. |
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.
Thank you, applied your suggestion.
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.
@JoelSpeed, should we update the godoc on the other protocol
fields likewise? I can get that in a follow-up if you like.
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.
Yeah a follow up would be great if you can, thanks
operator/v1/types_ingress.go
Outdated
// +kubebuilder:validation:Optional | ||
// +optional |
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.
You don't need both versions of this, just +optional
will suffice
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.
Removed // +kubebuilder:validation:Optional
.
639b2af
to
e091593
Compare
Co-authored-by: Vincent Burckhardt <vincent.burckhardt@ie.ibm.com>
e091593
to
f4d09b5
Compare
API looks good, have you run through any pre-merge validation with the QE team? Could we look to get their ack on this feature? |
@SzucsAti can you confirm that openshift/cluster-ingress-operator#812 is a PR that can be used to do pre-merge validation? |
Yes, openshift/cluster-ingress-operator#812 is the correct PR for pre-merge validations. |
@attiss thanks for confirming. Looks openshift/cluster-ingress-operator#812 needs rebase and some checks were failed. |
Oops, cannot build the payload with cluster-bot and it reports:
so the rebase is mandatory |
tested with pre-merge validation and passed
|
/label qe-approved |
/lgtm |
/label docs-approved |
/label px-approved |
/lgtm |
1 similar comment
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: gcs278, JoelSpeed, Miciah, SzucsAti 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 |
@SzucsAti: all tests passed! 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. |
On IBMCloud users can set a loadbalancer annotation to enable proxy protocol on the loadbalancer:
service.kubernetes.io/ibm-load-balancer-cloud-provider-enable-features: "proxy-protocol"
https://cloud.ibm.com/docs/containers?topic=containers-vpc-lbaas
With this PR users can configure proxy protocol on the ingresscontroller custom resource. Cluster-ingress-operator will read the value of this field and configure the loadbalancer accordingly.
This PR is based on an other PR which is not yet merged, it implements IBMLoadBalancerParameters:
#1208