Barak Korren created OVIRT-1041:
-----------------------------------
Summary: Base experimantal flow on transactional repos
Key: OVIRT-1041
URL:
https://ovirt-jira.atlassian.net/browse/OVIRT-1041
Project: oVirt - virtualization made easy
Issue Type: Improvement
Components: Repositories Mgmt
Reporter: Barak Korren
Assignee: infra
Priority: High
We recently seen various issues with the way the experimental repos are managed:
* The latest.tested repos is close to unusable because it changes very rapidly and does
not keep history around
* Its impossible to have more then one experimental flow running in parallel because there
can be only one latest.under_test repo
* We've seem various race conditions happening with the experimental repos because
they are manipulated both by the 'deploy-to-experimental' jobs and by the
'test-repo' jobs.
* The experimental repo is manipulated by various secret and undocumented scripts in
resources.ovirt.org. This makes things hard to debug.
* It is close to impossible to reproduce experimental runs because the exact repo used for
those runs acn get destroyed as soon as the run is done
We've recently created the technology to maintain transactional mirrors (see
OVIRT-575). It is desirable to use the same technique for managing the experimental
repos.
Here is a breakdown of the steps to accomplish this task:
# The mirrors management script needs YUM repos to sync from. We can actually make each
build_artifacts jobs generate its own mini repo by running 'createrepo' in
'exported-artifacts'.
# We need to make the 'deploy-to-experimental' job run the mirror management
script to sync built artifacts into the relevant repo and create a snapshot.
# Once we have the above, we can treat the experimental repo just like any other repo in
the OST reposync file. The same work that will be done to inject mirrors into the
experimental flow can also inject the experimental repo snapshots.
# If we still want the experimental 'latest.tested' to be published on
resources.ovirt.org, we can just 'reposync' it from the mirrors server once the
OST run is successful. That published repo can include package and metadata history is it
can be used by external consumers even if it changes frequently.
--
This message was sent by Atlassian JIRA
(v1000.695.1#100025)