uyuni icon indicating copy to clipboard operation
uyuni copied to clipboard

Shutdown attestation service gracefully

Open mackdk opened this issue 8 months ago • 1 comments

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"

Before you merge

Check How to branch and merge properly!

mackdk avatar Jun 11 '24 09:06 mackdk