Conformance test suite for OpenShift
This report summarizes scanner evidence for openshift/origin, a Go project with 8,691 GitHub stars. SynthScan examined 748,998 lines of code across 3870 source files, recording 413 pattern matches distributed across 15 syntactic categories. The legacy adjusted pattern signal is 0.8 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 393 finding(s).
Are imports declared and package/API names verified? 11 finding(s).
Are wrappers, guards, and repeated structures necessary? 22 finding(s).
Which changes need focused human review? 413 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 413 distinct pattern matches across 15 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | doc.go | 1 | // This is the source repository for OpenShift Origin - the best way to build, manage, and deploy | COMMENT |
| LOW | tools/junitreport/pkg/parser/stack/parser.go | 21 | } | COMMENT |
| LOW | test/shared/updateservice/updateservice.go | 1 | // Package updateservice deploys a fake Cincinnati update service (a pod | COMMENT |
| LOW | test/extended/testdata/cmd/test/cmd/images.sh | 41 | #os::cmd::expect_success_and_text "oc get imageStreams test --template='{{.status.dockerImageRepository}}'" 'test' | COMMENT |
| LOW | test/extended/testdata/cmd/test/cmd/images.sh | 61 | #os::cmd::expect_success 'oc create imagestream test' | COMMENT |
| LOW | test/extended/testdata/cmd/test/cmd/images.sh | 241 | #os::cmd::expect_success "oc tag test:new newrepo:direct" | COMMENT |
| LOW | test/extended/testdata/cmd/test/cmd/authentication.sh | 21 | ## Logging in prints useful messages | COMMENT |
| LOW | test/extended/testdata/cmd/test/cmd/authentication.sh | 41 | #os::cmd::expect_success_and_text "oc policy can-i --list -n '${project}' --as=scoped-user" 'get.*pods' | COMMENT |
| LOW | test/extended/testdata/cmd/test/cmd/authentication.sh | 61 | #adminnonescalatingpowerstoken="$(oc process -f "${OS_ROOT}/test/testdata/authentication/scoped-token-template.yaml" TOK | COMMENT |
| LOW | test/extended/testdata/cmd/test/cmd/authentication.sh | 81 | #os::cmd::expect_success_and_text "oc policy can-i create subjectaccessreviews.authorization.openshift.io --token='${acc | COMMENT |
| LOW | test/extended/testdata/cmd/hack/lib/cmd.sh | 161 | os_cmd_internal_tmpout="${os_cmd_internal_tmpdir}/tmp_stdout.log" | COMMENT |
| LOW | test/extended/testdata/cmd/hack/lib/cmd.sh | 461 | # Globals: | COMMENT |
| LOW | test/extended/testdata/cmd/hack/lib/cmd.sh | 541 | # | COMMENT |
| LOW | test/extended/testdata/cmd/hack/lib/test/junit.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | test/extended/testdata/cmd/hack/lib/test/junit.sh | 21 | export NUM_OS_JUNIT_SUITES_IN_FLIGHT | COMMENT |
| LOW | test/extended/testdata/cmd/hack/lib/test/junit.sh | 101 | } | COMMENT |
| LOW | test/extended/testdata/cmd/hack/lib/test/junit.sh | 141 | for (( i = 0; i < ${NUM_OS_JUNIT_SUITES_IN_FLIGHT:-0}; i++ )); do | COMMENT |
| LOW | test/extended/testdata/cmd/hack/lib/util/trap.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | test/extended/testdata/cmd/hack/lib/util/trap.sh | 61 | if [[ "${OS_USE_STACKTRACE:-}" = "true" ]]; then | COMMENT |
| LOW | test/extended/testdata/cmd/hack/lib/util/environment.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | test/extended/testdata/cmd/hack/lib/util/environment.sh | 41 | # os::util::environment::setup_all_server_vars sets up all environment variables necessary to configure and start an Ope | COMMENT |
| LOW | test/extended/testdata/cmd/hack/lib/util/environment.sh | 61 | # - USE_IMAGES | COMMENT |
| LOW | test/extended/testdata/cmd/hack/lib/util/environment.sh | 81 | # - export API_SCHEME | COMMENT |
| LOW | test/extended/testdata/cmd/hack/lib/util/environment.sh | 121 | # - TMPDIR | COMMENT |
| LOW | test/extended/testdata/cmd/hack/lib/util/environment.sh | 181 | # os::util::environment::setup_etcd_vars sets up environment variables necessary for interacting with etcd | COMMENT |
| LOW | test/extended/testdata/cmd/hack/lib/util/environment.sh | 201 | export ETCD_PEER_PORT | COMMENT |
| LOW | test/extended/testdata/cmd/hack/lib/util/environment.sh | 261 | export ETCD_CA_BUNDLE | COMMENT |
| LOW | test/extended/testdata/cmd/hack/lib/util/misc.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | test/extended/testdata/cmd/hack/lib/util/misc.sh | 41 | # Arguments: | COMMENT |
| LOW | test/extended/testdata/cmd/hack/lib/util/misc.sh | 141 | if [[ "$(go env GOHOSTOS)" == "darwin" ]]; then | COMMENT |
| LOW | test/extended/testdata/cmd/hack/lib/log/output.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | test/extended/testdata/cmd/hack/lib/log/output.sh | 61 | # Globals: | COMMENT |
| LOW | test/extended/testdata/cmd/hack/lib/log/system.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | test/extended/testdata/cmd/hack/lib/log/system.sh | 21 | # This function stops logging and generates plots of data for easy consumption. | COMMENT |
| LOW | test/extended/testdata/cmd/hack/lib/log/system.sh | 121 | # for the proper flag format for 'cut', we join the list delimiting with commas | COMMENT |
| LOW | test/extended/testdata/cmd/hack/lib/log/system.sh | 221 | COMMENT | |
| LOW | test/extended/testdata/cmd/hack/lib/log/stacktrace.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | test/extended/testdata/cmd/hack/lib/log/stacktrace.sh | 21 | COMMENT | |
| LOW | …/extended/edge_topologies/tnf_node_replacement_flow.go | 281 | // prefix where the gateway is the predictable ".1" / "::1" style address on that segment (IPv4: last octet 1; | COMMENT |
| LOW | …/extended/edge_topologies/tnf_node_replacement_flow.go | 401 | COMMENT | |
| LOW | …/extended/edge_topologies/tnf_node_replacement_flow.go | 1181 | // Phase 1: stonith confirm --force (Preferred) | COMMENT |
| LOW | …/extended/edge_topologies/tnf_node_replacement_flow.go | 1741 | // | COMMENT |
| LOW | …xtended/edge_topologies/tnf_node_replacement_ovn_vm.go | 1121 | COMMENT | |
| LOW | test/extended/edge_topologies/tnf_etcd_disruption.go | 101 | // | COMMENT |
| LOW | test/extended/edge_topologies/tnf_etcd_disruption.go | 661 | g.By("Verifying pcs status shows etcd-clone Started on both nodes") | COMMENT |
| LOW | test/extended/edge_topologies/tnf_etcd_disruption.go | 781 | // that a learner member exists in etcd but the learner_node attribute is missing, | COMMENT |
| LOW | test/extended/edge_topologies/two_node.go | 1 | // Package edge_topologies contains end-to-end tests for two-node (DualReplica) OpenShift clusters. | COMMENT |
| LOW | test/extended/edge_topologies/utils/common.go | 221 | return skipReasons | COMMENT |
| LOW | test/extended/edge_topologies/utils/common.go | 461 | // IsClusterHealthyWithTimeout checks if the cluster is in a healthy state with a configurable timeout. | COMMENT |
| LOW | …topologies/utils/apis/pacemaker_fencing_credentials.go | 41 | COMMENT | |
| LOW | test/extended/cluster/utils.go | 481 | // for _, v := range pods.Items { | COMMENT |
| LOW | test/extended/operators/daemon_set.go | 21 | var _ = g.Describe("[sig-arch] Managed cluster", func() { | COMMENT |
| LOW | test/extended/operators/operators.go | 301 | // compute, running the post-unpause compute-settling monitor, and | COMMENT |
| LOW | test/extended/util/framework.go | 401 | COMMENT | |
| LOW | test/extended/util/framework.go | 2321 | if err != nil { | COMMENT |
| LOW | test/extended/util/conditions.go | 41 | } | COMMENT |
| LOW | test/extended/util/compat_otp/terraform.go | 21 | tfbin *tfexec.Terraform | COMMENT |
| LOW | test/extended/util/compat_otp/ccoctl.go | 21 | // | COMMENT |
| LOW | test/extended/util/compat_otp/test.go | 181 | return string(auth.Spec.Type) == string(configv1.AuthenticationTypeOIDC), nil | COMMENT |
| LOW | test/extended/util/compat_otp/test.go | 401 | // default: | COMMENT |
| 162 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …/extended/edge_topologies/tnf_node_replacement_flow.go | 468 | // Step 0: Restore BMC credentials before long-running VM work so BMO never sees a host without a Secret while we recov | COMMENT |
| LOW⚡ | …/extended/edge_topologies/tnf_node_replacement_flow.go | 475 | // Step 1: Recreate the VM from backup | COMMENT |
| LOW⚡ | …/extended/edge_topologies/tnf_node_replacement_flow.go | 486 | // Step 2: Best-effort restore etcd member Secrets from backup. recoverEtcdSecretsFromBackup does not | COMMENT |
| LOW⚡ | …/extended/edge_topologies/tnf_node_replacement_flow.go | 494 | // Step 3: Recreate BMH from backup (no detached so Ironic can provision). Machine is created after BMH provisions. | COMMENT |
| LOW⚡ | …/extended/edge_topologies/tnf_node_replacement_flow.go | 504 | // Step 4: Wait for BMH provisioning. | COMMENT |
| LOW⚡ | …/extended/edge_topologies/tnf_node_replacement_flow.go | 514 | // Step 5: Apply detached annotation now that the host is provisioned. | COMMENT |
| LOW⚡ | …/extended/edge_topologies/tnf_node_replacement_flow.go | 521 | // Step 6: Recreate Machine from backup (after BMH has provisioned). | COMMENT |
| LOW⚡ | …/extended/edge_topologies/tnf_node_replacement_flow.go | 531 | // Step 7: Wait for node to register; approve node-bootstrapper CSR when machine-approver does not (reused node name). | COMMENT |
| LOW⚡ | …/extended/edge_topologies/tnf_node_replacement_flow.go | 571 | // Step 10: Trace→Normal operator log level bump triggers a new revision so static-pod installers re-materialize | COMMENT |
| LOW⚡ | …/extended/edge_topologies/tnf_node_replacement_flow.go | 579 | // Step 11: Clear pacemaker fencing/cleanup state on the survivor after disruptive work. | COMMENT |
| LOW | …/extended/edge_topologies/tnf_node_replacement_flow.go | 1217 | // Step 1: Verify the VM no longer exists before confirming fencing | COMMENT |
| LOW | …/extended/edge_topologies/tnf_node_replacement_flow.go | 1244 | // Step 2: Confirm the fencing of the target node | COMMENT |
| LOW | …/extended/edge_topologies/tnf_node_replacement_flow.go | 1267 | // Step 3: Wait for etcd to start after stonith confirm (poll every 30s; cap etcdPhase1StartAfterStonithTimeout). | COMMENT |
| LOW | …xtended/edge_topologies/tnf_node_replacement_finish.go | 69 | // Step 1: Verify both nodes are in Ready state | COMMENT |
| LOW | …xtended/edge_topologies/tnf_node_replacement_finish.go | 82 | // Step 2: Verify all cluster operators are available (not degraded or progressing) | COMMENT |
| LOW | …topologies/utils/apis/pacemaker_fencing_credentials.go | 194 | //Step 1: Get an initial list of pods. The resourceVersion from this list is the "starting point" for the watch. | COMMENT |
| LOW⚡ | …topologies/utils/apis/pacemaker_fencing_credentials.go | 225 | // Step 2: Check all existing pods first. If any of them show the desired result, we're done. | COMMENT |
| LOW⚡ | …topologies/utils/apis/pacemaker_fencing_credentials.go | 232 | // Step 3: Watch for new pods and follow their logs until we see the desired result or timeout. | COMMENT |
| LOW | …topologies/utils/apis/pacemaker_fencing_credentials.go | 245 | // Step 4: Wait for new/updated pods and check each one until we find the desired result or timeout. | COMMENT |
| LOW⚡ | test/extended/apiserverauth/apiserver_util.go | 1831 | // Step 1: Retrieve current secret count | COMMENT |
| LOW⚡ | test/extended/apiserverauth/apiserver_util.go | 1839 | // Step 2: Create secrets and check if quota limit is reached | COMMENT |
| LOW⚡ | test/extended/apiserverauth/apiserver_util.go | 1847 | // Step 3: Expect failure when reaching the quota limit | COMMENT |
| LOW | test/extended/networking/kubevirt/console.go | 59 | // NOTE: This functions heritage limitations from `expectBatchWithValidatedSend` refer to it to check them. | COMMENT |
| LOW | test/extended/networking/kubevirt/console.go | 68 | // NOTE: This functions inherits limitations from `expectBatchWithValidatedSend`, refer to it for more information. | COMMENT |
| LOW⚡ | test/extended/node/node_utils.go | 468 | // Step 4: Wait for CSV to be ready | COMMENT |
| LOW⚡ | test/extended/node/node_utils.go | 475 | // Step 5: Create HyperConverged CR | COMMENT |
| LOW⚡ | test/extended/node/node_utils.go | 497 | // Step 6: Wait for HyperConverged to be ready | COMMENT |
| LOW⚡ | test/extended/node/node_utils.go | 504 | // Step 7: Label worker nodes for CNV | COMMENT |
| LOW⚡ | test/extended/node/node_utils.go | 511 | // Step 8: Wait for MCP rollout to complete (if any MachineConfigs were applied) | COMMENT |
| LOW⚡ | test/extended/node/node_utils.go | 818 | // Step 2: Delete Subscription | COMMENT |
| LOW⚡ | test/extended/node/node_utils.go | 825 | // Step 3: Delete all CSVs in the namespace | COMMENT |
| LOW⚡ | test/extended/node/node_utils.go | 834 | // Step 4: Delete OperatorGroup | COMMENT |
| LOW⚡ | test/extended/node/node_utils.go | 841 | // Step 5: Remove node labels | COMMENT |
| LOW⚡ | test/extended/node/node_utils.go | 845 | // Step 6: Delete namespace | COMMENT |
| LOW | test/extended/node/node_utils.go | 378 | // Step 1: Create CNV namespace with Pod Security labels | COMMENT |
| LOW | test/extended/node/node_utils.go | 420 | // Step 2: Create OperatorGroup | COMMENT |
| LOW | test/extended/node/node_utils.go | 442 | // Step 3: Create Subscription | COMMENT |
| LOW | test/extended/node/node_utils.go | 783 | // Step 1: Delete HyperConverged CR | COMMENT |
| LOW | test/extended/node/node_utils.go | 863 | // Step 7: Wait for MCP rollout to complete (if any MachineConfigs were removed) | COMMENT |
| LOW⚡ | …st/extended/node/dra/nvidia/prerequisites_installer.go | 53 | // Step 1: Validate GPU Operator is already installed | COMMENT |
| LOW⚡ | …st/extended/node/dra/nvidia/prerequisites_installer.go | 61 | // Step 2: Wait for GPU Operator to be ready | COMMENT |
| LOW⚡ | …st/extended/node/dra/nvidia/prerequisites_installer.go | 68 | // Step 3: Check if DRA Driver already installed (skip if present) | COMMENT |
| LOW⚡ | …st/extended/node/dra/nvidia/prerequisites_installer.go | 72 | // Step 4: Ensure Helm is available | COMMENT |
| LOW⚡ | …st/extended/node/dra/nvidia/prerequisites_installer.go | 77 | // Step 5: Add NVIDIA Helm repository | COMMENT |
| LOW⚡ | …st/extended/node/dra/nvidia/prerequisites_installer.go | 82 | // Step 6: Install DRA Driver (latest version) | COMMENT |
| LOW⚡ | …st/extended/node/dra/nvidia/prerequisites_installer.go | 90 | // Step 7: Wait for DRA Driver to be ready | COMMENT |
| LOW | …st/extended/node/dra/nvidia/prerequisites_installer.go | 288 | // Step 1: Uninstall Helm release | COMMENT |
| LOW | …st/extended/node/dra/nvidia/prerequisites_installer.go | 299 | // Step 2: Delete ClusterRoleBindings created by grantSCCPermissions | COMMENT |
| LOW | …st/extended/node/dra/nvidia/prerequisites_installer.go | 316 | // Step 3: Remove DRA kubelet plugin labels from GPU nodes | COMMENT |
| LOW | …st/extended/node/dra/nvidia/prerequisites_installer.go | 334 | // Step 4: Delete namespace | COMMENT |
| LOW | …st/extended/node/dra/nvidia/prerequisites_installer.go | 350 | // Step 1: Delete ClusterRoleBindings | COMMENT |
| LOW | …st/extended/node/dra/nvidia/prerequisites_installer.go | 367 | // Step 2: Remove DRA kubelet plugin labels from GPU nodes | COMMENT |
| LOW | …st/extended/node/dra/nvidia/prerequisites_installer.go | 385 | // Step 3: Delete namespace | COMMENT |
| LOW | test/extended/node/dra/nvidia/README.md | 121 | ### Step 1: Add NVIDIA Helm Repository | COMMENT |
| LOW | test/extended/node/dra/nvidia/README.md | 128 | ### Step 2: Label GPU Nodes | COMMENT |
| LOW | test/extended/node/dra/nvidia/README.md | 142 | ### Step 3: Install DRA Driver | COMMENT |
| LOW | test/extended/node/dra/nvidia/README.md | 178 | ### Step 4: Verify Installation | COMMENT |
| LOW⚡ | pkg/test/ginkgo/queue_test.go | 1017 | // Step 1: Get test1 and mark it as running (but don't run it yet to keep conflict active) | COMMENT |
| LOW⚡ | pkg/test/ginkgo/queue_test.go | 1024 | // Step 2: Try to get next test while test1 is "running" | COMMENT |
| LOW⚡ | pkg/test/ginkgo/queue_test.go | 1031 | // Step 3: Clean up test1's conflict (simulate test1 completing) | COMMENT |
| 1 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …/extended/edge_topologies/tnf_node_replacement_flow.go | 468 | // Step 0: Restore BMC credentials before long-running VM work so BMO never sees a host without a Secret while we recov | COMMENT |
| LOW⚡ | …/extended/edge_topologies/tnf_node_replacement_flow.go | 475 | // Step 1: Recreate the VM from backup | COMMENT |
| LOW⚡ | …/extended/edge_topologies/tnf_node_replacement_flow.go | 486 | // Step 2: Best-effort restore etcd member Secrets from backup. recoverEtcdSecretsFromBackup does not | COMMENT |
| LOW⚡ | …/extended/edge_topologies/tnf_node_replacement_flow.go | 494 | // Step 3: Recreate BMH from backup (no detached so Ironic can provision). Machine is created after BMH provisions. | COMMENT |
| LOW⚡ | …/extended/edge_topologies/tnf_node_replacement_flow.go | 504 | // Step 4: Wait for BMH provisioning. | COMMENT |
| LOW⚡ | …/extended/edge_topologies/tnf_node_replacement_flow.go | 514 | // Step 5: Apply detached annotation now that the host is provisioned. | COMMENT |
| LOW⚡ | …/extended/edge_topologies/tnf_node_replacement_flow.go | 521 | // Step 6: Recreate Machine from backup (after BMH has provisioned). | COMMENT |
| LOW⚡ | …/extended/edge_topologies/tnf_node_replacement_flow.go | 531 | // Step 7: Wait for node to register; approve node-bootstrapper CSR when machine-approver does not (reused node name). | COMMENT |
| LOW⚡ | …/extended/edge_topologies/tnf_node_replacement_flow.go | 571 | // Step 10: Trace→Normal operator log level bump triggers a new revision so static-pod installers re-materialize | COMMENT |
| LOW⚡ | …/extended/edge_topologies/tnf_node_replacement_flow.go | 579 | // Step 11: Clear pacemaker fencing/cleanup state on the survivor after disruptive work. | COMMENT |
| LOW | …/extended/edge_topologies/tnf_node_replacement_flow.go | 1217 | // Step 1: Verify the VM no longer exists before confirming fencing | COMMENT |
| LOW | …/extended/edge_topologies/tnf_node_replacement_flow.go | 1244 | // Step 2: Confirm the fencing of the target node | COMMENT |
| LOW | …/extended/edge_topologies/tnf_node_replacement_flow.go | 1267 | // Step 3: Wait for etcd to start after stonith confirm (poll every 30s; cap etcdPhase1StartAfterStonithTimeout). | COMMENT |
| LOW | …xtended/edge_topologies/tnf_node_replacement_finish.go | 69 | // Step 1: Verify both nodes are in Ready state | COMMENT |
| LOW | …xtended/edge_topologies/tnf_node_replacement_finish.go | 82 | // Step 2: Verify all cluster operators are available (not degraded or progressing) | COMMENT |
| LOW | …topologies/utils/apis/pacemaker_fencing_credentials.go | 194 | //Step 1: Get an initial list of pods. The resourceVersion from this list is the "starting point" for the watch. | COMMENT |
| LOW⚡ | …topologies/utils/apis/pacemaker_fencing_credentials.go | 225 | // Step 2: Check all existing pods first. If any of them show the desired result, we're done. | COMMENT |
| LOW⚡ | …topologies/utils/apis/pacemaker_fencing_credentials.go | 232 | // Step 3: Watch for new pods and follow their logs until we see the desired result or timeout. | COMMENT |
| LOW | …topologies/utils/apis/pacemaker_fencing_credentials.go | 245 | // Step 4: Wait for new/updated pods and check each one until we find the desired result or timeout. | COMMENT |
| LOW⚡ | test/extended/apiserverauth/apiserver_util.go | 1831 | // Step 1: Retrieve current secret count | COMMENT |
| LOW⚡ | test/extended/apiserverauth/apiserver_util.go | 1839 | // Step 2: Create secrets and check if quota limit is reached | COMMENT |
| LOW⚡ | test/extended/apiserverauth/apiserver_util.go | 1847 | // Step 3: Expect failure when reaching the quota limit | COMMENT |
| LOW⚡ | test/extended/node/node_utils.go | 468 | // Step 4: Wait for CSV to be ready | COMMENT |
| LOW⚡ | test/extended/node/node_utils.go | 475 | // Step 5: Create HyperConverged CR | COMMENT |
| LOW⚡ | test/extended/node/node_utils.go | 497 | // Step 6: Wait for HyperConverged to be ready | COMMENT |
| LOW⚡ | test/extended/node/node_utils.go | 504 | // Step 7: Label worker nodes for CNV | COMMENT |
| LOW⚡ | test/extended/node/node_utils.go | 511 | // Step 8: Wait for MCP rollout to complete (if any MachineConfigs were applied) | COMMENT |
| LOW⚡ | test/extended/node/node_utils.go | 818 | // Step 2: Delete Subscription | COMMENT |
| LOW⚡ | test/extended/node/node_utils.go | 825 | // Step 3: Delete all CSVs in the namespace | COMMENT |
| LOW⚡ | test/extended/node/node_utils.go | 834 | // Step 4: Delete OperatorGroup | COMMENT |
| LOW⚡ | test/extended/node/node_utils.go | 841 | // Step 5: Remove node labels | COMMENT |
| LOW⚡ | test/extended/node/node_utils.go | 845 | // Step 6: Delete namespace | COMMENT |
| LOW | test/extended/node/node_utils.go | 378 | // Step 1: Create CNV namespace with Pod Security labels | COMMENT |
| LOW | test/extended/node/node_utils.go | 420 | // Step 2: Create OperatorGroup | COMMENT |
| LOW | test/extended/node/node_utils.go | 442 | // Step 3: Create Subscription | COMMENT |
| LOW | test/extended/node/node_utils.go | 783 | // Step 1: Delete HyperConverged CR | COMMENT |
| LOW | test/extended/node/node_utils.go | 863 | // Step 7: Wait for MCP rollout to complete (if any MachineConfigs were removed) | COMMENT |
| LOW⚡ | …st/extended/node/dra/nvidia/prerequisites_installer.go | 53 | // Step 1: Validate GPU Operator is already installed | COMMENT |
| LOW⚡ | …st/extended/node/dra/nvidia/prerequisites_installer.go | 61 | // Step 2: Wait for GPU Operator to be ready | COMMENT |
| LOW⚡ | …st/extended/node/dra/nvidia/prerequisites_installer.go | 68 | // Step 3: Check if DRA Driver already installed (skip if present) | COMMENT |
| LOW⚡ | …st/extended/node/dra/nvidia/prerequisites_installer.go | 72 | // Step 4: Ensure Helm is available | COMMENT |
| LOW⚡ | …st/extended/node/dra/nvidia/prerequisites_installer.go | 77 | // Step 5: Add NVIDIA Helm repository | COMMENT |
| LOW⚡ | …st/extended/node/dra/nvidia/prerequisites_installer.go | 82 | // Step 6: Install DRA Driver (latest version) | COMMENT |
| LOW⚡ | …st/extended/node/dra/nvidia/prerequisites_installer.go | 90 | // Step 7: Wait for DRA Driver to be ready | COMMENT |
| LOW | …st/extended/node/dra/nvidia/prerequisites_installer.go | 288 | // Step 1: Uninstall Helm release | COMMENT |
| LOW | …st/extended/node/dra/nvidia/prerequisites_installer.go | 299 | // Step 2: Delete ClusterRoleBindings created by grantSCCPermissions | COMMENT |
| LOW | …st/extended/node/dra/nvidia/prerequisites_installer.go | 316 | // Step 3: Remove DRA kubelet plugin labels from GPU nodes | COMMENT |
| LOW | …st/extended/node/dra/nvidia/prerequisites_installer.go | 334 | // Step 4: Delete namespace | COMMENT |
| LOW | …st/extended/node/dra/nvidia/prerequisites_installer.go | 350 | // Step 1: Delete ClusterRoleBindings | COMMENT |
| LOW | …st/extended/node/dra/nvidia/prerequisites_installer.go | 367 | // Step 2: Remove DRA kubelet plugin labels from GPU nodes | COMMENT |
| LOW | …st/extended/node/dra/nvidia/prerequisites_installer.go | 385 | // Step 3: Delete namespace | COMMENT |
| LOW⚡ | pkg/test/ginkgo/queue_test.go | 1017 | // Step 1: Get test1 and mark it as running (but don't run it yet to keep conflict active) | COMMENT |
| LOW⚡ | pkg/test/ginkgo/queue_test.go | 1024 | // Step 2: Try to get next test while test1 is "running" | COMMENT |
| LOW⚡ | pkg/test/ginkgo/queue_test.go | 1031 | // Step 3: Clean up test1's conflict (simulate test1 completing) | COMMENT |
| LOW⚡ | pkg/test/ginkgo/queue_test.go | 1034 | // Step 4: Now test2 should be runnable and returned (it maintained its position in queue) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …estdata/builds/jenkins-pipeline/jenkins-ephemeral.json | 326 | "description": "See https://access.redhat.com/documentation/en-us/openjdk/11/html-single/configuring_openjdk_11_on | CODE |
| MEDIUM | …/extended/edge_topologies/tnf_node_replacement_flow.go | 256 | // getNodeInternalIP gets the internal IP address of a node using JSON output for robust parsing | COMMENT |
| MEDIUM | …_otp/testdata/securityandcompliance/cert_generation.sh | 85 | # the entire configuration file. It may also hold settings pertaining to more | COMMENT |
| MEDIUM | …estdata/logging/external-log-stores/cert_generation.sh | 42 | # the entire configuration file. It may also hold settings pertaining to more | COMMENT |
| MEDIUM | …a/logging/external-log-stores/kafka/cert_generation.sh | 60 | # the entire configuration file. It may also hold settings pertaining to more | COMMENT |
| MEDIUM | …a/logging/external-log-stores/kafka/cert_generation.sh | 158 | # the entire configuration file. It may also hold settings pertaining to more | COMMENT |
| MEDIUM | test/extended/util/compat_otp/jenkins/ref.go | 377 | // will leverage the rhel images from the terms based registry at registry.redhat.io | COMMENT |
| MEDIUM | test/extended/machine_config/helpers.go | 128 | // `GetRolesToTest` gets the MCPs in a cluster with nodes associated to it. This allows a more robust way to determine | COMMENT |
| MEDIUM | test/extended/node/node_swap.go | 38 | // - All nodes have swapBehavior=NoSwap to ensure kubelet does not utilize swap even if available at OS level | COMMENT |
| MEDIUM | hack/test-go.sh | 24 | # - DLV_DEBUG toggles running tests using delve debugger | COMMENT |
| MEDIUM | hack/test-go.sh | 88 | # henceforth as packages and instead interpret them as flags to give to `go test` | COMMENT |
| MEDIUM | hack/test-go.sh | 212 | # run tests using delve debugger | COMMENT |
| MEDIUM | examples/jenkins/jenkins-ephemeral-template.json | 323 | "description": "See https://access.redhat.com/documentation/en-us/openjdk/11/html-single/configuring_openjdk_11_on_rh | CODE |
| MEDIUM | examples/jenkins/jenkins-persistent-template.json | 351 | "description": "See https://access.redhat.com/documentation/en-us/openjdk/11/html-single/configuring_openjdk_11_on_rh | CODE |
| MEDIUM | pkg/monitortests/cli/adm_upgrade/status/monitortest.go | 186 | // TODO: Maybe utilize Intervals somehow and do tests in ComputeComputedIntervals and EvaluateTestsFromConstructedInter | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | test/extended/testdata/cmd/hack/lib/util/text.sh | 3 | # This file contains helpful aliases for manipulating the output text to the terminal as | COMMENT |
| MEDIUM | test/extended/testdata/cmd/hack/lib/log/output.sh | 3 | # This file contains functions used for writing log messages | COMMENT |
| MEDIUM | hack/update-generated.sh | 13 | echo "# This file is generated by hack/update-generated.sh" > test/extended/util/image/zz_generated.txt | CODE |
| MEDIUM | hack/generate-docs.sh | 3 | # This file is not intended to be run automatically. It is meant to be run | COMMENT |
| MEDIUM | hack/lib/util/text.sh | 3 | # This file contains helpful aliases for manipulating the output text to the terminal as | COMMENT |
| MEDIUM | hack/lib/log/output.sh | 3 | # This file contains functions used for writing log messages | COMMENT |
| MEDIUM | examples/prometheus/prometheus.yaml | 44 | # Create a service account for accessing prometheus data | COMMENT |
| MEDIUM | examples/prometheus/prometheus.yaml | 51 | # Create a service account for prometheus to use to scrape other infrastructure components | COMMENT |
| MEDIUM | examples/prometheus/prometheus.yaml | 119 | # Create a fully end-to-end TLS connection to the prometheus proxy | COMMENT |
| MEDIUM | examples/prometheus/prometheus.yaml | 158 | # Create a fully end-to-end TLS connection to the alert proxy | COMMENT |
| MEDIUM | examples/prometheus/prometheus.yaml | 195 | # Create a fully end-to-end TLS connection to the alertmanager proxy | COMMENT |
| MEDIUM | examples/prometheus/prometheus-standalone.yaml | 38 | # Create a fully end-to-end TLS connection to the prometheus proxy | COMMENT |
| MEDIUM | examples/prometheus/prometheus-standalone.yaml | 214 | # Create a fully end-to-end TLS connection to the alert proxy | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | test/extended/operators/daemon_set.go | 106 | violation := fmt.Sprintf("expected daemonset %s to have maxUnavailable 10%% or 33%% (see comment) instead of %s, or | CODE |
| CRITICAL | test/extended/operators/daemon_set.go | 110 | debug = append(debug, fmt.Sprintf("daemonset %s has %s", key, ds.Spec.UpdateStrategy.RollingUpdate.MaxUnavailable.St | CODE |
| CRITICAL | test/extended/images/oc_copy.go | 435 | podSecurityContextCopy := rc.Spec.Template.Spec.SecurityContext.DeepCopy() | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | test/extended/tls/tls_observed_config.go | 54 | // ─── Narrow target types ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test/extended/tls/tls_observed_config.go | 132 | // ─── Typed target lists ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test/extended/tls/tls_observed_config.go | 278 | // ── read-only tests ──────────────────────────────────────────── | COMMENT |
| MEDIUM | test/extended/tls/tls_observed_config.go | 359 | // ── Serial disruptive tests ───────────────────────────────────────────── | COMMENT |
| MEDIUM | test/extended/tls/tls_observed_config.go | 528 | // ── ConfigMap annotation restoration tests ──────────────────────────── | COMMENT |
| MEDIUM | test/extended/tls/tls_observed_config.go | 641 | // ─── Test implementations ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test/extended/tls/tls_observed_config.go | 1126 | // ─── Helper functions ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test/extended/tls/tls_observed_config.go | 1790 | // ─── HyperShift helpers ──────────────────────────────────────────────────── | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …t_otp/testdata/operatorsdk/ocp-52813-data/watches.yaml | 8 | #+kubebuilder:scaffold:watch | COMMENT |
| MEDIUM | …t_otp/testdata/operatorsdk/ocp-42928-data/watches.yaml | 11 | #+kubebuilder:scaffold:watch | COMMENT |
| MEDIUM | …t_otp/testdata/operatorsdk/ocp-27977-data/watches.yaml | 11 | #+kubebuilder:scaffold:watch | COMMENT |
| MEDIUM | …t_otp/testdata/operatorsdk/ocp-28586-data/watches.yaml | 7 | #+kubebuilder:scaffold:watch | COMMENT |
| MEDIUM | …t_otp/testdata/operatorsdk/ocp-44551-data/watches.yaml | 8 | #+kubebuilder:scaffold:watch | COMMENT |
| MEDIUM | hack/agentic_setup.sh | 4 | # Called by the TRT agentic CI workflow (jira-solver / review-responder) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | e2echart/non-spyglass-e2e-chart-template.html | 342 | function isInterestingOrPathological(eventInterval) { | CODE |
| LOW | e2echart/non-spyglass-e2e-chart-template.html | 400 | function isKubeletStartupProbeFailure(eventInterval) { | CODE |
| LOW | e2echart/non-spyglass-e2e-chart-template.html | 527 | function buildLocatorDisplayString(i) { | CODE |
| LOW | e2echart/test-risk-analysis.html | 141 | function addDisruptionColumnHeaders(selector) { | CODE |
| LOW | e2echart/e2e-chart-template.html | 117 | function isInterestingOrPathological(eventInterval) { | CODE |
| LOW⚡ | e2echart/e2e-chart-template.html | 142 | function isGracefulShutdownActivity(eventInterval) { | CODE |
| LOW⚡ | e2echart/e2e-chart-template.html | 146 | function isAPIUnreachableFromClientActivity(eventInterval) { | CODE |
| LOW⚡ | e2echart/e2e-chart-template.html | 154 | function isStaticPodInstallMonitorActivity(eventInterval) { | CODE |
| LOW | e2echart/e2e-chart-template.html | 305 | function isAPIUnreachableFromClientValue(item) { | CODE |
| LOW | e2echart/e2e-chart-template.html | 313 | function isStaticPodInstallMonitorValue(item) { | CODE |
| LOW | e2echart/e2e-chart-template.html | 327 | function apiserverShutdownEventsValue(item) { | CODE |
| LOW | e2echart/e2e-chart-template.html | 371 | function buildLocatorDisplayString(i) { | CODE |
| LOW | e2echart/e2e-chart-template.html | 491 | function isEtcdLeadershipAndNotEmpty(item) { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/extended/testdata/signer-buildconfig.yaml | 43 | %echo done \n' >> dummy_key.conf | CODE |
| LOW | test/extended/testdata/cmd/test/cmd/secrets.sh | 19 | os::cmd::expect_success 'oc create secret docker-registry dockerconfigjson --docker-username=sample-user --docker-passwo | CODE |
| LOW | …ata/builds/webhook/bitbucket/testdata/pushevent54.json | 6 | "emailAddress":"admin@example.com", | CODE |
| LOW | …webhook/bitbucket/testdata/pushevent54-not-master.json | 6 | "emailAddress":"admin@example.com", | CODE |
| LOW | test/extended/images/helper.go | 407 | Email: "test@test.com", | CODE |
| LOW | test/extended/images/signatures.go | 81 | "GNUPGHOME=/var/lib/origin/gnupg gpg2 --batch --gen-key --pinentry-mode=loopback --passphrase '' dummy_key.conf && " | CODE |
| LOW | test/extended/cli/admin.go | 215 | fakeUser := gen.GenerateName("fake-user-") | CODE |
| LOW | e2echart/non-spyglass-e2e-chart-template.html | 93 | i.delete(t),p}function gi(n){return Ls(Vi(n,X,_o),n+"")}function yi(n){return de(n,Pc,Is)}function di(n){return d | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …xtended/edge_topologies/tnf_node_replacement_finish.go | 389 | // Example usage: | COMMENT |
| LOW | test/extended/util/compat_otp/ccoctl.go | 20 | // Usage example: | COMMENT |
| LOW | hack/verify-jsonformat.sh | 3 | # Usage: | COMMENT |
| LOW | pkg/test/ginkgo/retries.go | 64 | // Example usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …metallb/frr-master-singlestack-configmap-template.yaml | 88 | # or you can use "all_wrap" for all daemons, e.g. to use perf record: | COMMENT |
| MEDIUM | hack/verify-jsonformat.sh | 11 | # In case there is a formatting error, you can use this command to fix it | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .claude/scripts/query_operator_watch_requests.py | 32 | print(f"Error: Invalid release format '{release}'. Expected format like '4.22'", file=sys.stderr) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .claude/scripts/update_operator_watch_limits.py | 99 | # Check if exists in limits | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .claude/scripts/update_operator_watch_limits.py | 42 | CODE |