Skip to content

Commit

Permalink
Merge pull request #777 from Garrybest/pr_pod_estimator
Browse files Browse the repository at this point in the history
add pod constraint in general estimator
  • Loading branch information
karmada-bot authored Oct 2, 2021
2 parents 721215c + 52a4002 commit b961a7e
Showing 1 changed file with 8 additions and 4 deletions.
12 changes: 8 additions & 4 deletions pkg/estimator/client/general.go
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
package client

import (
"math"

corev1 "k8s.io/api/core/v1"

clusterv1alpha1 "github.com/karmada-io/karmada/pkg/apis/cluster/v1alpha1"
Expand Down Expand Up @@ -33,13 +31,19 @@ func (ge *GeneralEstimator) MaxAvailableReplicas(clusters []*clusterv1alpha1.Clu
}

func (ge *GeneralEstimator) maxAvailableReplicas(cluster *clusterv1alpha1.Cluster, replicaRequirements *workv1alpha2.ReplicaRequirements) int32 {
var maximumReplicas int64 = math.MaxInt32
resourceSummary := cluster.Status.ResourceSummary

if resourceSummary == nil {
return 0
}

allowedPodNumber := resourceSummary.Allocatable.Pods().Value() - resourceSummary.Allocated.Pods().Value() - resourceSummary.Allocating.Pods().Value()
// When too many pods have been created, scheduling will fail so that the allocating pods number may be huge.
// If allowedPodNumber is less than 0, we don't allow more pods to be created.
if allowedPodNumber <= 0 {
return 0
}
maximumReplicas := allowedPodNumber

for key, value := range replicaRequirements.ResourceRequest {
requestedQuantity := value.Value()
if requestedQuantity <= 0 {
Expand Down

0 comments on commit b961a7e

Please sign in to comment.