Uploaded image for project: 'Managed Service - API'
  1. Managed Service - API
  2. MGDAPI-6221

Create a pipeline for Marin3r to build an index from the productized bundle

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Done
    • Icon: Major Major
    • 1.41.0
    • None
    • None
    • None
    • 3
    • False
    • Hide

      None

      Show
      None
    • False
    • Yes
    • RHOAM Sprint 58, RHOAM Sprint 60, RHOAM Sprint 61

      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

              mstoklus_rhmi Michal Stokluska
              bgallagh@redhat.com Brian Gallagher
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: