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

Avoid blocking openQA jobs on Git updates #6055

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

Martchus
Copy link
Contributor

@Martchus Martchus commented Nov 12, 2024

  • Unblock openQA jobs if Git updates failed for two times
    • Change the behavior with git_auto_update = yes to be more like it
      was with the fetchneedles approach (that also did not block jobs in
      case of failures)
    • Avoid running into timeouts in openQA-in-openQA tests which expect
      jobs to be scheduled in a more timely manner, see
      https://progress.opensuse.org/issues/169204
  • Keep blocking openQA jobs if any of the repositories required by the
    scheduled jobs was explicitly specified

Still a draft as I still need to restrict it to network issues.

* Use `search(…)->delete` to delete tasks using a single query if possible
* Use signatures in relevant functions
Copy link

codecov bot commented Nov 12, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 98.98%. Comparing base (2c4a234) to head (e2fc65d).

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #6055   +/-   ##
=======================================
  Coverage   98.98%   98.98%           
=======================================
  Files         395      395           
  Lines       39452    39481   +29     
=======================================
+ Hits        39052    39081   +29     
  Misses        400      400           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

etc/openqa/openqa.ini Outdated Show resolved Hide resolved
* Unblock openQA jobs if Git updates failed for two times
    * Change the behavior with `git_auto_update = yes` to be more like it
      was with the `fetchneedles` approach (that also did not block jobs in
      case of failures)
    * Avoid running into timeouts in openQA-in-openQA tests which expect
      jobs to be scheduled in a more timely manner, see
      https://progress.opensuse.org/issues/169204
* Keep blocking openQA jobs if any of the repositories required by the
  scheduled jobs was explicitly specified
* Fix "analogous"
* Rewrite comment containing misspelled "referrers"
The starting point for the previous commit "Avoid blocking openQA jobs on
Git updates" were network-related issues, see
https://progress.opensuse.org/issues/169204. So it makes sense to limit it
to network-related changes.
@Martchus Martchus marked this pull request as ready for review November 12, 2024 14:39
combined_like { $minion->foreground($job->id) } qr/fake disconnect/, 'error logged';
is $job->info->{state}, 'failed', 'job failed for real after retries exhausted';
}
if $gru_task;
Copy link
Member

@kalikiana kalikiana Nov 13, 2024

Choose a reason for hiding this comment

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

Looks like the unit test never sets git_auto_update_method so strict is not tested?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

That's true. Just like we never test for "no" in "yes"/"no" settings. Everything that is not "yes" is simply "no". And here it is similar, so everything that is not "best-effort" is "strict". I could of course add some kind of validation in the config parser and print a warning for invalid values. (That's not how we usually handle this, though.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants