Skip to content
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

Cleanup the setup from the database related bits #9827

Draft
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

cbosdo
Copy link
Contributor

@cbosdo cbosdo commented Feb 21, 2025

What does this PR change?

Moving the database to a separate container requires to cleanup several things:

  • the setup script should no longer create the databases and users
  • All the setup for local database can go away
  • The postgresql-server has to be removed from the main image

GUI diff

No difference.

  • DONE

Documentation

Test coverage

  • Cucumber tests were adjusted

  • DONE

Links

Issue(s): Part of https://github.com/SUSE/spacewalk/issues/25363

  • 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!

Copy link
Contributor

👋 Hello! Thanks for contributing to our project.
Acceptance tests will take some time (aprox. 1h), please be patient ☕

You can see the progress at the end of this page and at https://github.com/uyuni-project/uyuni/pull/9827/checks
Once tests finish, if they fail, you can check 👀 the cucumber report. See the link at the output of the action.
You can also check the artifacts section, which contains the logs at https://github.com/uyuni-project/uyuni/pull/9827/checks.

If you are unsure the failing tests are related to your code, you can check the "reference jobs". These are jobs that run on a scheduled time with code from master. If they fail for the same reason as your build, it means the tests or the infrastructure are broken. If they do not fail, but yours do, it means it is related to your code.

Reference tests:

KNOWN ISSUES

Sometimes the build can fail when pulling new jar files from download.opensuse.org . This is a known limitation. Given this happens rarely, when it does, all you need to do is rerun the test. Sorry for the inconvenience.

For more tips on troubleshooting, see the troubleshooting guide.

Happy hacking!
⚠️ You should not merge if acceptance tests fail to pass. ⚠️

@cbosdo
Copy link
Contributor Author

cbosdo commented Feb 25, 2025

This PR needs the changes in https://build.opensuse.org/package/show/home:cbosdonnat:branches:systemsmanagement:Uyuni:Master:Docker/uyuni-master-pgsql in order for the Java unit tests to pass. Getting the image submitted before the PR would break all other tests based on master with evr_t already exists error.

@cbosdo cbosdo force-pushed the postgresql-cleanup branch 2 times, most recently from cf6f990 to 4e8560b Compare February 27, 2025 16:40
@cbosdo cbosdo force-pushed the postgresql-cleanup branch 8 times, most recently from 095b365 to e8bb270 Compare February 28, 2025 13:59
@cbosdo cbosdo force-pushed the postgresql-cleanup branch 2 times, most recently from 5ee9069 to f4d39a1 Compare February 28, 2025 16:06
cbosdo added 3 commits March 4, 2025 15:34
PostgreSQL containers rely on the postgresql process to be PID1 and
receiving SIGINT. Without exec the entrypoint shell is still the PID1
and would not pass the signal to the child.
@cbosdo cbosdo force-pushed the postgresql-cleanup branch 2 times, most recently from c186bc9 to 21d0087 Compare March 4, 2025 14:35
The DB setup is now either handled in the DB container init for what
requires superuser permissions or in `mgr-setup`. All other DB setup
bits from spacewalk-setup and uyuni-setup-reportdb can now be removed.

Writing the DB properties to rhn.conf still has to happen in
`spacewalk-setup` due to the way that file is generated by satcon
script. This would be a mess to cleanup in a future PR.

The DB users are no longer superusers, so uyuni-setup-reportdb-user has
to handle the user deletion a bit differently as only the user itself or a
superuser can drop the objects it owns.
@cbosdo cbosdo force-pushed the postgresql-cleanup branch from 21d0087 to d5815a6 Compare March 4, 2025 15:00
@cbosdo cbosdo force-pushed the postgresql-cleanup branch from d5815a6 to 18a8e43 Compare March 4, 2025 15:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant