version-update

bởi openshift

Luồng phát hành cho nhánh chính: làm mới related_images.json với các hình ảnh Konflux ổn định (-r stable), tăng phiên bản bundle/CSV, tái tạo và xác thực bundle.…

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

Version Update (Release)

Invoke with:

/version-update <v1|v2> <X.Y.Z>
/update-bundle release <v1|v2> <X.Y.Z>

Examples:

/version-update v1 1.2.1
/version-update v2 2.0.0

Not for PR/CI — use /update-bundle dev.

Variant contract

VariantRelease versionBundle contentOCP compatibility
v11.x.yClassic OLS onlyv4.16-v4.22
v22.x.yClassic OLS plus agentic components>=v5.0

Do not mix a selector and major version. The generator rejects invalid pairs:

v1 + 2.x.y → invalid
v2 + 1.x.y → invalid

Bundle sources and generated output

The variant CSV templates are the authoritative bundle inputs:

config/manifests/bases/lightspeed-operator-v1.clusterserviceversion.yaml
config/manifests/bases/lightspeed-operator-v2.clusterserviceversion.yaml

hack/update_bundle.sh selects the requested template and generates:

bundle/manifests/lightspeed-operator.clusterserviceversion.yaml
bundle/metadata/annotations.yaml
bundle.Dockerfile

Do not edit those generated files as the source of a release version. The operator-sdk generation step writes the selected BUNDLE_TAG into the output CSV.

hack/bundle.Dockerfile is the Dockerfile template copied to bundle.Dockerfile during generation. Update the template only when the released bundle image labels must change.

Step 1: Refresh related_images.json from stable images

Prerequisite: oras and jq. Do not rely on oc.

./hack/related_images_from_quay.sh -r stable -o related_images.json

Use -r preview for tech-preview paths. The tool resolves each Konflux-managed entry and replaces its konflux_prefix with its stable_prefix; entries with no Konflux prefix are unchanged.

Keep the bundles selectors intact:

shared entries       → ["v1", "v2"]
agentic-only entries → ["v2"]
no bundles field     → selected for both variants

Optional: use hack/snapshot_to_image_list.sh only to discover new Konflux revisions when oc is available, then rerun the stable refresh above.

If CRDs or RBAC changed since the last release, generate them before the bundle:

make manifests

For v2, first synchronize the pinned agentic contract when that target is available:

make sync-agentic-crds

Step 2: Generate the selected bundle

Use the normal Make target. It supplies the required related_images.json input and passes the selector to hack/update_bundle.sh.

# Classic OCP 4.x release
make bundle BUNDLE_VARIANT=v1 BUNDLE_TAG=1.2.1

# Agentic OCP 5.0+ release
make bundle BUNDLE_VARIANT=v2 BUNDLE_TAG=2.0.0

Direct script use requires the selector and image list explicitly:

./hack/update_bundle.sh v1 -v 1.2.1 -i related_images.json
./hack/update_bundle.sh v2 -v 2.0.0 -i related_images.json

Step 3: Validate the generated bundle

operator-sdk bundle validate ./bundle

Verify the selected output:

CSV=bundle/manifests/lightspeed-operator.clusterserviceversion.yaml

yq '.metadata.name' "$CSV"
yq '.metadata.annotations."com.redhat.openshift.versions"' \
  bundle/metadata/annotations.yaml
yq -r '.spec.relatedImages[].name' "$CSV" | sort

Expected results:

v1:
- CSV version/name is 1.x.y
- annotation is v4.16-v4.22
- no lightspeed-agentic-* related images or deployment arguments

v2:
- CSV version/name is 2.x.y
- annotation is >=v5.0
- includes lightspeed-agentic-operator, agentic console, alerts adapter,
  and sandbox related images

The generated CSV must not contain source-only image metadata:

bundles
revision
snapshot_component
snapshot_source
konflux_prefix
stable_prefix
operator_arg
operator_target

Step 4: Review and commit

git diff -- related_images.json hack/bundle.Dockerfile bundle/

Confirm:

  • Stable image digests are used for Konflux-managed entries.
  • bundles selectors are present only in related_images.json, not in the CSV.
  • The generated CSV version has the required major version.
  • The generated OCP compatibility annotation matches the selected variant.
  • Related images and deployment arguments match the selected variant.
  • operator-sdk bundle validate ./bundle passes.

Commit only when requested:

git add related_images.json hack/bundle.Dockerfile bundle/
git commit -m "OLS-XXXX Release vX.Y.Z"

Common mistakes

  • Omitting v1 or v2 when calling hack/update_bundle.sh.
  • Using a 1.x version with v2, or a 2.x version with v1.
  • Editing the generated CSV instead of regenerating it with BUNDLE_TAG.
  • Removing image bundles selectors during a stable-image refresh.
  • Publishing a v1 bundle with agentic images or arguments.
  • Publishing a v2 bundle without the synchronized agentic CRD/RBAC contract.
  • Merging CI/Quay development image references without refreshing stable images.

Related

  • /update-bundle dev — PR/CI workflow.
  • docs/olm-bundle-management.md — bundle structure and image metadata.
  • hack/related_images_from_quay.sh — stable digest refresh.
  • hack/release_tools.md — bundle release tooling.

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…