Skip to content

NETOBSERV-2748 e2etests images and pre-merge tests#80004

Open
memodi wants to merge 4 commits into
openshift:mainfrom
memodi:e2etests-ci
Open

NETOBSERV-2748 e2etests images and pre-merge tests#80004
memodi wants to merge 4 commits into
openshift:mainfrom
memodi:e2etests-ci

Conversation

@memodi
Copy link
Copy Markdown
Contributor

@memodi memodi commented Jun 3, 2026

NETOBSERV-2748 e2etests images and pre-merge tests

Summary by CodeRabbit

This PR adds targeted e2e test support and CI steps for netobserv-operator in OpenShift CI (refs NETOBSERV-2748).

What changed practically

  • CI image: The component CI config (ci-operator/config/netobserv/netobserv-operator/netobserv-netobserv-operator-main.yaml) adds an e2etests image. The image is built with a Go 1.25 multi-stage flow that installs ginkgo, compiles the e2e binary (e2e-tests.test), and packages the test binary, testdata/, and ginkgo into a minimal runtime image whose ENTRYPOINT runs the tests.
  • Resource profile: The e2etests image defines its own CPU/memory requests and limits for test steps.
  • Reusable test step: A new step ref netobserv-ginkgo-tests was added under ci-operator/step-registry/netobserv/ginkgo-tests:
    • netobserv-ginkgo-tests-commands.sh runs ./e2e-tests.test via ginkgo with timeout, verbosity, keep-going, and JUnit output.
    • Supports selective execution using GINKGO_LABEL_FILTER and GINKGO_FOCUS_FILE; when not provided it can derive a focus-file expression from a changed_files list (filters for integration-tests/backend/*).
    • Step requests 100m CPU / 256Mi memory and sets a 60m timeout.
  • New CI jobs: Jobs gated on changes under integration-tests/backend/ were added:
    • e2etests-lint-fmt — sets up modules, runs make prereqs/make lint, enforces gofmt -s -l, installs yamlfmt, and lints YAML/YML in testdata/.
    • e2etest — waits for netobserv-controller-manager, collects changed backend files into ${SHARED_DIR}/changed_files and triggers the netobserv-ginkgo-tests workflow to run impacted tests.
  • Ownership & metadata: Added a step metadata file and owners for the new step; the step-registry OWNERS is represented as a symlink to ../OWNERS.

Why this matters

  • Introduces a compiled e2etests image and a reusable, owners-backed Ginkgo test step that enable selective execution of backend E2E tests, improving CI feedback speed and maintainability for netobserv-operator PRs.

Files of interest

  • ci-operator/config/netobserv/netobserv-operator/netobserv-netobserv-operator-main.yaml
  • ci-operator/step-registry/netobserv/ginkgo-tests/netobserv-ginkgo-tests-ref.yaml
  • ci-operator/step-registry/netobserv/ginkgo-tests/netobserv-ginkgo-tests-commands.sh
  • ci-operator/step-registry/netobserv/ginkgo-tests/OWNERS
  • ci-operator/step-registry/netobserv/ginkgo-tests/netobserv-ginkgo-tests-ref.metadata.json

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Jun 3, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

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

Review profile: CHILL

Plan: Enterprise

Run ID: d14f7b66-8696-42fd-a1a0-3c3919eb7c3a

📥 Commits

Reviewing files that changed from the base of the PR and between b660c52 and ff72b66.

📒 Files selected for processing (1)
  • ci-operator/config/netobserv/netobserv-operator/netobserv-netobserv-operator-main.yaml
🚧 Files skipped from review as they are similar to previous changes (1)
  • ci-operator/config/netobserv/netobserv-operator/netobserv-netobserv-operator-main.yaml

Walkthrough

Adds an e2etests image, a step-registry entry and metadata, a runner script that selects Ginkgo tests from changed backend files or env vars, and two CI jobs to lint and run those selective e2e tests when integration-tests/backend/ changes.

Changes

Ginkgo E2E Test Step

Layer / File(s) Summary
CI image and pipeline jobs
ci-operator/config/netobserv/netobserv-operator/netobserv-netobserv-operator-main.yaml
Adds an e2etests image build (multi-stage Go 1.25 builder -> UBI runtime), per-image resources (CPU/memory), and two jobs: e2etests-lint-fmt (prereqs, lint, gofmt, yamlfmt) and e2etest (waits for controller, computes changed backend files, dispatches ginkgo workflow).
Step registry, metadata, and OWNERS
ci-operator/step-registry/netobserv/ginkgo-tests/netobserv-ginkgo-tests-ref.yaml, ci-operator/step-registry/netobserv/ginkgo-tests/netobserv-ginkgo-tests-ref.metadata.json, ci-operator/step-registry/netobserv/ginkgo-tests/OWNERS
Adds netobserv-ginkgo-tests step YAML (from: e2etests, timeout, resources, env vars for GINKGO_LABEL_FILTER/GINKGO_FOCUS_FILE/GINKGO_TIMEOUT), corresponding metadata JSON with owners, and converts OWNERS to a symlink to ../OWNERS.
Ginkgo test execution script
ci-operator/step-registry/netobserv/ginkgo-tests/netobserv-ginkgo-tests-commands.sh
New Bash script with strict settings that computes --focus-file from GINKGO_FOCUS_FILE or SHARED_DIR/changed_files (filters integration-tests/backend/*_test.go), optionally adds --label-filter, and runs ginkgo run ./e2e-tests.test with timeout, verbosity, keep-going, and JUnit output.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Suggested labels

rehearsals-ack, jira/valid-reference

Suggested reviewers

  • leandroberetta
  • jotak
  • jpinsonneau
  • asood-rh
🚥 Pre-merge checks | ✅ 15
✅ Passed checks (15 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title directly describes the main changes: introducing e2etests container images and pre-merge test pipeline configuration for the netobserv-operator project.
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.
Stable And Deterministic Test Names ✅ Passed PR adds only CI configuration (YAML, shell scripts, metadata) with no Ginkgo test code. Test declarations are in the separate netobserv-operator repository, not in this release repository PR.
Test Structure And Quality ✅ Passed PR contains only CI/CD configuration and shell scripts, no Ginkgo test code. The custom check for test quality is not applicable.
Microshift Test Compatibility ✅ Passed PR adds CI infrastructure only. No new Ginkgo test definitions (It(), Describe(), etc.) are present in the PR files; actual tests are in the netobserv-operator repository.
Single Node Openshift (Sno) Test Compatibility ✅ Passed PR adds CI/CD infrastructure for running netobserv Ginkgo e2e tests, not new test code. No new .go files with Ginkgo declarations (It, Describe, Context, When) are added.
Topology-Aware Scheduling Compatibility ✅ Passed PR adds only CI configuration files (ci-operator config and step-registry), not deployment manifests or Kubernetes resources with scheduling constraints.
Ote Binary Stdout Contract ✅ Passed This PR does not implement an OTE binary. It provides CI configuration for running pre-compiled Ginkgo tests via a wrapper script. The check is not applicable.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed PR adds CI infrastructure only; no Ginkgo test code (It/Describe/etc) is introduced. Tests are pre-compiled from external netobserv repo.
No-Weak-Crypto ✅ Passed No weak crypto algorithms, custom implementations, or insecure secret comparisons found. Changes are CI/CD configuration and test infrastructure files only.
Container-Privileges ✅ Passed No privileged: true, hostPID/Network/IPC, SYS_ADMIN capability, or allowPrivilegeEscalation found. e2etests image runs as non-root user (65532:65532); step registry configs lack securityContext.
No-Sensitive-Data-In-Logs ✅ Passed No sensitive data logging found. All echo statements log test configuration (file names, labels, timeouts) or metric values. Tokens used in curl are not logged or exposed.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Jun 3, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

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

@openshift-ci openshift-ci Bot requested review from jotak and jpinsonneau June 3, 2026 02:43
@memodi
Copy link
Copy Markdown
Contributor Author

memodi commented Jun 3, 2026

/pj-rehearse pull-ci-netobserv-netobserv-operator-main-images

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@memodi: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@memodi
Copy link
Copy Markdown
Contributor Author

memodi commented Jun 3, 2026

/pj-rehearse

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@memodi: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (2)
ci-operator/config/netobserv/netobserv-operator/netobserv-netobserv-operator-main.yaml (1)

184-184: ⚡ Quick win

Pin yamlfmt version for reproducible builds.

Installing yamlfmt with @latest creates non-deterministic builds if the tool is updated between CI runs.

📌 Proposed fix to pin the version
-    go install github.com/google/yamlfmt/cmd/yamlfmt@latest
+    go install github.com/google/yamlfmt/cmd/yamlfmt@v0.13.0
🤖 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
`@ci-operator/config/netobserv/netobserv-operator/netobserv-netobserv-operator-main.yaml`
at line 184, Replace the non-deterministic installer call "go install
github.com/google/yamlfmt/cmd/yamlfmt@latest" with a pinned released version tag
(e.g., use a specific semver tag like vX.Y.Z) so CI builds are reproducible;
update the command in the same location and add a brief comment indicating the
pinned yamlfmt version and date so future maintainers know why it was fixed.
ci-operator/step-registry/netobserv/ginkgo-tests/netobserv-ginkgo-tests-commands.sh (1)

28-28: 💤 Low value

Escape special regex characters in filenames.

The focus-file regex is constructed from filenames without escaping special regex metacharacters. The . in _test.go will match any character, not a literal dot. While unlikely to cause false matches with typical Go test filenames, this is technically incorrect.

For example, the regex (foo_test.go) would also match foo_testXgo (if such a file existed).

🔧 Proposed fix to escape special characters
       basename=$(basename "${file}")
+      # Escape special regex characters
+      basename_escaped=$(printf '%s\n' "$basename" | sed 's/[.[\*^$()+?{|]/\\&/g')
       if [[ -n "${CHANGED_TEST_FILES}" ]]; then
-        CHANGED_TEST_FILES="${CHANGED_TEST_FILES}|${basename}"
+        CHANGED_TEST_FILES="${CHANGED_TEST_FILES}|${basename_escaped}"
       else
-        CHANGED_TEST_FILES="${basename}"
+        CHANGED_TEST_FILES="${basename_escaped}"
       fi
🤖 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
`@ci-operator/step-registry/netobserv/ginkgo-tests/netobserv-ginkgo-tests-commands.sh`
at line 28, The FOCUS_FILE_ARG currently injects raw CHANGED_TEST_FILES into a
regex which fails to escape regex metacharacters (e.g., the dot in _test.go);
update the code that constructs FOCUS_FILE_ARG so it first escapes regex special
characters in CHANGED_TEST_FILES (escape characters like .[]^$*+?(){}| and
backslash) and then builds the focus-file expression from the escaped names;
locate the place that sets FOCUS_FILE_ARG and replace the raw injection with a
pipeline that escapes each filename (preserving the intended grouping) before
wrapping with "--focus-file=(...)" so filenames are matched literally.
🤖 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.

Nitpick comments:
In
`@ci-operator/config/netobserv/netobserv-operator/netobserv-netobserv-operator-main.yaml`:
- Line 184: Replace the non-deterministic installer call "go install
github.com/google/yamlfmt/cmd/yamlfmt@latest" with a pinned released version tag
(e.g., use a specific semver tag like vX.Y.Z) so CI builds are reproducible;
update the command in the same location and add a brief comment indicating the
pinned yamlfmt version and date so future maintainers know why it was fixed.

In
`@ci-operator/step-registry/netobserv/ginkgo-tests/netobserv-ginkgo-tests-commands.sh`:
- Line 28: The FOCUS_FILE_ARG currently injects raw CHANGED_TEST_FILES into a
regex which fails to escape regex metacharacters (e.g., the dot in _test.go);
update the code that constructs FOCUS_FILE_ARG so it first escapes regex special
characters in CHANGED_TEST_FILES (escape characters like .[]^$*+?(){}| and
backslash) and then builds the focus-file expression from the escaped names;
locate the place that sets FOCUS_FILE_ARG and replace the raw injection with a
pipeline that escapes each filename (preserving the intended grouping) before
wrapping with "--focus-file=(...)" so filenames are matched literally.

ℹ️ Review info
⚙️ Run configuration

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

Review profile: CHILL

Plan: Enterprise

Run ID: 020d0cf1-9fdc-4d06-95af-17fad832ab76

📥 Commits

Reviewing files that changed from the base of the PR and between f9f993b and 43fe010.

⛔ Files ignored due to path filters (2)
  • ci-operator/jobs/netobserv/netobserv-operator/netobserv-netobserv-operator-main-postsubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/netobserv/netobserv-operator/netobserv-netobserv-operator-main-presubmits.yaml is excluded by !ci-operator/jobs/**
📒 Files selected for processing (5)
  • ci-operator/config/netobserv/netobserv-operator/netobserv-netobserv-operator-main.yaml
  • ci-operator/step-registry/netobserv/ginkgo-tests/OWNERS
  • ci-operator/step-registry/netobserv/ginkgo-tests/netobserv-ginkgo-tests-commands.sh
  • ci-operator/step-registry/netobserv/ginkgo-tests/netobserv-ginkgo-tests-ref.metadata.json
  • ci-operator/step-registry/netobserv/ginkgo-tests/netobserv-ginkgo-tests-ref.yaml

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (2)
ci-operator/config/netobserv/netobserv-operator/netobserv-netobserv-operator-main.yaml (2)

242-245: 💤 Low value

Consider adding a fallback for git diff on shallow clones.

The git diff --name-only HEAD~1 command assumes a parent commit exists. While ci-operator typically provides sufficient git history, edge cases (shallow clones, initial commits, or single-commit PRs) could cause this to fail silently or with an error.

🛡️ Proposed defensive fallback
     - as: compute-changed-tests
       commands: |
-        git diff --name-only HEAD~1 -- integration-tests/backend/ > "${SHARED_DIR}/changed_files"
+        git diff --name-only HEAD~1 -- integration-tests/backend/ > "${SHARED_DIR}/changed_files" 2>/dev/null || \
+          find integration-tests/backend/ -type f \( -name '*.go' -o -name '*.yaml' \) > "${SHARED_DIR}/changed_files"
         echo "Changed files:"
         cat "${SHARED_DIR}/changed_files"

This falls back to listing all backend test files if git diff fails.

🤖 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
`@ci-operator/config/netobserv/netobserv-operator/netobserv-netobserv-operator-main.yaml`
around lines 242 - 245, The git diff command ("git diff --name-only HEAD~1 --
integration-tests/backend/") can fail on shallow or single-commit clones; modify
the commands block to run the git diff into "${SHARED_DIR}/changed_files" and if
it exits non-zero or produces no output then populate
"${SHARED_DIR}/changed_files" with a safe fallback (e.g., run "git ls-files
integration-tests/backend/" or "find integration-tests/backend -type f" to list
all backend test files), and then continue to echo and cat
"${SHARED_DIR}/changed_files"; ensure the fallback is used only when git diff
fails or yields empty output.

211-211: ⚡ Quick win

Pin yamlfmt to a specific version for reproducibility.

Installing yamlfmt@latest can lead to non-reproducible builds when the tool is updated. Pin to a specific version to ensure consistent CI behavior across time.

📌 Proposed fix to pin yamlfmt version
-    go install github.com/google/yamlfmt/cmd/yamlfmt@latest
+    go install github.com/google/yamlfmt/cmd/yamlfmt@v0.13.0
🤖 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
`@ci-operator/config/netobserv/netobserv-operator/netobserv-netobserv-operator-main.yaml`
at line 211, Replace the free-floating "go install
github.com/google/yamlfmt/cmd/yamlfmt@latest" invocation with a pinned release
by replacing `@latest` with a specific tag (for example `@v0.11.0`) so CI is
reproducible; update the line that contains "go install
github.com/google/yamlfmt/cmd/yamlfmt@latest" to use the chosen semver tag and,
if applicable, add a short comment noting the pinned version and rationale so
future maintainers know to update the tag intentionally.
🤖 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
`@ci-operator/config/netobserv/netobserv-operator/netobserv-netobserv-operator-main.yaml`:
- Around line 29-49: The Dockerfile builder stage currently installs Ginkgo
non-deterministically using "go install
github.com/onsi/ginkgo/v2/ginkgo@latest"; update that RUN install command in the
builder stage to pin a specific release (e.g., change to "go install
github.com/onsi/ginkgo/v2/ginkgo@v2.28.1") so the e2e build is reproducible and
consistent across runs.

---

Nitpick comments:
In
`@ci-operator/config/netobserv/netobserv-operator/netobserv-netobserv-operator-main.yaml`:
- Around line 242-245: The git diff command ("git diff --name-only HEAD~1 --
integration-tests/backend/") can fail on shallow or single-commit clones; modify
the commands block to run the git diff into "${SHARED_DIR}/changed_files" and if
it exits non-zero or produces no output then populate
"${SHARED_DIR}/changed_files" with a safe fallback (e.g., run "git ls-files
integration-tests/backend/" or "find integration-tests/backend -type f" to list
all backend test files), and then continue to echo and cat
"${SHARED_DIR}/changed_files"; ensure the fallback is used only when git diff
fails or yields empty output.
- Line 211: Replace the free-floating "go install
github.com/google/yamlfmt/cmd/yamlfmt@latest" invocation with a pinned release
by replacing `@latest` with a specific tag (for example `@v0.11.0`) so CI is
reproducible; update the line that contains "go install
github.com/google/yamlfmt/cmd/yamlfmt@latest" to use the chosen semver tag and,
if applicable, add a short comment noting the pinned version and rationale so
future maintainers know to update the tag intentionally.
🪄 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: 4c2a58ca-2fd1-41f7-974d-fde1396c4f03

📥 Commits

Reviewing files that changed from the base of the PR and between 43fe010 and e2d6178.

⛔ Files ignored due to path filters (1)
  • ci-operator/jobs/netobserv/netobserv-operator/netobserv-netobserv-operator-main-presubmits.yaml is excluded by !ci-operator/jobs/**
📒 Files selected for processing (1)
  • ci-operator/config/netobserv/netobserv-operator/netobserv-netobserv-operator-main.yaml

Comment on lines +29 to +49
- dockerfile_literal: |
FROM docker.io/library/golang:1.25 AS builder
ARG TARGETARCH=amd64
WORKDIR /workspace
COPY go.mod go.mod
COPY go.sum go.sum
RUN go mod download
RUN go install github.com/onsi/ginkgo/v2/ginkgo@latest
COPY *.go ./
COPY testdata/ testdata/
RUN GOGC=50 GOMAXPROCS=4 GOOS=linux GOARCH=$TARGETARCH \
ginkgo build --ldflags="-s -w" -o e2e-tests.test
FROM registry.access.redhat.com/ubi9/ubi-minimal:9.8-1777460003
WORKDIR /tests
COPY --from=builder /workspace/e2e-tests.test .
COPY --from=builder /workspace/testdata/ testdata/
COPY --from=builder /go/bin/ginkgo /usr/local/bin/ginkgo
USER 65532:65532
ENTRYPOINT ["ginkgo", "run", "./e2e-tests.test"]
from: ubi
to: e2etests
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check latest stable Go version from official registry
curl -s https://go.dev/dl/?mode=json | jq -r '.[0].version'

# Also check what golang images are available on Docker Hub
curl -s "https://hub.docker.com/v2/repositories/library/golang/tags?page_size=100" | jq -r '.results[].name' | grep -E '^1\.[0-9]+$' | sort -V | tail -5

Repository: openshift/release

Length of output: 80


🌐 Web query:

What is the latest stable version of Go (golang) as of June 2026?

💡 Result:

As of June 3, 2026, the latest stable version of Go (golang) is 1.26.4, which was released on June 2, 2026 [1]. This release includes security fixes for the crypto/x509, mime, and net/textproto packages, as well as several bug fixes [1].

Citations:


🌐 Web query:

github.com/onsi/ginkgo/v2 latest release tag

💡 Result:

The latest release tag for the Ginkgo v2 repository (github.com/onsi/ginkgo) is v2.28.1 [1][2][3]. This version was released on January 30, 2026 [2].

Citations:


Pin Ginkgo instead of using @latest in the e2etests build

  • golang:1.25 is available on Docker Hub, so it won’t inherently break the build (current Go stable is 1.26.4); consider bumping for freshness but it’s not a validity failure.
  • go install github.com/onsi/ginkgo/v2/ginkgo@latest (line ~36) is non-reproducible; pin to github.com/onsi/ginkgo/v2/ginkgo@v2.28.1.
🤖 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
`@ci-operator/config/netobserv/netobserv-operator/netobserv-netobserv-operator-main.yaml`
around lines 29 - 49, The Dockerfile builder stage currently installs Ginkgo
non-deterministically using "go install
github.com/onsi/ginkgo/v2/ginkgo@latest"; update that RUN install command in the
builder stage to pin a specific release (e.g., change to "go install
github.com/onsi/ginkgo/v2/ginkgo@v2.28.1") so the e2e build is reproducible and
consistent across runs.

@memodi
Copy link
Copy Markdown
Contributor Author

memodi commented Jun 3, 2026

/pj-rehearse pull-ci-netobserv-netobserv-operator-main-e2etest

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@memodi: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@memodi
Copy link
Copy Markdown
Contributor Author

memodi commented Jun 3, 2026

/pj-rehearse pull-ci-netobserv-netobserv-operator-main-e2etests-lint-fmt

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@memodi: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@memodi
Copy link
Copy Markdown
Contributor Author

memodi commented Jun 3, 2026

/pj-rehearse pull-ci-netobserv-netobserv-operator-main-e2etest

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@memodi: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@memodi
Copy link
Copy Markdown
Contributor Author

memodi commented Jun 3, 2026

/pj-rehearse pull-ci-netobserv-netobserv-operator-main-e2etests-lint-fmt

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@memodi: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@memodi
Copy link
Copy Markdown
Contributor Author

memodi commented Jun 4, 2026

/pj-rehearse pull-ci-netobserv-netobserv-operator-main-e2etests-lint-fmt

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@memodi: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@memodi
Copy link
Copy Markdown
Contributor Author

memodi commented Jun 4, 2026

/pj-rehearse pull-ci-netobserv-netobserv-operator-main-e2etest

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@memodi: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@memodi: the pj-rehearse plugin accommodates running rehearsal tests for the changes in this PR. Expand 'Interacting with pj-rehearse' for usage details. The following rehearsable tests have been affected by this change:

Test name Repo Type Reason
pull-ci-netobserv-netobserv-operator-main-e2etest netobserv/netobserv-operator presubmit Presubmit changed
pull-ci-netobserv-netobserv-operator-main-e2etests-lint-fmt netobserv/netobserv-operator presubmit Presubmit changed
pull-ci-netobserv-netobserv-operator-main-ci-bundle-noo-bundle netobserv/netobserv-operator presubmit Ci-operator config changed
pull-ci-netobserv-netobserv-operator-main-e2e-operator netobserv/netobserv-operator presubmit Ci-operator config changed
pull-ci-netobserv-netobserv-operator-main-images netobserv/netobserv-operator presubmit Ci-operator config changed
Interacting with pj-rehearse

Comment: /pj-rehearse to run up to 5 rehearsals
Comment: /pj-rehearse skip to opt-out of rehearsals
Comment: /pj-rehearse {test-name}, with each test separated by a space, to run one or more specific rehearsals
Comment: /pj-rehearse more to run up to 10 rehearsals
Comment: /pj-rehearse max to run up to 25 rehearsals
Comment: /pj-rehearse auto-ack to run up to 5 rehearsals, and add the rehearsals-ack label on success
Comment: /pj-rehearse list to get an up-to-date list of affected jobs
Comment: /pj-rehearse abort to abort all active rehearsals
Comment: /pj-rehearse network-access-allowed to allow rehearsals of tests that have the restrict_network_access field set to false. This must be executed by an openshift org member who is not the PR author

Once you are satisfied with the results of the rehearsals, comment: /pj-rehearse ack to unblock merge. When the rehearsals-ack label is present on your PR, merge will no longer be blocked by rehearsals.
If you would like the rehearsals-ack label removed, comment: /pj-rehearse reject to re-block merging.

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Jun 4, 2026

@memodi: 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/rehearse/netobserv/netobserv-operator/main/e2etests-lint-fmt ff72b66 link unknown /pj-rehearse pull-ci-netobserv-netobserv-operator-main-e2etests-lint-fmt
ci/rehearse/netobserv/netobserv-operator/main/e2etest ff72b66 link unknown /pj-rehearse pull-ci-netobserv-netobserv-operator-main-e2etest
ci/rehearse/netobserv/netobserv-operator/main/images 43fe010 link unknown /pj-rehearse pull-ci-netobserv-netobserv-operator-main-images
ci/rehearse/netobserv/netobserv-operator/main/e2e-operator 43fe010 link unknown /pj-rehearse pull-ci-netobserv-netobserv-operator-main-e2e-operator

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

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant