update-bundle

bởi openshift

Đồng bộ related_images.json từ Konflux và tái tạo bundle OLM. Truyền chế độ dev (hình ảnh CI quay, phiên bản hiện tại) hoặc release (hình ảnh ổn định, tăng phiên bản —…

npx skills add https://github.com/openshift/lightspeed-operator --skill update-bundle

Update Bundle

One entry point, two modes:

/update-bundle dev
/update-bundle release X.Y.Z    # same as /version-update X.Y.Z
devrelease
WhenPR/CI, local e2eShipping to main
Refreshhack/related_images_from_quay.sh -r cihack/related_images_from_quay.sh -r stable
Image hostsquay.io/redhat-user-workloads/...registry.redhat.io/openshift-lightspeed/...
Bundle versionKeep current CSV spec.versionBump to X.Y.Z

Do not use oc or Konflux snapshots for routine bundle updates. related_images.json already carries konflux_prefix, stable_prefix, and revision (git tag on Quay). Resolve digests with oras.


Development mode (dev)

Step 1: Refresh related_images.json from Quay

Prerequisite: oras and jq on PATH.

./hack/related_images_from_quay.sh -l -r ci -o related_images.json

How it works (loops related_images.json):

FieldRole
konflux_prefixQuay repo base (e.g. quay.io/.../ols/lightspeed-operator)
revisionGit SHA tag on Quay → oras resolve <prefix>:<revision>
stable_prefixProduct registry path; substituted when -r stable
(no konflux_prefix)External/manual pin — image left unchanged

-l (latest): for each Konflux operand, discover the newest build on Quay (:main digest mapped to a git SHA tag, or the most recently pushed SHA tag), update revision, then resolve the digest. Use this for dev/PR bundle updates so operands are not stuck on an old snapshot pin.

Without -l, only re-resolves digests for revision values already in the file (legacy pin mode).

Entry types: see docs/olm-bundle-management.md (Related Images Management).

Optional: hack/snapshot_to_image_list.sh (requires oc login) only when you need to discover new revisions from a Konflux snapshot; then re-run related_images_from_quay.sh.

Bundle entry: when only operand images change, back up lightspeed-operator-bundle per README.md before refresh if you do not intend to update the bundle image.

Step 2: Regenerate bundle (current version)

make bundle BUNDLE_TAG=<current-version>

If CRD/RBAC changed: make manifests first.

Step 3: Verify

operator-sdk bundle validate ./bundle
git diff related_images.json bundle/

Confirm:

  • Dev: images on quay.io/redhat-user-workloads/... (or external registry.redhat.io pins)
  • snapshot_component, konflux_prefix, stable_prefix preserved; image digests updated
  • CSV spec.relatedImages and deployment args match related_images.json
  • Konflux operands current: dev refresh uses -l so revision tracks the latest Quay build (not only digest re-resolve for stale SHAs)

Operator / CSV flag check (when deployment-patch args changed):

REV=$(jq -r '.[] | select(.name=="lightspeed-operator") | .revision' related_images.json)
git merge-base --is-ancestor <commit-that-added-flag> "$REV" \
  && echo "operator revision includes flag" || echo "STALE: bump operator revision"

Example: RHOKP flag landed in merge 912ea22c (#1653); revision 7bc611cb (Jul 10 mintmaker) is before that and must not be used with --rhokp-image in the CSV.

Quick Quay check for latest main:

HEAD_SHA=$(git rev-parse origin/main)
oras resolve quay.io/redhat-user-workloads/crt-nshift-lightspeed-tenant/ols/lightspeed-operator:"$HEAD_SHA" \
  && echo "latest main is on Quay — consider updating operator revision"

Step 4: Commit (only when user asks)


Release mode (release X.Y.Z)

Follow version-update/SKILL.md in full: -r stable, version bump, make bundle.

Related

  • /version-update — release workflow
  • docs/olm-bundle-management.md
  • hack/related_images_from_quay.sh

Thêm skills từ openshift

openshift-docs
openshift
Tìm kiếm và đọc tài liệu OpenShift Container Platform ở định dạng markdown. Sử dụng khi người dùng hỏi về các tính năng, cấu hình, cài đặt của OpenShift,…
triage-leaked-infra
openshift
Đánh giá xem VPC AWS hoặc bộ hạ tầng từ HyperShift CI có an toàn để xóa hay không. Sử dụng khi người dùng dán đầu ra cleanleaked và hỏi 'tôi có thể xóa cái này không?', 'có…
openshift-expert
openshift
Chuyên gia nền tảng OpenShift và Kubernetes với kiến thức sâu về kiến trúc cluster, operators, mạng, lưu trữ, xử lý sự cố và pipeline CI/CD. Sử dụng…
Konflux Archived PipelineRuns
openshift
Truy cập các PipelineRuns, TaskRuns và nhật ký pod Konflux đã lưu trữ thông qua KubeArchive. Tự động áp dụng khi kiểm tra kết quả PipelineRun Konflux, điều tra…
backport
openshift
Backport các commit hoặc PR từ nhánh main sang nhánh release. Sử dụng khi người dùng yêu cầu backport, cherry-pick, hoặc chuyển các thay đổi giữa các nhánh, hoặc khi đang xử lý…
rebase
openshift
Rebase nhánh hiện tại lên nhánh cơ sở của nó, giải quyết tất cả xung đột, và xác minh lint, i18n, và build đều thành công. Sử dụng khi người dùng yêu cầu rebase, cập nhật, hoặc đồng bộ…
Build CPO Image
openshift
Xây dựng và đẩy hình ảnh container control-plane-operator. Tự động áp dụng khi kiểm tra các thay đổi CPO yêu cầu triển khai lên cụm trực tiếp.
find-complexity
openshift
Tìm các hàm và phương thức có độ phức tạp cyclomatic cao, độ dài quá mức, hoặc quá nhiều tham số. Sử dụng khi người dùng yêu cầu tìm mã phức tạp, độ phức tạp…