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

RFC: config: add streams[].skip_cloud_images #810

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

jlebon
Copy link
Member

@jlebon jlebon commented Feb 8, 2023

In RHCOS, we're often in a state where we don't care about regenerating all the disk images and instead just want the containers. We could do this by manually adding all the images we don't care about as skip_artifacts entries, but that's cumbersome and error-prone.

Add a skip_cloud_images knob for this. We still generate the QEMU and live artifacts for kola tests to run and because they're useful to debug, but we drop everything else.

In RHCOS, we're often in a state where we don't care about regenerating
all the disk images and instead just want the containers. We could
do this by manually adding all the images we don't care about as
`skip_artifacts` entries, but that's cumbersome and error-prone.

Add a `skip_cloud_images` knob for this. We still generate the QEMU
and live artifacts for kola tests to run and because they're useful to
debug, but we drop everything else.
Copy link
Member

@cgwalters cgwalters left a comment

Choose a reason for hiding this comment

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

Awesome, yes.

Though I think this isn't just RHCOS; as I've said in the past if we e.g. added a continuous stream that rebuilt on every git push, we wouldn't also want to blast images to all the public clouds for every build either.

Copy link
Member

@dustymabe dustymabe left a comment

Choose a reason for hiding this comment

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

I wish we had better terminology than cloud here because it includes skipping things that are more hypervisor and not cloud, but honestly I can't think of anything better than skip-non-core-artifacts: true.

I would like to maybe expand this in the future to not just skip_cloud_images: true, but maybe something more like "build cloud images once every two weeks", in which case we'd be updating the git repo less often because they would still be getting built periodically.
OR maybe we just make this a parameter that can be passed at build time.

// container and QEMU image are always built and not skippable
// artifacts.
artifacts = artifacts.intersect(["extensions-container", "legacy-oscontainer",
"live", "metal", "metal4k"])
Copy link
Member

Choose a reason for hiding this comment

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

should we include hashlist-experimental here?

@jlebon
Copy link
Member Author

jlebon commented Apr 12, 2024

@mike-nguyen brought up that if we do this, it breaks the current flow of retroactively selecting cloud images from an already released z-stream when preparing a bootimage bump and replicating that. So either we'd need to change that process so that we turn it back on in time for the z-stream release when we know bootimage bumps are coming, or e.g. we add a new job (or enhance cloud-replicate) to "complete the build" with all the cloud images. The complexity there doesn't seem worth it.

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