Skip to content

Conversation

DCChadwick
Copy link

@DCChadwick DCChadwick commented Dec 13, 2024

Version(s): 4.18

Issue: OSDOCS-10893

Link to docs preview: https://86283--ocpdocs-pr.netlify.app/openshift-enterprise/latest/networking/routes/route-configuration.html#nw-ne-dynamic-config-manager_route-configuration

QE review:

  • QE has approved this change.

Additional information:

@openshift-ci-robot
Copy link

openshift-ci-robot commented Dec 13, 2024

@DCChadwick: This pull request references OSDOCS-10893 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 either version "4.19." or "openshift-4.19.", but it targets "openshift-4.17" instead.

In response to this:

Version(s): 4.18

Issue: OSDOCS-10893

Link to docs preview:

QE review:

  • QE has approved this change.

Additional information:

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-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Dec 13, 2024
@openshift-ci-robot
Copy link

openshift-ci-robot commented Dec 13, 2024

@DCChadwick: This pull request references OSDOCS-10893 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 either version "4.19." or "openshift-4.19.", but it targets "openshift-4.17" instead.

In response to this:

Version(s): 4.18

Issue: OSDOCS-10893

Link to docs preview:

QE review:

  • QE has approved this change.

Additional information:

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-ci openshift-ci bot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Dec 13, 2024
@ocpdocs-previewbot
Copy link

ocpdocs-previewbot commented Dec 13, 2024

🤖 Wed Jan 08 19:31:37 - Prow CI generated the docs preview:

https://86283--ocpdocs-pr.netlify.app/

@DCChadwick DCChadwick force-pushed the osdocs10893 branch 4 times, most recently from 2f08402 to ff536ca Compare January 6, 2025 18:08
@openshift-ci-robot
Copy link

openshift-ci-robot commented Jan 6, 2025

@DCChadwick: This pull request references OSDOCS-10893 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 either version "4.19." or "openshift-4.19.", but it targets "openshift-4.17" instead.

In response to this:

Version(s): 4.18

Issue: OSDOCS-10893

Link to docs preview: https://86283--ocpdocs-pr.netlify.app/openshift-enterprise/latest/networking/routes/route-configuration.html#nw-ne-dynamic-config-manager_route-configuration

QE review:

  • QE has approved this change.

Additional information:

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.

Comment on lines 75 to 77
//Enabling the dynamic configuration manager
include::modules/nw-ne-dynamic-config-manager.adoc[leveloffset=+1]

Copy link
Contributor

@alebedev87 alebedev87 Jan 8, 2025

Choose a reason for hiding this comment

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

I don't think that there is the best place for "Enabling DCM" but "Configuring ingress cluster traffic" seems to be a better place than the the route configuration.


Some template routers, like HAProxy, use a dynamic configuration manager to propagate route and endpoint changes through a dynamic API. This approach allows the underlying router to adapt to changes efficiently and ensures that the system can scale and adjust as needed. The HAProxy manager uses this dynamic API to modify the operational state of HAProxy backends. Endpoint changes, such as scaling and node evictions, are managed by provisioning each backend with a pool of dynamic servers. The size of this dynamic servers pool is controlled by the max-dynamic-servers option or the ROUTER_MAX_DYNAMIC_SERVERS environment variable.

.Procedure
Copy link
Contributor

Choose a reason for hiding this comment

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

The whole procedure seems to be coming from the old docs of OCP 3.11. The dynamic configuration manager is now enabled by default but only when TechPreview featureset is used. So, it's a techpreview feature.

Copy link
Contributor

Choose a reason for hiding this comment

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

After a discussion with the team. We think that may be a release notes update similar to this one would be enough.

Copy link
Author

Choose a reason for hiding this comment

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

Thanks! I'm happy to do that. While working on this, I noticed that there seems to be a lot of HAProxy and router environment variable information that appears in the 3.x documentation but not in the 4.x documentation. Would creating a 4.x document similar to the following be something we should consider for the 4.19 release: https://docs.openshift.com/container-platform/3.11/install_config/router/default_haproxy_router.html

Copy link
Contributor

Choose a reason for hiding this comment

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

While working on this, I noticed that there seems to be a lot of HAProxy and router environment variable information that appears in the 3.x documentation but not in the 4.x documentation. Would creating a 4.x document similar to the following be something we should consider for the 4.19 release: https://docs.openshift.com/container-platform/3.11/install_config/router/default_haproxy_router.html

No, those were the variables available in 3.11. We consider DCM as an implementation detail in 4.18, without any supported configuration option.

@alebedev87
Copy link
Contributor

/assign

@Thealisyed
Copy link

/assign


toc::[]

By default, the router uses a dynamic configuration manager to propagate endpoint changes using dynamic HAPRoxy API. This approach allows the router to adapt to changes efficiently reducing the number of reloads needed and hence the memory footprint. The dynamic configuration manager uses the HAProxy dynamic API to modify the operational state of HAProxy backends. Endpoint changes, such as scaling up and down, are managed by provisioning each backend with a pool of dynamic servers.
Copy link
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] RedHat.TermsErrors: Use 'therefore' rather than 'hence'. For more information, see RedHat.TermsErrors.

Copy link

openshift-ci bot commented Jan 8, 2025

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

@DCChadwick
Copy link
Author

@alebedev87 @Thealisyed - PTAL at the PR for the release note related to this issue: #86792

Copy link

@Thealisyed Thealisyed left a comment

Choose a reason for hiding this comment

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

Well written doc, easy to follow and understand @DCChadwick!


. Set the Commit Interval.
+
Define the interval at which the router commits changes using the CommitInterval option. The default value is set to 60 * 60 seconds (1 hour).

Choose a reason for hiding this comment

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

Should we add a note on the impact of changing the commit interval? Correct me if I am wrong, shorter intervals might increase resource usage while longer ones could delay changes.
Not sure if this is worth mentioning @alebedev87 what do you think?

Copy link
Contributor

Choose a reason for hiding this comment

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

The commit interval set to very low values (seconds, minutes) may cancel out all advantages of the dynamic configuration manager. Because the commit leads to the router reload which may increase the memory consumption as you mentioned. In OCP 4.18 release we don't expose any knob (even unsupported) to change the commit interval. So, its value remains an opinionated engineering decision.

@alebedev87
Copy link
Contributor

@DCChadwick : I think that #86792 is sufficient for this release. The procedure described in this PR is not supported.

@DCChadwick DCChadwick closed this Jan 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants