Uploaded image for project: 'OpenShift Service Mesh'
  1. OpenShift Service Mesh
  2. OSSM-10743

OSSM 3.0.5 & 3.1.2 (Pre ReleaseCandidate) Create build or Release Candidate

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Done
    • Icon: Undefined Undefined
    • None
    • None
    • Sail Operator

      Konflux automatically pushes containers to the staging environment. Each build and stage release is represented by a snapshot. However, the creation of a FBC is a manual step (for now) requiring the Release Candidate to select the latest bundle snapshot to create a release candidate.

       

      This task can be repeated more times, every time we need a newer build.
      However, if you plane to create final build, do this steps only AFTER `(Pre ReleaseCandidate) Konflux code-freeze` task is finished.

      Tasks: (must be done sequentially) (do these tasks for both,  OSSM and Kiali)

      1. Make sure that all git submodules are up to date via `make validate-git-modules` in the ossm/kiali konflux repository and in the all branches for the release (ossm-3.0, ossm-3.1, ossm-2.6, kiali-2.11 etc.)
      2. Wait until all `on-push` builds are finished in Konflux console UI (Applications -> OSSM<version>/Kiali<version> -> Activity  -> Pipeline runs tab )
        1. Check there also that the latest enterprise contract pipeline for the latest bundle build passed
      3. Run a bundle build in the Konflux console UI to be sure that you have a build with the latest code
        1. Go to Applications -> OSSM<version>/Kiali<version> -> Components -> click on 3 dots in Bundle row and click on Start new build 
        2. Check pipeline after you click on rebuild in konflux UI
      4.  Check that the latest bundle build SHA in the component page is the same as the bundle sha in the latest snapshot release page
        1. Go to Applications -> OSSM<version>/Kiali<version> -> Components and look at the bundle sha (sha is part of quay url)
        2. Go to Applications -> OSSM<version>/Kiali<version> -> Snapshots -> open the latest one and look at bundle sha (sha is part of quay url in Container Image column)
        3. Compare the shas, they must be the same!
      5. Update the unreleased bundle image digest (SHA) in `catalog/catalog-template.yaml` in kiali-fbc https://gitlab.cee.redhat.com/istio/konflux/kiali-fbc  and ossm-fbc https://gitlab.cee.redhat.com/istio/konflux/ossm-fbc konflux repo. If needed, add a new operator entry in the corresponding channel.
        1. SHA are shown in konflux UI, go to the Application (ossm-3 or kiali-3), then activity tab (and Pipeline runs), find out the latest `..-bundle-on-push..` (the one which you trigger manually in previous step) and open it.
        2. You will see `IMAGE_DIGEST` sha there.
        3. Save the snapshot information (name and link to the snapshot page) and `IMAGE_URL` into Service Mesh 3.x Test Tiers & testing Matrix, because, if we want to release this particular bundle, we need to fill the snapshot name to the Release CR before release.
      6. Validate that the snapshot contains the latest commits from gitmodules, run `make validate-snapshot SNAPSHOT="<snapshot name>"` in the ossm/kiali konflux repository and in the all branches for the release (ossm-3.0, ossm-3.1, ossm-2.6, kiali-2.11 etc.)
        1. *not done yet for ossm-3.0 and ossm-2.6 branches
      7. Make sure, you are logged in to the konflux cluster or set `REGISTRY_USER` and `REGISTRY_PASSWORD` envs with credentials to registry.redhat.io
      8. Run `make generate-fbc-catalog` to update a catalog and create a draft PR for that
        1. e.g. https://gitlab.cee.redhat.com/istio/konflux/kiali-fbc/-/merge_requests/58 / https://gitlab.cee.redhat.com/istio/konflux/ossm-fbc/-/merge_requests/47 
      9. Verify in the PR, that all newer shas in the commit for related images are the same as components shas in that snapshot
        1. Open the snapshot for that bundle (you saved it in the previous step), you will see there all component images with shas, compare those shas against the PR
          1. For kiali, you need to verify also previous Kiali images (e.g. 3.0, 2.6, etc.), because in the PR, you will see changes of previous images as well. Go to https://konflux-ui.apps.stone-prod-p02.hjvn.p1.openshiftapps.com/ns/service-mesh-tenant/applications/kiali-<version>/components and check the shas for each previous version
          2. Also, do not forget to save the information about the snapshot of previous kiali version to the test matrix document (ossm2 or ossm3 test matrix), since that information is needed for release!
            1. (TODO for OSSM 3.1, will there be component change of 3.0? if yes,we need to include that info here also)
      10. Verify in the PR, that shas for other related images are the same as we released before (compare with https://catalog.redhat.com/search?searchType=containers  )
      11. Once you verify that, mark PR ready for review, ask for a review and merge it. 
      12. After merge, FBC will be pushed to stage, so for each FBC ( in konflux application )
        1. Go to Applications -> ...FBC... (open particular FBC) -> Releases Tab
        2. Find out latest release to stage (the date and time should be the same when the PR was merged)
          1. In case there isn't stage release with a particular date, check Activity tab whether there is Failed `on-push` pipeline, and if yes, rerun it manually (click on 3 dots and click on Rerun)
        3. When you open Managed pipeline for that release, you will see IIB (`iibIndexImage`), save it into Service Mesh 3.x Test Tiers & testing Matrix for the particular FBC version
        4. When you open Snapshot information for that release, you will see `Container Image` , save it into Service Mesh 3.x Test Tiers & testing Matrix for the particular FBC version
        5. Save the snapshot information (name and link to the snapshot page) and `IIB` into Service Mesh 3.x Test Tiers & testing Matrix, because, if we want to release this particular FBC, we need to fill the snapshot name to the Release CR before release.
      13. Once all information has been entered into the test matrix document, the table containing all images/snapshot information should be protected from accidental editing (e.g., when users copy an IIB image).
        1. Select the table.
        2. Right-click and navigate to "View more cell actions."
        3. Choose "Protect range."
        4. Add a description (e.g., the current date).
        5. Click "Set permissions."
        6. Select the option "Show a warning when editing this range."
        7. Click "Done."
      14. Notify NID team ( in slack #forum-ocp-network-edge ) about the newer build

      Make sure that all is in sync every time when a build is changed (snapshot)

      Tasks for ISTIOCLI:

      1. Go to Applications -> istioctl<version>/Kiali<version> -> Components -> click on 3 dots in istioctl row and click on Start new build 
      2. then, go to activity tab (and Pipeline runs), find out the latest `..-on-push..` (the one which you trigger manually in previous step) and open it.
      3. Save the snapshot information (name and link to the snapshot page) and `IMAGE_URL` into Service Mesh 3.x Test Tiers & testing Matrix,

              mkralik@redhat.com Matej Kralik
              mkralik@redhat.com Matej Kralik
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: