uyuni
uyuni copied to clipboard
Shutdown attestation service gracefully
What does this PR change?
This PR refactors the attestation queue processor to allow shutting it down after being started. It also handles the shutdown hook to properly close all connections and running threads when java receives a SIGTERM
or SIGINT
signal. It also disables the Log4j internal hook because it was interfering with the new one. The logging framework shutdown is called explicitly after the processing is terminated.
Note: this PR is currently built on top of https://github.com/uyuni-project/uyuni/pull/8678, which should be merged before this one. After that, this branch should be rebased.
GUI diff
No difference.
- [X] DONE
Documentation
-
No documentation needed: only internal and user invisible changes
-
[X] DONE
Test coverage
-
Unit tests were added
-
[X] DONE
Links
Issue(s): https://github.com/SUSE/spacewalk/issues/24452
- [X] DONE
Changelogs
Make sure the changelogs entries you are adding are compliant with https://github.com/uyuni-project/uyuni/wiki/Contributing#changelogs and https://github.com/uyuni-project/uyuni/wiki/Contributing#uyuni-projectuyuni-repository
If you don't need a changelog check, please mark this checkbox:
- [ ] No changelog needed
If you uncheck the checkbox after the PR is created, you will need to re-run changelog_test
(see below)
Re-run a test
If you need to re-run a test, please mark the related checkbox, it will be unchecked automatically once it has re-run:
- [ ] Re-run test "changelog_test"
- [ ] Re-run test "backend_unittests_pgsql"
- [ ] Re-run test "java_pgsql_tests"
- [ ] Re-run test "schema_migration_test_pgsql"
- [ ] Re-run test "susemanager_unittests"
- [ ] Re-run test "javascript_lint"
- [ ] Re-run test "spacecmd_unittests"