diff --git a/pkg/kubelet/config/common.go b/pkg/kubelet/config/common.go index 84280cd435e..2a5733d4f48 100644 --- a/pkg/kubelet/config/common.go +++ b/pkg/kubelet/config/common.go @@ -58,13 +58,15 @@ func generatePodName(name string, nodeName types.NodeName) string { func applyDefaults(pod *api.Pod, source string, isFile bool, nodeName types.NodeName) error { if len(pod.UID) == 0 { hasher := md5.New() + hash.DeepHashObject(hasher, pod) + // DeepHashObject resets the hash, so we should write the pod source + // information AFTER it. if isFile { fmt.Fprintf(hasher, "host:%s", nodeName) fmt.Fprintf(hasher, "file:%s", source) } else { fmt.Fprintf(hasher, "url:%s", source) } - hash.DeepHashObject(hasher, pod) pod.UID = types.UID(hex.EncodeToString(hasher.Sum(nil)[0:])) klog.V(5).Infof("Generated UID %q pod %q from %s", pod.UID, pod.Name, source) }