Project

General

Profile

Actions

action #138029

closed

coordination #154777: [saga][epic] Shareable os-autoinst and test distribution plugins

coordination #108527: [epic] os-autoinst wheels for scalable code reuse of helper functions and segmented test distributions

[research][timeboxed:10h] How to cache "wheel" repositories which are stored on github size:M

Added by okurz about 1 year ago. Updated 11 months ago.

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

0%

Estimated time:

Description

Motivation

Whilst a wheels.yaml is in place a request to GitHub is made for each reference to a GitHub-hosted repo in that file every time a job is prepared. This can amount to several hundreds of attempts daily even with a single repo. This is why we should look into caching wheel repositories, i.e. tiny git repositories, which are commonly stored on github. So I suggest we research a bit what are current best practices how to handle that. Maybe there are generic solutions and we don't want to reinvent the wheel.

Acceptance criteria

  • AC1: When there are no changes to a wheel repository we know how openQA tests on workers could access the content of wheels from a location within the openQA infrastructure without needing to reclone from github
  • AC2: When there are changes to a wheel repository we know how openQA tests would be able to access to most recent code version from wheel repos

Suggestions

  • Read #60272
  • Conduct a web research how to "cache github repositories"
  • Look into "git worktrees" for repositories and branches, see #60272
  • Look into how git uses efficient hardlinks when cloning locally, e.g. from a cache directory to the pool of the openQA worker
  • Look into the existing caching mechanisms used for needles and test distributions (rsync)
  • Optional: Build a prototype

Out of scope

  • Manage storage capacity long-term / clean-up service

Related issues 2 (1 open1 closed)

Copied from openQA Project (public) - action #118903: Repositories for wheels should be cachedNew2022-10-13

Actions
Copied to openQA Project (public) - action #154156: [spike][timeboxed:10h] Cache test distributions from git on production size:SResolvedmkittler

Actions
Actions

Also available in: Atom PDF