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

Add staging repositories from stagingyum.theforeman.org that come fro… #1700

Merged
merged 1 commit into from
Oct 30, 2023

Conversation

ehelms
Copy link
Member

@ehelms ehelms commented Aug 29, 2023

…m Copr

Copy link
Member

@ekohl ekohl left a comment

Choose a reason for hiding this comment

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

I don't know how we're going to switch. Are we going to build staging repos for all supported versions or say < x.y on koji, >= x.y on stagingyum? For the latter we should also clean up the old yum_repository resources.

@ehelms
Copy link
Member Author

ehelms commented Aug 29, 2023

There are a couple options on how we can proceed for switching. Functionally, my intent is to switch nightly+ first and foremost. Unless there is a compelling reason to rebuild older releases, I do not intend to touch them (the most compelling reason I think would be to shut down Koji).

Mechanically here has been my thinking:

Option 1: Complete parallel pipelines

With this option I spin up completely new parallel pipelines for Koji vs Copr and allow them to run independently of one another. This allows us to switch from one to the other fluidly, but comes at the cost of overhead of managing and running two sets of everything. There is a challenge here as well -- only one can be the source of truth that promotes staging to production. That part cannot be done in parallel unless we were to introduce dnf.theforeman.org for Copr+ things.

Option 2: Nightly switchover

With this option we get everything in place and then we make a small adjustment to the Forklift code so that all of our existing nightly pipelines point at stagingyum. This requires no duplication of pipelines and code and takes our current mechanisms and just flips to pulling from Copr rather than Koji.

@evgeni
Copy link
Member

evgeni commented Aug 30, 2023

I don't see a big benefit in doing parallel jobs (option 1), and this PR effectively does option 2 already (minus setting the var correctly depending on version).

The only missing piece is the "promote to yum.tfm.o" source selection, but you have that covered in theforeman/foreman-infra#1875?

@ehelms ehelms force-pushed the add-staging-repositories branch 2 times, most recently from 8fbda9f to 42eb6a8 Compare August 30, 2023 14:50
@ehelms
Copy link
Member Author

ehelms commented Oct 29, 2023

@evgeni I ran this through some local testing, ready now for review.

I could not find a non-invasive way to swap to these repositories for tests the way our CI jobs work on a conditional basis as I have laid it out here -- https://github.com/theforeman/jenkins-jobs/pull/349/files

Copy link
Member

@evgeni evgeni left a comment

Choose a reason for hiding this comment

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

generally ACK, comments present :)

roles/foreman_repositories/tasks/_koji_staging_repos.yml Outdated Show resolved Hide resolved
roles/katello_repositories/tasks/_koji_staging_repos.yml Outdated Show resolved Hide resolved
yum_repository:
name: candlepin-staging
description: "Candlepin {{ katello_repositories_version }} Staging Repository"
baseurl: "https://stagingyum.theforeman.org/candlepin/{{ katello_repositories_version }}/el{{ ansible_distribution_major_version }}/x86_64/"
Copy link
Member

Choose a reason for hiding this comment

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

will the candlepin repo keep the katello versioning, or should this be candlepin_repositories_version, maybe even in an own role? (no need to solve now, nightly is nightly, but keep in mind)

Copy link
Member Author

Choose a reason for hiding this comment

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

Should go to it's own role once I finish sorting that (e.g. #1712)

@ehelms ehelms force-pushed the add-staging-repositories branch 2 times, most recently from 3a73466 to 96be4e6 Compare October 30, 2023 16:21
Copy link
Member

@Odilhao Odilhao left a comment

Choose a reason for hiding this comment

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

The pulpcore part is ok for me.

@ehelms ehelms merged commit 1962661 into theforeman:master Oct 30, 2023
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

4 participants