(n ClusterPolicyController, spec nodev1.RuntimeClass)
| 5066 | } |
| 5067 | |
| 5068 | func transformRuntimeClassLegacy(n ClusterPolicyController, spec nodev1.RuntimeClass) (gpuv1.State, error) { |
| 5069 | ctx := n.ctx |
| 5070 | obj := &nodev1beta1.RuntimeClass{} |
| 5071 | |
| 5072 | obj.Name = spec.Name |
| 5073 | obj.Handler = spec.Handler |
| 5074 | |
| 5075 | // apply runtime class name as per ClusterPolicy |
| 5076 | if obj.Name == "FILLED_BY_OPERATOR" { |
| 5077 | runtimeClassName := getRuntimeClassName(&n.singleton.Spec) |
| 5078 | obj.Name = runtimeClassName |
| 5079 | obj.Handler = runtimeClassName |
| 5080 | } |
| 5081 | |
| 5082 | obj.Labels = spec.Labels |
| 5083 | |
| 5084 | logger := n.logger.WithValues("RuntimeClass", obj.Name) |
| 5085 | |
| 5086 | if err := controllerutil.SetControllerReference(n.singleton, obj, n.scheme); err != nil { |
| 5087 | return gpuv1.NotReady, err |
| 5088 | } |
| 5089 | |
| 5090 | found := &nodev1beta1.RuntimeClass{} |
| 5091 | err := n.client.Get(ctx, types.NamespacedName{Namespace: "", Name: obj.Name}, found) |
| 5092 | if err != nil && apierrors.IsNotFound(err) { |
| 5093 | logger.Info("Not found, creating...") |
| 5094 | err = n.client.Create(ctx, obj) |
| 5095 | if err != nil { |
| 5096 | logger.Info("Couldn't create", "Error", err) |
| 5097 | return gpuv1.NotReady, err |
| 5098 | } |
| 5099 | return gpuv1.Ready, nil |
| 5100 | } else if err != nil { |
| 5101 | return gpuv1.NotReady, err |
| 5102 | } |
| 5103 | |
| 5104 | logger.Info("Found Resource, updating...") |
| 5105 | obj.ResourceVersion = found.ResourceVersion |
| 5106 | |
| 5107 | err = n.client.Update(ctx, obj) |
| 5108 | if err != nil { |
| 5109 | logger.Info("Couldn't update", "Error", err) |
| 5110 | return gpuv1.NotReady, err |
| 5111 | } |
| 5112 | return gpuv1.Ready, nil |
| 5113 | } |
| 5114 | |
| 5115 | func transformRuntimeClass(n ClusterPolicyController, spec nodev1.RuntimeClass) (gpuv1.State, error) { |
| 5116 | ctx := n.ctx |
nothing calls this directly
no test coverage detected