in internal/testhelpers/resources.go [607:640]
func BuildDeploymentReplicaSetPods(d *appsv1.Deployment, rs *appsv1.ReplicaSet, podTemplateHash string, scheme *runtime.Scheme) ([]*corev1.Pod, error) {
var replicas int32
if d.Spec.Replicas != nil {
replicas = *d.Spec.Replicas
} else {
replicas = 1
}
var pods []*corev1.Pod
for i := int32(0); i < replicas; i++ {
podID := strconv.FormatUint(uint64(rand.Uint32()), 16)
p := &corev1.Pod{
TypeMeta: metav1.TypeMeta{Kind: "Pod", APIVersion: "v1"},
ObjectMeta: metav1.ObjectMeta{
Name: fmt.Sprintf("%s-%s-%s", d.Name, podTemplateHash, podID),
Namespace: d.Namespace,
Generation: 1,
Labels: map[string]string{
"app": d.Spec.Template.Labels["app"],
"enablewait": "yes",
"pod-template-hash": podTemplateHash,
},
},
Spec: d.Spec.Template.Spec,
}
err := controllerutil.SetOwnerReference(rs, p, scheme)
if err != nil {
return nil, err
}
pods = append(pods, p)
}
return pods, nil
}