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 2018481: OpenStack: Add note about ETP=Local and Octavia #46245
Conversation
@dulek: This pull request references Bugzilla bug 2018481, 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 |
@dulek: This pull request references Bugzilla bug 2018481, which is valid. The bug has been moved to the POST state. The bug has been updated to refer to the pull request using the external bug tracker. 3 validation(s) were run on this bug
Requesting review from QA contact: 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. |
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.
Noticed this and left some notes. :) @dulek
#... | ||
---- | ||
<1> This property enables Octavia integration. | ||
<2> This property sets the Octavia provider that your load balancer uses. It accepts `"ovn"` or `"amphora"` as values. If you choose to use OVN, you must also set `lb-method` to `SOURCE_IP_PORT`. | ||
<3> This property is required if you want to use multiple external networks with your cluster. The cloud provider creates floating IP addresses on the network that is specified here. | ||
<4> Setting this property to `True` will make cloud provider create health monitors for the Octavia load balancers. As of {rh-openstack} 16.x this is only supported for Amphora provider. | ||
<5> This property is required when `create-monitor` is set to `True`. It controls how often endpoints are monitored. | ||
<6> This property is required when `create-monitor` is set to `True`. It controls timeout of the monitor requests. |
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.
<6> This property is required when `create-monitor` is set to `True`. It controls timeout of the monitor requests. | |
<6> This property is required when `create-monitor` is set to `True`. It sets how long monitoring requests take to time out in seconds. |
<4> Setting this property to `True` will make cloud provider create health monitors for the Octavia load balancers. As of {rh-openstack} 16.x this is only supported for Amphora provider. | ||
<5> This property is required when `create-monitor` is set to `True`. It controls how often endpoints are monitored. | ||
<6> This property is required when `create-monitor` is set to `True`. It controls timeout of the monitor requests. | ||
<7> This property is required when `create-monitor` is set to `True`. It controls how many successful monitor requests are needed before load balancer member is marked as online. |
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.
<7> This property is required when `create-monitor` is set to `True`. It controls how many successful monitor requests are needed before load balancer member is marked as online. | |
<7> This property is required when `create-monitor` is set to `True`. It controls how many successful monitor requests are needed before a load balancer member is marked as online. |
f98f663
to
b52b65f
Compare
+ | ||
[NOTE] | ||
==== | ||
On {rh-openstack-first} platform `LoadBalancerService` `endpointPublishingStrategy` is only supported when cloud provider is configured to create health monitors. Please note that as of {rh-openstack} 16.1 and 16.2 this is only possible with Amphora Octavia provider. |
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.
Can you help me understand how can I link to the cloud provider configuration document from 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.
Yeah. Which page specifically do you want to link to? There are a number of pages that I think fit that description, so I want to make sure I'm giving the right guidance.
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.
@maxwelldb: Exactly the other one I edited, which explains how to configure the cloud provider with health monitors and why it's important.
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.
Oh, that's just a module. So I guess that module on the regular OpenStack installation page will work, so like to [1].
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.
An unfortunate limitation of our docs tooling is that you cannot link from one module to another within the same docs set. While we know that the installation pages are pretty reliable, it isn't 'guaranteed' that a module will ever be packaged with another, and so the practice is forbidden. 😬
We can get around this by either quoting the title of the section we mean--it's on the user to locate it, then--or by adding a note to the assembly that contains the module that we want to link from. Totally a judgment call, though we don't really like keeping too much content in assemblies when possible.
Thank you for the review! I've attempted to address your comments and added a note about the issue on the Ingress controller page (we've noticed the issue while deploying Ingresses, so I guess it's worth mentioning it there too). Please take another look. |
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.
The modifications make sense to me. Thanks @dulek for taking care of it.
b52b65f
to
479cca0
Compare
Alright, updated according to the suggestions and added a tip on where to find more information about OpenStack cloud provider configuration on the Ingress page note. |
@maxwelldb: Hi, any chance to merge this one? |
@dulek Not outside of the realm of possibility! This needs a QE ack, and then it can be peer reviewed by the docs team. |
479cca0
to
6e42374
Compare
@eurijon, can you take a look if this addition makes sense? This is related to the BZ in the PR title. |
The enterprise-4.12 label has been added to this PR. This is because your PR targets the If the update in your PR does NOT apply to version 4.12 onward, please re-target this PR to go directly into the appropriate version branch or branches (enterprise-4.x) instead of main. |
Setting `.spec.endpointTrafficPolicy=Local` disables node's ability to redirect NodePort traffic to other nodes when no endpoint of that NodePort Service exists on the target node. This means that LoadBalancer Services need to be smart and only direct traffic to nodes that host the endpoint pods. This is normally achieved by using endpoint healthchecks. This commit adds a note that it is required to enable "health monitors" support in OpenStack cloud-provider configuration in order to support `ETP=Local` Services. As OVN Octavia provider in OSP16 does not support health monitors, a note is added that `ETP=Local` Services will not function properly with OVN Octavia provider. Also for ingresses with `endpointPublishingStrategy=LoadBalancerService` the created Service will have `ETP=Local` configured. This commit also adds a note to the ingress operator docs that informs that in OpenStack additional configuration of the cloud provider is required to support such Services.
f9ad0dd
to
9080985
Compare
@bergerhoffer: It's squashed now. |
@bergerhoffer Yeah, I figured it made sense to have someone who was not me look, as I provided some suggestions that were accepted. |
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 LGTM!
@dulek Are you ready for this PR to be merged? If so, can you please add the merge-review-needed label, like below, and then I (or someone else) will merge?
/label merge-review-needed
Well I wasn't expecting it to label it when it was in a code block like that... 😄 /remove-label merge-review-needed |
Yes, let's merge this, it's been almost 4 months since it's up. /label merge-review-needed |
@dulek: All pull requests linked via external trackers have merged: Bugzilla bug 2018481 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 enterprise-4.12 |
/cherrypick enterprise-4.11 |
/cherrypick enterprise-4.10 |
@bergerhoffer: new pull request created: #50905 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. |
@bergerhoffer: new pull request created: #50906 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. |
@bergerhoffer: #46245 failed to apply on top of branch "enterprise-4.10":
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. |
Setting
.spec.endpointTrafficPolicy=Local
disables node's ability toredirect NodePort traffic to other nodes when no endpoint of that
NodePort Service exists on the target node. This means that LoadBalancer
Services need to be smart and only direct traffic to nodes that host the
endpoint pods.
This is normally achieved by using endpoint healthchecks. This commit
adds a note that it is required to enable "health monitors" support in
OpenStack cloud-provider configuration in order to support
ETP=Local
Services.
As OVN Octavia provider in OSP16 does not support health monitors, a
note is added that
ETP=Local
Services will not function properly withOVN Octavia provider.
Version(s): 4.11, 4.10
Issue: https://bugzilla.redhat.com/show_bug.cgi?id=2018481
Previews: