Generate pod.Name when pod.Name == "" for both HTTP and file sources.

Fix #3584
This commit is contained in:
Dawn Chen
2015-01-22 11:55:04 -08:00
parent 8c804c520b
commit cb92dbd6be
3 changed files with 28 additions and 0 deletions

View File

@@ -156,6 +156,12 @@ func extractFromFile(filename string) (api.BoundPod, error) {
if len(pod.UID) == 0 {
pod.UID = simpleSubdomainSafeHash(filename)
}
// This is required for backward compatibility, and should be removed once we
// completely deprecate ContainerManifest.
if len(pod.Name) == 0 {
pod.Name = string(pod.UID)
glog.V(5).Infof("Generated Name %q for UID %q from file %s", pod.Name, pod.UID, filename)
}
if len(pod.Namespace) == 0 {
pod.Namespace = api.NamespaceDefault
}

View File

@@ -91,6 +91,11 @@ func (s *sourceURL) extractFromURL() error {
if err := api.Scheme.Convert(&manifest, &pod); err != nil {
return err
}
// This is required for backward compatibility, and should be removed once we
// completely deprecate ContainerManifest.
if len(pod.Name) == 0 {
pod.Name = "1"
}
if len(pod.Namespace) == 0 {
pod.Namespace = api.NamespaceDefault
}

View File

@@ -136,6 +136,23 @@ func TestExtractFromHTTP(t *testing.T) {
},
}),
},
{
desc: "Single manifest without ID",
manifests: api.ContainerManifest{Version: "v1beta1", UUID: "111"},
expected: CreatePodUpdate(kubelet.SET,
kubelet.HTTPSource,
api.BoundPod{
ObjectMeta: api.ObjectMeta{
UID: "111",
Name: "1",
Namespace: "default",
},
Spec: api.PodSpec{
RestartPolicy: api.RestartPolicy{Always: &api.RestartPolicyAlways{}},
DNSPolicy: api.DNSClusterFirst,
},
}),
},
{
desc: "Multiple manifests",
manifests: []api.ContainerManifest{