Fix kubectl run ignore namespace
Kubernetes-commit: b3c830d4bf260c68d4299cd1879dbe9ce9913bc6
This commit is contained in:
parent
adb8353cbe
commit
4a94a16b14
|
@ -125,6 +125,9 @@ type RunOptions struct {
|
||||||
TTY bool
|
TTY bool
|
||||||
fieldManager string
|
fieldManager string
|
||||||
|
|
||||||
|
Namespace string
|
||||||
|
EnforceNamespace bool
|
||||||
|
|
||||||
genericclioptions.IOStreams
|
genericclioptions.IOStreams
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -283,7 +286,7 @@ func (o *RunOptions) Run(f cmdutil.Factory, cmd *cobra.Command, args []string) e
|
||||||
return cmdutil.UsageErrorf(cmd, "--port must be set when exposing a service")
|
return cmdutil.UsageErrorf(cmd, "--port must be set when exposing a service")
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace, _, err := f.ToRawKubeConfigLoader().Namespace()
|
o.Namespace, o.EnforceNamespace, err = f.ToRawKubeConfigLoader().Namespace()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -324,7 +327,7 @@ func (o *RunOptions) Run(f cmdutil.Factory, cmd *cobra.Command, args []string) e
|
||||||
params["env"] = cmdutil.GetFlagStringArray(cmd, "env")
|
params["env"] = cmdutil.GetFlagStringArray(cmd, "env")
|
||||||
|
|
||||||
var createdObjects = []*RunObject{}
|
var createdObjects = []*RunObject{}
|
||||||
runObject, err := o.createGeneratedObject(f, cmd, generator, names, params, cmdutil.GetFlagString(cmd, "overrides"), namespace)
|
runObject, err := o.createGeneratedObject(f, cmd, generator, names, params, cmdutil.GetFlagString(cmd, "overrides"))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -336,7 +339,7 @@ func (o *RunOptions) Run(f cmdutil.Factory, cmd *cobra.Command, args []string) e
|
||||||
if len(serviceGenerator) == 0 {
|
if len(serviceGenerator) == 0 {
|
||||||
return cmdutil.UsageErrorf(cmd, "No service generator specified")
|
return cmdutil.UsageErrorf(cmd, "No service generator specified")
|
||||||
}
|
}
|
||||||
serviceRunObject, err := o.generateService(f, cmd, serviceGenerator, params, namespace)
|
serviceRunObject, err := o.generateService(f, cmd, serviceGenerator, params)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
allErrs = append(allErrs, err)
|
allErrs = append(allErrs, err)
|
||||||
} else {
|
} else {
|
||||||
|
@ -563,7 +566,7 @@ func verifyImagePullPolicy(cmd *cobra.Command) error {
|
||||||
return cmdutil.UsageErrorf(cmd, "invalid image pull policy: %s", pullPolicy)
|
return cmdutil.UsageErrorf(cmd, "invalid image pull policy: %s", pullPolicy)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (o *RunOptions) generateService(f cmdutil.Factory, cmd *cobra.Command, serviceGenerator string, paramsIn map[string]interface{}, namespace string) (*RunObject, error) {
|
func (o *RunOptions) generateService(f cmdutil.Factory, cmd *cobra.Command, serviceGenerator string, paramsIn map[string]interface{}) (*RunObject, error) {
|
||||||
generators := generateversioned.GeneratorFn("expose")
|
generators := generateversioned.GeneratorFn("expose")
|
||||||
generator, found := generators[serviceGenerator]
|
generator, found := generators[serviceGenerator]
|
||||||
if !found {
|
if !found {
|
||||||
|
@ -593,7 +596,7 @@ func (o *RunOptions) generateService(f cmdutil.Factory, cmd *cobra.Command, serv
|
||||||
params["default-name"] = name
|
params["default-name"] = name
|
||||||
}
|
}
|
||||||
|
|
||||||
runObject, err := o.createGeneratedObject(f, cmd, generator, names, params, cmdutil.GetFlagString(cmd, "service-overrides"), namespace)
|
runObject, err := o.createGeneratedObject(f, cmd, generator, names, params, cmdutil.GetFlagString(cmd, "service-overrides"))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -609,7 +612,7 @@ func (o *RunOptions) generateService(f cmdutil.Factory, cmd *cobra.Command, serv
|
||||||
return runObject, nil
|
return runObject, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (o *RunOptions) createGeneratedObject(f cmdutil.Factory, cmd *cobra.Command, generator generate.Generator, names []generate.GeneratorParam, params map[string]interface{}, overrides, namespace string) (*RunObject, error) {
|
func (o *RunOptions) createGeneratedObject(f cmdutil.Factory, cmd *cobra.Command, generator generate.Generator, names []generate.GeneratorParam, params map[string]interface{}, overrides string) (*RunObject, error) {
|
||||||
err := generate.ValidateParams(names, params)
|
err := generate.ValidateParams(names, params)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
@ -665,10 +668,14 @@ func (o *RunOptions) createGeneratedObject(f cmdutil.Factory, cmd *cobra.Command
|
||||||
NewHelper(client, mapping).
|
NewHelper(client, mapping).
|
||||||
DryRun(o.DryRunStrategy == cmdutil.DryRunServer).
|
DryRun(o.DryRunStrategy == cmdutil.DryRunServer).
|
||||||
WithFieldManager(o.fieldManager).
|
WithFieldManager(o.fieldManager).
|
||||||
Create(namespace, false, obj)
|
Create(o.Namespace, false, obj)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
if meta, err := meta.Accessor(actualObj); err == nil && o.EnforceNamespace {
|
||||||
|
meta.SetNamespace(o.Namespace)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return &RunObject{
|
return &RunObject{
|
||||||
|
|
|
@ -382,6 +382,8 @@ func TestGenerateService(t *testing.T) {
|
||||||
PrintObj: func(obj runtime.Object) error {
|
PrintObj: func(obj runtime.Object) error {
|
||||||
return printer.PrintObj(obj, buff)
|
return printer.PrintObj(obj, buff)
|
||||||
},
|
},
|
||||||
|
|
||||||
|
Namespace: "test",
|
||||||
}
|
}
|
||||||
|
|
||||||
cmd := &cobra.Command{}
|
cmd := &cobra.Command{}
|
||||||
|
@ -398,7 +400,7 @@ func TestGenerateService(t *testing.T) {
|
||||||
test.params["port"] = test.port
|
test.params["port"] = test.port
|
||||||
}
|
}
|
||||||
|
|
||||||
_, err = opts.generateService(tf, cmd, test.serviceGenerator, test.params, "test")
|
_, err = opts.generateService(tf, cmd, test.serviceGenerator, test.params)
|
||||||
if test.expectErr {
|
if test.expectErr {
|
||||||
if err == nil {
|
if err == nil {
|
||||||
t.Error("unexpected non-error")
|
t.Error("unexpected non-error")
|
||||||
|
|
Loading…
Reference in New Issue