Merge pull request #38767 from kargakis/fix-setting-container-name-in-create-deployment
Automatic merge from submit-queue kubectl: fix 'create deployment' to set container name correctly @kubernetes/kubectl @kubernetes/sig-cli
This commit is contained in:
@@ -67,8 +67,15 @@ func (s *DeploymentBasicGeneratorV1) StructuredGenerate() (runtime.Object, error
|
||||
|
||||
podSpec := api.PodSpec{Containers: []api.Container{}}
|
||||
for _, imageString := range s.Images {
|
||||
// Retain just the image name
|
||||
imageSplit := strings.Split(imageString, "/")
|
||||
name := imageSplit[len(imageSplit)-1]
|
||||
// Remove any tag or hash
|
||||
if strings.Contains(name, ":") {
|
||||
name = strings.Split(name, ":")[0]
|
||||
} else if strings.Contains(name, "@") {
|
||||
name = strings.Split(name, "@")[0]
|
||||
}
|
||||
podSpec.Containers = append(podSpec.Containers, api.Container{Name: name, Image: imageString})
|
||||
}
|
||||
|
||||
|
@@ -49,7 +49,7 @@ func TestDeploymentGenerate(t *testing.T) {
|
||||
Labels: map[string]string{"app": "foo"},
|
||||
},
|
||||
Spec: api.PodSpec{
|
||||
Containers: []api.Container{{Name: "app:v4", Image: "abc/app:v4"}},
|
||||
Containers: []api.Container{{Name: "app", Image: "abc/app:v4"}},
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -74,7 +74,7 @@ func TestDeploymentGenerate(t *testing.T) {
|
||||
Labels: map[string]string{"app": "foo"},
|
||||
},
|
||||
Spec: api.PodSpec{
|
||||
Containers: []api.Container{{Name: "app:v4", Image: "abc/app:v4"},
|
||||
Containers: []api.Container{{Name: "app", Image: "abc/app:v4"},
|
||||
{Name: "ape", Image: "zyx/ape"}},
|
||||
},
|
||||
},
|
||||
@@ -114,21 +114,22 @@ func TestDeploymentGenerate(t *testing.T) {
|
||||
}
|
||||
generator := DeploymentBasicGeneratorV1{}
|
||||
for index, test := range tests {
|
||||
t.Logf("running scenario %d", index)
|
||||
obj, err := generator.Generate(test.params)
|
||||
switch {
|
||||
case test.expectErr && err != nil:
|
||||
continue // loop, since there's no output to check
|
||||
case test.expectErr && err == nil:
|
||||
t.Errorf("%v: expected error and didn't get one", index)
|
||||
t.Errorf("expected error and didn't get one")
|
||||
continue // loop, no expected output object
|
||||
case !test.expectErr && err != nil:
|
||||
t.Errorf("%v: unexpected error %v", index, err)
|
||||
t.Errorf("unexpected error %v", err)
|
||||
continue // loop, no output object
|
||||
case !test.expectErr && err == nil:
|
||||
// do nothing and drop through
|
||||
}
|
||||
if !reflect.DeepEqual(obj.(*extensions.Deployment), test.expected) {
|
||||
t.Errorf("%v\nexpected:\n%#v\nsaw:\n%#v", index, test.expected, obj.(*extensions.Deployment))
|
||||
t.Errorf("expected:\n%#v\nsaw:\n%#v", test.expected, obj.(*extensions.Deployment))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user