Browse code

Don't default node selector for openshift admin manag-node cmd

Ravi Sankar Penta authored on 2015/05/22 07:33:55
Showing 3 changed files
... ...
@@ -492,7 +492,7 @@ osc delete bc/ruby-sample-build-invalidtag
492 492
 
493 493
 # Test admin manage-node operations
494 494
 [ "$(openshift admin manage-node --help 2>&1 | grep 'Manage node operations')" ]
495
-[ "$(osadm manage-node --schedulable=true | grep --text 'Ready' | grep -v 'Sched')" ]
495
+[ "$(osadm manage-node --selector='' --schedulable=true | grep --text 'Ready' | grep -v 'Sched')" ]
496 496
 osc create -f examples/hello-openshift/hello-pod.json
497 497
 #[ "$(osadm manage-node --list-pods | grep 'hello-openshift' | grep -E '(unassigned|assigned)')" ]
498 498
 #[ "$(osadm manage-node --evacuate --dry-run | grep 'hello-openshift')" ]
... ...
@@ -64,7 +64,8 @@ func NewCommandManageNode(f *clientcmd.Factory, commandName, fullName string, ou
64 64
 				kcmdutil.CheckErr(err)
65 65
 			}
66 66
 
67
-			if err := opts.Validate(); err != nil {
67
+			checkNodeSelector := c.Flag("selector").Changed
68
+			if err := opts.Validate(checkNodeSelector); err != nil {
68 69
 				kcmdutil.CheckErr(kcmdutil.UsageError(c, err.Error()))
69 70
 			}
70 71
 
... ...
@@ -78,15 +78,19 @@ func (n *NodeOptions) Complete(f *clientcmd.Factory, c *cobra.Command, args []st
78 78
 	return nil
79 79
 }
80 80
 
81
-func (n *NodeOptions) Validate() error {
81
+func (n *NodeOptions) Validate(checkNodeSelector bool) error {
82 82
 	errList := []error{}
83
-	if len(n.Selector) > 0 {
84
-		if _, err := labels.Parse(n.Selector); err != nil {
85
-			errList = append(errList, errors.New("--selector=<node_selector> must be a valid label selector"))
83
+	if checkNodeSelector {
84
+		if len(n.Selector) > 0 {
85
+			if _, err := labels.Parse(n.Selector); err != nil {
86
+				errList = append(errList, errors.New("--selector=<node_selector> must be a valid label selector"))
87
+			}
86 88
 		}
87 89
 		if len(n.NodeNames) != 0 {
88 90
 			errList = append(errList, errors.New("either specify --selector=<node_selector> or nodes but not both"))
89 91
 		}
92
+	} else if len(n.NodeNames) == 0 {
93
+		errList = append(errList, errors.New("must provide --selector=<node_selector> or nodes"))
90 94
 	}
91 95
 
92 96
 	if len(n.PodSelector) > 0 {