Open cfergeau opened 1 year ago
There was more discussion around this in relation with https://github.com/crc-org/crc/commit/b672c81d3e020f460000c69f33a226cadce9e5f4
The discussion was "should disk resize start working for bundle 4.13.0 when we fix it for newer bundles with a newer crc release?"
My take on this is that what was working before with the 4.13.0 bundle keeps working, what was not working does not have to start working, especially if this requires 4.13.0-specific code. After disk resizing is fixed for newer bundles, crc start
must still be working with a 4.13.0 bundle. But after crc config set disk-size 50
, it's ok if crc start
fails as it was not working before anyway, and it's easy to workaround (don't try to resize disk if you need to keep using the 4.13.0 bundle, upgrade to a newer bundle if you have to have disk resize)
This should be a discussion?
This should appear clearly in our documentation if we only ensure N/N-1 keep working wrt bundles and if we make no guarantees for anything else.
Yes. However, the whole CCS is not mentioned. There were concerns about this. Not sure what @themr0c thinks about this?
I am happy to document whatever you decide. I am not an expert regarding support policies.
not an expert regarding support policies.
We might want something similar to: https://docs.openshift.com/container-platform/4.13/cli_reference/odo-important-update.html
Users can try to use any bundle version they want with
crc
. Most of the time this works because we did not make breaking changes in CRC recently. I think a warning is printed when crc is used with a version of the bundle which is not the version the crc binary was built/shipped with.There has been some breaking changes discussions in https://github.com/crc-org/crc/pull/3712#issuecomment-1600058569 but we should document once and for all what our policy is.
This should appear clearly in our documentation if we only ensure N/N-1 keep working wrt bundles and if we make no guarantees for anything else. This is what we commit to/promise/..., but the other question is what we want to try to do. Are we fine with breaking changes in bundles every 2 bundle releases? Or do we prefer to keep compat with older bundles for more time if this is not too complicated?
And last but not least, we need a way to detect these breaking changes so that we can inform the user their bundle/crc combination is too old/too new and won't work, and that they should try something different.
Bundles have a 'format version' https://github.com/crc-org/snc/blob/763e75b9d0608c8b9472092a6fee9bcaa2a6dc17/crc-bundle-info.json.sample#L6-L11 but I'm not sure how much use we make of it.