Skip to content

Conversation

gangwgr
Copy link
Contributor

@gangwgr gangwgr commented Oct 1, 2025

Refactored the single large readOnlyRootFilesystem test case into 18 individual test cases, each focusing on a specific namespace. This change improves test execution time, provides better isolation, and makes debugging easier.

  1. Test Structure Refactoring
    Before: Single large test case with 50-minute timeout testing all namespaces
    After: 18 individual test cases with 10-minute timeout each, using a loop-based approach

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Oct 1, 2025
@openshift-ci-robot
Copy link

@gangwgr: This pull request explicitly references no jira issue.

In response to this:

NO-JIRA: Added Serial in case

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci openshift-ci bot requested review from dusk125 and wangke19 October 1, 2025 12:14
@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Oct 1, 2025
@gangwgr gangwgr changed the title NO-JIRA: Added Serial in case NO-JIRA: Improve case execution time Oct 1, 2025
@dgoodwin
Copy link
Contributor

dgoodwin commented Oct 1, 2025

Please update the PR description with a nice crisp outline of the change that were made and what the result was. This helps the reviewers quickly get context on what was done and why, and what the outcome was.

"openshift-console-operator",
"openshift-console",
"openshift-operator-lifecycle-manager",
"hypershift",
Copy link
Contributor

Choose a reason for hiding this comment

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

is it possible to use KnownNamespaces from pkg/monitortestlibrary/platformidentification/operator_mapping.go

Copy link
Contributor

Choose a reason for hiding this comment

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

unaddressed comment here.

Re-use of one place with known namespaces would increase our chances of picking up as new namespaces are added. You may need to manually add hypershift into your copy of the main list?

"apiserver-watcher",
}
e2e.Logf("Inspect the %s Pod's securityContext.", namespace)
pod, err := oc.AdminKubeClient().CoreV1().Pods(namespace).Get(context.Background(), podName, metav1.GetOptions{})
Copy link
Contributor

Choose a reason for hiding this comment

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

You're doing one API get per pod here, AssertPodToBeReady is also doing one get per pod plus looping for it to be ready, and you earlier did a GetPodsListByLabel which listed all pods but threw away all the data and just returned name.

Can you do the following:

  • list all pods in the namespace once (retain all the pod info, not just the name)
  • get rid of AssertPodToBeReady (is it still of any use if we can get rid of the container writes?)
  • get rid of this Pods Get

i, podName, namespace)
} else {
e2e.Logf("Container %d in pod %s (namespace %s) has readOnlyRootFilesystem=false",
i, podName, namespace)
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this supposed to be e2e.Fail?

deployment, err := oc.AdminKubeClient().AppsV1().Deployments(testNs2).Get(context.Background(), "my-app", metav1.GetOptions{})
// Use comprehensive write operations testing
isMultiContainer := len(pod.Spec.Containers) > 1
err := testContainerWriteOperations(oc, podName, container.Name, namespace, testPaths, isMultiContainer)
Copy link
Contributor

Choose a reason for hiding this comment

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

Can you outline why this is necessary and helpful? How much of the time is spent in this portion?

Per Petr's comments on slack, it seems wasteful to essentially be testing a feature repeatedly on every pod to be sure it worked. I would expect the readonly root fs feature itself to have tests that are sufficient for us to assume it's working, and this test should just be ensuring we're using it where we should.

@dgoodwin
Copy link
Contributor

dgoodwin commented Oct 1, 2025

I'd like to see the timings each phase takes but I think one single junit test for all namespaces, without the container writes, with much more efficient API use seems like a good approach.

@gangwgr gangwgr force-pushed the ocp-83088-fix branch 2 times, most recently from 02e58f7 to a689444 Compare October 1, 2025 19:24
@gangwgr gangwgr changed the title NO-JIRA: Improve case execution time [WIP]NO-JIRA: Improve case execution time Oct 1, 2025
@openshift-ci openshift-ci bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Oct 1, 2025
Copy link

openshift-trt bot commented Oct 2, 2025

Job Failure Risk Analysis for sha: a689444

Job Name Failure Risk
pull-ci-openshift-origin-main-e2e-aws-csi IncompleteTests
Tests for this run (25) are below the historical average (1267): IncompleteTests (not enough tests ran to make a reasonable risk analysis; this could be due to infra, installation, or upgrade problems)
pull-ci-openshift-origin-main-e2e-gcp-csi IncompleteTests
Tests for this run (146) are below the historical average (1575): IncompleteTests (not enough tests ran to make a reasonable risk analysis; this could be due to infra, installation, or upgrade problems)

Risk analysis has seen new tests most likely introduced by this PR.
Please ensure that new tests meet guidelines for naming and stability.

New Test Risks for sha: a689444

Job Name New Test Risk
pull-ci-openshift-origin-main-e2e-aws-ovn-cgroupsv2 High - "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-apiserver [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" is a new test that failed 1 time(s) against the current commit
pull-ci-openshift-origin-main-e2e-aws-ovn-cgroupsv2 High - "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-apiserver-operator [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" is a new test that failed 1 time(s) against the current commit
pull-ci-openshift-origin-main-e2e-aws-ovn-cgroupsv2 High - "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-authentication [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" is a new test that failed 1 time(s) against the current commit
pull-ci-openshift-origin-main-e2e-aws-ovn-cgroupsv2 High - "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-authentication-operator [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" is a new test that failed 1 time(s) against the current commit
pull-ci-openshift-origin-main-e2e-aws-ovn-cgroupsv2 High - "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-cloud-controller-manager [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" is a new test that failed 1 time(s) against the current commit
pull-ci-openshift-origin-main-e2e-aws-ovn-cgroupsv2 High - "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-cloud-controller-manager-operator [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" is a new test that failed 1 time(s) against the current commit
pull-ci-openshift-origin-main-e2e-aws-ovn-cgroupsv2 High - "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-cloud-network-config-controller [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" is a new test that failed 1 time(s) against the current commit
pull-ci-openshift-origin-main-e2e-aws-ovn-cgroupsv2 High - "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-cluster-csi-drivers [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" is a new test that failed 1 time(s) against the current commit
pull-ci-openshift-origin-main-e2e-aws-ovn-cgroupsv2 High - "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-cluster-machine-approver [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" is a new test that failed 1 time(s) against the current commit
pull-ci-openshift-origin-main-e2e-aws-ovn-cgroupsv2 High - "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-cluster-samples-operator [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" is a new test that failed 1 time(s) against the current commit
pull-ci-openshift-origin-main-e2e-aws-ovn-cgroupsv2 High - "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-ingress-canary [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" is a new test that failed 1 time(s) against the current commit
pull-ci-openshift-origin-main-e2e-aws-ovn-cgroupsv2 High - "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-ingress-operator [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" is a new test that failed 1 time(s) against the current commit
pull-ci-openshift-origin-main-e2e-aws-ovn-cgroupsv2 High - "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-kube-controller-manager [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" is a new test that failed 1 time(s) against the current commit
pull-ci-openshift-origin-main-e2e-aws-ovn-cgroupsv2 High - "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-kube-storage-version-migrator [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" is a new test that failed 1 time(s) against the current commit
pull-ci-openshift-origin-main-e2e-aws-ovn-cgroupsv2 High - "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-kube-storage-version-migrator-operator [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" is a new test that failed 1 time(s) against the current commit
pull-ci-openshift-origin-main-e2e-aws-ovn-cgroupsv2 High - "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-machine-api [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" is a new test that failed 1 time(s) against the current commit
pull-ci-openshift-origin-main-e2e-aws-ovn-cgroupsv2 High - "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-machine-config-operator [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" is a new test that failed 1 time(s) against the current commit
pull-ci-openshift-origin-main-e2e-aws-ovn-cgroupsv2 High - "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-monitoring [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" is a new test that failed 1 time(s) against the current commit
pull-ci-openshift-origin-main-e2e-aws-ovn-cgroupsv2 High - "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-multus [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" is a new test that failed 1 time(s) against the current commit
pull-ci-openshift-origin-main-e2e-aws-ovn-cgroupsv2 High - "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-network-diagnostics [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" is a new test that failed 1 time(s) against the current commit
(...showing 20 of 220 rows)

New tests seen in this PR at sha: a689444

  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-apiserver [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 9, Pass: 0, Fail: 9, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-apiserver-operator [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 9, Pass: 0, Fail: 9, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-authentication [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 9, Pass: 0, Fail: 9, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-authentication-operator [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 9, Pass: 0, Fail: 9, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-cloud-controller-manager [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 8, Pass: 0, Fail: 8, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-cloud-controller-manager-operator [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 9, Pass: 0, Fail: 9, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-cloud-credential-operator [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 9, Pass: 9, Fail: 0, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-cloud-network-config-controller [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 6, Pass: 0, Fail: 6, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-cluster-csi-drivers [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 8, Pass: 0, Fail: 8, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-cluster-machine-approver [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 9, Pass: 0, Fail: 9, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-cluster-node-tuning-operator [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 9, Pass: 9, Fail: 0, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-cluster-samples-operator [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 9, Pass: 0, Fail: 9, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-cluster-storage-operator [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 9, Pass: 9, Fail: 0, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-cluster-version [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 9, Pass: 9, Fail: 0, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-console [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 9, Pass: 9, Fail: 0, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-console-operator [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 9, Pass: 9, Fail: 0, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-controller-manager [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 9, Pass: 9, Fail: 0, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-controller-manager-operator [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 9, Pass: 9, Fail: 0, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-dns [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 9, Pass: 9, Fail: 0, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-dns-operator [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 9, Pass: 9, Fail: 0, Flake: 0]
  • (...showing 20 of 48 tests)

Copy link

openshift-trt bot commented Oct 2, 2025

Job Failure Risk Analysis for sha: ad5f58d

Job Name Failure Risk
pull-ci-openshift-origin-main-okd-scos-e2e-aws-ovn IncompleteTests
Tests for this run (140) are below the historical average (1838): IncompleteTests (not enough tests ran to make a reasonable risk analysis; this could be due to infra, installation, or upgrade problems)

Risk analysis has seen new tests most likely introduced by this PR.
Please ensure that new tests meet guidelines for naming and stability.

New tests seen in this PR at sha: ad5f58d

  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-cloud-credential-operator [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 8, Pass: 8, Fail: 0, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-cluster-version [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 8, Pass: 8, Fail: 0, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-console [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 8, Pass: 8, Fail: 0, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-console-operator [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 8, Pass: 8, Fail: 0, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-controller-manager-operator [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 8, Pass: 8, Fail: 0, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-dns [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 8, Pass: 8, Fail: 0, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-etcd [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 8, Pass: 8, Fail: 0, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-etcd-operator [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 8, Pass: 8, Fail: 0, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-image-registry [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 8, Pass: 8, Fail: 0, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-insights [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 8, Pass: 8, Fail: 0, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-kube-apiserver [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 8, Pass: 8, Fail: 0, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-kube-apiserver-operator [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 8, Pass: 8, Fail: 0, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-kube-scheduler [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 8, Pass: 8, Fail: 0, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-kube-scheduler-operator [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 8, Pass: 8, Fail: 0, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-marketplace [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 8, Pass: 8, Fail: 0, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-operator-lifecycle-manager [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 8, Pass: 8, Fail: 0, Flake: 0]

@petr-muller
Copy link
Member

/cc

@openshift-ci openshift-ci bot requested a review from petr-muller October 2, 2025 12:57
@gangwgr
Copy link
Contributor Author

gangwgr commented Oct 3, 2025

Update all comments
@petr-muller Please review it

@gangwgr gangwgr changed the title [WIP]NO-JIRA: Improve case execution time NO-JIRA: Improve case execution time Oct 3, 2025
@openshift-ci openshift-ci bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Oct 3, 2025
for containerIndex, container := range pod.Spec.Containers {
if container.SecurityContext != nil && container.SecurityContext.ReadOnlyRootFilesystem != nil {
isReadOnly := *container.SecurityContext.ReadOnlyRootFilesystem
e2e.Logf("Performing detailed write operations test on container %d (%s) (readOnlyRootFilesystem=%t)",
Copy link
Contributor

Choose a reason for hiding this comment

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

Container writes are still here, can you clarify why we would test a feature this deeply on every pod and container? Again, we would assume that we want to check and make sure we're enabling the setting, but checking the setting actually works in kube itself, on every single pod, seems very wasteful.

In your testing, did you find the feature itself was broken?

here is a view of your tests, OLM itself takes ten minutes.

But unless there's a convincing argument I'm not aware of, at this level I think the test should just ensure we've defined our containers correctly, we do not need to test actually writing to every container in every pod.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

i fill it is needed, better to check end to end working, instead of only checking config.
@dusk125 Please suggest

Copy link
Contributor

Choose a reason for hiding this comment

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

Yeah I agree with Devan, we can assume that the feature will work as intended and that it's sufficient to check whether or not the pod configuration has the field enabled (or not)

for _, pod := range filteredPods {
// Wait for pod to be ready before testing
e2e.Logf("Waiting for pod %s in namespace %s to be ready", pod.Name, namespace)
err := exutil.AssertPodToBeReady(oc, pod.Name, namespace)
Copy link
Contributor

Choose a reason for hiding this comment

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

this should be removed, I assume it was a pre-check before trying to write to every container, but if that goes away per the comment below, the ready check can also go away.

If we do decide to keep writing to every container (unlikely) I would just skip any container that is not ready. (using the data from your initial pod list above) No need for additional api requests and polling.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@dgoodwin This is necessary sometimes pods are not ready and we are writing to it will fail the case. We should check end to end not only config, also check config is working correctly or not. otherwise we will regression.
i check now case timing only max 9 mins

Copy link
Contributor

@dgoodwin dgoodwin Oct 3, 2025

Choose a reason for hiding this comment

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

have you ever seen a container with the setting on but it was not working?

This would be a test for the actual feature in kube/kernel, not something we need to spend 30 minutes testing in every CI run of openshift conformance tests, that is extremely expensive to push into the wild. If you believe the actual underlying readonlyfs feature is unreliable, you're going to have to break this portion of the testing out, into a separate job and run it once or twice a week. It doesn't make sense to hammer a feature we should be able to assume is working, so hard and so often at this level, with such a time cost involved.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Earlier we see after bug fixes we didn't see, So I have update the test check only config.

@dgoodwin
Copy link
Contributor

dgoodwin commented Oct 3, 2025

Looking good, just curious if we can use the more central list of namespaces rather than having two lists.

@dusk125
Copy link
Contributor

dusk125 commented Oct 3, 2025

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Oct 3, 2025
Copy link
Contributor

openshift-ci bot commented Oct 3, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: dusk125, gangwgr

The full list of commands accepted by this bot can be found here.

The pull request process is described here

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

Copy link
Contributor

openshift-ci bot commented Oct 3, 2025

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

Test name Commit Details Required Rerun command
ci/prow/e2e-aws-ovn-cgroupsv2 a689444 link false /test e2e-aws-ovn-cgroupsv2
ci/prow/e2e-aws-ovn-edge-zones a689444 link false /test e2e-aws-ovn-edge-zones
ci/prow/e2e-aws-ovn-single-node-upgrade fdf03da link false /test e2e-aws-ovn-single-node-upgrade
ci/prow/okd-scos-e2e-aws-ovn fdf03da link false /test okd-scos-e2e-aws-ovn
ci/prow/e2e-aws-ovn-single-node-serial fdf03da link false /test e2e-aws-ovn-single-node-serial
ci/prow/e2e-openstack-ovn fdf03da link false /test e2e-openstack-ovn
ci/prow/e2e-aws-ovn-microshift fdf03da link true /test e2e-aws-ovn-microshift
ci/prow/e2e-gcp-csi fdf03da link true /test e2e-gcp-csi
ci/prow/e2e-aws-csi fdf03da link true /test e2e-aws-csi

Full PR test history. Your PR dashboard.

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.

Copy link

openshift-trt bot commented Oct 3, 2025

Job Failure Risk Analysis for sha: fdf03da

Job Name Failure Risk
pull-ci-openshift-origin-main-e2e-aws-csi IncompleteTests
Tests for this run (145) are below the historical average (647): IncompleteTests (not enough tests ran to make a reasonable risk analysis; this could be due to infra, installation, or upgrade problems)
pull-ci-openshift-origin-main-e2e-aws-ovn-single-node-upgrade Low
Job run should complete before timeout
This test has passed 79.97% of 5412 runs on release 4.21 [Overall] in the last week.
pull-ci-openshift-origin-main-e2e-gcp-csi IncompleteTests
Tests for this run (146) are below the historical average (956): IncompleteTests (not enough tests ran to make a reasonable risk analysis; this could be due to infra, installation, or upgrade problems)
pull-ci-openshift-origin-main-okd-scos-e2e-aws-ovn IncompleteTests
Tests for this run (139) are below the historical average (1542): IncompleteTests (not enough tests ran to make a reasonable risk analysis; this could be due to infra, installation, or upgrade problems)

Risk analysis has seen new tests most likely introduced by this PR.
Please ensure that new tests meet guidelines for naming and stability.

New tests seen in this PR at sha: fdf03da

  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-cloud-credential-operator [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 8, Pass: 8, Fail: 0, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-cluster-version [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 8, Pass: 8, Fail: 0, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-console [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 8, Pass: 8, Fail: 0, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-console-operator [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 8, Pass: 8, Fail: 0, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-controller-manager-operator [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 8, Pass: 8, Fail: 0, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-dns [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 8, Pass: 8, Fail: 0, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-etcd [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 8, Pass: 8, Fail: 0, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-etcd-operator [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 8, Pass: 8, Fail: 0, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-image-registry [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 8, Pass: 8, Fail: 0, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-insights [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 8, Pass: 8, Fail: 0, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-kube-apiserver [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 8, Pass: 8, Fail: 0, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-kube-apiserver-operator [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 8, Pass: 8, Fail: 0, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-kube-scheduler [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 8, Pass: 8, Fail: 0, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-kube-scheduler-operator [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 8, Pass: 8, Fail: 0, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-marketplace [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 8, Pass: 8, Fail: 0, Flake: 0]
  • "[sig-api-machinery][Feature:ReadOnlyRootFilesystem] Explicitly set readOnlyRootFilesystem to true - openshift-operator-lifecycle-manager [OCP-83088][Skipped:Disconnected] [Suite:openshift/conformance/parallel]" [Total: 8, Pass: 8, Fail: 0, Flake: 0]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants