[release-5.0] CORS-4308: Enable Network Observability during installation - #10813
Conversation
Add support for controlling network observability installation via the networkObservability field in the install config. This field contains an installationPolicy that accepts "InstallAndEnable", "DoNotInstall", or empty string values, and defaults to "InstallAndEnable" when omitted. The field is propagated from the install config through to the cluster Network resource spec during manifest generation, allowing network observability to be installed by default with an opt-out mechanism.
…ues. If there is no `networkObservability` settings in install-config.yaml, then it shouldn't set anything in the Network config CR instead of setting it to InstallAndEnable. This is important since these two states have slightly different meanings. InstallAndEnable will enable on SNO, whereas the default (no setting) will not. Valid values for `installationPolicy` are "InstallAndEnable" and "NoAction".
|
Pipeline controller notification For optional jobs, comment This repository is configured in: LGTM mode |
|
@openshift-cherrypick-robot: Ignoring requests to cherry-pick non-bug issues: CORS-4308 DetailsIn response to this:
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 openshift-eng/jira-lifecycle-plugin repository. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository YAML (base), Central YAML (inherited) Review profile: CHILL Plan: Enterprise Run ID: ⛔ Files ignored due to path filters (2)
📒 Files selected for processing (5)
💤 Files with no reviewable changes (1)
Included review availability: Your plan provides up to 12 included reviews per hour; 11 remain after this review. 📝 WalkthroughWalkthroughChangesNetwork observability configuration
Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: ⚪ Minimal · up to The current change has no identified merge-blocking risk and is ready to proceed through normal checks and review. 🚥 Pre-merge checks | ✅ 14 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (14 passed)
Full details: Stable And Deterministic Test NamesExplanation PASS: The pull request adds six table-driven Go test names. Each name is a static literal describing a network observability policy case. The names do not include pod names, timestamps, UUIDs, node names, namespaces, IP addresses, or generated values. The tests use Full details: Test Structure And QualityExplanation PASS. The PR changes a standard Go Full details: Microshift Test CompatibilityExplanation PASS: The PR adds only table-driven Full details: Single Node Openshift (Sno) Test CompatibilityExplanation PASS: The PR adds no new Ginkgo e2e tests. The only test changes are table-driven cases in Full details: Topology-Aware Scheduling CompatibilityExplanation PASS: The pull request does not introduce topology-dependent scheduling constraints. Its manifest change only copies Full details: Ote Binary Stdout ContractExplanation PASS: The pull request adds no process-level stdout writes. The changed production code only assembles and validates network configuration, and the generated deepcopy code performs data copying. The only Full details: Ipv6 And Disconnected Network Test CompatibilityExplanation PASS: The pull request adds no Ginkgo e2e tests. The changed test code extends the standard Go Full details: No-Weak-CryptoExplanation PASS — The complete PR diff adds network observability configuration, validation, manifest propagation, and deepcopy logic. It introduces no MD5, SHA1, DES, RC4, 3DES, Blowfish, or ECB usage, no custom cryptography, and no secret or token comparisons. The crypto-related code found in the changed files is pre-existing and unchanged. Full details: Container-PrivilegesExplanation PASS: The pull request adds an install-config field and copies its policy into the cluster Network custom resource. The complete diff adds no Full details: No-Sensitive-Data-In-LogsExplanation PASS — The pull request introduces no new logging. The changed implementation only assembles and YAML-marshals a Network manifest, and the new validation returns enum errors for ✨ Finishing Touches🧪 Generate unit tests (beta)
Warning Some tools did not complete. Review the errors below. 🔧 golangci-lint (2.12.2)Error: can't load config: unsupported version of the configuration: "" See https://golangci-lint.run/docs/product/migration-guide for migration instructions Comment |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
@openshift-cherrypick-robot: This pull request references CORS-4308 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.0.0" version, but no target version was set. DetailsIn response to this:
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 openshift-eng/jira-lifecycle-plugin repository. |
|
@openshift-cherrypick-robot: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions 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. I understand the commands that are listed here. |
|
Ignore |
This is an automated cherry-pick of #10382
/assign stleerh
Summary by CodeRabbit
New Features
Bug Fixes
Tests