in internal/testhelpers/resources.go [575:605]
func BuildDeploymentReplicaSet(d *appsv1.Deployment, scheme *runtime.Scheme) (*appsv1.ReplicaSet, string, error) {
podTemplateHash := strconv.FormatUint(rand.Uint64(), 16)
rs := &appsv1.ReplicaSet{
TypeMeta: metav1.TypeMeta{Kind: "ReplicaSet", APIVersion: "apps/metav1"},
ObjectMeta: metav1.ObjectMeta{
Name: fmt.Sprintf("%s-%s", d.Name, podTemplateHash),
Namespace: d.Namespace,
Annotations: map[string]string{
"deployment.kubernetes.io/desired-replicas": "2",
"deployment.kubernetes.io/max-replicas": "3",
"deployment.kubernetes.io/revision": "1",
},
Generation: 1,
Labels: map[string]string{
"app": d.Spec.Template.Labels["app"],
"enablewait": "yes",
"pod-template-hash": podTemplateHash,
},
},
Spec: appsv1.ReplicaSetSpec{
Replicas: d.Spec.Replicas,
Selector: d.Spec.Selector,
Template: d.Spec.Template,
},
}
err := controllerutil.SetOwnerReference(d, rs, scheme)
if err != nil {
return nil, "", err
}
return rs, podTemplateHash, nil
}