ctrl.SetControllerReference()
изменяет только metadata.ownerReferences
на локальном объекте.
Он не вызывает автоматически reconciler.Update()
для вас. Таким образом, изменения никогда не сохранялись, и Owner
никогда не менялся.
Правильный способ создания объекта - вызвать ctrl.SetControllerReference()
перед вызовом reconciler.Create()
, например.
if err := ctrl.SetControllerReference(mycrd, secret, r.Scheme); err != nil {
log.Error(err, "Failed to set controller reference")
return err
}
log.Info("Creating a new Secret", "Secret.Namespace", secret.Namespace, "Secret.Name", secret.Name)
if err = r.Create(ctx, secret); err != nil {
log.Error(err, "Failed to create new Secret", "Secret.Namespace", secret.Namespace, "Secret.Name", secret.Name)
return err
}
person
I'll Eat My Hat
schedule
23.04.2021