NE-1815: Add verifyhost to dynamic server slots for re-encrypt routes (DCM) - #637
Conversation
|
@alebedev87: This pull request references NE-1815 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.18.0" version, but no target version was set. DetailsIn 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 openshift-eng/jira-lifecycle-plugin repository. |
|
@alebedev87: This pull request references NE-1815 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.18.0" version, but no target version was set. DetailsIn 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 openshift-eng/jira-lifecycle-plugin repository. |
|
This is only part of the solution, right? We need both of the following:
|
This would be the safest, yes. Let me see whether I can find a way to do this. |
|
/retest |
|
/assign |
|
/retitle [WIP] NE-1815: Add verifyhost to dynamic server slots for re-encrypt routes (DCM) Work In Progress until #637 (comment) is addressed. |
62e99fc to
430b33c
Compare
Addressed here. |
430b33c to
2d3e517
Compare
|
@alebedev87: This pull request references NE-1815 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.18.0" version, but no target version was set. DetailsIn 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 openshift-eng/jira-lifecycle-plugin repository. |
|
@alebedev87: This pull request references NE-1815 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.18.0" version, but no target version was set. DetailsIn 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 openshift-eng/jira-lifecycle-plugin repository. |
|
/retest |
|
@alebedev87: This pull request references NE-1815 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.18.0" version, but no target version was set. DetailsIn 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 openshift-eng/jira-lifecycle-plugin repository. |
2d3e517 to
e43d4c9
Compare
|
Changed |
e43d4c9 to
9779c5e
Compare
|
Rebased from |
|
/retest |
|
/assign @gcs278 |
Thanks a lot! The commits are fixed up, the description is updated. |
2c89f56 to
578e830
Compare
|
@alebedev87: This pull request references NE-1815 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.18.0" version, but no target version was set. DetailsIn 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 openshift-eng/jira-lifecycle-plugin repository. |
|
/label docs-approved Technical gap, no need to ping the docs people. |
|
/label acknowledge-critical-fixes-only This change impacts only the DCM enabled router which is not the case by default. The featuregate needs to be enabled to activate DCM. |
|
/test e2e-aws-serial
|
|
Thanks for the updates & the responses. Will let @Miciah approve. |
| name: "q", | ||
| host: "qexample.com", | ||
| targetServiceName: "serviceq", | ||
| weight: int32(100), |
There was a problem hiding this comment.
Why is weight needed in this test case? Is it used just to verify that the dynamic server does not start with the route weight?
There was a problem hiding this comment.
No, I think I did it for consistency with the alternate backend case which I wanted to look "real". None of them really influence the template rendering: weight is always 0. Upd: Which indeed looks like what you said - it now verifies that the dynamic slot is created without the service weight taken into account.
| Weight: &fifty, | ||
| }, | ||
| } | ||
| weight = &fifty |
There was a problem hiding this comment.
Is this assignment correct?
There was a problem hiding this comment.
What you think is not correct? I wanted the 50-50 balance between 2 services.
There was a problem hiding this comment.
The godoc for the weight field says, "weight is the spec.to.weight of the route." It seems contradictory to the godoc and surprising to me that the value in the weight field would be ignored.
There was a problem hiding this comment.
Added a dedicated field for the alternate backend weight.
There was a problem hiding this comment.
I see, I didn't understand your intention before, so I'm glad I asked. Thanks for changing the test expectation to be more explicit!
… (DCM) This commit introduces the "verifyhost" configuration setting to dynamic server slots during template rendering. This ensures consistent behavior with static servers. The "verifyhost" uses the FQDN of the primary service only, as it's not feasible to predict which service endpoint will be used when alternate backends are available. Consequently, dynamic servers for re-encrypt routes are not intended to handle alternate backend endpoints. A reload is forced when endpoint changes occur for alternate backend services in a re-encrypt route.
578e830 to
68f0e2c
Compare
| if e.targetServiceName != "" { | ||
| serviceName = e.targetServiceName | ||
| } | ||
| weight := new(int32) |
There was a problem hiding this comment.
Not a big deal, but is there a reason you use weight := new(int32) instead of using var weight int32?
There was a problem hiding this comment.
No, I was just inspired by the previous code which did this: Weight: new(int32).
|
Thanks! |
|
/retest Tests are not starting for an hour. |
|
Thanks! |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: Miciah The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/test e2e-aws-serial |
|
/test e2e-upgrade |
|
@alebedev87: all tests passed! Full PR test history. Your PR dashboard. 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-sigs/prow repository. I understand the commands that are listed here. |
|
[ART PR BUILD NOTIFIER] Distgit: ose-haproxy-router-base |
|
[ART PR BUILD NOTIFIER] Distgit: openshift-enterprise-haproxy-router |
This PR introduces the "verifyhost" configuration setting to dynamic server slots during template rendering. This ensures consistent behavior with static servers.
The "verifyhost" uses the FQDN of the primary service only, as it's not feasible to predict which service endpoint will be used when alternate backends are available.Consequently, dynamic servers for re-encrypt routes are not intended to handle alternate backend endpoints. A reload is forced when endpoint changes occur for alternate backend services in a re-encrypt route.
The commit which added the server certificate verification without
verifyhost: 50a330d.