The e2e topology manager want to test the resource alignment using devices, and the easiest devices to use are the SRIOV devices at this moment. The resource alignment test cases are run for each supported policies, in a loop. The tests manage the SRIOV device plugin; up until now, the plugin was set up and tore down at each loop. There is no real need for that. Each loop must reconfigure (thus restart) the kubelet, but the device plugin can set up and tore down just once for all the policies, thus once. The kubelet can reconnect just fine to a running device plugin. This way, we greatly reduce the interactions and the complexity of the test environment, making it easier to understand and more robust, and we trim down some minutes from execution time. However, this patch also hides (not solves) a test flake we observed on some environment. The issue is hardly reproduceable and not well understood, but seems caused by doing the sriov dp setup/teardown in each policy testing loop. Investigation so far suggests that the kubelet sometimes have a stale state after the sriovdp teardown/setup cycle, leading to flakes and false negatives. We tried to address this in https://github.com/kubernetes/kubernetes/pull/95611 with no conclusive results yet. This patch was posted because overall we believe this patch gains exceeds the drawbacks (hiding the aforementioned flake) and because understanding the potential interaction issues between the sriovdp and the kubelet deserve a separate test. Signed-off-by: Francesco Romani <fromani@redhat.com>
Kubernetes

Kubernetes is an open source system for managing containerized applications across multiple hosts. It provides basic mechanisms for deployment, maintenance, and scaling of applications.
Kubernetes builds upon a decade and a half of experience at Google running production workloads at scale using a system called Borg, combined with best-of-breed ideas and practices from the community.
Kubernetes is hosted by the Cloud Native Computing Foundation (CNCF). If your company wants to help shape the evolution of technologies that are container-packaged, dynamically scheduled, and microservices-oriented, consider joining the CNCF. For details about who's involved and how Kubernetes plays a role, read the CNCF announcement.
To start using Kubernetes
See our documentation on kubernetes.io.
Try our interactive tutorial.
Take a free course on Scalable Microservices with Kubernetes.
To use Kubernetes code as a library in other applications, see the list of published components.
Use of the k8s.io/kubernetes
module or k8s.io/kubernetes/...
packages as libraries is not supported.
To start developing Kubernetes
The community repository hosts all information about building Kubernetes from source, how to contribute code and documentation, who to contact about what, etc.
If you want to build Kubernetes right away there are two options:
You have a working Go environment.
mkdir -p $GOPATH/src/k8s.io
cd $GOPATH/src/k8s.io
git clone https://github.com/kubernetes/kubernetes
cd kubernetes
make
You have a working Docker environment.
git clone https://github.com/kubernetes/kubernetes
cd kubernetes
make quick-release
For the full story, head over to the developer's documentation.
Support
If you need support, start with the troubleshooting guide, and work your way through the process that we've outlined.
That said, if you have questions, reach out to us one way or another.