(t *testing.T)
| 3617 | } |
| 3618 | |
| 3619 | func TestTransformDriverWithResources(t *testing.T) { |
| 3620 | node := &corev1.Node{ |
| 3621 | ObjectMeta: metav1.ObjectMeta{ |
| 3622 | Name: "test-node", |
| 3623 | Labels: map[string]string{ |
| 3624 | nfdOSReleaseIDLabelKey: "ubuntu", |
| 3625 | nfdOSVersionIDLabelKey: "20.04", |
| 3626 | nfdKernelLabelKey: "6.8.0-60-generic", |
| 3627 | commonGPULabelKey: "true", |
| 3628 | }, |
| 3629 | }, |
| 3630 | } |
| 3631 | mockClient := fake.NewFakeClient(node) |
| 3632 | |
| 3633 | resources := gpuv1.ResourceRequirements{ |
| 3634 | Requests: corev1.ResourceList{ |
| 3635 | corev1.ResourceCPU: resource.MustParse("100m"), |
| 3636 | corev1.ResourceMemory: resource.MustParse("200Mi"), |
| 3637 | }, |
| 3638 | Limits: corev1.ResourceList{ |
| 3639 | corev1.ResourceCPU: resource.MustParse("500m"), |
| 3640 | corev1.ResourceMemory: resource.MustParse("400Mi"), |
| 3641 | }, |
| 3642 | } |
| 3643 | |
| 3644 | testCases := []struct { |
| 3645 | description string |
| 3646 | ds Daemonset |
| 3647 | cpSpec *gpuv1.ClusterPolicySpec |
| 3648 | client client.Client |
| 3649 | expectedDs Daemonset |
| 3650 | errorExpected bool |
| 3651 | }{ |
| 3652 | { |
| 3653 | description: "transform driver dependent containers with resources", |
| 3654 | ds: NewDaemonset().WithContainer(corev1.Container{Name: "nvidia-driver-ctr"}). |
| 3655 | WithContainer(corev1.Container{Name: "nvidia-fs"}). |
| 3656 | WithContainer(corev1.Container{Name: "nvidia-gdrcopy"}). |
| 3657 | WithContainer(corev1.Container{Name: "nvidia-peermem"}). |
| 3658 | WithInitContainer(corev1.Container{Name: "k8s-driver-manager"}), |
| 3659 | cpSpec: &gpuv1.ClusterPolicySpec{ |
| 3660 | Driver: gpuv1.DriverSpec{ |
| 3661 | Repository: "nvcr.io/nvidia", |
| 3662 | Image: "driver", |
| 3663 | Version: "570.172.08", |
| 3664 | Manager: gpuv1.DriverManagerSpec{ |
| 3665 | Repository: "nvcr.io/nvidia/cloud-native", |
| 3666 | Image: "k8s-driver-manager", |
| 3667 | Version: "v0.8.0", |
| 3668 | }, |
| 3669 | Resources: &resources, |
| 3670 | }, |
| 3671 | GPUDirectStorage: &gpuv1.GPUDirectStorageSpec{ |
| 3672 | Enabled: newBoolPtr(true), |
| 3673 | Repository: "nvcr.io/nvidia/cloud-native", |
| 3674 | Image: "nvidia-fs", |
| 3675 | Version: "2.20.5", |
| 3676 | }, |
nothing calls this directly
no test coverage detected