expose: Avoid selector resolution if a selector is not needed
This commit is contained in:
@@ -129,14 +129,18 @@ func RunExpose(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []str
|
|||||||
names := generator.ParamNames()
|
names := generator.ParamNames()
|
||||||
params := kubectl.MakeParams(cmd, names)
|
params := kubectl.MakeParams(cmd, names)
|
||||||
params["default-name"] = info.Name
|
params["default-name"] = info.Name
|
||||||
if s, found := params["selector"]; !found || kubectl.IsZero(s) || cmdutil.GetFlagInt(cmd, "port") < 1 {
|
|
||||||
if kubectl.IsZero(s) {
|
// For objects that need a pod selector, derive it from the exposed object in case a user
|
||||||
s, err := f.PodSelectorForObject(inputObject)
|
// didn't explicitly specify one via --selector
|
||||||
if err != nil {
|
if s, found := params["selector"]; found && kubectl.IsZero(s) {
|
||||||
return cmdutil.UsageError(cmd, fmt.Sprintf("couldn't find selectors via --selector flag or introspection: %s", err))
|
s, err := f.PodSelectorForObject(inputObject)
|
||||||
}
|
if err != nil {
|
||||||
params["selector"] = s
|
return cmdutil.UsageError(cmd, fmt.Sprintf("couldn't find selectors via --selector flag or introspection: %s", err))
|
||||||
}
|
}
|
||||||
|
params["selector"] = s
|
||||||
|
}
|
||||||
|
|
||||||
|
if cmdutil.GetFlagInt(cmd, "port") < 1 {
|
||||||
noPorts := true
|
noPorts := true
|
||||||
for _, param := range names {
|
for _, param := range names {
|
||||||
if param.Name == "port" {
|
if param.Name == "port" {
|
||||||
|
|||||||
Reference in New Issue
Block a user