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

uyuni-proxy-tftpd: fix issue replacing FQDNs for proxies (bsc#1236601) #9763

Merged

Conversation

meaksh
Copy link
Member

@meaksh meaksh commented Feb 12, 2025

What does this PR change?

This PR does the following things:

fix issue replacing FQDNs on uyuni-proxy-tftpd container

The current "replacing" mechanism was causing collitions, i.a. when server FQDN is foobar.example.domain and there are other references to aafoobar.example.domain. The current code will wrongly replace both cases.

This PR fixes the match/replace code to detect avoid this situation.

fix wrong IP set on susemanager-tftpsync-recv.conf file

The apache2 configuration that allows files to be received from the upstream server need to contain the IP address of the server, and not from the proxy.

### drop code and references to susemanager-tftpsync and susemanager-tftpsync-recv.
These packages are not used anymore on containerized environment. The replacement is the uyuni-proxy-tftpd container.
we cannot do this until older proxy versions are deprecated.

GUI diff

No difference.

  • DONE

Documentation

  • No documentation needed: only internal and user invisible changes

  • DONE

Test coverage

  • No tests: this should be tested in our acceptance tests

  • DONE

Links

Issue(s): https://github.com/SUSE/spacewalk/issues/26312

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

@meaksh meaksh requested review from a team and m-czernek and removed request for a team February 12, 2025 17:02
m-czernek
m-czernek previously approved these changes Feb 13, 2025
Copy link
Contributor

@m-czernek m-czernek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1, thanks for additionally fixing the style/linting on the file!

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/9763/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/9763/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. ⚠️

@meaksh meaksh changed the title susemanager-tftpsync-recv: fix issue replacing IP addresses and FQDNs for proxies (bsc#1236601) uyuni-proxy-tftpd: fix issue replacing FQDNs for proxies (bsc#1236601) Feb 13, 2025
@meaksh meaksh force-pushed the master-fix-tftpsync-recv-ip-replacement branch from 882fc7a to e79b13d Compare February 13, 2025 11:53
agraul
agraul previously approved these changes Feb 13, 2025
@meaksh meaksh force-pushed the master-fix-tftpsync-recv-ip-replacement branch 2 times, most recently from 7562534 to d780830 Compare February 19, 2025 11:07
Copy link
Member

@agraul agraul left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using re.sub() with \b makes sense 👍

BTW, it's a bit hard to review PRs that reformat files and change logic within them. Personally I'd prefer it if we kept these files as they are and reformat them at once. That way we can also add the reformat git commit to .git-blame-ignore-revs

m-czernek
m-czernek previously approved these changes Feb 24, 2025
Copy link
Contributor

@m-czernek m-czernek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From my POV, this looks good to me. I would suggest that you squash all commits into 2 commits:

  • 1st commit for functional changes
  • 2nd commit for formatting only

That way, we can add the formatting commit to the git-blame-ignore-revs file as Alex suggests, and at the same time, we can do both in one PR.

This will dismiss my +1, but to me, that is OK and if those are the only changes, you can still take my dismissed review as +1.

I'm surprised that we first deleted part of the code and then put it back in, but I trust that this is correct and we cannot remove those parts just yet. Let's just not add commits like "remove X" and then "revert remove X" into master please :)

Finally, I see the chlog is failing - not sure if we have to do something about that, as I believe the fail is a false positive.

@meaksh meaksh force-pushed the master-fix-tftpsync-recv-ip-replacement branch from d780830 to a58048e Compare February 24, 2025 15:37
Copy link
Member

@agraul agraul left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 🚀, just make sure to merge with a merge commit to keep the git sha1 (assuming squash & merge / rebase & merge options are still available)

@meaksh meaksh merged commit daed5f5 into uyuni-project:master Feb 24, 2025
19 of 21 checks passed
@meaksh meaksh deleted the master-fix-tftpsync-recv-ip-replacement branch February 24, 2025 16:28
Copy link
Contributor

⚠️ Some changelog tests have failed. @meaksh, please review and fix the changelog issues with an additional PR.

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.

3 participants