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

QE: Improve how we wait for each product to be synchronized #7462

Merged
merged 1 commit into from
Oct 20, 2023

Conversation

srbarrios
Copy link
Member

@srbarrios srbarrios commented Aug 25, 2023

What does this PR change?

GitHub card: https://github.com/SUSE/spacewalk/issues/14933

Currently we are waiting for any reposync process running during a product synchronization.
In this PR we want to improve it:

  • More precise and wait for the particular channels related to a particular product.
  • More precise and kill product by product, not all in the same step.
    • Get rid of the computation to obtain a channels to leave running
  • Have a map to list and track all the channels related to a OS product version
  • Have a loop using run_until_ok method in spacewalk-repo-sync calls, so we avoid possible collisions when calling this command and having a process already running.
  • Have reposync features in reposync stage on CI, and not later on init_clients (that makes CI init_clients stage parallelizable again)
  • Wait for custom channels in BV in their own custom channel sync feature, instead of having a stage waiting for all of them together
  • Rename some feature files to clarify the expectations of each them.
  • Rename some features and move scenarios between features to organize fake content. Now we have:
    • srv_create_fake_channels.feature
    • srv_create_fake_repositories.feature
    • srv_sync_fake_channels.feature
  • Refactor constants to don't have values evaluated in runtime as part of a frozen map.

We also included minor changes on the fly:

  • Single quote warnings
  • Minor flaky case when navigating through the left menu
  • Fix an issue introduced some PRs ago waiting for Ubuntu/Debian packages
  • run_until_ok method was not returning the proper pair of values, but just breaking returning nil.
  • Wait for CentOS 7 ISO channel to be synced
  • Improving the rate we log a text about waiting for channels

Independent commit:

  • I temporary added a last commit to fix issues in Uyuni CI after the last changes to use Leap 15.5, I will need remove this commit if a new rebase to master fix it.

GUI diff

No difference.

  • DONE

Documentation

  • No documentation needed

  • DONE

Test coverage

  • Cucumber tests were refactored

  • DONE

Links

Ports:

  • Manager-4.3

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

@srbarrios srbarrios force-pushed the qe-improve-wait-product-sync branch 2 times, most recently from 89b228c to b1fc78a Compare August 25, 2023 12:43
@srbarrios srbarrios marked this pull request as ready for review August 25, 2023 12:43
@srbarrios srbarrios requested a review from a team as a code owner August 25, 2023 12:43
testsuite/features/support/commonlib.rb Outdated Show resolved Hide resolved
testsuite/features/support/commonlib.rb Outdated Show resolved Hide resolved
@srbarrios srbarrios force-pushed the qe-improve-wait-product-sync branch 2 times, most recently from fc3dbe1 to 0868273 Compare August 28, 2023 08:58
@srbarrios srbarrios requested a review from nodeg August 28, 2023 08:59
@srbarrios srbarrios force-pushed the qe-improve-wait-product-sync branch 2 times, most recently from 29764fb to f7a8d36 Compare August 28, 2023 09:27
nodeg
nodeg previously approved these changes Aug 28, 2023
Copy link
Member

@nodeg nodeg left a comment

Choose a reason for hiding this comment

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

LGTM. Thank you, Oscar!

@srbarrios srbarrios force-pushed the qe-improve-wait-product-sync branch 9 times, most recently from 65260c1 to 1fa45ea Compare September 14, 2023 13:26
@srbarrios srbarrios marked this pull request as draft September 14, 2023 14:18
@uyuni-project uyuni-project deleted a comment from nodeg Sep 14, 2023
@srbarrios srbarrios dismissed nodeg’s stale review September 14, 2023 14:19

I made lot of changes, I better move this to draft for now.

@srbarrios srbarrios force-pushed the qe-improve-wait-product-sync branch 24 times, most recently from fbbdbce to 84ee5f6 Compare October 20, 2023 07:48
@github-actions
Copy link
Contributor

👋 Hello! Thanks for contributing to our project.
Acceptance tests will take same 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/7462/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/7462/checks.
See the troubleshooting guide if you need any help.

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

Happy hacking!

@srbarrios srbarrios merged commit 423c171 into master Oct 20, 2023
3 of 10 checks passed
@srbarrios srbarrios deleted the qe-improve-wait-product-sync branch October 20, 2023 14:26
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.

4 participants