Project

General

Profile

Actions

action #164883

closed

coordination #58184: [saga][epic][use case] full version control awareness within openQA

coordination #152847: [epic] version control awareness within openQA for test distributions

Use same minion guard for save_needle, delete_needles and git_clone size:S

Added by tinita 5 months ago. Updated 3 months ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Feature requests
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:

Description

Motivation

See #162125

All minion jobs that update git repositories should use the same minion guard to avoid conflicts

Currently we have these:

https://github.com/os-autoinst/openQA/blob/master/lib/OpenQA/Task/Git/Clone.pm#L33

my $guard = $app->minion->guard("git_clone_${path}_task", 2 * ONE_HOUR);

https://github.com/os-autoinst/openQA/blob/master/lib/OpenQA/Task/Needle/Save.pm#L58

unless my $guard = $app->minion->guard('limit_needle_task', 7200);

https://github.com/os-autoinst/openQA/blob/master/lib/OpenQA/Task/Needle/Delete.pm#L20

unless my $guard = $app->minion->guard('limit_needle_task', 7200);

Suggestion: Use git_update_${path}_task for all three.

Acceptance Criteria

  • AC1: Git minion operations can't interfere with each other

Suggestions

  • In the needle tasks, figure out the path of the git operation first and use it for the guard
  • Wait for #164886

Related issues 2 (0 open2 closed)

Related to openQA Project (public) - action #164898: Replace fetchneedles with a minion job for the regular update of git repos size:MResolvedtinita

Actions
Copied from openQA Project (public) - action #162125: [timeboxed:10h][spike] Let openQA keep test distribution checkouts up to date without needing fetchneedles size:SResolvedtinita2024-06-12

Actions
Actions #1

Updated by tinita 5 months ago

  • Copied from action #162125: [timeboxed:10h][spike] Let openQA keep test distribution checkouts up to date without needing fetchneedles size:S added
Actions #2

Updated by tinita 5 months ago

  • Description updated (diff)
Actions #3

Updated by jbaier_cz 5 months ago

  • Subject changed from Use same minion gard for save_needle, delete_needles and git_clone to Use same minion guard for save_needle, delete_needles and git_clone
Actions #4

Updated by jbaier_cz 5 months ago

  • Target version set to Ready
Actions #5

Updated by tinita 5 months ago

  • Related to action #164898: Replace fetchneedles with a minion job for the regular update of git repos size:M added
Actions #6

Updated by tinita 5 months ago

  • Description updated (diff)
Actions #7

Updated by livdywan 4 months ago

  • Subject changed from Use same minion guard for save_needle, delete_needles and git_clone to Use same minion guard for save_needle, delete_needles and git_clone size:S
  • Description updated (diff)
  • Status changed from New to Workable
Actions #8

Updated by tinita 4 months ago

  • Assignee set to tinita
Actions #9

Updated by tinita 4 months ago

  • Status changed from Workable to In Progress

So delete_needles seems to be only about database, while save_needle is about the database plus git, and git_clone is about git.
It seems to be possible to have more than one guard for a job, so I would just add the limit_needle guard to the git_clone job.

Actions #10

Updated by tinita 4 months ago ยท Edited

Related: https://github.com/os-autoinst/openQA/pull/5857 t: Avoid tampering with git checkout (merged)

Actions #11

Updated by openqa_review 4 months ago

  • Due date set to 2024-08-29

Setting due date based on mean cycle time of SUSE QE Tools

Actions #12

Updated by tinita 4 months ago

https://github.com/os-autoinst/openQA/pull/5862 Prevent git_clone to interfere with needle tasks

Actions #13

Updated by tinita 4 months ago

  • Status changed from In Progress to Resolved

https://github.com/os-autoinst/openQA/pull/5862 merged and deployed to o3 this morning

Actions #14

Updated by okurz 3 months ago

  • Due date deleted (2024-08-29)
Actions

Also available in: Atom PDF