Skip to content

Conversation

upodroid
Copy link
Member

Part of #20887

@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Sep 20, 2025
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: upodroid
Once this PR has been reviewed and has the lgtm label, please assign medyagh for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found 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

@k8s-ci-robot k8s-ci-robot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Sep 20, 2025
@minikube-bot
Copy link
Collaborator

Can one of the admins verify this patch?

#!/usr/bin/env bash
OS=$(go env GOOS)
ARCH=$(go env GOARCH)
REPO_ROOT="$(git rev-parse --show-toplevel)"
Copy link
Member Author

@upodroid upodroid Sep 20, 2025

Choose a reason for hiding this comment

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

This script replaces https://github.com/kubernetes/minikube/blob/master/hack/conformance_tests.sh and we'll add minikube conformance(HEAD + supported branches) jobs to the main conformance board on testgrid at https://testgrid.k8s.io/conformance

Copy link
Member

Choose a reason for hiding this comment

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

thank you ! btw I am curious does this has to be shell script ? does prow accept go scripts ?

we try to convert as much as scripts to golang as possible

Copy link
Member Author

Choose a reason for hiding this comment

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

@upodroid upodroid force-pushed the initial-prow-e2e-jobs branch 2 times, most recently from 9d9242e to f8c0432 Compare September 20, 2025 22:31
GOARCH ?= $(shell go env GOARCH)

.PHONY: minikube-e2e-fast
minikube-e2e-fast:
Copy link
Member

Choose a reason for hiding this comment

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

to avoid confusion how about name this folder test/conformance

since we already have test/integration that we also call it e2e
and we have "functional test" and "smoke test"

so I suggest using a name that makes it not overlap with others

Copy link
Member Author

Choose a reason for hiding this comment

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

I'm thinking of splitting the tests like this:

https://github.com/kubernetes/kops/tree/master/tests

  • integration is getting a successful minikube cluster up and running on all the permutations of arch/os/driver. Its purely specific to minikube
  • e2e test is running the kubernetes test suite on a combination of minikube setups with various kubernetes versions
    • minikube defaults with conformance + fast suite
    • different CNI/Addons/hardware combinations against the fast suite
  • smoke test which is compile minikube + launch it on docker, a base test scenario that runs on presubmits all the time

I looked at common.sh and that harness can't be used in Prow. https://github.com/kubernetes/minikube/tree/master/hack/jenkins This needs to be removed entirely so lets start it from scratch using the sig-testing toolchain.

Copy link
Member

Choose a reason for hiding this comment

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

we call our integration tests e2e in makefiles

.PHONY: e2e-linux-amd64 e2e-linux-arm64 e2e-darwin-amd64 e2e-darwin-arm64 e2e-windows-amd64.exe

the e2e integration tests does also include testing different kubernetes versions. but I do like having , so for not making more confusing I suggest limiting this test to only confromacne test

Copy link
Member

Choose a reason for hiding this comment

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

you can name the folder anything else and it would be better
for example
conformance, kubetest-e2e, ginkgo-e2e...

Copy link
Member Author

Choose a reason for hiding this comment

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

we call our integration tests e2e in makefiles

.PHONY: e2e-linux-amd64 e2e-linux-arm64 e2e-darwin-amd64 e2e-darwin-arm64 e2e-windows-amd64.exe

the e2e integration tests does also include testing different kubernetes versions. but I do like having , so for not making more confusing I suggest limiting this test to only confromacne test

I looked at the tests defined at #21607 (comment) and they are not kubernetes e2e tests. The kubernetes e2e tests are defined over here. Minikube needs to run these tests to verify kubernetes functionality. The default minikube config is already failing the simple e2e scenario we run.

@upodroid upodroid force-pushed the initial-prow-e2e-jobs branch from f8c0432 to 714f73b Compare September 21, 2025 03:01
@upodroid upodroid force-pushed the initial-prow-e2e-jobs branch from 714f73b to 8bb8c25 Compare September 21, 2025 07:59
@k8s-ci-robot
Copy link
Contributor

@upodroid: 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
pull-minikube-integration 8bb8c25 link true /test pull-minikube-integration

Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

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.

@upodroid
Copy link
Member Author

The fast test suite is failing for the following reasons:

  • FeatureGate:InPlacePodVerticalScaling is turned off
  • conntrack config in kube-proxy needs to be tweaked

REPO_ROOT="$(git rev-parse --show-toplevel)"
make # build the binary first
LATEST_RELEASE=$(curl -sSfL https://dl.k8s.io/release/stable.txt)
"${REPO_ROOT}"/out/minikube start --nodes=2 --driver=docker --cpus=no-limit --memory=no-limit --force --kubernetes-version=$LATEST_RELEASE
Copy link
Member

Choose a reason for hiding this comment

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

are two nodes required for this test "kubetest2-tester-ginkgo " ?if yes please comment.

Copy link
Member Author

Choose a reason for hiding this comment

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

Yes, the default cluster size for testing is 1 control plane node and 3 worker nodes. 2 workers for kind e2e tests

https://testgrid.k8s.io/sig-release-master-blocking#kind-master
https://testgrid.k8s.io/sig-release-master-blocking#gce-cos-master-default

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants