Skip to content
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

Merged
merged 1 commit into from Sep 27, 2022

Conversation

dulek
Copy link
Contributor

@dulek dulek commented Jun 2, 2022

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.

Version(s): 4.11, 4.10

Issue: https://bugzilla.redhat.com/show_bug.cgi?id=2018481

Previews:

@openshift-ci openshift-ci bot added bugzilla/severity-high Referenced Bugzilla bug's severity is high for the branch this PR is targeting. bugzilla/invalid-bug Indicates that a referenced Bugzilla bug is invalid for the branch this PR is targeting. labels Jun 2, 2022
@openshift-ci
Copy link

openshift-ci bot commented Jun 2, 2022

@dulek: This pull request references Bugzilla bug 2018481, which is invalid:

  • expected the bug to target the "4.11.0" release, but it targets "---" instead

Comment /bugzilla refresh to re-evaluate validity if changes to the Bugzilla bug are made, or edit the title of this pull request to link to a different bug.

In response to this:

Bug 2018481: OpenStack: Add note about ETP=Local and Octavia

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.

@openshift-ci openshift-ci bot added the size/S Denotes a PR that changes 10-29 lines, ignoring generated files. label Jun 2, 2022
@dulek
Copy link
Contributor Author

dulek commented Jun 2, 2022

/bugzilla refresh

@openshift-ci openshift-ci bot added the bugzilla/valid-bug Indicates that a referenced Bugzilla bug is valid for the branch this PR is targeting. label Jun 2, 2022
@openshift-ci
Copy link

openshift-ci bot commented Jun 2, 2022

@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
  • bug is open, matching expected state (open)
  • bug target release (4.11.0) matches configured target release for branch (4.11.0)
  • bug is in the state ASSIGNED, which is one of the valid states (NEW, ASSIGNED, ON_DEV, POST, POST)

Requesting review from QA contact:
/cc @eurijon

In response to this:

/bugzilla refresh

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.

@openshift-ci openshift-ci bot removed the bugzilla/invalid-bug Indicates that a referenced Bugzilla bug is invalid for the branch this PR is targeting. label Jun 2, 2022
@openshift-ci openshift-ci bot requested a review from eurijon June 2, 2022 12:26
@maxwelldb maxwelldb added this to the Next Release milestone Jun 2, 2022
Copy link
Contributor

@maxwelldb maxwelldb left a 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.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<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.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<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.

+
[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.
Copy link
Contributor Author

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?

Copy link
Contributor

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.

Copy link
Contributor Author

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.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

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.

@dulek
Copy link
Contributor Author

dulek commented Jun 2, 2022

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.

Copy link
Member

@mandre mandre left a 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.

@dulek
Copy link
Contributor Author

dulek commented Jun 3, 2022

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.

@dulek
Copy link
Contributor Author

dulek commented Jul 20, 2022

@maxwelldb: Hi, any chance to merge this one?

@maxwelldb
Copy link
Contributor

@dulek Not outside of the realm of possibility!

This needs a QE ack, and then it can be peer reviewed by the docs team.

@maxwelldb maxwelldb added the peer-review-needed Signifies that the peer review team needs to review this PR label Jul 20, 2022
@dulek
Copy link
Contributor Author

dulek commented Jul 20, 2022

@eurijon, can you take a look if this addition makes sense? This is related to the BZ in the PR title.

@bergerhoffer
Copy link
Contributor

The enterprise-4.12 label has been added to this PR.

This is because your PR targets the main branch and is labeled for enterprise-4.11. And any PR going into main must also target the latest version branch (enterprise-4.12).

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.

@kalexand-rh kalexand-rh removed this from the Next Release milestone Aug 19, 2022
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.
@dulek
Copy link
Contributor Author

dulek commented Sep 26, 2022

@bergerhoffer: It's squashed now.

@maxwelldb
Copy link
Contributor

@maxwelldb Does this need another peer review other than yours, or is it ready to request a merge?

@bergerhoffer Yeah, I figured it made sense to have someone who was not me look, as I provided some suggestions that were accepted.

@bergerhoffer bergerhoffer added the peer-review-in-progress Signifies that the peer review team is reviewing this PR label Sep 26, 2022
Copy link
Contributor

@bergerhoffer bergerhoffer left a 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

@openshift-ci openshift-ci bot added the merge-review-needed Signifies that the merge review team needs to review this PR label Sep 26, 2022
@bergerhoffer
Copy link
Contributor

bergerhoffer commented Sep 26, 2022

Well I wasn't expecting it to label it when it was in a code block like that... 😄

/remove-label merge-review-needed

@openshift-ci openshift-ci bot removed the merge-review-needed Signifies that the merge review team needs to review this PR label Sep 26, 2022
@bergerhoffer bergerhoffer added peer-review-done Signifies that the peer review team has reviewed this PR and removed peer-review-in-progress Signifies that the peer review team is reviewing this PR peer-review-needed Signifies that the peer review team needs to review this PR labels Sep 26, 2022
@dulek
Copy link
Contributor Author

dulek commented Sep 27, 2022

Yes, let's merge this, it's been almost 4 months since it's up.

/label merge-review-needed

@openshift-ci openshift-ci bot added the merge-review-needed Signifies that the merge review team needs to review this PR label Sep 27, 2022
@bergerhoffer bergerhoffer added the merge-review-in-progress Signifies that the merge review team is reviewing this PR label Sep 27, 2022
@bergerhoffer bergerhoffer merged commit 06cdc73 into openshift:main Sep 27, 2022
@openshift-ci
Copy link

openshift-ci bot commented Sep 27, 2022

@dulek: All pull requests linked via external trackers have merged:

Bugzilla bug 2018481 has been moved to the MODIFIED state.

In response to this:

Bug 2018481: OpenStack: Add note about ETP=Local and Octavia

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
Copy link
Contributor

/cherrypick enterprise-4.12

@bergerhoffer
Copy link
Contributor

/cherrypick enterprise-4.11

@bergerhoffer
Copy link
Contributor

/cherrypick enterprise-4.10

@openshift-cherrypick-robot

@bergerhoffer: new pull request created: #50905

In response to this:

/cherrypick enterprise-4.12

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.

@openshift-cherrypick-robot

@bergerhoffer: new pull request created: #50906

In response to this:

/cherrypick enterprise-4.11

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.

@openshift-cherrypick-robot

@bergerhoffer: #46245 failed to apply on top of branch "enterprise-4.10":

Applying: OpenStack: Add note about ETP=Local and Octavia
Using index info to reconstruct a base tree...
M	modules/nw-ingress-controller-configuration-parameters.adoc
Falling back to patching base and 3-way merge...
Auto-merging modules/nw-ingress-controller-configuration-parameters.adoc
CONFLICT (content): Merge conflict in modules/nw-ingress-controller-configuration-parameters.adoc
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 OpenStack: Add note about ETP=Local and Octavia
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

In response to this:

/cherrypick enterprise-4.10

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
Copy link
Contributor

Thanks @dulek! This is merged to 4.11 and 4.12. For 4.10 there was a conflict (due to the note above it not being there in 4.10).

Can you PTAL at this manual cherry pick PR to make sure it looks okay? #50907

@bergerhoffer bergerhoffer removed merge-review-in-progress Signifies that the merge review team is reviewing this PR merge-review-needed Signifies that the merge review team needs to review this PR labels Sep 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
branch/enterprise-4.10 branch/enterprise-4.11 branch/enterprise-4.12 bugzilla/severity-high Referenced Bugzilla bug's severity is high for the branch this PR is targeting. bugzilla/valid-bug Indicates that a referenced Bugzilla bug is valid for the branch this PR is targeting. peer-review-done Signifies that the peer review team has reviewed this PR qe-approved Signifies that QE has signed off on this PR size/S Denotes a PR that changes 10-29 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants