Skip to content

OSASINFRA-4400: Add support for max_allowed_address_pairs OpenStack - #3058

Open
danchild wants to merge 2 commits into
openshift:masterfrom
shiftstack:cloud-network-config-cm
Open

OSASINFRA-4400: Add support for max_allowed_address_pairs OpenStack#3058
danchild wants to merge 2 commits into
openshift:masterfrom
shiftstack:cloud-network-config-cm

Conversation

@danchild

@danchild danchild commented Jul 15, 2026

Copy link
Copy Markdown
Member

Following work in openshift/cloud-network-config-controller/pull/230, a mechanism is required to pass the configured max_allowed_address_pairs as a command line argument to the controller.

New feature includes:

  • Add a bootstrap result type for a new cloud-network-config ConfigMap,
    reading it if the platform type is OpenStack
  • Validate platform-os-max-allowed-address-pairs, returning an error
    if it is negative, explicitly set to 0, or an invalid number (e.g.
    alphabetic string)
  • Pass platform-os-max-allowed-address-pairs to the
    cloud-network-config-controller as a command line argument
  • Check for changes to cloud-network-config, restarting the
    cloud-network-config-controller if there's a diff

Please note that openshift/cloud-network-config-controller/pull/230 must be accepted and merged before accepting these changes.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Pipeline controller notification
This repo is configured to use the pipeline controller. Second-stage tests will be triggered either automatically or after lgtm label is added, depending on the repository configuration. The pipeline controller will automatically detect which contexts are required and will utilize /test Prow commands to trigger the second stage.

For optional jobs, comment /test ? to see a list of all defined jobs. To trigger manually all jobs from second stage use /pipeline required command.

This repository is configured in: LGTM mode

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jul 15, 2026
@openshift-ci-robot

openshift-ci-robot commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

@danchild: This pull request references OSASINFRA-4400 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.

Details

In response to this:

TODO

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-ci openshift-ci Bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jul 15, 2026
@openshift-ci

openshift-ci Bot commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@coderabbitai

coderabbitai Bot commented Jul 15, 2026

Copy link
Copy Markdown

Summary by CodeRabbit

  • New Features

    • Added support for configuring the maximum number of allowed address pairs on OpenStack platforms.
    • The setting is read from cloud network configuration and applied to managed and self-hosted deployments.
    • Invalid or non-positive values are rejected, while missing settings remain optional.
  • Bug Fixes

    • Improved handling of missing, invalid, and inaccessible cloud network configuration.

Walkthrough

The change reads platform-os-max-allowed-address-pairs from the OpenStack cloud-network-config ConfigMap, validates and propagates it through bootstrap and rendering, and conditionally adds the corresponding flag to managed and self-hosted controller deployments.

Changes

OpenStack address-pair configuration

Layer / File(s) Summary
Bootstrap ConfigMap configuration
pkg/bootstrap/types.go, pkg/network/bootstrap.go, pkg/network/bootstrap_test.go, pkg/network/cloud_network_test.go
Bootstrap results carry raw and parsed address-pair data, which is loaded for OpenStack platforms with absent-key and API-error handling covered by tests.
Render validation and data wiring
pkg/network/cloud_network.go, pkg/network/cloud_network_test.go
Set values must be positive integers, and valid values plus their set state are passed into template data.
Controller argument rendering
bindata/cloud-network-config-controller/*/controller.yaml, pkg/network/cloud_network_test.go
Managed and self-hosted templates conditionally emit the address-pair flag, with tests covering rendered presence and absence.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Bootstrap
  participant KubernetesAPI
  participant Renderer
  participant ControllerDeployment
  Bootstrap->>KubernetesAPI: fetch cloud-network-config ConfigMap
  KubernetesAPI-->>Bootstrap: return address-pair configuration
  Bootstrap->>Renderer: provide parsed value and set state
  Renderer->>Renderer: validate positive integer
  Renderer->>ControllerDeployment: render conditional controller flag
Loading

Suggested reviewers: jcaamano, marty-power


Caution

Pre-merge checks failed

Please resolve all errors before merging. Addressing warnings is optional.

  • Ignore

❌ Failed checks (4 errors)

Check name Status Explanation Resolution
Pr Quality ❌ Error FAIL: The branch is only ~619 changed lines, but the PR description lacks required Why/What/Testing sections and any upgrade/rollback notes. Rewrite the PR description with explicit Why, What, and CI testing/verification sections, plus user impact and upgrade/rollback notes; add an issue link if this is a bug fix.
Unit Tests For Go Changes ❌ Error The commit changes a bindata YAML template, but no *_test.go files were added or modified alongside it. Add/modify the relevant *_test.go coverage for the template change, or document why tests are unnecessary in the PR description and then use @coderabbitai ignore pre-merge checks.
E2e Tests For Feature Changes ❌ Error pkg/network and pkg/bootstrap changes add new OpenStack config behavior and CLI args; no test/e2e files changed, and PR description lacks Testing/How to verify it. Add e2e coverage or explain why it isn't feasible in the PR description under How to verify it, including CI lanes/platform coverage and test results.
Docs For Feature And Behavior Changes ❌ Error Adds user-facing OpenStack config/CLI behavior with no docs/ changes in the PR diff vs origin/master. Add a new docs/*.md entry for cloud-network-config/max_allowed_address_pairs and behavior, or explain why docs are unnecessary in the PR description.
✅ Passed checks (20 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.
Commit Message Quality ✅ Passed All three commits are single-purpose, descriptive, non-merge commits with intent-focused bodies; none are vague or review-fix placeholders.
Rbac Least Privilege ✅ Passed Only changed YAML is a Deployment args template; no ClusterRole/Role rules or RBAC resources were added or modified.
Stale Project Docs And Config ✅ Passed No docs/AGENTS/ARCHITECTURE or .coderabbit references became inaccurate; only .coderabbit.yaml mentions cloud-network-config-controller, which remains valid.
Go And Test Code Quality ✅ Passed No banned logging, bare return err, duration literals, err shadowing, IPv4-only logic, unsafe concurrency, or test anti-patterns found in the modified Go/test files.
Ai-Generated Code Smell ✅ Passed No AI/tool refs or comment slop found; new tests are table-driven and directly cover the added bootstrap/config rendering behavior.
Stable And Deterministic Test Names ✅ Passed Changed tests use static t.Run names; I found no Ginkgo titles or runtime-derived identifiers in test names.
Test Structure And Quality ✅ Passed PASS: The new tests are unit-style table tests, with one behavior per subtest, no cluster waits, no leaked resources, and clear assertion messages; patterns match existing tests.
Microshift Test Compatibility ✅ Passed No new Ginkgo e2e tests were added; the new tests are standard Go unit tests and no MicroShift-guarded or unsupported API usage was found.
Single Node Openshift (Sno) Test Compatibility ✅ Passed No new Ginkgo/e2e specs were added; the touched tests use stdlib testing with fake clients/rendering only and make no multi-node assumptions.
Topology-Aware Scheduling Compatibility ✅ Passed Only bootstrap/config parsing and controller args changed; no new anti-affinity, topology spread, replicas, or node-selector scheduling logic was introduced.
Ote Binary Stdout Contract ✅ Passed PASS: Touched code adds only ordinary tests/template args; no new stdout writes in main/init/TestMain/BeforeSuite/etc. were introduced.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed No new Ginkgo e2e tests were added; the changed tests are unit tests and contain no IPv4-only or external-internet assumptions.
No-Weak-Crypto ✅ Passed No MD5/SHA1/DES/RC4/3DES/Blowfish/ECB, custom crypto, or secret/token comparisons were added in touched files.
Container-Privileges ✅ Passed No manifest adds privileged/host* settings; both controller containers keep allowPrivilegeEscalation:false and drop ALL, with no root-capability changes introduced.
No-Sensitive-Data-In-Logs ✅ Passed No new logs expose secrets or PII; the only new warning logs an invalid numeric ConfigMap value, not sensitive data.
Title check ✅ Passed The title uses the imperative mood, stays under 72 characters, and clearly describes the OpenStack address-pairs support.
Description check ✅ Passed The description directly explains the ConfigMap bootstrap, validation, controller argument, and restart changes.
✨ 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 commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: danchild
Once this PR has been reviewed and has the lgtm label, please assign kyrtapz for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found 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

@danchild
danchild force-pushed the cloud-network-config-cm branch 2 times, most recently from c0144b5 to 666ef2c Compare July 16, 2026 13:47
@danchild
danchild marked this pull request as ready for review July 16, 2026 13:54
@openshift-ci openshift-ci Bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jul 16, 2026
@openshift-ci
openshift-ci Bot requested review from jcaamano and marty-power July 16, 2026 14:00

@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

🤖 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 `@bindata/cloud-network-config-controller/self-hosted/controller.yaml`:
- Around line 50-54: Convert the container args flow sequence around the
existing "-secret-name" and OSMaxAllowedAddressPairs template entries into a
YAML block sequence using list-item syntax. Preserve the current argument values
and conditional inclusion controlled by OSMaxAllowedAddressPairsIsSet and
OSMaxAllowedAddressPairs.

In `@pkg/network/bootstrap.go`:
- Around line 76-107: Update cloudNetworkConfigBootstrap to return the API error
alongside CloudNetworkConfigBootstrapResult, propagating transient errors from
cl.Get instead of logging and returning an empty result. Adjust Bootstrap and
its caller handling to receive the error and return it so reconciliation
requeues with backoff; preserve the existing not-found and successful
configuration behavior.
🪄 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: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 10ffe051-5f03-4806-86dd-a122e8f1e1f3

📥 Commits

Reviewing files that changed from the base of the PR and between 76e94f2 and 666ef2c.

📒 Files selected for processing (7)
  • bindata/cloud-network-config-controller/managed/controller.yaml
  • bindata/cloud-network-config-controller/self-hosted/controller.yaml
  • pkg/bootstrap/types.go
  • pkg/network/bootstrap.go
  • pkg/network/bootstrap_test.go
  • pkg/network/cloud_network.go
  • pkg/network/cloud_network_test.go

Comment thread bindata/cloud-network-config-controller/self-hosted/controller.yaml Outdated
Comment thread pkg/network/bootstrap.go
@danchild
danchild force-pushed the cloud-network-config-cm branch 2 times, most recently from 62b0134 to 1a3f781 Compare July 16, 2026 14:43
@danchild

Copy link
Copy Markdown
Member Author

/verified by @danchild

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Jul 17, 2026
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@danchild: This PR has been marked as verified by @danchild.

Details

In response to this:

/verified by @danchild

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.

@danchild
danchild force-pushed the cloud-network-config-cm branch from 1a3f781 to e5abd93 Compare July 20, 2026 13:47
@openshift-ci-robot openshift-ci-robot removed the verified Signifies that the PR passed pre-merge verification criteria label Jul 20, 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.

♻️ Duplicate comments (1)
bindata/cloud-network-config-controller/self-hosted/controller.yaml (1)

45-54: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Unresolved: args flow sequence + Go template conditional breaks YAML lint.

This is the same pattern flagged in an earlier review round (YAMLlint: expected ',' or ']', but got '{' at this location) — the fix (converting to a block sequence) was not applied. The raw template still mixes a flow sequence args: [...] with an injected {{- if ... }}/{{- end }} block, which a YAML parser cannot parse as valid flow-sequence syntax on the raw (pre-render) template.

🛠️ Proposed fix to use block sequence
-        args: [ "-platform-type", "{{.PlatformType}}",
-                "-platform-region={{.PlatformRegion}}",
-                "-platform-api-url={{.PlatformAPIURL}}",
-                "-platform-aws-ca-override={{.PlatformAWSCAPath}}",
-                "-platform-azure-environment={{.PlatformAzureEnvironment}}",
-                "-secret-name", "cloud-credentials"
-{{- if and .OSMaxAllowedAddressPairsIsSet (gt .OSMaxAllowedAddressPairs 0) }}
-                ,"-platform-os-max-allowed-address-pairs={{ .OSMaxAllowedAddressPairs }}"
-{{- end }}
-                ]
+        args:
+        - "-platform-type"
+        - "{{.PlatformType}}"
+        - "-platform-region={{.PlatformRegion}}"
+        - "-platform-api-url={{.PlatformAPIURL}}"
+        - "-platform-aws-ca-override={{.PlatformAWSCAPath}}"
+        - "-platform-azure-environment={{.PlatformAzureEnvironment}}"
+        - "-secret-name"
+        - "cloud-credentials"
+{{- if and .OSMaxAllowedAddressPairsIsSet (gt .OSMaxAllowedAddressPairs 0) }}
+        - "-platform-os-max-allowed-address-pairs={{ .OSMaxAllowedAddressPairs }}"
+{{- end }}
🤖 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 `@bindata/cloud-network-config-controller/self-hosted/controller.yaml` around
lines 45 - 54, Convert the args value in the controller manifest from a flow
sequence to a block sequence, placing each argument as its own list item.
Preserve the conditional OSMaxAllowedAddressPairs argument and its existing
condition, while ensuring the raw Go template remains valid YAML before
rendering.
🤖 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.

Duplicate comments:
In `@bindata/cloud-network-config-controller/self-hosted/controller.yaml`:
- Around line 45-54: Convert the args value in the controller manifest from a
flow sequence to a block sequence, placing each argument as its own list item.
Preserve the conditional OSMaxAllowedAddressPairs argument and its existing
condition, while ensuring the raw Go template remains valid YAML before
rendering.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: d5b997b4-8f82-40b0-b3db-5ad96b111c37

📥 Commits

Reviewing files that changed from the base of the PR and between 76e94f2 and e5abd93.

📒 Files selected for processing (7)
  • bindata/cloud-network-config-controller/managed/controller.yaml
  • bindata/cloud-network-config-controller/self-hosted/controller.yaml
  • pkg/bootstrap/types.go
  • pkg/network/bootstrap.go
  • pkg/network/bootstrap_test.go
  • pkg/network/cloud_network.go
  • pkg/network/cloud_network_test.go

@danchild
danchild force-pushed the cloud-network-config-cm branch from e5abd93 to 8247a2b Compare July 20, 2026 13:55
@danchild

Copy link
Copy Markdown
Member Author

/pipeline required

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Scheduling required tests:
/test e2e-aws-ovn-upgrade-ipsec
/test e2e-gcp-ovn-techpreview

Scheduling tests matching the pipeline_run_if_changed or not excluded by pipeline_skip_if_only_changed parameters:
/test e2e-aws-ovn-fdp-qe
/test e2e-aws-ovn-hypershift-conformance
/test e2e-aws-ovn-serial-1of2
/test e2e-aws-ovn-serial-2of2
/test e2e-aws-ovn-upgrade
/test e2e-aws-ovn-windows
/test e2e-azure-ovn-upgrade
/test e2e-gcp-ovn
/test e2e-gcp-ovn-upgrade
/test e2e-metal-ipi-ovn-dualstack-bgp
/test e2e-metal-ipi-ovn-dualstack-bgp-local-gw
/test e2e-metal-ipi-ovn-ipv6
/test e2e-metal-ipi-ovn-ipv6-ipsec
/test e2e-ovn-ipsec-step-registry
/test hypershift-e2e-aks

@danchild

Copy link
Copy Markdown
Member Author

/verified by @danchild

@danchild danchild closed this Jul 30, 2026
@danchild danchild reopened this Jul 30, 2026
@openshift-ci-robot

openshift-ci-robot commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

@danchild: This pull request references OSASINFRA-4400 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.

Details

In response to this:

Following work in openshift/cloud-network-config-controller/pull/230, a mechanism is required to pass the configured max_allowed_address_pairs as a command line argument to the controller.

New feature includes:

  • Add a bootstrap result type for a new cloud-network-config ConfigMap,
    reading it if the platform type is OpenStack
  • Validate platform-os-max-allowed-address-pairs, returning an error
    if it is negative, explicitly set to 0, or an invalid number (e.g.
    alphabetic string)
  • Pass platform-os-max-allowed-address-pairs to the
    cloud-network-config-controller as a command line argument
  • Check for changes to cloud-network-config, restarting the
    cloud-network-config-controller if there's a diff

Please note that openshift/cloud-network-config-controller/pull/230 must be accepted and merged before accepting these changes.

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-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Jul 30, 2026
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@danchild: This PR has been marked as verified by @danchild.

Details

In response to this:

/verified by @danchild

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.

Following `openshift/cloud-network-config-controller` openshift#230,
a mechanism is required to pass the configured
`max_allowed_address_pairs` as a command line argument
to the controller.

New feature includes:

- Add a bootstrap result type for a new `cloud-network-config` ConfigMap,
  reading it if the platform type is OpenStack
- Validate `platform-os-max-allowed-address-pairs`, returning an error
  if it is negative, explicitly set to 0, or an invalid number (e.g.
  alphabetic string)
- Pass platform-os-max-allowed-address-pairs to the
  `cloud-network-config-controller` as a command line argument
- Check for changes to `cloud-network-config`, restarting the
  cloud-network-config-controller if there's a diff

Signed-off-by: Dan Childers <dchilder@redhat.com>
@danchild
danchild force-pushed the cloud-network-config-cm branch from 9a2f65e to 3d62149 Compare July 30, 2026 18:55
@openshift-ci-robot openshift-ci-robot removed the verified Signifies that the PR passed pre-merge verification criteria label Jul 30, 2026
Exercise managed and self-hosted template rendering for the new
max_allowed_address_pairs flag, including zero, negative, non-integer,
valid, and unset cases. Also error propogation related to fetching
the cloud-network-config ConfigMap is also tested.

Signed-off-by: Dan Childers <dchilder@redhat.com>
@danchild
danchild force-pushed the cloud-network-config-cm branch from 3d62149 to 2040ddf Compare July 30, 2026 18:55
@danchild

Copy link
Copy Markdown
Member Author

/verified by @danchild

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Jul 30, 2026
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@danchild: This PR has been marked as verified by @danchild.

Details

In response to this:

/verified by @danchild

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.

@danchild danchild changed the title OSASINFRA-4400: Add cluster-network-config ConfigMap to support max_allowed_address_pairs in OpenStack OSASINFRA-4400: Add ConfigMap to support max_allowed_address_pairs in OpenStack Jul 30, 2026
@danchild danchild changed the title OSASINFRA-4400: Add ConfigMap to support max_allowed_address_pairs in OpenStack OSASINFRA-4400: Add ConfigMap to support max_allowed_address_pairs in OSP Jul 30, 2026
@danchild danchild changed the title OSASINFRA-4400: Add ConfigMap to support max_allowed_address_pairs in OSP OSASINFRA-4400: Add support for max_allowed_address_pairs OpenStack Jul 30, 2026
@danchild

Copy link
Copy Markdown
Member Author

/pipeline required

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Scheduling required tests:
/test e2e-aws-ovn-upgrade-ipsec
/test e2e-gcp-ovn-techpreview

Scheduling tests matching the pipeline_run_if_changed or not excluded by pipeline_skip_if_only_changed parameters:
/test e2e-aws-ovn-fdp-qe
/test e2e-aws-ovn-hypershift-conformance
/test e2e-aws-ovn-serial-1of2
/test e2e-aws-ovn-serial-2of2
/test e2e-aws-ovn-upgrade
/test e2e-aws-ovn-windows
/test e2e-azure-ovn-upgrade
/test e2e-gcp-ovn
/test e2e-gcp-ovn-upgrade
/test e2e-metal-ipi-ovn-dualstack-bgp
/test e2e-metal-ipi-ovn-dualstack-bgp-local-gw
/test e2e-metal-ipi-ovn-ipv6
/test e2e-metal-ipi-ovn-ipv6-ipsec
/test e2e-ovn-ipsec-step-registry
/test hypershift-e2e-aks

@danchild

Copy link
Copy Markdown
Member Author

/verified by @danchild

@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@danchild: This PR has been marked as verified by @danchild.

Details

In response to this:

/verified by @danchild

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.

@danchild

Copy link
Copy Markdown
Member Author

/test e2e-metal-ipi-ovn-ipv6-ipsec e2e-aws-ovn-fdp-qe e2e-ovn-ipsec-step-registry e2e-metal-ipi-ovn-dualstack-bgp e2e-aws-ovn-upgrade-ipsec

@danchild

Copy link
Copy Markdown
Member Author

/test 5.0-upgrade-from-stable-4.22-e2e-gcp-ovn-upgrade

@danchild

Copy link
Copy Markdown
Member Author

/test e2e-aws-ovn-fdp-qe

@danchild

Copy link
Copy Markdown
Member Author

/test e2e-metal-ipi-ovn-dualstack-bgp

@danchild

danchild commented Aug 3, 2026

Copy link
Copy Markdown
Member Author

/test e2e-aws-ovn-fdp-qe

@openshift-ci-robot

openshift-ci-robot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

@danchild: This pull request references OSASINFRA-4400 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.

Details

In response to this:

Following work in openshift/cloud-network-config-controller/pull/230, a mechanism is required to pass the configured max_allowed_address_pairs as a command line argument to the controller.

New feature includes:

  • Add a bootstrap result type for a new cloud-network-config ConfigMap,
    reading it if the platform type is OpenStack
  • Validate platform-os-max-allowed-address-pairs, returning an error
    if it is negative, explicitly set to 0, or an invalid number (e.g.
    alphabetic string)
  • Pass platform-os-max-allowed-address-pairs to the
    cloud-network-config-controller as a command line argument
  • Check for changes to cloud-network-config, restarting the
    cloud-network-config-controller if there's a diff

Please note that openshift/cloud-network-config-controller/pull/230 must be accepted and merged before accepting these changes.

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.

Comment thread pkg/bootstrap/types.go
// from the cloud-network-config ConfigMap.
type OSMaxAllowedAddressPairs struct {
Value int
IsSet bool // used to differentiate between a zero value and an explicitly set zero value

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.

I think you can use Value as a *int to differentiate between set and unset instead of adding a new field to the struct.

Comment thread pkg/bootstrap/types.go
type OSMaxAllowedAddressPairs struct {
Value int
IsSet bool // used to differentiate between a zero value and an explicitly set zero value
RawValue string // used for error reporting if user provides a non-numeric string

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 need this? We use a typed flag and the user shouldn't be able to pass a non-integer value to this flag.

https://github.com/openshift/cloud-network-config-controller/pull/230/changes#diff-b52c6361b0946b90f2d35912dbe72c9dc8a5acc2d94a43cc26ad640b45e2be9aR267

@openshift-ci

openshift-ci Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

@danchild: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/5.0-upgrade-from-stable-4.22-e2e-gcp-ovn-upgrade 2040ddf link false /test 5.0-upgrade-from-stable-4.22-e2e-gcp-ovn-upgrade
ci/prow/e2e-metal-ipi-ovn-dualstack-bgp 2040ddf link true /test e2e-metal-ipi-ovn-dualstack-bgp
ci/prow/e2e-aws-ovn-fdp-qe 2040ddf link true /test e2e-aws-ovn-fdp-qe

Full PR test history. Your PR dashboard.

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. I understand the commands that are listed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. verified Signifies that the PR passed pre-merge verification criteria

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants