Skip to content

CNF-22194 RAN: ensure one copy of MachineConfigs in RAN RDS - #826

Merged
openshift-merge-bot[bot] merged 16 commits into
openshift-kni:mainfrom
kchennag:ran-install-extra-manifests
Jul 27, 2026
Merged

CNF-22194 RAN: ensure one copy of MachineConfigs in RAN RDS#826
openshift-merge-bot[bot] merged 16 commits into
openshift-kni:mainfrom
kchennag:ran-install-extra-manifests

Conversation

@kchennag

@kchennag kchennag commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

CNF-22194 Telco RAN install manifest deduplication-

  • Consolidate install MCs under telco-ran/install/extra-manifests/ (removed from source-crs/extra-manifest/)
  • Place optional crun manifests in install/custom-manifests/
  • Provide ClusterInstance install example with ConfigMap under install/clusterinstance/
  • Stop listing enable-crun in PolicyGenerator / ACM PG examples
  • Render builder output into install/extra-manifests/
  • Enforce install ↔ kube-compare sync via compare.sh in make check

@openshift-ci
openshift-ci Bot requested review from SchSeba and fedepaol June 22, 2026 19:06
@coderabbitai

coderabbitai Bot commented Jun 22, 2026

Copy link
Copy Markdown

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Adds telco-ran/install artifacts and documentation, relocates extra-manifests references to install paths, wires validation to the new layout, and removes optional CRUN manifests from DU policy examples.

Changes

Install directory layout and documentation

Layer / File(s) Summary
New install/ directory layout and documentation
telco-ran/install/README.md, telco-ran/install/clusterinstance/kustomization.yaml, telco-ran/install/kustomization.yaml, VERSION_UPDATE_GUIDE.md, telco-ran/configuration/argocd/SNOExpansion.md, telco-ran/configuration/README.md
Adds the install README and kustomizations, and updates the referenced clusterinstance paths and OpenShift version.
Extra-manifests output path relocation
telco-ran/install/extra-manifests-builder/Makefile, telco-ran/install/extra-manifests-builder/README.md, telco-ran/configuration/README.md, telco-ran/configuration/kube-compare-reference/hack/compare_ignore, telco-ran/configuration/source-crs/README.md, telco-ran/configuration/source-crs/deprecated/MachineConfigContainerMountNS.yaml, telco-ran/configuration/source-crs/machine-config/MachineConfigSctp.yaml, telco-ran/install/extra-manifests/*, .yamllint.yaml
Moves extra-manifests generation and references from source-crs/extra-manifest to telco-ran/install/extra-manifests/.
Install-time CRUN manifest guidance
telco-ran/configuration/argocd/AdditionalManifests.md, telco-ran/install/custom-manifests/README.md, telco-ran/configuration/source-crs/optional-extra-manifest/README.md
Updates the install-time CRUN manifest guidance and the ConfigMap reference flow.
CRUN entries removed from PolicyGen and PolicyGenTemplate CRs
telco-ran/configuration/argocd/example/policygentemplates/*group-du*-ranGen.yaml, telco-ran/configuration/argocd/example/policygentemplates/hub-side-templating/*group-du*-ranGen-templated.yaml, telco-ran/configuration/argocd/example/acmpolicygenerator/*group-du*-ranGen.yaml, telco-ran/configuration/argocd/example/acmpolicygenerator/hub-side-templating/*group-du*-ranGen-templated.yaml
Removes the optional CRUN enablement manifests from the DU policy examples and reformats the nearby tuned-performance profile lines.
compare.sh validation script and Makefile wiring
telco-ran/configuration/compare.sh, Makefile, telco-ran/install/Makefile, telco-ran/configuration/Makefile, hack/test-kustomize.sh
Adds the extra-manifest comparison checks, wires them into the make targets, and updates the kustomize exclusion path.

Sequence Diagram(s)

sequenceDiagram
  participant RootMakefile
  participant InstallMakefile
  participant ConfigMakefile
  participant CompareSh
  participant BuilderMakefile

  RootMakefile->>InstallMakefile: make check in ./telco-ran/install
  InstallMakefile->>BuilderMakefile: make -C ./extra-manifests-builder check
  ConfigMakefile->>CompareSh: ./compare.sh --check-extra-manifests
  CompareSh-->>ConfigMakefile: exit status
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 25.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title matches the main change: consolidating MachineConfigs so there is one canonical install copy.
Description check ✅ Passed The description is clearly related and accurately summarizes the install-manifest deduplication work.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@openshift-ci openshift-ci Bot added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Jun 22, 2026
@openshift-ci

openshift-ci Bot commented Jun 22, 2026

Copy link
Copy Markdown

Hi @kchennag. Thanks for your PR.

I'm waiting for a openshift-kni member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work.

Tip

We noticed you've done this a few times! Consider joining the org to skip this step and gain /lgtm and other bot rights. We recommend asking approvers on your previous PRs to sponsor you.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

profile: ran-du-performance
- path: source-crs/optional-extra-manifest/enable-crun-master.yaml
- path: source-crs/optional-extra-manifest/enable-crun-worker.yaml
profile: ran-du-performance No newline at end of file

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove this new line (and the other occurrences below)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed, removed trailing whitespace and added missing EOF newlines on all affected ACM PolicyGenerator files.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we still need this makefile under telco-ran/configuration?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes it still renders the reference MachineConfig YAML into telco-ran/install/extra-manifests/. only the output path (DST) changed, the builder stays under configuration/ because it is part of the day-2/CI tooling tree, not install artifacts.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! I think we can use this opportunity and move this extra-manifests-builder folder out of here and into telco-ran/install as well.
Lets create a Makefile under telco-ran/install, move the checkExtraManifests target to this new Makefile and link it in the root Makefile target here check-reference-ran. Prow targets this, so functionality should remain same as before.

@@ -1,3 +1,4 @@
# Retained on release-4.21. Remove in main (4.23+) only; do not backport removal.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we remove this comment?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done, removed the release comment

@@ -1,3 +1,4 @@
# Retained on release-4.21. Remove in main (4.23+) only; do not backport removal.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same, do we need this comment?

@kchennag kchennag Jun 23, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done removed from enable-crun-worker.yaml in kube-compare and custom-manifests as well

- ./extra-manifest contains the MachineConfig CRs to be applied during the cluster installation
- ./validatorCRs contains the validation CRs to be deployed via the ACM policies to validate some configuration

Install-time MachineConfig CRs live under `../../install/extra-manifests/` (see `../../install/README.md`).

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe a better place for this would be a readme under telco-ran/install? we dont need this in the telco-ran/configuration readme meant for day-2 configuration

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

agreed removed the install-time note from source-crs/README.md install documentation is in telco-ran/install/README.md only

Comment thread telco-ran/install/kustomization.yaml Outdated
@@ -0,0 +1,32 @@
---
# Example: build install-time extra-manifests ConfigMap for ClusterInstance.
# Apply with: kubectl apply -k telco-ran/install/

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This comment here is inaccurate, we should not dictate customers to kubectl apply the manifests. Please move the example ClusterInstance files and include a kustomization like this to avoid confusion.
https://github.com/openshift-kni/telco-reference/blob/main/telco-ran/configuration/argocd/example/clusterinstance/kustomization.yaml

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done removed top-level install/kustomization.yaml and all kubectl apply guidance clusterInstance examples are under telco-ran/install/clusterinstance/ with resources + configMapGenerator pointing at ../extra-manifests/, following the existing example pattern

Comment thread telco-ran/install/README.md Outdated
- `extra-manifests/` — reference MachineConfig and related CRs applied at cluster install
- `custom-manifests/` — optional manifests (for example `enable-crun-*.yaml`) you add when needed
- `kustomization.yaml` — example `configMapGenerator` for `ClusterInstance.spec.extraManifestsRefs`
- `clusterinstance` — symlink to `../configuration/argocd/example/clusterinstance/`

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we move the clusterinstance example folder under telco-ran/install and remove this symlink

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done, moved clusterinstance/ examples to telco-ran/install/clusterinstance/ and removed the symlink

Comment thread telco-ran/install/README.md Outdated
## ClusterInstance and extra-manifests ConfigMap

```bash
kubectl apply -k telco-ran/install/

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove this. The recommended method of using these CRs is through gitops, we should not declare this here.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done removed the kubectl apply section from install/README.md; it now documents layout and GitOps/day-N policy only. Also added a PR summary with changes, link to Core #825, and note on the cnf-features-deploy Containerfile follow-up

@abraham2512

Copy link
Copy Markdown
Member

Please also add a short description on the PR regarding the changes, thanks!

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
telco-ran/install/clusterinstance/kustomization.yaml (1)

10-33: 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Wire custom-manifests/ into the install bundle.

telco-ran/install/custom-manifests/README.md says optional CRUN manifests should live behind a separate ClusterInstance.spec.extraManifestsRefs ConfigMap, but this kustomization only emits the base sno-extra-manifest-configmap from ../extra-manifests/. As written, there is no install-time ConfigMap for the new optional directory, so the documented CRUN flow cannot actually be referenced. Add a second generator for ../custom-manifests/ (or tighten the README) so the layout matches the shipped artifacts.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@telco-ran/install/clusterinstance/kustomization.yaml` around lines 10 - 33,
Add a second configMapGenerator block in the configMapGenerator list in the
kustomization.yaml file to process files from the ../custom-manifests/
directory. This new generator should mirror the structure of the existing
sno-extra-manifest-configmap generator (which processes ../extra-manifests/) but
point to ../custom-manifests/ instead and be named appropriately (such as
sno-custom-manifest-configmap) with the same namespace reference to enable the
documented optional CRUN manifests flow. Place this new generator block
immediately after the existing extra-manifests generator and before the
generatorOptions section.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@telco-ran/configuration/argocd/AdditionalManifests.md`:
- Around line 9-35: The documentation example currently references the old
kustomization file path telco-ran/install/kustomization.yaml. Update the
reference to point to the new location
telco-ran/install/clusterinstance/kustomization.yaml so readers access the
correct file with the configMapGenerator configuration.

In `@telco-ran/configuration/source-crs/optional-extra-manifest/README.md`:
- Around line 3-4: The relative path `../../install/custom-manifests/` in the
README.md file located at
telco-ran/configuration/source-crs/optional-extra-manifest/README.md is
incorrect and only goes up two directory levels, causing it to resolve to
configuration/install/ instead of the repo-root install/ directory. Change the
relative path from `../../install/custom-manifests/` to
`../../../install/custom-manifests/` to correctly reference the target location
at the repository root level.

---

Outside diff comments:
In `@telco-ran/install/clusterinstance/kustomization.yaml`:
- Around line 10-33: Add a second configMapGenerator block in the
configMapGenerator list in the kustomization.yaml file to process files from the
../custom-manifests/ directory. This new generator should mirror the structure
of the existing sno-extra-manifest-configmap generator (which processes
../extra-manifests/) but point to ../custom-manifests/ instead and be named
appropriately (such as sno-custom-manifest-configmap) with the same namespace
reference to enable the documented optional CRUN manifests flow. Place this new
generator block immediately after the existing extra-manifests generator and
before the generatorOptions section.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Enterprise

Run ID: aa0e6cfc-22d9-45db-b0cd-4fac5af2f32f

📥 Commits

Reviewing files that changed from the base of the PR and between 8da6552 and 284ea46.

📒 Files selected for processing (56)
  • VERSION_UPDATE_GUIDE.md
  • hack/test-kustomize.sh
  • telco-ran/configuration/Makefile
  • telco-ran/configuration/README.md
  • telco-ran/configuration/argocd/AdditionalManifests.md
  • telco-ran/configuration/argocd/SNOExpansion.md
  • telco-ran/configuration/argocd/example/acmpolicygenerator/acm-group-du-3node-ranGen.yaml
  • telco-ran/configuration/argocd/example/acmpolicygenerator/acm-group-du-sno-ranGen.yaml
  • telco-ran/configuration/argocd/example/acmpolicygenerator/acm-group-du-standard-ranGen.yaml
  • telco-ran/configuration/argocd/example/acmpolicygenerator/hub-side-templating/acm-group-du-3node-ranGen-templated.yaml
  • telco-ran/configuration/argocd/example/acmpolicygenerator/hub-side-templating/acm-group-du-sno-ranGen-templated.yaml
  • telco-ran/configuration/argocd/example/acmpolicygenerator/hub-side-templating/acm-group-du-standard-ranGen-templated.yaml
  • telco-ran/configuration/argocd/example/clusterinstance/kustomization.yaml
  • telco-ran/configuration/argocd/example/policygentemplates/group-du-3node-ranGen.yaml
  • telco-ran/configuration/argocd/example/policygentemplates/group-du-sno-ranGen.yaml
  • telco-ran/configuration/argocd/example/policygentemplates/group-du-standard-ranGen.yaml
  • telco-ran/configuration/argocd/example/policygentemplates/hub-side-templating/group-du-3node-ranGen-templated.yaml
  • telco-ran/configuration/argocd/example/policygentemplates/hub-side-templating/group-du-sno-ranGen-templated.yaml
  • telco-ran/configuration/argocd/example/policygentemplates/hub-side-templating/group-du-standard-ranGen-templated.yaml
  • telco-ran/configuration/compare.sh
  • telco-ran/configuration/extra-manifests-builder/Makefile
  • telco-ran/configuration/extra-manifests-builder/README.md
  • telco-ran/configuration/kube-compare-reference/hack/compare_ignore
  • telco-ran/configuration/source-crs/README.md
  • telco-ran/configuration/source-crs/deprecated/MachineConfigContainerMountNS.yaml
  • telco-ran/configuration/source-crs/machine-config/MachineConfigSctp.yaml
  • telco-ran/configuration/source-crs/optional-extra-manifest/README.md
  • telco-ran/install/README.md
  • telco-ran/install/clusterinstance
  • telco-ran/install/clusterinstance/README.md
  • telco-ran/install/clusterinstance/example-3node.yaml
  • telco-ran/install/clusterinstance/example-sno.yaml
  • telco-ran/install/clusterinstance/example-standard.yaml
  • telco-ran/install/clusterinstance/kustomization.yaml
  • telco-ran/install/custom-manifests/README.md
  • telco-ran/install/custom-manifests/enable-crun-master.yaml
  • telco-ran/install/custom-manifests/enable-crun-worker.yaml
  • telco-ran/install/extra-manifests/01-container-mount-ns-and-kubelet-conf-master.yaml
  • telco-ran/install/extra-manifests/01-container-mount-ns-and-kubelet-conf-worker.yaml
  • telco-ran/install/extra-manifests/01-disk-encryption-pcr-rebind-master.yaml
  • telco-ran/install/extra-manifests/01-disk-encryption-pcr-rebind-worker.yaml
  • telco-ran/install/extra-manifests/03-sctp-machine-config-master.yaml
  • telco-ran/install/extra-manifests/03-sctp-machine-config-worker.yaml
  • telco-ran/install/extra-manifests/06-kdump-master.yaml
  • telco-ran/install/extra-manifests/06-kdump-worker.yaml
  • telco-ran/install/extra-manifests/07-sriov-related-kernel-args-master.yaml
  • telco-ran/install/extra-manifests/07-sriov-related-kernel-args-worker.yaml
  • telco-ran/install/extra-manifests/08-set-rcu-normal-master.yaml
  • telco-ran/install/extra-manifests/08-set-rcu-normal-worker.yaml
  • telco-ran/install/extra-manifests/09-openshift-marketplace-ns.yaml
  • telco-ran/install/extra-manifests/10-rename-gnrd-interfaces-master.yaml
  • telco-ran/install/extra-manifests/10-rename-gnrd-interfaces-worker.yaml
  • telco-ran/install/extra-manifests/99-sync-time-once-master.yaml
  • telco-ran/install/extra-manifests/99-sync-time-once-worker.yaml
  • telco-ran/install/extra-manifests/disk-encryption.yaml.tmpl
  • telco-ran/install/extra-manifests/image-registry-partition-mc.yaml.tmpl
💤 Files with no reviewable changes (11)
  • telco-ran/configuration/argocd/example/policygentemplates/hub-side-templating/group-du-3node-ranGen-templated.yaml
  • telco-ran/configuration/argocd/example/acmpolicygenerator/acm-group-du-sno-ranGen.yaml
  • telco-ran/configuration/kube-compare-reference/hack/compare_ignore
  • telco-ran/configuration/source-crs/README.md
  • telco-ran/install/clusterinstance
  • telco-ran/configuration/argocd/example/clusterinstance/kustomization.yaml
  • telco-ran/configuration/argocd/example/acmpolicygenerator/acm-group-du-3node-ranGen.yaml
  • telco-ran/configuration/argocd/example/policygentemplates/hub-side-templating/group-du-standard-ranGen-templated.yaml
  • telco-ran/configuration/argocd/example/policygentemplates/group-du-3node-ranGen.yaml
  • telco-ran/configuration/argocd/example/policygentemplates/group-du-sno-ranGen.yaml
  • telco-ran/configuration/argocd/example/policygentemplates/group-du-standard-ranGen.yaml

Comment thread telco-ran/configuration/argocd/AdditionalManifests.md
Comment thread telco-ran/configuration/source-crs/optional-extra-manifest/README.md Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! I think we can use this opportunity and move this extra-manifests-builder folder out of here and into telco-ran/install as well.
Lets create a Makefile under telco-ran/install, move the checkExtraManifests target to this new Makefile and link it in the root Makefile target here check-reference-ran. Prow targets this, so functionality should remain same as before.

@@ -1 +1 @@
../extra-manifest/03-sctp-machine-config-master.yaml No newline at end of file
../../../install/extra-manifests/03-sctp-machine-config-master.yaml No newline at end of file

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: missing newline in this file

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please fix in all locations


configMapGenerator:
- files:
- ../extra-manifests/01-container-mount-ns-and-kubelet-conf-master.yaml

@abraham2512 abraham2512 Jun 25, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmmm I think this path will not resolve correctly. Kustomize cannot look beyond its root folder by default, so (../) path would break in an argo environment. One way to test would be to kustomize apply on a dev k8s environment and see if the resources are rendered.

For reference,
https://kubernetes.io/docs/reference/kubectl/generated/kubectl_kustomize/
check for docs under load-restrictor arg, this is not set by default in an Argo setup.

@abraham2512

Copy link
Copy Markdown
Member

/ok-to-test

@openshift-ci openshift-ci Bot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Jun 25, 2026
@kchennag
kchennag force-pushed the ran-install-extra-manifests branch from 8cbfcca to fc26038 Compare June 26, 2026 15:07
@openshift-ci openshift-ci Bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jun 26, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
Makefile (1)

118-120: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Wire test-shellcheck into a CI entrypoint.

This target is added, but the ci-validate flow shown below still does not invoke it, so the new shellcheck dependency does not actually protect the changed shell scripts. Please add test-shellcheck to ci-validate or another always-run validation target.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@Makefile` around lines 118 - 120, The new shellcheck validation target is
defined in the Makefile but is not yet part of the always-run CI validation
flow. Update ci-validate (or the equivalent top-level validation target it
invokes) to include test-shellcheck so the shell script checks run automatically
alongside the other validations. Use the existing target names ci-validate and
test-shellcheck to locate the integration point and keep the new check wired
into CI.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@telco-ran/install/extra-manifests/10-rename-gnrd-interfaces-master.yaml`:
- Line 25: Remove the extra generated blank line causing the YAMLlint failure by
fixing the source template in extra-manifests-builder/template rather than
editing only the generated manifest output. Locate the blank-line generation in
the template used to produce 10-rename-gnrd-interfaces-master.yaml and adjust
the rendering logic so future regenerations do not reintroduce the invalid empty
line.

---

Nitpick comments:
In `@Makefile`:
- Around line 118-120: The new shellcheck validation target is defined in the
Makefile but is not yet part of the always-run CI validation flow. Update
ci-validate (or the equivalent top-level validation target it invokes) to
include test-shellcheck so the shell script checks run automatically alongside
the other validations. Use the existing target names ci-validate and
test-shellcheck to locate the integration point and keep the new check wired
into CI.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Enterprise

Run ID: d65f6a7a-e9b4-4445-bfab-45befc3c6bd8

📥 Commits

Reviewing files that changed from the base of the PR and between 8cbfcca and fc26038.

📒 Files selected for processing (93)
  • Makefile
  • VERSION_UPDATE_GUIDE.md
  • hack/test-kustomize.sh
  • telco-ran/configuration/Makefile
  • telco-ran/configuration/README.md
  • telco-ran/configuration/argocd/AdditionalManifests.md
  • telco-ran/configuration/argocd/SNOExpansion.md
  • telco-ran/configuration/argocd/example/acmpolicygenerator/acm-group-du-3node-ranGen.yaml
  • telco-ran/configuration/argocd/example/acmpolicygenerator/acm-group-du-sno-ranGen.yaml
  • telco-ran/configuration/argocd/example/acmpolicygenerator/acm-group-du-standard-ranGen.yaml
  • telco-ran/configuration/argocd/example/acmpolicygenerator/hub-side-templating/acm-group-du-3node-ranGen-templated.yaml
  • telco-ran/configuration/argocd/example/acmpolicygenerator/hub-side-templating/acm-group-du-sno-ranGen-templated.yaml
  • telco-ran/configuration/argocd/example/acmpolicygenerator/hub-side-templating/acm-group-du-standard-ranGen-templated.yaml
  • telco-ran/configuration/argocd/example/clusterinstance/kustomization.yaml
  • telco-ran/configuration/argocd/example/policygentemplates/group-du-3node-ranGen.yaml
  • telco-ran/configuration/argocd/example/policygentemplates/group-du-sno-ranGen.yaml
  • telco-ran/configuration/argocd/example/policygentemplates/group-du-standard-ranGen.yaml
  • telco-ran/configuration/argocd/example/policygentemplates/hub-side-templating/group-du-3node-ranGen-templated.yaml
  • telco-ran/configuration/argocd/example/policygentemplates/hub-side-templating/group-du-sno-ranGen-templated.yaml
  • telco-ran/configuration/argocd/example/policygentemplates/hub-side-templating/group-du-standard-ranGen-templated.yaml
  • telco-ran/configuration/compare.sh
  • telco-ran/configuration/kube-compare-reference/hack/compare_ignore
  • telco-ran/configuration/source-crs/README.md
  • telco-ran/configuration/source-crs/deprecated/MachineConfigContainerMountNS.yaml
  • telco-ran/configuration/source-crs/machine-config/MachineConfigSctp.yaml
  • telco-ran/configuration/source-crs/optional-extra-manifest/README.md
  • telco-ran/install/Makefile
  • telco-ran/install/README.md
  • telco-ran/install/clusterinstance
  • telco-ran/install/clusterinstance/README.md
  • telco-ran/install/clusterinstance/example-3node.yaml
  • telco-ran/install/clusterinstance/example-sno.yaml
  • telco-ran/install/clusterinstance/example-standard.yaml
  • telco-ran/install/clusterinstance/kustomization.yaml
  • telco-ran/install/custom-manifests/README.md
  • telco-ran/install/custom-manifests/enable-crun-master.yaml
  • telco-ran/install/custom-manifests/enable-crun-worker.yaml
  • telco-ran/install/extra-manifests-builder/.gitignore
  • telco-ran/install/extra-manifests-builder/01-container-mount-ns-and-kubelet-conf/30-kubelet-interval-tuning.conf
  • telco-ran/install/extra-manifests-builder/01-container-mount-ns-and-kubelet-conf/90-container-mount-namespace-kubelet.conf
  • telco-ran/install/extra-manifests-builder/01-container-mount-ns-and-kubelet-conf/90-container-mount-namespace.conf
  • telco-ran/install/extra-manifests-builder/01-container-mount-ns-and-kubelet-conf/build.sh
  • telco-ran/install/extra-manifests-builder/01-container-mount-ns-and-kubelet-conf/container-mount-namespace.service
  • telco-ran/install/extra-manifests-builder/01-container-mount-ns-and-kubelet-conf/extractExecStart
  • telco-ran/install/extra-manifests-builder/01-container-mount-ns-and-kubelet-conf/nsenterCmns
  • telco-ran/install/extra-manifests-builder/01-container-mount-ns-and-kubelet-conf/test.sh
  • telco-ran/install/extra-manifests-builder/01-disk-encryption-pcr-rebind/README.md
  • telco-ran/install/extra-manifests-builder/01-disk-encryption-pcr-rebind/build.sh
  • telco-ran/install/extra-manifests-builder/01-disk-encryption-pcr-rebind/disablePcrOnRebootOrShutdown.sh
  • telco-ran/install/extra-manifests-builder/01-disk-encryption-pcr-rebind/efibootmgr-output.txt
  • telco-ran/install/extra-manifests-builder/01-disk-encryption-pcr-rebind/hwupgrade-detection-methods/file.sh
  • telco-ran/install/extra-manifests-builder/01-disk-encryption-pcr-rebind/hwupgrade-detection-methods/fwup.sh
  • telco-ran/install/extra-manifests-builder/01-disk-encryption-pcr-rebind/hwupgrade-detection-methods/ostree.sh
  • telco-ran/install/extra-manifests-builder/01-disk-encryption-pcr-rebind/hwupgrade-detection-methods/talm.sh
  • telco-ran/install/extra-manifests-builder/01-disk-encryption-pcr-rebind/luks-helpers.sh
  • telco-ran/install/extra-manifests-builder/01-disk-encryption-pcr-rebind/order.conf
  • telco-ran/install/extra-manifests-builder/01-disk-encryption-pcr-rebind/pcr-disable-shutdown.service
  • telco-ran/install/extra-manifests-builder/01-disk-encryption-pcr-rebind/pcr-rebind-boot.service
  • telco-ran/install/extra-manifests-builder/01-disk-encryption-pcr-rebind/rebindDiskOnBoot.sh
  • telco-ran/install/extra-manifests-builder/01-disk-encryption-pcr-rebind/test.sh
  • telco-ran/install/extra-manifests-builder/03-sctp-machine-config/build.sh
  • telco-ran/install/extra-manifests-builder/06-kdump/build.sh
  • telco-ran/install/extra-manifests-builder/07-sriov-related-kernel-args/build.sh
  • telco-ran/install/extra-manifests-builder/08-set-rcu-normal/README.md
  • telco-ran/install/extra-manifests-builder/08-set-rcu-normal/build.sh
  • telco-ran/install/extra-manifests-builder/08-set-rcu-normal/set-rcu-normal.service
  • telco-ran/install/extra-manifests-builder/08-set-rcu-normal/set-rcu-normal.sh
  • telco-ran/install/extra-manifests-builder/08-set-rcu-normal/test.sh
  • telco-ran/install/extra-manifests-builder/10-rename-gnrd-interfaces/build.sh
  • telco-ran/install/extra-manifests-builder/99-sync-time-once/build.sh
  • telco-ran/install/extra-manifests-builder/Makefile
  • telco-ran/install/extra-manifests-builder/README.md
  • telco-ran/install/extra-manifests-builder/tools.go
  • telco-ran/install/extra-manifests/01-container-mount-ns-and-kubelet-conf-master.yaml
  • telco-ran/install/extra-manifests/01-container-mount-ns-and-kubelet-conf-worker.yaml
  • telco-ran/install/extra-manifests/01-disk-encryption-pcr-rebind-master.yaml
  • telco-ran/install/extra-manifests/01-disk-encryption-pcr-rebind-worker.yaml
  • telco-ran/install/extra-manifests/03-sctp-machine-config-master.yaml
  • telco-ran/install/extra-manifests/03-sctp-machine-config-worker.yaml
  • telco-ran/install/extra-manifests/06-kdump-master.yaml
  • telco-ran/install/extra-manifests/06-kdump-worker.yaml
  • telco-ran/install/extra-manifests/07-sriov-related-kernel-args-master.yaml
  • telco-ran/install/extra-manifests/07-sriov-related-kernel-args-worker.yaml
  • telco-ran/install/extra-manifests/08-set-rcu-normal-master.yaml
  • telco-ran/install/extra-manifests/08-set-rcu-normal-worker.yaml
  • telco-ran/install/extra-manifests/09-openshift-marketplace-ns.yaml
  • telco-ran/install/extra-manifests/10-rename-gnrd-interfaces-master.yaml
  • telco-ran/install/extra-manifests/10-rename-gnrd-interfaces-worker.yaml
  • telco-ran/install/extra-manifests/99-sync-time-once-master.yaml
  • telco-ran/install/extra-manifests/99-sync-time-once-worker.yaml
  • telco-ran/install/extra-manifests/disk-encryption.yaml.tmpl
  • telco-ran/install/extra-manifests/image-registry-partition-mc.yaml.tmpl
  • telco-ran/install/kustomization.yaml
💤 Files with no reviewable changes (9)
  • telco-ran/configuration/source-crs/README.md
  • telco-ran/configuration/argocd/example/policygentemplates/group-du-3node-ranGen.yaml
  • telco-ran/install/clusterinstance
  • telco-ran/configuration/kube-compare-reference/hack/compare_ignore
  • telco-ran/configuration/argocd/example/clusterinstance/kustomization.yaml
  • telco-ran/configuration/argocd/example/policygentemplates/hub-side-templating/group-du-3node-ranGen-templated.yaml
  • telco-ran/configuration/argocd/example/policygentemplates/group-du-standard-ranGen.yaml
  • hack/test-kustomize.sh
  • telco-ran/configuration/argocd/example/policygentemplates/hub-side-templating/group-du-standard-ranGen-templated.yaml
✅ Files skipped from review due to trivial changes (13)
  • telco-ran/configuration/source-crs/optional-extra-manifest/README.md
  • telco-ran/configuration/source-crs/deprecated/MachineConfigContainerMountNS.yaml
  • telco-ran/install/custom-manifests/README.md
  • telco-ran/configuration/argocd/example/policygentemplates/group-du-sno-ranGen.yaml
  • VERSION_UPDATE_GUIDE.md
  • telco-ran/configuration/argocd/example/acmpolicygenerator/hub-side-templating/acm-group-du-3node-ranGen-templated.yaml
  • telco-ran/configuration/source-crs/machine-config/MachineConfigSctp.yaml
  • telco-ran/install/extra-manifests-builder/README.md
  • telco-ran/configuration/argocd/SNOExpansion.md
  • telco-ran/configuration/argocd/AdditionalManifests.md
  • telco-ran/configuration/argocd/example/acmpolicygenerator/hub-side-templating/acm-group-du-standard-ranGen-templated.yaml
  • telco-ran/configuration/argocd/example/acmpolicygenerator/acm-group-du-standard-ranGen.yaml
  • telco-ran/install/README.md
🚧 Files skipped from review as they are similar to previous changes (5)
  • telco-ran/configuration/argocd/example/acmpolicygenerator/acm-group-du-sno-ranGen.yaml
  • telco-ran/configuration/README.md
  • telco-ran/configuration/argocd/example/acmpolicygenerator/acm-group-du-3node-ranGen.yaml
  • telco-ran/configuration/argocd/example/policygentemplates/hub-side-templating/group-du-sno-ranGen-templated.yaml
  • telco-ran/configuration/compare.sh

overwrite: true
contents:
source: data:text/plain,%5BMatch%5D%0AProperty%3DID_VENDOR_ID%3D0x8086%0AProperty%3DID_MODEL_ID%3D0x12d3%0A%0A%5BLink%5D%0ANamePolicy%3Dpath%0A

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟠 Major | ⚡ Quick win

Remove the extra generated blank line.

This artifact now violates YAMLlint, so the PR is carrying a check-breaking manifest. Since the file is generated, please fix the extra-manifests-builder/template rather than only trimming this output, otherwise the next regeneration will reintroduce it.

🧰 Tools
🪛 YAMLlint (1.37.1)

[error] 25-25: too many blank lines (1 > 0)

(empty-lines)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@telco-ran/install/extra-manifests/10-rename-gnrd-interfaces-master.yaml` at
line 25, Remove the extra generated blank line causing the YAMLlint failure by
fixing the source template in extra-manifests-builder/template rather than
editing only the generated manifest output. Locate the blank-line generation in
the template used to produce 10-rename-gnrd-interfaces-master.yaml and adjust
the rendering logic so future regenerations do not reintroduce the invalid empty
line.

Source: Linters/SAST tools

@abraham2512

Copy link
Copy Markdown
Member

/lgtm
/approve
/cc @irinamihai

@openshift-ci
openshift-ci Bot requested a review from irinamihai June 29, 2026 14:41
@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Jun 29, 2026
@abraham2512

abraham2512 commented Jun 29, 2026

Copy link
Copy Markdown
Member

Thanks for the changes!
Please also open a PR in cnf-features to update the ZTP containerfile for the folder restructuring

@kchennag

Copy link
Copy Markdown
Contributor Author

Hi @abraham2512, I've opened the cnf-features-deploy PR to update the ZTP Containerfile for the folder restructuring: openshift-kni/cnf-features-deploy#4333

@openshift-ci openshift-ci Bot removed the lgtm Indicates that a PR is ready to be merged. label Jun 29, 2026
@kchennag
kchennag force-pushed the ran-install-extra-manifests branch 2 times, most recently from 6c993dd to 6c562a0 Compare June 30, 2026 15:08
@@ -1 +1 @@
../extra-manifest/03-sctp-machine-config-master.yaml No newline at end of file
../../../install/extra-manifests/03-sctp-machine-config-master.yaml No newline at end of file

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please fix in all locations

- example-3node.yaml
- example-standard.yaml
# - namespace.yaml
# - secret.yaml

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Include example of building the necessary confgmap with all extra manifests -- needed for ClusterInstance install flow and must be usable by the policy which ensures the extra manifests are covered by Policy at day-n

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kchennag please update the builder to render extra-manifests inside telco-ran/install/clusterinstance. This way you can reference them in the parent kustomize configmap generator

@kchennag

Copy link
Copy Markdown
Contributor Author

/retest

B
CNF-22194 RAN: ensure one copy of MachineConfigs in RAN RDS
@kchennag
kchennag force-pushed the ran-install-extra-manifests branch from 03ab741 to 6a26a09 Compare July 23, 2026 20:04
@abraham2512

Copy link
Copy Markdown
Member

/ok-to-test

@irinamihai

Copy link
Copy Markdown
Contributor

/lgtm
/approve

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Jul 27, 2026
@openshift-ci

openshift-ci Bot commented Jul 27, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: abraham2512, irinamihai, kchennag

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jul 27, 2026
@abraham2512

Copy link
Copy Markdown
Member

/retest

@openshift-merge-bot
openshift-merge-bot Bot merged commit f232dc6 into openshift-kni:main Jul 27, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. ok-to-test Indicates a non-member PR verified by an org member that is safe to test.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants