-
Notifications
You must be signed in to change notification settings - Fork 315
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
Yet another review on hooks #7645
Comments
Thanks for the fantastic feedback. As you noted, there's a ton of open issues related to hooks. We're going to gather this up as an epic to do a holistic look at what hooks need to be added and what issues need to be fixed. |
Actually I already blocked by missing these hooks. Any implementation will be nice. Before upgrade I want prepare cluster for upgrade. For example:
But, currently, I cannot control this. Such upgrade will just break all. |
Also related: #5135 |
I ended up writing a habitat "wrapper" called cluster patcher that allows for some of the behavior you state you're blocked on currently, I'll clean it up and share it here if anyone is interested. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. We value your input and contribution. Please leave a comment if this issue still affects you. |
This issue has been automatically closed after being stale for 400 days. We still value your input and contribution. Please re-open the issue if desired and leave a comment with details. |
Yet another review on hooks
Because of new supervisor behavior here is what we have:
config/*
change - reconfigure hook is triggeredhooks/*
change - unconditional uncontrollable restart is triggered.Possible way to workaround this is extract all moving parts in
config/
and detect these changes (#7644) inreconfigure
hook, then trigger restart if necessary.I tried to gather all hooks and its current state in the following table:
init
run
post-run
reconfigure
post-stop
file-updated
suitability
stop
- missingupgrade
- missingdowngrade
- missingSuitability
Ambiguous Docs leader down is not a leader service down, but the leader supervisor down
Stop
When service asked to stop use this hook instead of kill. Anything printed to stdout resets timeout counter.
This is so obvious but missing hook. I can control kill signal, timeouts, retries, etc.
Currently, for some services I have to set ridiculous huge timeout because service may finish their work in 5 seconds or in 5 minutes.
Upgrade / Downgrade
Note on
upgrade
/downgrade
hooks because such topic is really complicated:If an user wants to deal with upgrade/downgrade he is probably should thinking in a way how to migrate from current version to new / old one. Upgrade / Downgrade may skip some versions too.
That's why when upgrading we should try new files and hooks, but when downgrading current one. There is also should be a way to get new / old pkg info. Add template data like
{{pkg}}
for updated package{{update_pkg}}
.Issues
The following issues are likely related:
The text was updated successfully, but these errors were encountered: