make kubectl respect taint effect NoExecute
This commit is contained in:
		| @@ -43,7 +43,7 @@ func ParseTaint(st string) (v1.Taint, error) { | ||||
| 		return taint, fmt.Errorf("invalid taint spec: %v, %s", st, strings.Join(errs, "; ")) | ||||
| 	} | ||||
|  | ||||
| 	if effect != v1.TaintEffectNoSchedule && effect != v1.TaintEffectPreferNoSchedule { | ||||
| 	if effect != v1.TaintEffectNoSchedule && effect != v1.TaintEffectPreferNoSchedule && effect != v1.TaintEffectNoExecute { | ||||
| 		return taint, fmt.Errorf("invalid taint spec: %v, unsupported taint effect", st) | ||||
| 	} | ||||
|  | ||||
|   | ||||
| @@ -47,6 +47,10 @@ func TestTaintsVar(t *testing.T) { | ||||
| 				{Key: "bing", Value: "bang", Effect: api.TaintEffectPreferNoSchedule}, | ||||
| 			}, | ||||
| 		}, | ||||
| 		{ | ||||
| 			f: "--t=dedicated-for=user1:NoExecute", | ||||
| 			t: []api.Taint{{Key: "dedicated-for", Value: "user1", Effect: "NoExecute"}}, | ||||
| 		}, | ||||
| 	} | ||||
|  | ||||
| 	for i, c := range cases { | ||||
|   | ||||
| @@ -1467,6 +1467,24 @@ var _ = framework.KubeDescribe("Kubectl client", func() { | ||||
| 			} | ||||
| 			checkOutput(output, requiredStrings) | ||||
|  | ||||
| 			noExecuteTaint := v1.Taint{ | ||||
| 				Key:    testTaint.Key, | ||||
| 				Value:  "testing-taint-value-no-execute", | ||||
| 				Effect: v1.TaintEffectNoExecute, | ||||
| 			} | ||||
| 			By("adding NoExecute taint " + noExecuteTaint.ToString() + " to the node") | ||||
| 			runKubectlRetryOrDie("taint", "nodes", nodeName, noExecuteTaint.ToString()) | ||||
| 			defer framework.RemoveTaintOffNode(f.ClientSet, nodeName, noExecuteTaint) | ||||
|  | ||||
| 			By("verifying the node has the taint " + noExecuteTaint.ToString()) | ||||
| 			output = runKubectlRetryOrDie("describe", "node", nodeName) | ||||
| 			requiredStrings = [][]string{ | ||||
| 				{"Name:", nodeName}, | ||||
| 				{"Taints:"}, | ||||
| 				{noExecuteTaint.ToString()}, | ||||
| 			} | ||||
| 			checkOutput(output, requiredStrings) | ||||
|  | ||||
| 			By("removing all taints that have the same key " + testTaint.Key + " of the node") | ||||
| 			runKubectlRetryOrDie("taint", "nodes", nodeName, testTaint.Key+"-") | ||||
| 			By("verifying the node doesn't have the taints that have the same key " + testTaint.Key) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Kevin
					Kevin