From 2ba4c00b3c5c71d9dc7bd56d83fbd46f78bf43b6 Mon Sep 17 00:00:00 2001 From: kidddddddddddddddddddddd <1062602710@qq.com> Date: Fri, 13 Jan 2023 15:00:25 +0800 Subject: [PATCH] hasAnyNodeConstraint --- .../framework/plugins/volumezone/volume_zone.go | 5 +++-- .../plugins/volumezone/volume_zone_test.go | 13 +++++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/pkg/scheduler/framework/plugins/volumezone/volume_zone.go b/pkg/scheduler/framework/plugins/volumezone/volume_zone.go index e2d03865cc3..f3f0f5dfe34 100644 --- a/pkg/scheduler/framework/plugins/volumezone/volume_zone.go +++ b/pkg/scheduler/framework/plugins/volumezone/volume_zone.go @@ -20,6 +20,7 @@ import ( "context" "errors" "fmt" + v1 "k8s.io/api/core/v1" storage "k8s.io/api/storage/v1" apierrors "k8s.io/apimachinery/pkg/api/errors" @@ -209,8 +210,8 @@ func (pl *VolumeZone) Filter(ctx context.Context, cs *framework.CycleState, pod node := nodeInfo.Node() hasAnyNodeConstraint := false - for _, pvTopology := range podPVTopologies { - if _, ok := node.Labels[pvTopology.key]; ok { + for _, topologyLabel := range topologyLabels { + if _, ok := node.Labels[topologyLabel]; ok { hasAnyNodeConstraint = true break } diff --git a/pkg/scheduler/framework/plugins/volumezone/volume_zone_test.go b/pkg/scheduler/framework/plugins/volumezone/volume_zone_test.go index 47711b1c64e..5a6339b6cff 100644 --- a/pkg/scheduler/framework/plugins/volumezone/volume_zone_test.go +++ b/pkg/scheduler/framework/plugins/volumezone/volume_zone_test.go @@ -215,6 +215,19 @@ func TestSingleZone(t *testing.T) { }, wantFilterStatus: framework.NewStatus(framework.UnschedulableAndUnresolvable, ErrReasonConflict), }, + { + name: "pv with zone,node with beta zone", + Pod: createPodWithVolume("pod_1", "Vol_Stable_1", "PVC_Stable_1"), + Node: &v1.Node{ + ObjectMeta: metav1.ObjectMeta{ + Name: "host1", + Labels: map[string]string{ + v1.LabelFailureDomainBetaZone: "us-west1-a", + }, + }, + }, + wantFilterStatus: framework.NewStatus(framework.UnschedulableAndUnresolvable, ErrReasonConflict), + }, } for _, test := range tests {