Skip to content

Conversation

@alebedev87
Copy link
Contributor

Backport of #1035 and #1084 combied into a single PR like it was supposed to be from the very beginning.

@openshift-ci-robot openshift-ci-robot added jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. labels Jun 28, 2024
@openshift-ci-robot
Copy link
Contributor

@alebedev87: This pull request references Jira Issue OCPBUGS-36208, which is valid.

7 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.15.z) matches configured target version for branch (4.15.z)
  • bug is in the state POST, which is one of the valid states (NEW, ASSIGNED, POST)
  • release note text is set and does not match the template
  • dependent bug Jira Issue OCPBUGS-28673 is in the state Closed (Done-Errata), which is one of the valid states (VERIFIED, RELEASE PENDING, CLOSED (ERRATA), CLOSED (CURRENT RELEASE), CLOSED (DONE), CLOSED (DONE-ERRATA))
  • dependent Jira Issue OCPBUGS-28673 targets the "4.16.0" version, which is one of the valid target versions: 4.16.0, 4.16.z
  • bug has dependents

Requesting review from QA contact:
/cc @lihongan

The bug has been updated to refer to the pull request using the external bug tracker.

Details

In response to this:

Backport of #1035 and #1084 combied into a single PR like it was supposed to be from the very beginning.

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 openshift-eng/jira-lifecycle-plugin repository.

@alebedev87 alebedev87 force-pushed the connect-timeout-release-4.15 branch 2 times, most recently from 7eed499 to 2accc0a Compare June 28, 2024 20:56
@lihongan
Copy link
Contributor

lihongan commented Jul 1, 2024

/retest

@alebedev87
Copy link
Contributor Author

/hold

Waiting for the API change.

@openshift-ci openshift-ci bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jul 2, 2024
@candita
Copy link
Contributor

candita commented Jul 3, 2024

/assign @gcs278
/assign @rfredette

@alebedev87
Copy link
Contributor Author

/unhold

openshift/api#1937 merged.

@openshift-ci openshift-ci bot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jul 4, 2024
@alebedev87
Copy link
Contributor Author

/retest

@lihongan
Copy link
Contributor

lihongan commented Jul 8, 2024

/label qe-approved
/label cherry-pick-approved

verified with pre-merge testing

$ oc get clusterversion
NAME      VERSION                                                   AVAILABLE   PROGRESSING   SINCE   STATUS
version   4.15.0-0.ci.test-2024-07-08-094335-ci-ln-dvh3fst-latest   True        False         24m     Cluster version is 4.15.0-0.ci.test-2024-07-08-094335-ci-ln-dvh3fst-latest

$ oc explain ingresscontroller.spec.tuningOptions.connectTimeout
GROUP:      operator.openshift.io
KIND:       IngressController
VERSION:    v1

FIELD: connectTimeout <string>

DESCRIPTION:
    ConnectTimeout defines the maximum time to wait for a connection attempt to
    a server/backend to succeed. 
     This field expects an unsigned duration string of decimal numbers, each
    with optional fraction and a unit suffix, e.g. "300ms", "1.5h" or "2h45m".
    Valid time units are "ns", "us" (or "µs" U+00B5 or "μs" U+03BC), "ms",
    "s", "m", "h". 
     When omitted, this means the user has no opinion and the platform is left
    to choose a reasonable default. This default is subject to change over time.
    The current default is 5s.

$ oc -n openshift-ingress-operator patch ingresscontroller/default -p '{"spec":{"tuningOptions":{"connectTimeout":"15s"}}}' --type=merge
ingresscontroller.operator.openshift.io/default patched
$ oc -n openshift-ingress get deployment/router-default -oyaml | grep TIMEOUT -A1
        - name: ROUTER_DEFAULT_CONNECT_TIMEOUT
          value: 15s

$ oc -n openshift-ingress rsh router-default-644fd5c559-22nzr
sh-4.4$ env | grep TIMEOUT
ROUTER_DEFAULT_CONNECT_TIMEOUT=15s
sh-4.4$ 
sh-4.4$ grep "timeout connect" haproxy.config
  timeout connect 15s

@openshift-ci openshift-ci bot added qe-approved Signifies that QE has signed off on this PR cherry-pick-approved Indicates a cherry-pick PR into a release branch has been approved by the release branch manager. labels Jul 8, 2024
Copy link
Contributor

@gcs278 gcs278 left a comment

Choose a reason for hiding this comment

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

One nit pick about vendor commit, but everything else looks good to me.

I have one suggestion for the future, feel free to take or leave it: Andy has got me into the habit of providing paper trail of manual backports/cherry-picks. I think it's quite helpful to see the steps taken.

Providing info such as the commands you ran, the merge conflicts and summary of the resolution, and any hiccups along the way is super helpful. Here's a more complicated example: openshift/router#585. I like to recreate manual backports to see how merges were resolved.

I did recreate this backport and besides the expected go.mod merge conflicts, I noticed the merge conflict in util_test.go, that looks good to me.

replace (
bitbucket.org/ww/goautoneg => github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d
github.com/openshift/api => github.com/openshift/api v0.0.0-20240522145529-93d6bda14341
github.com/openshift/api => github.com/openshift/api v0.0.0-20240704111439-6eb7973a3a45
Copy link
Contributor

Choose a reason for hiding this comment

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

nit What about adding the vendoring in a separate commit, similar to the PR we are cherry-picking #1035?

BTW I usually put the vendoring commit first, so that the implementation isn't a broken commit, I think #1035 is reversed.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Personally, I see the benefit of adding the vendored files into a separate commit only if this facilitates the review process (a lot of updates in vendor/). For the building process, most of the binaries we build use -mod=vendor therefore expecting the vendor directory to contain all the changes needed. Putting the vendor commit first may result into a broken commit too (e.g. api crd package move).

Copy link
Contributor Author

Choose a reason for hiding this comment

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

However for the backporting, a separate vendor commit can indeed be helpful. It can reduce the burden of cherry picking dependencies from a different branch. So, for this PR, I agree it makes sense. Let me extract it.

- Added a new command to run a test HTTP server that delays TCP SYN packets
- Implemented an e2e scenario to test the connect timeout tuning option
@alebedev87 alebedev87 force-pushed the connect-timeout-release-4.15 branch from 0e4a12f to 03299df Compare July 9, 2024 09:10
@alebedev87
Copy link
Contributor Author

/retest

@gcs278
Copy link
Contributor

gcs278 commented Jul 9, 2024

/approve
/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Jul 9, 2024
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jul 9, 2024

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: gcs278

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jul 9, 2024
@lihongan
Copy link
Contributor

/retest

@alebedev87
Copy link
Contributor Author

TestInternalLoadBalancer failed. Checking.

@alebedev87
Copy link
Contributor Author

Seems like I'm hitting https://issues.redhat.com/browse/OCPBUGS-13106.

/retest

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jul 10, 2024

@alebedev87: all tests passed!

Full PR test history. Your PR dashboard.

Details

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-sigs/prow repository. I understand the commands that are listed here.

@candita
Copy link
Contributor

candita commented Jul 10, 2024

This backport is needed to fix an omission from the original feature implementation of the timeout tuning RFE in release 4.15. The ROUTER_DEFAULT_CONNECT_TIMEOUT router variable is already present in the router config, and this backport exposes the variable within the API. Since this PR fixes an omission from the original feature, it is not expected to pose any additional risk than any of the other timeouts that were added.

/label backport-risk-assessed

@openshift-ci openshift-ci bot added the backport-risk-assessed Indicates a PR to a release branch has been evaluated and considered safe to accept. label Jul 10, 2024
@openshift-merge-bot openshift-merge-bot bot merged commit 28bcd5f into openshift:release-4.15 Jul 10, 2024
@openshift-ci-robot
Copy link
Contributor

@alebedev87: Jira Issue OCPBUGS-36208: All pull requests linked via external trackers have merged:

Jira Issue OCPBUGS-36208 has been moved to the MODIFIED state.

Details

In response to this:

Backport of #1035 and #1084 combied into a single PR like it was supposed to be from the very beginning.

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 openshift-eng/jira-lifecycle-plugin repository.

@openshift-bot
Copy link
Contributor

[ART PR BUILD NOTIFIER]

This PR has been included in build ose-cluster-ingress-operator-container-v4.15.0-202407102237.p0.g28bcd5f.assembly.stream.el9 for distgit ose-cluster-ingress-operator.
All builds following this will include this PR.

@openshift-merge-robot
Copy link
Contributor

Fix included in accepted release 4.15.0-0.nightly-2024-07-11-014354

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. backport-risk-assessed Indicates a PR to a release branch has been evaluated and considered safe to accept. cherry-pick-approved Indicates a cherry-pick PR into a release branch has been approved by the release branch manager. jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged. qe-approved Signifies that QE has signed off on this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants