This repository is for building the ACS (downstream) operator indexes on Konflux.
Comment in the PR /test <job_name>
(e.g. /test operator-index-ocp-v4-16-on-push
).
See more in our docs.
make clean && make valid-catalogs
Run ./scripts/get-built-images.sh [COMMIT]
to fetch built operator catalog images for the provided COMMIT
for each supported OCP version.
Note: The script uses current branch commit if no COMMIT
argument provided.
This directory contains two versions of the catalog, in subdirectories catalog-bundle-object
and catalog-csv-metadata
.
The former is expected by OpenShift versions up to and including 4.16, and the latter - by 4.17 and later.
See konflux docs.
- Make sure you logged in to the Konflux cluster.
- Make sure you checked out the latest master branch:
git checkout master && git pull
- Generate Release and Snapshot CRs by running
./scripts/generate-releases.sh <staging|prod>
. Usestaging
for test release andprod
for production one. - (Skip for
staging
release.) Create a PR which adds the file created by the script, get the PR reviewed and merged. - (Skip for
staging
release.) Go to the #acs-operator-index-release channel, and:- make sure the previous operator index release is complete (has a green check mark emoticon)
- if not, coordinate with the person conducting that release
- once that release is complete, start a new thread for your release
- Apply generated CRs to the cluster:
oc create -f release-history/<YYYY-MM-DD>-<SHA>-<staging|prod>.yaml
- Monitor release using monitor release script. Each supported OCP version has its own
Release
. Successfully finishedRelease
hasSucceeded
status. - Follow the restarting release step below if any of the
Release
s fails for any OCP version. - (Skip for
staging
release.) Once done, go back to the Slack thread you started earlier, add a message that your release is done and add a green check mark emoticon on the initial message of the thread. - Once releases for all OCP versions successfully finish, then the operator catalog release is done. If you perform it as part of a bigger release procedure, you should go back to that procedure and continue with further steps.
Run ./scripts/monitor-release.sh [COMMIT]
to see the current status for the releases associated with the provided COMMIT
.
Note: The script uses current branch commit if no COMMIT
argument provided.
If a particular Release fails (i.e. the CRs status changes to Failed
), you should restart it until it succeeds. Failing to do so will leave corresponding OpenShift Operator catalog without updates.
- Go to the list of Konflux applications.
- Open
acs-operator-index-ocp-v4-XX
Konflux application for OCP version you want to restart (XX
means minor part of the OCP version). - Select
Releases
tab. - Find release by name you want to restart.
- Click on the action menu (3 dots) on the right.
- Press "Re-run release" option. This creates a new Release CR.
- Monitor the new release.
- Repeat restarting release if the release keeps failing. If you find yourself re-running a given
Release
five times or more, open a high severity request in #konflux-users Slack channel describing the problem and providing names/links to Release CRs.