crc icon indicating copy to clipboard operation
crc copied to clipboard

[Task] How to use the updated bundle with a specific version of CRC

Open praveenkumar opened this issue 2 years ago • 2 comments

We already decoupled the bundle but a specific bundle version still tied with a specific CRC release. We also pushed the (okd/podman) bundles to quay so that we can easily update it.

As part of https://github.com/code-ready/crc/issues/3206 epic we put some details around how to consume those bundle and https://github.com/code-ready/crc/issues/3206#issuecomment-1154851115 have 3 different way to make use of those bundle. This task is to discuss all those different way and try to figure out which one we choose and implement.

  • It could check whether crc_libvirt_$bundleVersion is unpacked or not in cache folder.
    • This is currently how it works. We check the tied $bundleVersion is unpacked or not in cache folder then pull it from quay.
  • It could use the latest 4.10.x version available in the cache folder as long as it's newer than $bundleVersion.
    • Does that latest bundle user need to put or we automate (and how?)
  • It could use the version specified on the commandline, downloading it from quay if it's not there.
    • This means we put a link in the docs or as part of crc version command to provide available tags to use with command line?
  • It could fetch the latest 4.10.x version available on quay, either automatically or when instructed to do so
    • This is mostly explained https://github.com/code-ready/crc/issues/3206#issuecomment-1154839207 here.

praveenkumar avatar Aug 23 '22 12:08 praveenkumar

https://github.com/code-ready/crc/issues/3206#issuecomment-1154851115 were various potential ways of figuring out which bundle to use without using crc version tags in the registry as described in https://github.com/code-ready/crc/issues/3206#issuecomment-1154839207

This issue/discussion seems to already be about "how to automatically use the latest bundle we built". Imo it would be very useful to start with "how to manually specify a bundle to use which is not the one crc was built against, and automatically download it". This will be a good opportunity to restrict what we support/don't support if we want to add any restrictions at all (I'd initially go with "same OpenShift 'major' version (4.11), but newer than what crc was built against").

Once this is in place, we can add a way to automatically detect a newer bundle is available, and make use of it. Will we need moving crc version tags in the quay.io repository or not for this? Will we even make use of quay.io for the openshift bundles, or will they be on mirror.openshift.com for a bit longer? While they are on mirror.openshift.com, it's not even really useful to discuss quay.io tagging. I still have the feeling it's simpler not to add them See https://github.com/code-ready/crc/issues/3206#issuecomment-1154856212 for a suggestion which hopefully would cover most needs

cfergeau avatar Aug 23 '22 12:08 cfergeau

Will we even make use of quay.io for the openshift bundles, or will they be on mirror.openshift.com for a bit longer?

With the discussion with @veillard I got green signal for pushing the OCP bundles to quay also but sync it to mirror also for time being. I think before making the move we want to have mirror option (which is mostly the doc) but more important how user can consume those images from mirror. There comes the https://github.com/code-ready/crc/issues/3277 issue which we need to solve first.

praveenkumar avatar Aug 24 '22 05:08 praveenkumar

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Oct 29 '22 06:10 stale[bot]