in pkg/controller/jenkinsscript/jenkinsscript_controller.go [205:234]
func (r *ReconcileJenkinsScript) getOrCreateInstanceOwner(ctx context.Context, jenkinsScript *jenkinsApi.JenkinsScript) (*jenkinsApi.Jenkins, error) {
log := r.log.WithValues(logNamespaceKey, jenkinsScript.Namespace, logNameKey, jenkinsScript.Name)
owner := r.getOwnerByCr(jenkinsScript)
if owner != nil {
return r.getInstanceByName(ctx, jenkinsScript.Namespace, owner.Name)
}
if jenkinsScript.Spec.OwnerName != nil {
return r.getInstanceByOwnerFromSpec(ctx, jenkinsScript)
}
jenkinsInstance, err := r.getJenkinsInstance(ctx, jenkinsScript.Namespace)
if err != nil {
return nil, err
}
if jenkinsInstance == nil {
return nil, nil
}
jenkinsScript = r.setOwnerReference(jenkinsInstance, jenkinsScript)
log.Info(fmt.Sprintf("jenkinsScript.GetOwnerReferences() - %v", jenkinsScript.GetOwnerReferences()))
if err = r.client.Update(ctx, jenkinsScript); err != nil {
return nil, fmt.Errorf("failed to set owner reference for %v: %w", jenkinsScript.Name, err)
}
return jenkinsInstance, nil
}