Skip to content

Conversation

@sandeepknd
Copy link
Contributor

@sandeepknd sandeepknd commented Oct 16, 2025

As part of the https://issues.redhat.com/browse/CNTRLPLANE-1221 and sub task https://issues.redhat.com/browse/CNTRLPLANE-1309, raised this PR which introduces a binary and supporting structure to enable the execution of cluster-kube-scheduler-operator tests using the Open Test Environment (OTE).

Changes:

  • Remove test/tests-extension separate module infrastructure
  • Add cmd/cluster-kube-scheduler-operator-tests-ext/main.go with OTE test registration
  • Update Dockerfile to build test binary with make build and gzip it
  • Update the README.md
    Update go.mod, go.sum with required dependencies for ginkgo and openshift-tests-extension
    Added vendor dependencies for new OTE framework

Please find the OTE test results.

$ ./cluster-kube-scheduler-operator-tests-ext info
{
    "apiVersion": "v1.1",
    "source": {
        "commit": "",
        "build_date": "",
        "git_tree_state": ""
    },
    "component": {
        "product": "openshift",
        "type": "payload",
        "name": "cluster-kube-scheduler-operator"
    },
    "suites": null,
    "images": null
}

@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 16, 2025
@openshift-ci-robot
Copy link

openshift-ci-robot commented Oct 16, 2025

@sandeepknd: This pull request references CNTRLPLANE-1309 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the task to target the "4.21.0" version, but no target version was set.

In response to this:

As part of the https://issues.redhat.com/browse/CNTRLPLANE-1221 and sub task https://issues.redhat.com/browse/CNTRLPLANE-1309, raised this PR which introduces a binary and supporting structure to enable the execution of cluster-kube-scheduler-operator tests using the Open Test Environment (OTE).

Changes:

Add cmd/cluster-kube-scheduler-operator-tests-ext/ with main.go
Add test/extended/ directory with comprehensive README.md and sanity test
Update Makefile with flexible OTE build targets and helper commands
Update go.mod with required dependencies for ginkgo and openshift-tests-extension
Add vendor dependencies for new OTE framework

Test suites:
openshift/cluster-kube-scheduler-operator/conformance/parallel
openshift/cluster-kube-scheduler-operator/conformance/serial
openshift/cluster-kube-scheduler-operator/optional/slow
openshift/cluster-kube-scheduler-operator/all

Please find the OTE test results.

$ ./cluster-kube-scheduler-operator-tests-ext --help
Cluster Kube Scheduler Operator Tests Extension

Usage:
  [command]

Available Commands:
 completion  Generate the autocompletion script for the specified shell
 help        Help about any command
 images      List test images
 info        Display extension metadata
 list        List items
 run-suite   Run a group of tests by suite. This is more limited than origin, and intended for light local development use. Orchestration parameters, scheduling, isolation, etc are not obeyed, and Ginkgo tests are executed serially.
 run-test    Runs tests by name
 update      Update test metadata

Flags:
 -h, --help   help for this command

Use " [command] --help" for more information about a command.

$ ./cluster-kube-scheduler-operator-tests-ext info
{
   "apiVersion": "v1.1",
   "source": {
       "commit": "",
       "build_date": "",
       "git_tree_state": ""
   },
   "component": {
       "product": "openshift",
       "type": "payload",
       "name": "cluster-kube-scheduler-operator"
   },
   "suites": [
       {
           "name": "openshift/cluster-kube-scheduler-operator/conformance/parallel",
           "description": "",
           "parents": [
               "openshift/conformance/parallel"
           ],
           "qualifiers": [
               "(source == \"openshift:payload:cluster-kube-scheduler-operator\") \u0026\u0026 (!(name.contains(\"[Serial]\") || name.contains(\"[Slow]\")))"
           ]
       },
       {
           "name": "openshift/cluster-kube-scheduler-operator/conformance/serial",
           "description": "",
           "parents": [
               "openshift/conformance/serial"
           ],
           "qualifiers": [
               "(source == \"openshift:payload:cluster-kube-scheduler-operator\") \u0026\u0026 (name.contains(\"[Serial]\"))"
           ]
       },
       {
           "name": "openshift/cluster-kube-scheduler-operator/optional/slow",
           "description": "",
           "parents": [
               "openshift/optional/slow"
           ],
           "qualifiers": [
               "(source == \"openshift:payload:cluster-kube-scheduler-operator\") \u0026\u0026 (name.contains(\"[Slow]\"))"
           ]
       },
       {
           "name": "openshift/cluster-kube-scheduler-operator/all",
           "description": "",
           "qualifiers": [
               "source == \"openshift:payload:cluster-kube-scheduler-operator\""
           ]
       }
   ],
   "images": null
}

$ ./cluster-kube-scheduler-operator-tests-ext list
[
 {
   "name": "[Jira:kube-scheduler][sig-kube-scheduler] sanity test should always pass [Suite:openshift/cluster-kube-scheduler-operator/conformance/parallel]",
   "labels": {},
   "resources": {
     "isolation": {}
   },
   "source": "openshift:payload:cluster-kube-scheduler-operator",
   "codeLocations": [
     "/home/skundu/automation/Scheduler/cluster-kube-scheduler-operator/test/extended/main.go:8",
     "/home/skundu/automation/Scheduler/cluster-kube-scheduler-operator/test/extended/main.go:9"
   ],
   "lifecycle": "blocking",
   "environmentSelector": {}
 }
]

$ ./cluster-kube-scheduler-operator-tests-ext list tests
[
 {
   "name": "[Jira:kube-scheduler][sig-kube-scheduler] sanity test should always pass [Suite:openshift/cluster-kube-scheduler-operator/conformance/parallel]",
   "labels": {},
   "resources": {
     "isolation": {}
   },
   "source": "openshift:payload:cluster-kube-scheduler-operator",
   "codeLocations": [
     "/home/skundu/automation/Scheduler/cluster-kube-scheduler-operator/test/extended/main.go:8",
     "/home/skundu/automation/Scheduler/cluster-kube-scheduler-operator/test/extended/main.go:9"
   ],
   "lifecycle": "blocking",
   "environmentSelector": {}
 }
]

$ ./cluster-kube-scheduler-operator-tests-ext list suites
[
 {
   "name": "openshift/cluster-kube-scheduler-operator/conformance/parallel",
   "description": "",
   "parents": [
     "openshift/conformance/parallel"
   ],
   "qualifiers": [
     "(source == \"openshift:payload:cluster-kube-scheduler-operator\") \u0026\u0026 (!(name.contains(\"[Serial]\") || name.contains(\"[Slow]\")))"
   ]
 },
 {
   "name": "openshift/cluster-kube-scheduler-operator/conformance/serial",
   "description": "",
   "parents": [
     "openshift/conformance/serial"
   ],
   "qualifiers": [
     "(source == \"openshift:payload:cluster-kube-scheduler-operator\") \u0026\u0026 (name.contains(\"[Serial]\"))"
   ]
 },
 {
   "name": "openshift/cluster-kube-scheduler-operator/optional/slow",
   "description": "",
   "parents": [
     "openshift/optional/slow"
   ],
   "qualifiers": [
     "(source == \"openshift:payload:cluster-kube-scheduler-operator\") \u0026\u0026 (name.contains(\"[Slow]\"))"
   ]
 },
 {
   "name": "openshift/cluster-kube-scheduler-operator/all",
   "description": "",
   "qualifiers": [
     "source == \"openshift:payload:cluster-kube-scheduler-operator\""
   ]
 }
]

$ ./cluster-kube-scheduler-operator-tests-ext run-suite "openshift/cluster-kube-scheduler-operator/conformance/parallel"
 Running Suite:  - /home/skundu/automation/Scheduler/cluster-kube-scheduler-operator
 ===================================================================================
 Random Seed: 1760627429 - will randomize all specs

 Will run 1 of 1 specs
 ------------------------------
 [Jira:kube-scheduler][sig-kube-scheduler] sanity test should always pass [Suite:openshift/cluster-kube-scheduler-operator/conformance/parallel]
 /home/skundu/automation/Scheduler/cluster-kube-scheduler-operator/test/extended/main.go:9
 • [0.000 seconds]
 ------------------------------

 Ran 1 of 1 Specs in 0.000 seconds
 SUCCESS! -- 1 Passed | 0 Failed | 0 Pending | 0 Skipped
[
 {
   "name": "[Jira:kube-scheduler][sig-kube-scheduler] sanity test should always pass [Suite:openshift/cluster-kube-scheduler-operator/conformance/parallel]",
   "lifecycle": "blocking",
   "duration": 0,
   "startTime": "2025-10-16 15:10:29.326215 UTC",
   "endTime": "2025-10-16 15:10:29.326924 UTC",
   "result": "passed",
   "output": ""
 }


$ ./cluster-kube-scheduler-operator-tests-ext run-suite "openshift/cluster-kube-scheduler-operator/all"
 Running Suite:  - /home/skundu/automation/Scheduler/cluster-kube-scheduler-operator
 ===================================================================================
 Random Seed: 1760627500 - will randomize all specs

 Will run 1 of 1 specs
 ------------------------------
 [Jira:kube-scheduler][sig-kube-scheduler] sanity test should always pass [Suite:openshift/cluster-kube-scheduler-operator/conformance/parallel]
 /home/skundu/automation/Scheduler/cluster-kube-scheduler-operator/test/extended/main.go:9
 • [0.000 seconds]
 ------------------------------

 Ran 1 of 1 Specs in 0.000 seconds
 SUCCESS! -- 1 Passed | 0 Failed | 0 Pending | 0 Skipped
[
 {
   "name": "[Jira:kube-scheduler][sig-kube-scheduler] sanity test should always pass [Suite:openshift/cluster-kube-scheduler-operator/conformance/parallel]",
   "lifecycle": "blocking",
   "duration": 0,
   "startTime": "2025-10-16 15:11:40.539414 UTC",
   "endTime": "2025-10-16 15:11:40.540043 UTC",
   "result": "passed",
   "output": ""
 }

$ ./cluster-kube-scheduler-operator-tests-ext run-test "[Jira:kube-scheduler][sig-kube-scheduler] sanity test should always pass [Suite:openshift/cluster-kube-scheduler-operator/conformance/parallel]"
 Running Suite:  - /home/skundu/automation/Scheduler/cluster-kube-scheduler-operator
 ===================================================================================
 Random Seed: 1760627671 - will randomize all specs

 Will run 1 of 1 specs
 ------------------------------
 [Jira:kube-scheduler][sig-kube-scheduler] sanity test should always pass [Suite:openshift/cluster-kube-scheduler-operator/conformance/parallel]
 /home/skundu/automation/Scheduler/cluster-kube-scheduler-operator/test/extended/main.go:9
 • [0.000 seconds]
 ------------------------------

 Ran 1 of 1 Specs in 0.000 seconds
 SUCCESS! -- 1 Passed | 0 Failed | 0 Pending | 0 Skipped
[
 {
   "name": "[Jira:kube-scheduler][sig-kube-scheduler] sanity test should always pass [Suite:openshift/cluster-kube-scheduler-operator/conformance/parallel]",
   "lifecycle": "blocking",
   "duration": 0,
   "startTime": "2025-10-16 15:14:31.221668 UTC",
   "endTime": "2025-10-16 15:14:31.221958 UTC",
   "result": "passed",
   "output": ""
 }

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.

@sandeepknd
Copy link
Contributor Author

/assign @gangwgr
/assign @wangke19

@sandeepknd
Copy link
Contributor Author

/assign @ingvagabund

@sandeepknd sandeepknd force-pushed the ote-sch-op branch 2 times, most recently from be103cc to 801c0fe Compare October 18, 2025 13:16
@sandeepknd
Copy link
Contributor Author

/test okd-scos-e2e-aws-ovn

@sandeepknd
Copy link
Contributor Author

/test e2e-aws-ovn

@sandeepknd
Copy link
Contributor Author

/test okd-scos-e2e-aws-ovn
/test e2e-aws-ovn

@sandeepknd
Copy link
Contributor Author

/test okd-scos-e2e-aws-ovn

1 similar comment
@sandeepknd
Copy link
Contributor Author

/test okd-scos-e2e-aws-ovn

@wangke19
Copy link

wangke19 commented Oct 20, 2025

Please hold on. Currently, some teams encountered issue using comat_otp to migrate the test cases from the private repo to their own repo, see https://redhat-internal.slack.com/archives/C07RDCVEYJG/p1760624199090789, I was trying to build test-extension and component seperately, avoid conflicts of rebase for component, because product code needs to use latest version of openshift other dependencies. Most of this work has been completed, you can refer to that later. See openshift/service-ca-operator#283

@sandeepknd sandeepknd force-pushed the ote-sch-op branch 3 times, most recently from 5dabd3d to 181dcab Compare November 21, 2025 18:01
@openshift-ci-robot
Copy link

openshift-ci-robot commented Nov 21, 2025

@sandeepknd: This pull request references CNTRLPLANE-1309 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the task to target the "4.21.0" version, but no target version was set.

In response to this:

As part of the https://issues.redhat.com/browse/CNTRLPLANE-1221 and sub task https://issues.redhat.com/browse/CNTRLPLANE-1309, raised this PR which introduces a binary and supporting structure to enable the execution of cluster-kube-scheduler-operator tests using the Open Test Environment (OTE).

Changes:

  • Remove test/tests-extension separate module infrastructure
  • Add cmd/cluster-kube-scheduler-operator-tests-ext/main.go with OTE test registration
  • Update Dockerfile to build test binary with make build and gzip it
  • Update the README.md
    Update go.mod, go.sum with required dependencies for ginkgo and openshift-tests-extension
    Added vendor dependencies for new OTE framework

Please find the OTE test results.

$ ./cluster-kube-scheduler-operator-tests-ext info
{
   "apiVersion": "v1.1",
   "source": {
       "commit": "",
       "build_date": "",
       "git_tree_state": ""
   },
   "component": {
       "product": "openshift",
       "type": "payload",
       "name": "cluster-kube-scheduler-operator"
   },
   "suites": null,
   "images": null
}

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
Copy link
Contributor

openshift-ci bot commented Nov 21, 2025

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

Test name Commit Details Required Rerun command
ci/prow/okd-scos-e2e-aws-ovn 09ffe45 link false /test okd-scos-e2e-aws-ovn

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.

@sandeepknd
Copy link
Contributor Author

/test e2e-aws-operator-preferred-host

@wangke19
Copy link

Add test/OWNERS which Inherit the list in the root directory and add related QE team members(best to include xingxingxia) , see https://github.com/openshift/cluster-kube-apiserver-operator/blob/main/test/OWNERS

@@ -0,0 +1,7 @@
reviewers:
Copy link
Contributor

Choose a reason for hiding this comment

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

Add @zhouying7780 also here

@wangke19
Copy link

/lgtm
/cc @zhouying7780 @xingxingxia

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

/retest e2e-aws-ovn

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 24, 2025

@sandeepknd: The /retest command does not accept any targets.
The following commands are available to trigger required jobs:

/test e2e-aws-operator
/test e2e-aws-operator-preferred-host
/test e2e-aws-ovn
/test e2e-aws-ovn-serial
/test e2e-aws-ovn-upgrade
/test images
/test okd-scos-images
/test unit
/test verify
/test verify-deps

The following commands are available to trigger optional jobs:

/test okd-scos-e2e-aws-ovn
/test security

Use /test all to run the following jobs that were automatically triggered:

pull-ci-openshift-cluster-kube-scheduler-operator-main-e2e-aws-operator
pull-ci-openshift-cluster-kube-scheduler-operator-main-e2e-aws-operator-preferred-host
pull-ci-openshift-cluster-kube-scheduler-operator-main-e2e-aws-ovn
pull-ci-openshift-cluster-kube-scheduler-operator-main-e2e-aws-ovn-serial
pull-ci-openshift-cluster-kube-scheduler-operator-main-e2e-aws-ovn-upgrade
pull-ci-openshift-cluster-kube-scheduler-operator-main-images
pull-ci-openshift-cluster-kube-scheduler-operator-main-okd-scos-images
pull-ci-openshift-cluster-kube-scheduler-operator-main-security
pull-ci-openshift-cluster-kube-scheduler-operator-main-unit
pull-ci-openshift-cluster-kube-scheduler-operator-main-verify
pull-ci-openshift-cluster-kube-scheduler-operator-main-verify-deps

In response to this:

/retest e2e-aws-ovn

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.

@sandeepknd
Copy link
Contributor Author

/test e2e-aws-ovn

@ingvagabund
Copy link
Member

/approve

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 24, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: ingvagabund, sandeepknd, wangke19

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

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Nov 24, 2025
@sandeepknd
Copy link
Contributor Author

/verified by CI tests.

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Nov 24, 2025
@openshift-ci-robot
Copy link

@sandeepknd: This PR has been marked as verified by CI tests..

In response to this:

/verified by CI tests.

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-merge-bot openshift-merge-bot bot merged commit 4e438e9 into openshift:main Nov 24, 2025
12 checks passed
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. verified Signifies that the PR passed pre-merge verification criteria

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants