-
Notifications
You must be signed in to change notification settings - Fork 26
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
Update/Reload without downtime #713
Draft
daipom
wants to merge
31
commits into
master
Choose a base branch
from
feature-nodowntime
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
deb: * preinst: detect locally installed plugins * collect plugin information via fluent-diagtool * postinst: install locally installed plugins * if network access is denied, giving up install plugins rpm: * %pre $1 == 2 (upgrade): detect locally installed plugins * collect plugin information via fluent-diagtool * %post $1 == 2 (upgrade): install locally installed plugins * if network access is denied, giving up install plugins Signed-off-by: Kentaro Hayashi <[email protected]>
auto: Automatically restart service without downtime. service restart will be fired during %preun (upgrade). manual: Manually restart service by user. If user select manual, suppress auto-restart with automatically generated service hook %post and %systemd_postun_with_restart. when downgrading from v6, use manual and uninstall v6 then reinstall v5. Signed-off-by: Kentaro Hayashi <[email protected]>
Accidentally debug print in preinst was pushed in 26785ce. Signed-off-by: Kentaro Hayashi <[email protected]>
When upgrading package, the following hook is executed: plugins should be installed before restarting service. Before: * old prerm * new preinst collect plugin information * old postrm auto restart * new postinst install plugins After: * old prerm collect plugin information * new preinst * old postrm * new postinst install plugins and auto restart Signed-off-by: Kentaro Hayashi <[email protected]>
fluentd_auto_restart will be launched during "configure" phase, so there is no need to check that action. This is occurred by migrating restart logic from postrm to postinst. Signed-off-by: Kentaro Hayashi <[email protected]>
It is useful to investigate maintainer scripts. Signed-off-by: Kentaro Hayashi <[email protected]>
Added if guard to check whether specified hook script exist or not. Signed-off-by: Kentaro Hayashi <[email protected]>
Signed-off-by: Shizuo Fujita <[email protected]>
… focal Signed-off-by: Shizuo Fujita <[email protected]>
Signed-off-by: Shizuo Fujita <[email protected]>
Signed-off-by: Shizuo Fujita <[email protected]>
Signed-off-by: Shizuo Fujita <[email protected]>
To verify major upgrade in workflow, it needs more package build time. Signed-off-by: Kentaro Hayashi <[email protected]>
Signed-off-by: Kentaro Hayashi <[email protected]>
Use this to test this feature. * fluent/fluentd#4624 Signed-off-by: Daijiro Fukuda <[email protected]>
This PR adds testing to ensure that package upgrades succeed without data loss. At present, the following plugins will be checked: - in_tcp - in_udp - in_syslog Signed-off-by: Shizuo Fujita <[email protected]>
* enable debug by default * support any package and architecture * untabify Signed-off-by: Kentaro Hayashi <[email protected]>
Before: * missing fluent-plugin was installed After: * missing fluent-plugin was installed * missing dependency gem was also installed NOTE: * if missing gem requires development packages to build it, it will fail. * fluent-diagtool depends on highly systemd service, so it is simple just to use fluent-gem detecting missing gems. --------- Signed-off-by: Kentaro Hayashi <[email protected]>
add test to update with auto / manual feature. Signed-off-by: Shizuo Fujita <[email protected]>
Remove environment variables that prevent the Update/Reload without downtime feature. This is because an upgrade with a Ruby version update will not work correctly due to environment variables for the old Ruby. Signed-off-by: Shizuo Fujita <[email protected]>
Since Ubuntu 24.04, needrestart package kicks service restart out of package maintainer scripts. Take back fluentd service under control for us, it had better to suppress it. NOTE: It seems that needrestart package is available from EPEL 8/9, but it is broken for a long time, so just ignore it. Needrestart package missing dependency https://bugzilla.redhat.com/show_bug.cgi?id=2154293 Signed-off-by: Kentaro Hayashi <[email protected]>
Even though needrestart package was installed, service will not be restarted out of the maintainer script (hook). Signed-off-by: Kentaro Hayashi <[email protected]>
Signed-off-by: Shizuo Fujita <[email protected]>
Signed-off-by: Shizuo Fujita <[email protected]>
This should fix following error when build Windows package on `feature-nodowntime` branch. ``` Downloading fluentd-1.17.1 revealed dependencies not in the API or the lockfile (logger (~> 1.6)). Either installing with `--full-index` or running `bundle update fluentd` should fix the problem. rake aborted! Command failed with status (34): [C:/opt/fluent/bin/bundle _2.3.27_ install ...] C:/fluent-package-5.1.0/fluent-package/Rakefile:462:in `block (2 levels) in defi ne' Tasks: TOP => msi:selfbuild => build:all => build:licenses => build:gems => buil d:ruby_gems (See full trace by running task with --trace) rake aborted! ``` Signed-off-by: Shizuo Fujita <[email protected]>
Update the test to ensure : * There is no issue even if an upgrade is performed that includes a Ruby major version update. * There is no data loss even if data is sent until the main process is replaced. --------- Signed-off-by: Shizuo Fujita <[email protected]>
Signed-off-by: Shizuo Fujita <[email protected]>
kenhys
force-pushed
the
feature-nodowntime
branch
from
November 19, 2024 07:51
517049c
to
91799bd
Compare
Signed-off-by: Shizuo Fujita <[email protected]> Signed-off-by: Kentaro Hayashi <[email protected]>
kenhys
force-pushed
the
feature-nodowntime
branch
from
November 19, 2024 07:53
91799bd
to
112d5c5
Compare
Use https://github.com/fluent/fluentd/tree/restart-without-downtime-test-for-1.18 for test as version 1.18. Signed-off-by: Daijiro Fukuda <[email protected]>
This PR will allow to switch auto/manual restart settings with DEB package even when Fluentd is running. --------- Signed-off-by: Shizuo Fujita <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Enhancements on the package side to support the following: