(t *testing.T)
| 965 | } |
| 966 | |
| 967 | func TestGetDriverSpecMultipleNodePools(t *testing.T) { |
| 968 | cr := &nvidiav1alpha1.NVIDIADriver{ |
| 969 | ObjectMeta: metav1.ObjectMeta{ |
| 970 | UID: apitypes.UID("test-uid-multipools"), |
| 971 | }, |
| 972 | Spec: nvidiav1alpha1.NVIDIADriverSpec{ |
| 973 | DriverType: nvidiav1alpha1.GPU, |
| 974 | UsePrecompiled: ptr.To(true), |
| 975 | Repository: "nvcr.io/nvidia", |
| 976 | Image: "driver", |
| 977 | Version: "535.104.05", |
| 978 | Manager: nvidiav1alpha1.DriverManagerSpec{ |
| 979 | Repository: "nvcr.io/nvidia/cloud-native", |
| 980 | Image: "k8s-driver-manager", |
| 981 | Version: "v0.6.2", |
| 982 | }, |
| 983 | }, |
| 984 | } |
| 985 | |
| 986 | pool1 := nodePool{ |
| 987 | osRelease: "ubuntu", |
| 988 | osVersion: "22.04", |
| 989 | kernel: "5.15.0-generic", |
| 990 | nodeSelector: map[string]string{ |
| 991 | "feature.node.kubernetes.io/kernel-version.full": "5.15.0-generic", |
| 992 | "feature.node.kubernetes.io/system-os_release.VERSION_ID": "22.04", |
| 993 | }, |
| 994 | } |
| 995 | |
| 996 | var err error |
| 997 | pool1.osTag, err = getOSTag(pool1.osRelease, pool1.osVersion) |
| 998 | require.NoError(t, err) |
| 999 | |
| 1000 | pool2 := nodePool{ |
| 1001 | osRelease: "ubuntu", |
| 1002 | osVersion: "20.04", |
| 1003 | kernel: "5.4.0-generic", |
| 1004 | nodeSelector: map[string]string{ |
| 1005 | "feature.node.kubernetes.io/kernel-version.full": "5.4.0-generic", |
| 1006 | "feature.node.kubernetes.io/system-os_release.VERSION_ID": "20.04", |
| 1007 | }, |
| 1008 | } |
| 1009 | |
| 1010 | pool2.osTag, err = getOSTag(pool2.osRelease, pool2.osVersion) |
| 1011 | require.NoError(t, err) |
| 1012 | |
| 1013 | spec1, err := getDriverSpec(cr, pool1) |
| 1014 | require.NoError(t, err) |
| 1015 | spec2, err := getDriverSpec(cr, pool2) |
| 1016 | require.NoError(t, err) |
| 1017 | |
| 1018 | // Verify each spec has correct values |
| 1019 | assert.Equal(t, "nvcr.io/nvidia/driver:535.104.05-5.15.0-generic-ubuntu22.04", spec1.ImagePath) |
| 1020 | assert.Equal(t, "nvcr.io/nvidia/driver:535.104.05-5.4.0-generic-ubuntu20.04", spec2.ImagePath) |
| 1021 | assert.Equal(t, "ubuntu22.04", spec1.OSVersion) |
| 1022 | assert.Equal(t, "ubuntu20.04", spec2.OSVersion) |
| 1023 | |
| 1024 | // Verify NodeSelectors are independent |
nothing calls this directly
no test coverage detected