Uploaded image for project: 'Red Hat 3scale API Management'
  1. Red Hat 3scale API Management
  2. THREESCALE-7609

Productize 3scale and apicast operators for 2.11.0 using skipRange in the CSV

    XMLWordPrintable

Details

    • False
    • False
    • Not Started
    • Not Started
    • Not Started
    • Not Started
    • Not Started
    • Not Started

    Description

      As part of the release of OCP 4.9 CRDs v1beta1 are being deprecated (see related issue https://issues.redhat.com/browse/THREESCALE-6941).

      Due to productization internal restrictions on the index image for the OCP 4.9 release at Red Hat operators pipelines level, the 'replaces' statement cannot be used for the CSVs in 3scale 2.11.0.

      A workaround solution has to be implemented for this with the aim of:

      • The new bundle released for 3scale 2.11.0 should work in OCP 4.9 and also on OCP 4.8, 4.7, 4.6
      • A user that is in a 3scale 2.10 installation (or even in an earlier 3scale installation like 2.9 upgrading first to 2.10 and then to 2.11) should be able to upgrade to 3cale 2.11 if it is in an OCP cluster <= 4.8. And then of course it should be able to upgrade to OCP 4.9 after that
      • A user should be able to install 3cale 2.11 from zero in OCP 4.9
      • A user should be able to install 3scale 2.11 from zero in OCP 4.8 or earlier. And then of course it should be able to upgrade to OCP 4.9 after that
      • A user should continue to be able to install a 3scale version <= 2.10 in an OCP 4.8 cluster or older

      The solution that will allow to do this is:

      Instead of releasing the CSVs for 2.11.0 with the 'replaces' statement we will use the 'skipRange' OLM's CSV annotation.

      This has to be done with both 3scale and apicast operators.

      The value of the skipRange annotation in the CSV has to be:

      for 3scale-operator:

      ...
      annotations:
        olm.skipRange: ">=0.7.0 <0.8.0" 
      ...

      Notice how the left side of the range is the CSV minor version of 3scale 2.10 and the right side of the range is the CSV minor version of 3scale 2.11.

      for apicast-operator:

      ...
      annotations:
        olm.skipRange: ">=0.4.0 <0.5.0"
      ...

      Notice how the left side of the range is the CSV minor version of 3scale 2.10 and the right side of the range is the CSV minor version of 3scale 2.11.

      We should also make sure that the CSVs for 3scale 2.11.0 do NOT contain the 'replaces' keyword anymore.

      When doing QE it should be verified that the installation still works and that upgrades work too.

       

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              msorianod Miguel Soriano
              Miroslav Jaroš Miroslav Jaroš
              Miguel Soriano Miguel Soriano
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: