FakeNodeInfoForNodeName

Change-Id: I014d46f338c3239ea1d1ce8452e0ecab8e7696bd
This commit is contained in:
Łukasz Osipiuk 2020-01-16 18:49:05 +01:00
parent aa99af5b54
commit cc552f2591
1 changed files with 15 additions and 0 deletions

View File

@ -18,6 +18,7 @@ package simulator
import (
apiv1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
scheduler_nodeinfo "k8s.io/kubernetes/pkg/scheduler/nodeinfo"
)
@ -28,5 +29,19 @@ type PredicateChecker interface {
// TODO drop "nodeInfos map[string]*scheduler_nodeinfo.NodeInfo" and check against schedulerLister
FitsAnyNode(clusterSnapshot ClusterSnapshot, pod *apiv1.Pod, nodeInfos map[string]*scheduler_nodeinfo.NodeInfo) (string, error)
// TODO replace "*scheduler_nodeinfo.NodeInfo" with node name and expect nodeInfo to be part of schedulerLister
// until then use FakeNodeInfoForNodeName when clusterSnapshot is passed
CheckPredicates(clusterSnapshot ClusterSnapshot, pod *apiv1.Pod, nodeInfo *scheduler_nodeinfo.NodeInfo) PredicateError
}
// FakeNodeInfoForNodeName is used to generate fake node info which passes just a name
func FakeNodeInfoForNodeName(name string) *scheduler_nodeinfo.NodeInfo {
nodeInfo := scheduler_nodeinfo.NewNodeInfo()
node := &apiv1.Node{
ObjectMeta: metav1.ObjectMeta{
Name: name,
},
}
nodeInfo.SetNode(node)
return nodeInfo
}