mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 11:50:44 +00:00
Use math round when convert float to int in Pod Topology Spread
This commit is contained in:
parent
36746baa5f
commit
85816089a0
@ -209,7 +209,7 @@ func (pl *PodTopologySpread) Score(ctx context.Context, cycleState *framework.Cy
|
||||
score += scoreForCount(cnt, c.MaxSkew, s.TopologyNormalizingWeight[i])
|
||||
}
|
||||
}
|
||||
return int64(score), nil
|
||||
return int64(math.Round(score)), nil
|
||||
}
|
||||
|
||||
// NormalizeScore invoked after scoring all nodes.
|
||||
|
@ -22,7 +22,7 @@ import (
|
||||
|
||||
"github.com/google/go-cmp/cmp"
|
||||
appsv1 "k8s.io/api/apps/v1"
|
||||
"k8s.io/api/core/v1"
|
||||
v1 "k8s.io/api/core/v1"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
"k8s.io/apimachinery/pkg/util/sets"
|
||||
@ -367,8 +367,8 @@ func TestPodTopologySpreadScore(t *testing.T) {
|
||||
},
|
||||
failedNodes: []*v1.Node{},
|
||||
want: []framework.NodeScore{
|
||||
{Name: "node-a", Score: 40},
|
||||
{Name: "node-b", Score: 80},
|
||||
{Name: "node-a", Score: 20},
|
||||
{Name: "node-b", Score: 60},
|
||||
{Name: "node-c", Score: 100},
|
||||
{Name: "node-d", Score: 0},
|
||||
},
|
||||
@ -395,8 +395,8 @@ func TestPodTopologySpreadScore(t *testing.T) {
|
||||
},
|
||||
failedNodes: []*v1.Node{},
|
||||
want: []framework.NodeScore{
|
||||
{Name: "node-a", Score: 50}, // +10, compared to maxSkew=1
|
||||
{Name: "node-b", Score: 83}, // +3, compared to maxSkew=1
|
||||
{Name: "node-a", Score: 33}, // +13, compared to maxSkew=1
|
||||
{Name: "node-b", Score: 66}, // +6, compared to maxSkew=1
|
||||
{Name: "node-c", Score: 100},
|
||||
{Name: "node-d", Score: 16}, // +16, compared to maxSkew=1
|
||||
},
|
||||
@ -427,8 +427,8 @@ func TestPodTopologySpreadScore(t *testing.T) {
|
||||
},
|
||||
failedNodes: []*v1.Node{},
|
||||
want: []framework.NodeScore{
|
||||
{Name: "node-a", Score: 33}, // +19 compared to maxSkew=1
|
||||
{Name: "node-b", Score: 55}, // +13 compared to maxSkew=1
|
||||
{Name: "node-a", Score: 44}, // +16 compared to maxSkew=1
|
||||
{Name: "node-b", Score: 66}, // +9 compared to maxSkew=1
|
||||
{Name: "node-c", Score: 77}, // +6 compared to maxSkew=1
|
||||
{Name: "node-d", Score: 100},
|
||||
},
|
||||
@ -461,8 +461,8 @@ func TestPodTopologySpreadScore(t *testing.T) {
|
||||
},
|
||||
want: []framework.NodeScore{
|
||||
// Same scores as if we were using one spreading constraint.
|
||||
{Name: "node-a", Score: 33},
|
||||
{Name: "node-b", Score: 55},
|
||||
{Name: "node-a", Score: 44},
|
||||
{Name: "node-b", Score: 66},
|
||||
{Name: "node-c", Score: 77},
|
||||
{Name: "node-d", Score: 100},
|
||||
},
|
||||
@ -494,8 +494,8 @@ func TestPodTopologySpreadScore(t *testing.T) {
|
||||
st.MakeNode().Name("node-y").Label(v1.LabelHostname, "node-y").Obj(),
|
||||
},
|
||||
want: []framework.NodeScore{
|
||||
{Name: "node-a", Score: 16},
|
||||
{Name: "node-b", Score: 66},
|
||||
{Name: "node-a", Score: 33},
|
||||
{Name: "node-b", Score: 83},
|
||||
{Name: "node-x", Score: 100},
|
||||
},
|
||||
},
|
||||
@ -526,7 +526,7 @@ func TestPodTopologySpreadScore(t *testing.T) {
|
||||
st.MakeNode().Name("node-y").Label(v1.LabelHostname, "node-y").Obj(),
|
||||
},
|
||||
want: []framework.NodeScore{
|
||||
{Name: "node-a", Score: 20},
|
||||
{Name: "node-a", Score: 16},
|
||||
{Name: "node-b", Score: 0},
|
||||
{Name: "node-x", Score: 100},
|
||||
},
|
||||
@ -558,8 +558,8 @@ func TestPodTopologySpreadScore(t *testing.T) {
|
||||
st.MakeNode().Name("node-y").Label("zone", "zone2").Label(v1.LabelHostname, "node-y").Obj(),
|
||||
},
|
||||
want: []framework.NodeScore{
|
||||
{Name: "node-a", Score: 62},
|
||||
{Name: "node-b", Score: 62},
|
||||
{Name: "node-a", Score: 75},
|
||||
{Name: "node-b", Score: 75},
|
||||
{Name: "node-x", Score: 100},
|
||||
},
|
||||
},
|
||||
@ -591,7 +591,7 @@ func TestPodTopologySpreadScore(t *testing.T) {
|
||||
},
|
||||
want: []framework.NodeScore{
|
||||
{Name: "node-a", Score: 100},
|
||||
{Name: "node-x", Score: 54},
|
||||
{Name: "node-x", Score: 63},
|
||||
},
|
||||
},
|
||||
{
|
||||
@ -624,10 +624,10 @@ func TestPodTopologySpreadScore(t *testing.T) {
|
||||
},
|
||||
failedNodes: []*v1.Node{},
|
||||
want: []framework.NodeScore{
|
||||
{Name: "node-a", Score: 75},
|
||||
{Name: "node-b", Score: 25},
|
||||
{Name: "node-a", Score: 60},
|
||||
{Name: "node-b", Score: 20},
|
||||
{Name: "node-x", Score: 100},
|
||||
{Name: "node-y", Score: 50},
|
||||
{Name: "node-y", Score: 60},
|
||||
},
|
||||
},
|
||||
{
|
||||
@ -652,8 +652,8 @@ func TestPodTopologySpreadScore(t *testing.T) {
|
||||
failedNodes: []*v1.Node{},
|
||||
want: []framework.NodeScore{
|
||||
{Name: "node-a", Score: 100},
|
||||
{Name: "node-b", Score: 75},
|
||||
{Name: "node-x", Score: 50},
|
||||
{Name: "node-b", Score: 60},
|
||||
{Name: "node-x", Score: 40},
|
||||
{Name: "node-y", Score: 0},
|
||||
},
|
||||
},
|
||||
@ -680,7 +680,7 @@ func TestPodTopologySpreadScore(t *testing.T) {
|
||||
st.MakeNode().Name("node-y").Label("zone", "zone2").Label(v1.LabelHostname, "node-y").Obj(),
|
||||
},
|
||||
want: []framework.NodeScore{
|
||||
{Name: "node-a", Score: 75},
|
||||
{Name: "node-a", Score: 50},
|
||||
{Name: "node-b", Score: 25},
|
||||
{Name: "node-x", Score: 100},
|
||||
},
|
||||
@ -702,7 +702,7 @@ func TestPodTopologySpreadScore(t *testing.T) {
|
||||
},
|
||||
want: []framework.NodeScore{
|
||||
{Name: "node-a", Score: 100},
|
||||
{Name: "node-b", Score: 50},
|
||||
{Name: "node-b", Score: 33},
|
||||
},
|
||||
},
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user