api changes

This commit is contained in:
Yecheng Fu 2020-07-07 12:58:44 +08:00 committed by Yecheng Fu
parent 125a5f10a6
commit 33a39e5333
3 changed files with 17 additions and 5 deletions

View File

@ -92,6 +92,10 @@ type ExtenderFilterResult struct {
NodeNames *[]string
// Filtered out nodes where the pod can't be scheduled and the failure messages
FailedNodes FailedNodesMap
// Filtered out nodes where the pod can't be scheduled and preemption would
// not change anything. The value is the failure message same as FailedNodes.
// Nodes specified here takes precedence over FailedNodes.
FailedAndUnresolvableNodes FailedNodesMap
// Error message indicating failure
Error string
}

View File

@ -67,12 +67,13 @@ func TestCompatibility(t *testing.T) {
{
emptyObj: &ExtenderFilterResult{},
obj: &ExtenderFilterResult{
Nodes: &corev1.NodeList{Items: []corev1.Node{{ObjectMeta: metav1.ObjectMeta{Name: "nodename"}}}},
NodeNames: &[]string{"node1"},
FailedNodes: FailedNodesMap{"foo": "bar"},
Error: "myerror",
Nodes: &corev1.NodeList{Items: []corev1.Node{{ObjectMeta: metav1.ObjectMeta{Name: "nodename"}}}},
NodeNames: &[]string{"node1"},
FailedNodes: FailedNodesMap{"foo": "bar"},
FailedAndUnresolvableNodes: FailedNodesMap{"baz": "qux"},
Error: "myerror",
},
expectJSON: `{"Nodes":{"metadata":{},"items":[{"metadata":{"name":"nodename","creationTimestamp":null},"spec":{},"status":{"daemonEndpoints":{"kubeletEndpoint":{"Port":0}},"nodeInfo":{"machineID":"","systemUUID":"","bootID":"","kernelVersion":"","osImage":"","containerRuntimeVersion":"","kubeletVersion":"","kubeProxyVersion":"","operatingSystem":"","architecture":""}}}]},"NodeNames":["node1"],"FailedNodes":{"foo":"bar"},"Error":"myerror"}`,
expectJSON: `{"Nodes":{"metadata":{},"items":[{"metadata":{"name":"nodename","creationTimestamp":null},"spec":{},"status":{"daemonEndpoints":{"kubeletEndpoint":{"Port":0}},"nodeInfo":{"machineID":"","systemUUID":"","bootID":"","kernelVersion":"","osImage":"","containerRuntimeVersion":"","kubeletVersion":"","kubeProxyVersion":"","operatingSystem":"","architecture":""}}}]},"NodeNames":["node1"],"FailedNodes":{"foo":"bar"},"FailedAndUnresolvableNodes":{"baz":"qux"},"Error":"myerror"}`,
},
{
emptyObj: &ExtenderBindingArgs{},

View File

@ -115,6 +115,13 @@ func (in *ExtenderFilterResult) DeepCopyInto(out *ExtenderFilterResult) {
(*out)[key] = val
}
}
if in.FailedAndUnresolvableNodes != nil {
in, out := &in.FailedAndUnresolvableNodes, &out.FailedAndUnresolvableNodes
*out = make(FailedNodesMap, len(*in))
for key, val := range *in {
(*out)[key] = val
}
}
return
}