update resource selector - kubectl drain

pull/6/head
juanvallejo 2017-10-17 13:24:50 -04:00
parent 78ada62c30
commit ee2f9c95e7
No known key found for this signature in database
GPG Key ID: 7D2C958002D6448D
1 changed files with 14 additions and 12 deletions

View File

@ -237,20 +237,18 @@ func (o *DrainOptions) SetupDrain(cmd *cobra.Command, args []string) error {
return err
}
nameArgs := []string{"nodes"}
if len(args) > 0 {
nameArgs = append(nameArgs, args[0])
if strings.Contains(args[0], "/") {
nameArgs = []string{args[0]}
}
builder := o.Factory.NewBuilder().
NamespaceParam(cmdNamespace).DefaultNamespace().
ResourceNames("nodes", args...).
SingleResourceType().
Flatten()
if len(o.Selector) > 0 {
builder = builder.SelectorParam(o.Selector).
ResourceTypes("nodes")
}
r := o.Factory.NewBuilder().
NamespaceParam(cmdNamespace).DefaultNamespace().
SelectorParam(o.Selector).
ResourceTypeOrNameArgs(true, nameArgs...).
Flatten().
Do()
r := builder.Do()
if err = r.Err(); err != nil {
return err
@ -260,6 +258,10 @@ func (o *DrainOptions) SetupDrain(cmd *cobra.Command, args []string) error {
if err != nil {
return err
}
if info.Mapping.Resource != "nodes" {
return fmt.Errorf("error: expected resource of type node, got %q", info.Mapping.Resource)
}
o.nodeInfos = append(o.nodeInfos, info)
return nil
})