Skip to content

test: order digest configmap before job success - #6550

Open
redhat-chai-bot wants to merge 4 commits into
openshift:mainfrom
redhat-chai-bot:investigation/pr-6501-5acd9d6e
Open

redhat-chai-bot wants to merge 4 commits into
openshift:mainfrom
redhat-chai-bot:investigation/pr-6501-5acd9d6e

Conversation

@redhat-chai-bot

@redhat-chai-bot redhat-chai-bot commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

- What I did

Create the digest ConfigMap before marking the fixture Job Succeeded. The Job update handler can reconcile immediately and read the ConfigMap; publishing Succeeded first creates a race that can leave MachineOSBuildStatus unreconciled when the ConfigMap is not found. Add a fake-client regression test for the ordering and preserve non-success cleanup.

- How to verify it

  • go test -count=1 -run '^TestSetJobStatusCreatesDigestConfigMapBeforeMarkingJobSucceeded$' ./pkg/controller/build/fixtures
  • go test -count=1 ./pkg/controller/build/fixtures
  • go test -count=1 -run '^TestOSBuildControllerReconcilesJobsAfterRestart$/^Running MOSB -> Succeeded$' ./pkg/controller/build
  • gofmt -d pkg/controller/build/fixtures/helpers.go pkg/controller/build/fixtures/helpers_test.go
  • git diff --check

- Description for the changelog

Fix a race in test fixtures that could cause OSBuildController unit tests to time out while reconciling a successful build.


AI-generated. Review for accuracy.

@patrickdillon requested via Chai Bot

Summary by CodeRabbit

  • New Features

    • GCP network configuration now supports region-specific health-check source ranges, including sovereign GCD regions.
    • GCP route rules now automatically use the health-check ranges configured for the cluster’s region.
  • Bug Fixes

    • Build completion handling now ensures required digest information is created before a build is marked successful, improving status consistency.

patrickdillon and others added 4 commits September 4, 2026 08:06
openshift-gcp-routes drops load balancer health-check probes that would be
forwarded off-node, to avoid polluting conntrack (BZ 1925698, 1930457). The
dropped source ranges were hardcoded to the public GCP prober ranges
(35.191.0.0/16, 130.211.0.0/22). GCD (sovereign) regions probe from different
ranges which need to be added to avoid the issue seen on public GCP.

Select the dropped ranges by region via a new gcpHealthCheckSourceRanges
template function: GCD regions drop their own region's prober ranges, all other
regions keep the public GCP behavior. Only ranges reserved for health-check
probers in the target environment are dropped -- a range that is reserved prober
infrastructure in one environment is ordinary routable space in another, so the
ranges must not be dropped unconditionally.
go get github.com/openshift/api@master && go mod tidy
go mod vendor

To pull in GCD feature gate in default feature set.
@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

@coderabbitai

coderabbitai Bot commented Sep 16, 2026

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: 102e1999-1ef2-44b9-b486-bc82476c0674

📥 Commits

Reviewing files that changed from the base of the PR and between e13c364 and f1047bb.

⛔ Files ignored due to path filters (78)
  • go.sum is excluded by !**/*.sum
  • vendor/github.com/openshift/api/.golangci.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1/types_cluster_image_policy.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1/types_image_policy.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1/types_infrastructure.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_authentications-Default.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_authentications-OKD.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_clusterimagepolicies.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_imagepolicies.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Default.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Hypershift-CustomNoUpgrade.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Hypershift-DevPreviewNoUpgrade.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-OKD.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-SelfManagedHA-CustomNoUpgrade.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-TechPreviewNoUpgrade.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1/zz_generated.featuregated-crd-manifests.yaml is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/config/v1/zz_generated.swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/config/v1alpha1/types_cluster_monitoring.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1alpha1/zz_generated.crd-manifests/0000_10_config-operator_01_clustermonitorings.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1alpha1/zz_generated.deepcopy.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/config/v1alpha1/zz_generated.model_name.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/config/v1alpha1/zz_generated.swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/features.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/features/features.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/features/legacyfeaturegates.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machine/v1beta1/types_vsphereprovider.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_containerruntimeconfigs-CustomNoUpgrade.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_containerruntimeconfigs-Default.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_containerruntimeconfigs-DevPreviewNoUpgrade.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_containerruntimeconfigs-OKD.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_containerruntimeconfigs-TechPreviewNoUpgrade.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Default.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Hypershift-CustomNoUpgrade.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Hypershift-DevPreviewNoUpgrade.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-OKD.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-CustomNoUpgrade.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-TechPreviewNoUpgrade.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_kubeletconfigs-CustomNoUpgrade.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_kubeletconfigs-DevPreviewNoUpgrade.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_kubeletconfigs-TechPreviewNoUpgrade.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_machineconfigpools-Hypershift-CustomNoUpgrade.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_machineconfigpools-Hypershift-Default.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_machineconfigpools-Hypershift-DevPreviewNoUpgrade.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_machineconfigpools-Hypershift-OKD.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_machineconfigpools-Hypershift-TechPreviewNoUpgrade.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_machineconfigpools.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_osimagestreams-Hypershift.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_osimagestreams.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1/zz_generated.featuregated-crd-manifests.yaml is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/machineconfiguration/v1/zz_generated.swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/machineconfiguration/v1alpha1/zz_generated.crd-manifests/0000_80_machine-config_01_osimagestreams-Hypershift.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1alpha1/zz_generated.crd-manifests/0000_80_machine-config_01_osimagestreams.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/operator/v1/types_ingresscontroller.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/operator/v1/types_machineconfiguration.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_12_etcd_01_etcds-Default.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_12_etcd_01_etcds-DevPreviewNoUpgrade.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_12_etcd_01_etcds-OKD.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_12_etcd_01_etcds-TechPreviewNoUpgrade.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_12_etcd_01_etcds.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_50_ingress_00_ingresscontrollers-CustomNoUpgrade.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_50_ingress_00_ingresscontrollers-DevPreviewNoUpgrade.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_50_ingress_00_ingresscontrollers-TechPreviewNoUpgrade.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_80_machine-config_01_machineconfigurations-CustomNoUpgrade.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_80_machine-config_01_machineconfigurations-Default.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_80_machine-config_01_machineconfigurations-DevPreviewNoUpgrade.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_80_machine-config_01_machineconfigurations-OKD.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_80_machine-config_01_machineconfigurations-TechPreviewNoUpgrade.crd.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/operator/v1/zz_generated.deepcopy.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/operator/v1/zz_generated.featuregated-crd-manifests.yaml is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/operator/v1/zz_generated.swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/operatorcontrolplane/v1alpha1/types_conditioncheck.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/operatorcontrolplane/v1alpha1/zz_generated.featuregated-crd-manifests.yaml is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/payload-command/render/legacyfeaturegates.go is excluded by !**/vendor/**, !vendor/**
  • vendor/modules.txt is excluded by !**/vendor/**, !vendor/**
📒 Files selected for processing (7)
  • go.mod
  • pkg/controller/build/fixtures/helpers.go
  • pkg/controller/build/fixtures/helpers_test.go
  • pkg/controller/template/gcp_healthchecks.go
  • pkg/controller/template/gcp_healthchecks_test.go
  • pkg/controller/template/render.go
  • templates/master/00-master/gcp/files/opt-libexec-openshift-gcp-routes-sh.yaml

Included review availability: Your plan provides up to 2 included reviews per hour; 1 remains after this review.


Walkthrough

The change orders digest ConfigMap and Job status actions, adds region-specific GCP health-check ranges to rendered nftables rules, and updates the github.com/openshift/api dependency.

Changes

Build status ordering

Layer / File(s) Summary
Digest ConfigMap and Job status ordering
pkg/controller/build/fixtures/helpers.go, pkg/controller/build/fixtures/helpers_test.go
Successful jobs create the digest ConfigMap before updating Job status. Failed jobs delete the ConfigMap after the update. A test verifies the successful-job action order.

GCP health-check ranges

Layer / File(s) Summary
Region-specific range selection
pkg/controller/template/gcp_healthchecks.go, pkg/controller/template/gcp_healthchecks_test.go
The selector returns public GCP ranges by default and region-specific ranges for the supported GCD regions. Tests cover both behaviors.
Template function and nftables wiring
pkg/controller/template/render.go, templates/master/00-master/gcp/files/opt-libexec-openshift-gcp-routes-sh.yaml
The renderer registers the selector. The routes template emits one drop rule for each selected source range.

OpenShift API dependency update

Layer / File(s) Summary
OpenShift API module version
go.mod
The github.com/openshift/api requirement is updated to a newer pseudo-version.

Priority: ➖ Normal

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

Change: Bug fix

Sequence Diagram(s)

sequenceDiagram
  participant RenderConfig
  participant renderTemplate
  participant gcpHealthCheckSourceRanges
  participant nftablesHelper
  RenderConfig->>renderTemplate: provide platform and region
  renderTemplate->>gcpHealthCheckSourceRanges: select source ranges
  gcpHealthCheckSourceRanges-->>renderTemplate: return CIDR list
  renderTemplate->>nftablesHelper: render drop rules for each CIDR
Loading

Merge Risk: ⚪ Minimal · up to f1047

The status ordering and regional health-check rule changes do not show an actionable failure path. The change is ready to merge after normal checks.

🚥 Pre-merge checks | ✅ 13 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 60.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 5 functions across 5 files. (2 skipped: 2… Write docstrings for the functions missing them to satisfy the coverage threshold.
Test Structure And Quality ⚠️ Warning The new fixture test has two assertions without meaningful failure messages: require.GreaterOrEqual and require.Greater at pkg/controller/build/fixtures/helpers_test.go:37-38. Their generic outp… Add diagnostic messages to both assertions, for example require.GreaterOrEqual(t, digestConfigMapCreate, 0, "digest ConfigMap create action was not recorded") and `require.Greater(t, jobStatusUpdate, digestConfigMapCreate, "Job status upd…
✅ Passed checks (13 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the primary change: creating the digest ConfigMap before marking the Job successful.
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.
Stable And Deterministic Test Names ✅ Passed PASS. The pull request adds only static test names. TestSetJobStatusCreatesDigestConfigMapBeforeMarkingJobSucceeded and TestGCPHealthCheckSourceRanges are fixed Go test names. The table-driven `t.…
Microshift Test Compatibility ✅ Passed The pull request does not add Ginkgo e2e tests. Its two added tests are standard Go testing tests in pkg/controller/build/fixtures and pkg/controller/template; the changed additions contain no G…
Single Node Openshift (Sno) Test Compatibility ✅ Passed PASS: The pull request adds only standard Go unit tests (func Test... with testing, testify, and a fake client). It adds no Ginkgo e2e tests, and the changed files contain no multi-node or HA as…
Topology-Aware Scheduling Compatibility ✅ Passed PASS: The pull request introduces no topology-sensitive scheduling constraint. The direct code changes reorder fixture Job/ConfigMap API actions and add GCP health-check CIDR rendering for an nftables…
Ote Binary Stdout Contract ✅ Passed PASS. The pull request adds no stdout writes or process-level logging in Go. The changed Go files contain no package main, init, TestMain, Ginkgo suite setup, fmt.Print*, log.Print*, or adde…
Ipv6 And Disconnected Network Test Compatibility ✅ Passed PASS. The pull request adds two standard Go tests, not new Ginkgo e2e tests. The tests use testing.T and t.Run; they do not use It, Describe, Context, or When. They do not connect to exter…
No-Weak-Crypto ✅ Passed The pull-request diff introduces no MD5, SHA1, DES, RC4, 3DES, Blowfish, or ECB implementation or call. It adds no custom cryptography and no non-constant-time comparison of secrets or tokens. The exi…
Container-Privileges ✅ Passed No privilege condition is introduced by the pull request. The authoritative diff has zero added occurrences of privileged, hostPID, hostNetwork, hostIPC, SYS_ADMIN, `allowPrivilegeEscalation…
No-Sensitive-Data-In-Logs ✅ Passed No changed production code adds logging. The fixture changes only reorder ConfigMap and Job updates. The GCP changes add CIDR selection and template rendering. The new test diagnostic prints only publ…
Full details: Docstring Coverage

Explanation

Docstring coverage is 60.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 5 functions across 5 files. (2 skipped: 2 unsupported.)

Full details: Test Structure And Quality

Explanation

The new fixture test has two assertions without meaningful failure messages: require.GreaterOrEqual and require.Greater at pkg/controller/build/fixtures/helpers_test.go:37-38. Their generic output does not identify that the digest ConfigMap create action is missing or that the Job status update has the wrong order. The GCP table test has a useful t.Errorf message. No test uses an indefinite wait, and the fake client resources need no external cleanup. The tests follow the repository's standard testing.T style and each subtest checks one behavior.

Resolution

Add diagnostic messages to both assertions, for example require.GreaterOrEqual(t, digestConfigMapCreate, 0, "digest ConfigMap create action was not recorded") and require.Greater(t, jobStatusUpdate, digestConfigMapCreate, "Job status update must occur after digest ConfigMap creation").

  • Fix all pre-merge checks with AI
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@openshift-ci

openshift-ci Bot commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: redhat-chai-bot
Once this PR has been reviewed and has the lgtm label, please assign cheesesashimi 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

@patrickdillon

Copy link
Copy Markdown
Contributor

/hold
I was investigating the perma-failing unit tests in #6501 with chai bots help

I didn't realize chai bot would open the PR before allowing me to inspect the code. Also it appears to have included my PR #6501 along with the test fix.

f1047bb is the relevant code I was curious about, not certain of its validity...

@openshift-ci openshift-ci Bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Sep 16, 2026
@openshift-ci

openshift-ci Bot commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

@redhat-chai-bot: The following test 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/perfscale-control-plane-6nodes f1047bb link false /test perfscale-control-plane-6nodes

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

do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants