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

Reload only once during the start #1788

Merged
merged 2 commits into from
Aug 10, 2021
Merged

Reload only once during the start #1788

merged 2 commits into from
Aug 10, 2021

Conversation

pleshakov
Copy link
Contributor

Proposed changes

During the start, the IC processes resources in the cluster one by one
Each processing might lead to a new generated config or an updated config,
which requires an NGINX reload. After all resources are processed,
the IC pod is considered Ready (its readiness probe succeeds).

For clusters with big number of resources the combined time
of NGINX reloads during the start can be significant (minutes).

This PR ensures that the IC only reloads NGINX once during
the start, which reduces the start up time for clusters
with big number of resources.

Describe the use case and detail of the change. If this PR addresses an issue on GitHub, make sure to include a link to that issue here in this description (not in the title of the PR).

Fixes #1655

@pleshakov pleshakov added the enhancement Pull requests for new features/feature enhancements label Jul 29, 2021
@github-actions github-actions bot added the bug An issue reporting a potential bug label Jul 29, 2021
@pleshakov pleshakov removed the bug An issue reporting a potential bug label Jul 29, 2021
@github-actions github-actions bot added the bug An issue reporting a potential bug label Jul 30, 2021
class TestSmoke:
@pytest.mark.ingresses
Copy link
Contributor

Choose a reason for hiding this comment

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

ingresses marker and ingress_controller fixture can and should be called at class level as ic one is common to both tests and ingresses marker will only cause first test to run in its current form

@soneillf5 soneillf5 self-requested a review August 9, 2021 15:48
During the start, the IC processes resources in the cluster one by one
Each processing might lead to a new generated config or an updated config,
which requires an NGINX reload. After all resources are processed,
the IC pod is considered Ready (its readiness probe succeeds).

For clusters with big number of resources the combined time
of NGINX reloads during the start can be significant (minutes).

This commit ensures that the IC only reloads NGINX once during
the start, which reduces the start up time for clusters
with big number of resources.
@pleshakov pleshakov merged commit afb8f9f into master Aug 10, 2021
@pleshakov pleshakov deleted the fix/startup-time branch August 10, 2021 23:40
@pleshakov pleshakov removed the bug An issue reporting a potential bug label Sep 13, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Pull requests for new features/feature enhancements
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Improve the IC start time
5 participants