mirror of
https://github.com/kubernetes-sigs/descheduler.git
synced 2026-01-26 13:29:11 +01:00
46 lines
1.4 KiB
Go
46 lines
1.4 KiB
Go
package fake
|
|
|
|
import (
|
|
"context"
|
|
|
|
v1 "k8s.io/api/core/v1"
|
|
"k8s.io/client-go/informers"
|
|
clientset "k8s.io/client-go/kubernetes"
|
|
|
|
"sigs.k8s.io/descheduler/pkg/descheduler/evictions"
|
|
podutil "sigs.k8s.io/descheduler/pkg/descheduler/pod"
|
|
"sigs.k8s.io/descheduler/pkg/framework"
|
|
)
|
|
|
|
type HandleImpl struct {
|
|
ClientsetImpl clientset.Interface
|
|
GetPodsAssignedToNodeFuncImpl podutil.GetPodsAssignedToNodeFunc
|
|
SharedInformerFactoryImpl informers.SharedInformerFactory
|
|
EvictorFilterImpl *evictions.EvictorFilter
|
|
PodEvictorImpl *evictions.PodEvictor
|
|
}
|
|
|
|
var _ framework.Handle = &HandleImpl{}
|
|
|
|
func (hi *HandleImpl) ClientSet() clientset.Interface {
|
|
return hi.ClientsetImpl
|
|
}
|
|
func (hi *HandleImpl) GetPodsAssignedToNodeFunc() podutil.GetPodsAssignedToNodeFunc {
|
|
return hi.GetPodsAssignedToNodeFuncImpl
|
|
}
|
|
func (hi *HandleImpl) SharedInformerFactory() informers.SharedInformerFactory {
|
|
return hi.SharedInformerFactoryImpl
|
|
}
|
|
func (hi *HandleImpl) Evictor() framework.Evictor {
|
|
return hi
|
|
}
|
|
func (hi *HandleImpl) Filter(pod *v1.Pod) bool {
|
|
return hi.EvictorFilterImpl.Filter(pod)
|
|
}
|
|
func (hi *HandleImpl) Evict(ctx context.Context, pod *v1.Pod, opts evictions.EvictOptions) bool {
|
|
return hi.PodEvictorImpl.EvictPod(ctx, pod, opts)
|
|
}
|
|
func (hi *HandleImpl) NodeLimitExceeded(node *v1.Node) bool {
|
|
return hi.PodEvictorImpl.NodeLimitExceeded(node)
|
|
}
|