mirror of
https://github.com/kubernetes-sigs/descheduler.git
synced 2026-08-18 20:17:04 +00:00
refactor(e2e): centralize kubevirt version from go.mod
Derive KUBEVIRT_VERSION in run-e2e-tests.sh from go.mod and pass it to e2e tests via --kubevirt-version-tag so container disk images stay in sync.
This commit is contained in:
@@ -77,7 +77,7 @@ func virtualMachineInstance(idx int, namespace string) *kvcorev1.VirtualMachineI
|
||||
Name: "containerdisk",
|
||||
VolumeSource: kvcorev1.VolumeSource{
|
||||
ContainerDisk: &kvcorev1.ContainerDiskSource{
|
||||
Image: "quay.io/kubevirt/cirros-container-disk-demo:v1.9.0",
|
||||
Image: kubevirtCirrosContainerDiskImage(),
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -484,6 +484,10 @@ func waitForVMIEvictionsWithNoLimits(t *testing.T, ctx context.Context, kubeClie
|
||||
}
|
||||
|
||||
func TestLiveMigrationInBackground(t *testing.T) {
|
||||
if *kubevirtVersionTag == "" {
|
||||
t.Fatal("--kubevirt-version-tag must be set for KubeVirt e2e tests")
|
||||
}
|
||||
|
||||
initPluginRegistry()
|
||||
|
||||
ctx := context.Background()
|
||||
|
||||
@@ -68,11 +68,16 @@ import (
|
||||
)
|
||||
|
||||
var (
|
||||
deschedulerImage = flag.String("descheduler-image", "", "descheduler image to set in the pod spec")
|
||||
podRunAsUserId = flag.Int64("pod-run-as-user-id", 0, ".spec.securityContext.runAsUser setting, not set if 0")
|
||||
podRunAsGroupId = flag.Int64("pod-run-as-group-id", 0, ".spec.securityContext.runAsGroup setting, not set if 0")
|
||||
deschedulerImage = flag.String("descheduler-image", "", "descheduler image to set in the pod spec")
|
||||
kubevirtVersionTag = flag.String("kubevirt-version-tag", "", "KubeVirt release tag for container disk images in KubeVirt e2e tests (e.g. v1.9.0)")
|
||||
podRunAsUserId = flag.Int64("pod-run-as-user-id", 0, ".spec.securityContext.runAsUser setting, not set if 0")
|
||||
podRunAsGroupId = flag.Int64("pod-run-as-group-id", 0, ".spec.securityContext.runAsGroup setting, not set if 0")
|
||||
)
|
||||
|
||||
func kubevirtCirrosContainerDiskImage() string {
|
||||
return fmt.Sprintf("quay.io/kubevirt/cirros-container-disk-demo:%s", *kubevirtVersionTag)
|
||||
}
|
||||
|
||||
func TestMain(m *testing.M) {
|
||||
flag.Parse()
|
||||
|
||||
|
||||
@@ -27,12 +27,12 @@ KIND_VERSION=${KIND_VERSION:-v0.31.0}
|
||||
SKIP_KUBECTL_INSTALL=${SKIP_KUBECTL_INSTALL:-}
|
||||
SKIP_KIND_INSTALL=${SKIP_KIND_INSTALL:-}
|
||||
SKIP_KUBEVIRT_INSTALL=${SKIP_KUBEVIRT_INSTALL:-}
|
||||
KUBEVIRT_VERSION=${KUBEVIRT_VERSION:-v1.9.0}
|
||||
K8S_VERSION=${KUBERNETES_VERSION:-}
|
||||
|
||||
# Build a descheduler image
|
||||
IMAGE_TAG=v$(date +%Y%m%d)-$(git describe --tags)
|
||||
BASEDIR=$(dirname "$0")
|
||||
KUBEVIRT_VERSION=${KUBEVIRT_VERSION:-$(grep 'kubevirt.io/api ' "${BASEDIR}/../go.mod" | awk '{print $2}')}
|
||||
VERSION="${IMAGE_TAG}" make -C ${BASEDIR}/.. image
|
||||
|
||||
export DESCHEDULER_IMAGE="docker.io/library/descheduler:${IMAGE_TAG}"
|
||||
@@ -115,4 +115,4 @@ kubectl patch -n kube-system deployment metrics-server --type=json \
|
||||
kubectl wait --timeout=180s --for=condition=Available -n kube-system deployment/metrics-server
|
||||
|
||||
PRJ_PREFIX="sigs.k8s.io/descheduler"
|
||||
go test ${PRJ_PREFIX}/test/e2e/ -v -timeout 0 --args --descheduler-image ${DESCHEDULER_IMAGE} --pod-run-as-user-id 1000 --pod-run-as-group-id 1000
|
||||
go test ${PRJ_PREFIX}/test/e2e/ -v -timeout 0 --args --descheduler-image ${DESCHEDULER_IMAGE} --kubevirt-version-tag ${KUBEVIRT_VERSION} --pod-run-as-user-id 1000 --pod-run-as-group-id 1000
|
||||
|
||||
Reference in New Issue
Block a user