-
Notifications
You must be signed in to change notification settings - Fork 27
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
Allow disabling of module having errors (during it's installation or in hooks) #43
Comments
Error in enabled script can also cause this situation. #16 |
diafour
added a commit
that referenced
this issue
Apr 7, 2022
Huge refactoring to speedup reactions to ConfigMap changes. Fixes in enabled state calculations. KubeConfigManager is now responsible to signal if config is changed or invalid. - fix: Update metric if ConfigMap is invalid (malformed module name or module values YAML) ModuleManager is now the only component that runs enabled scripts. It is responsible for calculating ModulesReload/ReloadAll event. It lists Helm releases once at start to detect initial enabled modules and modules to purge. - fix: Fresh config values for enabled scripts (#184, #16) AddonOperator uses task ConvergeModules to handle changes in ConfigMap or global values and reload all modules or only changed. - fix: ModulePurge tasks moved between GlobalSynchronization and first ConvergeModules (#233) - fix: Clear queues from tasks for disabled module or errored hooks on ConfigMap changes (#43) - ref: ConvergeModules is a new multi-phase task. Other: - mocks for HelmResourcesManager and KubeConfigManager - Helm struct instead of global variables helm.NewClient and helm.HealthzHandler -
3 tasks
diafour
added a commit
that referenced
this issue
Apr 25, 2022
Huge refactoring to speedup reactions to ConfigMap changes. Fixes in enabled state calculations. KubeConfigManager is now responsible to signal if config is changed or invalid. - fix: Update metric if ConfigMap is invalid (malformed module name or module values YAML) - use runtime config to enable debug - add locking ModuleManager is now the only component that runs enabled scripts. It is responsible for calculating ModulesReload/ReloadAll event. It lists Helm releases once at start to detect initial enabled modules and modules to purge. - fix: Fresh config values for enabled scripts (#184, #16) AddonOperator uses task ConvergeModules to handle changes in ConfigMap or global values and reload all modules or only changed. - fix: ModulePurge tasks moved between GlobalSynchronization and first ConvergeModules (#233) - fix: Clear queues from tasks for disabled module or errored hooks on ConfigMap changes (#43) - ref: ConvergeModules is a new multi-phase task. Other: - mocks for HelmResourcesManager and KubeConfigManager - Helm struct instead of global variables helm.NewClient and helm.HealthzHandler - by dependabot: update gomega
diafour
added a commit
that referenced
this issue
May 25, 2022
* fix: more responsive ConfigMap changes Huge refactoring to speedup reactions to ConfigMap changes. Fixes in enabled state calculations. KubeConfigManager is now responsible to signal if config is changed or invalid. - fix: Update metric if ConfigMap is invalid (malformed module name or module values YAML) - use runtime config to enable debug - add locking ModuleManager is now the only component that runs enabled scripts. It is responsible for calculating ModulesReload/ReloadAll event. It lists Helm releases once at start to detect initial enabled modules and modules to purge. - fix: Fresh config values for enabled scripts (#184, #16) AddonOperator uses task ConvergeModules to handle changes in ConfigMap or global values and reload all modules or only changed. - fix: ModulePurge tasks moved between GlobalSynchronization and first ConvergeModules (#233) - fix: Clear queues from tasks for disabled module or errored hooks on ConfigMap changes (#43) - ref: ConvergeModules is a new multi-phase task. Other: - mocks for HelmResourcesManager and KubeConfigManager - Helm struct instead of global variables helm.NewClient and helm.HealthzHandler - by dependabot: update gomega - reduce verbosity for info log level Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The current implementation has possible deadlock: if the module has errors, either in the helm templates or in hooks, the tasks are stuck in the queue and disabling the module in ConfigMap don't help, because of module tasks are not removed from the queue.
Proposed change: When the module becomes disabled (in ConfigMap, or by any other means) the following should happen (in the following order):
The text was updated successfully, but these errors were encountered: