-
Task
-
Resolution: Done
-
Major
-
None
-
None
-
None
WHY
All RHOAM images need to be productized
WHAT
Currently, the marin3r operator is using local installation type: https://github.com/integr8ly/integreatly-operator/blob/master/products/installation.yaml#L69 - this means that the Marin3r bundle is applied to the cluster from this folder: https://github.com/integr8ly/integreatly-operator/tree/master/manifests/integreatly-marin3r and therefore, we are not using productized bundle of marin3r.
The current version of marin3r we are installing as part of RHOAM is: 0.12.3 which reference to can be found here: https://github.com/integr8ly/integreatly-operator/blob/master/manifests/integreatly-marin3r/marin3r.package.yaml#L2
This is also currently latest available version of the marin3r as can be seen in Marin3r upstream repository here: https://github.com/3scale-ops/marin3r/tree/main/bundle
Productized Marin3r means that the marin3r build would go through CPaaS pipelines and the outcome of the process would be an errata (advisory) with "shipped_live" status, this would essentially mean that the Marin3r could found in the Red Hat Registry.
And in fact, we can see Marin3r bundles here: https://catalog.redhat.com/software/containers/3scale-mas/marin3r-operator-bundle/63c94455014818ed008e5d20?architecture=amd64&image=65363db5508b78f00898eda4 (version 0.12.2-x - which is older version then the one we have) as of 26.01.2024
Need to look at Go toolbox images used in midstream also https://gitlab.cee.redhat.com/3scale/marin3r-midstream/-/blob/rhoam-1-rhel-8/distgit/containers/marin3r-operator/Dockerfile.in?ref_type=heads#L2
HOW
We currently have a pipeline that builds the Keycloak, 3scale and MCG bundles into an index. That index is then used by RHOAM.
We want this pipeline to also be able to consume Marin3r bundles and build up an index so that it can be consumed by RHOAM.
The general approach is that we:
1) Have a list of bundles in this folder: https://github.com/integr8ly/integreatly-operator/tree/master/bundles
2) The pipeline https://gitlab.cee.redhat.com/integreatly-qe/ci-cd/-/blob/master/pipelines/build-product-index.groovy calls an INTY make command, for example: create/3scale/index
3) The make command calls script: https://github.com/integr8ly/integreatly-operator/blob/master/scripts/create-product-index.sh
4) The script pulls the bundle specified in #1
5) It creates the index
6) The index is then updated in the installation.yaml: https://github.com/integr8ly/integreatly-operator/blob/master/products/installation.yaml#L63 in form of PR and all necessary tests are being done
The productized marin3r bundles can be found here (PLEASE NOTE: Only progress with this work once marin3r 0.13.0 is publicly available)
Update RHOAM to use the new index
See thread here for details on the productized bundle
TESTS
In general, Tomas (QE) is going to perform tests of the marin3r build 0.13.0 before it hits the production env. However, as usual, it's good to perform basic installation + upgrade tests
Because we are dealing with Marin3r, additional tests should include rate limiting tests
DONE
We have extended our pipeline to also support Marin3r index build
We have extended our Intly makefile and scripts to support building Marint3r index
We have included 0.13.0 Marin3r in RHOAM
RHOAM works as expected with the new Marin3r
- mentioned on