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

Refactor the operator reconcile method to make it non-blocking #15127

Closed
davidfestal opened this issue Nov 6, 2019 · 0 comments
Closed

Refactor the operator reconcile method to make it non-blocking #15127

davidfestal opened this issue Nov 6, 2019 · 0 comments
Labels
area/che-operator Issues and PRs related to Eclipse Che Kubernetes Operator kind/technical-debt Technical debt issue severity/P1 Has a major impact to usage or development of the system.
Milestone

Comments

@davidfestal
Copy link
Contributor

Is your task related to a problem? Please describe.

Currently the main reconcile method of the Che operator contains synchronous calls that wait for the end of the deployment of some K8S object, before continuing the process. This is a bad design, since it blocks the operator loop, and prevent the operator to take in account any other change event in the Custom Resource that might occur in the meantime.

Describe the solution you'd like

The reconcile logic of the operator should be non-blocking. Instead of being linear, it should be designed as a state machine, in order to allow reacting to any change event in a custom resource as soon as it happens.

Refactoring the structure of the reconcile method may also allow slicing the logic into several steps, and this would obviously make decent testing easier (see issue #15123)

@davidfestal davidfestal added kind/task Internal things, technical debt, and to-do tasks to be performed. kind/technical-debt Technical debt issue area/che-operator Issues and PRs related to Eclipse Che Kubernetes Operator and removed kind/task Internal things, technical debt, and to-do tasks to be performed. labels Nov 6, 2019
@benoitf benoitf added the severity/P2 Has a minor but important impact to the usage or development of the system. label Nov 6, 2019
@tolusha tolusha added this to the Backlog - Deploy milestone Jan 10, 2020
@tolusha tolusha added severity/P1 Has a major impact to usage or development of the system. and removed severity/P2 Has a minor but important impact to the usage or development of the system. labels Jan 23, 2020
@tolusha tolusha mentioned this issue Mar 10, 2020
45 tasks
@tolusha tolusha closed this as completed Apr 10, 2020
@tolusha tolusha modified the milestones: Backlog - Deploy, 7.11 Apr 10, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/che-operator Issues and PRs related to Eclipse Che Kubernetes Operator kind/technical-debt Technical debt issue severity/P1 Has a major impact to usage or development of the system.
Projects
None yet
Development

No branches or pull requests

3 participants