... | ... |
@@ -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 { |