@@ -26,26 +26,43 @@ import (
26
26
corev1 "k8s.io/api/core/v1"
27
27
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
28
28
"k8s.io/apimachinery/pkg/runtime"
29
+ "sigs.k8s.io/controller-runtime/pkg/client"
30
+ "sigs.k8s.io/controller-runtime/pkg/client/fake"
29
31
30
32
"github.com/project-codeflare/codeflare-operator/pkg/config"
31
33
)
32
34
33
35
var (
34
- namespace = "test-namespace"
36
+ mockNamespace = & corev1.Namespace {
37
+ ObjectMeta : metav1.ObjectMeta {
38
+ Name : "test-namespace" ,
39
+ Labels : map [string ]string {
40
+ "pod-security.kubernetes.io/enforce" : "restricted" ,
41
+ "pod-security.kubernetes.io/enforce-version" : "v1.24" ,
42
+ },
43
+ },
44
+ }
35
45
rayClusterName = "test-raycluster"
36
46
37
47
rcWebhook = & rayClusterWebhook {
38
48
Config : & config.KubeRayConfiguration {},
49
+ Client : setupFakeClient (),
39
50
}
40
51
)
41
52
53
+ func setupFakeClient () client.Client {
54
+ scheme := runtime .NewScheme ()
55
+ corev1 .AddToScheme (scheme )
56
+ return fake .NewClientBuilder ().WithScheme (scheme ).WithObjects (mockNamespace ).Build ()
57
+ }
58
+
42
59
func TestRayClusterWebhookDefault (t * testing.T ) {
43
60
test := support .NewTest (t )
44
61
45
62
validRayCluster := & rayv1.RayCluster {
46
63
ObjectMeta : metav1.ObjectMeta {
47
64
Name : rayClusterName ,
48
- Namespace : namespace ,
65
+ Namespace : mockNamespace . Name ,
49
66
},
50
67
Spec : rayv1.RayClusterSpec {
51
68
HeadGroupSpec : rayv1.HeadGroupSpec {
@@ -88,7 +105,7 @@ func TestRayClusterWebhookDefault(t *testing.T) {
88
105
}
89
106
90
107
// Create the RayClusters
91
- if _ , err := test .Client ().Ray ().RayV1 ().RayClusters (namespace ).Create (test .Ctx (), validRayCluster , metav1.CreateOptions {}); err != nil {
108
+ if _ , err := test .Client ().Ray ().RayV1 ().RayClusters (mockNamespace . Name ).Create (test .Ctx (), validRayCluster , metav1.CreateOptions {}); err != nil {
92
109
test .T ().Fatalf ("Failed to create RayCluster: %v" , err )
93
110
}
94
111
@@ -234,7 +251,7 @@ func TestValidateCreate(t *testing.T) {
234
251
validRayCluster := & rayv1.RayCluster {
235
252
ObjectMeta : metav1.ObjectMeta {
236
253
Name : rayClusterName ,
237
- Namespace : namespace ,
254
+ Namespace : mockNamespace . Name ,
238
255
},
239
256
Spec : rayv1.RayClusterSpec {
240
257
HeadGroupSpec : rayv1.HeadGroupSpec {
@@ -268,7 +285,7 @@ func TestValidateCreate(t *testing.T) {
268
285
"--tls-cert=/etc/tls/private/tls.crt" ,
269
286
"--tls-key=/etc/tls/private/tls.key" ,
270
287
"--cookie-secret=$(COOKIE_SECRET)" ,
271
- "--openshift-delegate-urls={\" /\" :{\" resource\" :\" pods\" ,\" namespace\" :\" " + namespace + "\" ,\" verb\" :\" get\" }}" ,
288
+ "--openshift-delegate-urls={\" /\" :{\" resource\" :\" pods\" ,\" namespace\" :\" " + mockNamespace . Name + "\" ,\" verb\" :\" get\" }}" ,
272
289
},
273
290
VolumeMounts : []corev1.VolumeMount {
274
291
{
@@ -298,7 +315,7 @@ func TestValidateCreate(t *testing.T) {
298
315
}
299
316
300
317
// Create the RayClusters
301
- if _ , err := test .Client ().Ray ().RayV1 ().RayClusters (namespace ).Create (test .Ctx (), validRayCluster , metav1.CreateOptions {}); err != nil {
318
+ if _ , err := test .Client ().Ray ().RayV1 ().RayClusters (mockNamespace . Name ).Create (test .Ctx (), validRayCluster , metav1.CreateOptions {}); err != nil {
302
319
test .T ().Fatalf ("Failed to create RayCluster: %v" , err )
303
320
}
304
321
@@ -354,7 +371,7 @@ func TestValidateUpdate(t *testing.T) {
354
371
validRayCluster := & rayv1.RayCluster {
355
372
ObjectMeta : metav1.ObjectMeta {
356
373
Name : rayClusterName ,
357
- Namespace : namespace ,
374
+ Namespace : mockNamespace . Name ,
358
375
},
359
376
Spec : rayv1.RayClusterSpec {
360
377
HeadGroupSpec : rayv1.HeadGroupSpec {
@@ -400,7 +417,7 @@ func TestValidateUpdate(t *testing.T) {
400
417
"--tls-cert=/etc/tls/private/tls.crt" ,
401
418
"--tls-key=/etc/tls/private/tls.key" ,
402
419
"--cookie-secret=$(COOKIE_SECRET)" ,
403
- "--openshift-delegate-urls={\" /\" :{\" resource\" :\" pods\" ,\" namespace\" :\" " + namespace + "\" ,\" verb\" :\" get\" }}" ,
420
+ "--openshift-delegate-urls={\" /\" :{\" resource\" :\" pods\" ,\" namespace\" :\" " + mockNamespace . Name + "\" ,\" verb\" :\" get\" }}" ,
404
421
},
405
422
VolumeMounts : []corev1.VolumeMount {
406
423
{
@@ -418,7 +435,7 @@ func TestValidateUpdate(t *testing.T) {
418
435
Command : []string {
419
436
"sh" ,
420
437
"-c" ,
421
- `cd /home/ray/workspace/tls && openssl req -nodes -newkey rsa:2048 -keyout server.key -out server.csr -subj '/CN=ray-head' && printf "authorityKeyIdentifier=keyid,issuer\nbasicConstraints=CA:FALSE\nsubjectAltName = @alt_names\n[alt_names]\nDNS.1 = 127.0.0.1\nDNS.2 = localhost\nDNS.3 = ${FQ_RAY_IP}\nDNS.4 = $(awk 'END{print $1}' /etc/hosts)\nDNS.5 = rayclient-` + rayClusterName + `-` + namespace + `.\nDNS.6 = ` + rayClusterName + `-head-svc.` + namespace + `.svc` + `">./domain.ext && cp /home/ray/workspace/ca/* . && openssl x509 -req -CA ca.crt -CAkey ca.key -in server.csr -out server.crt -days 365 -CAcreateserial -extfile domain.ext` ,
438
+ `cd /home/ray/workspace/tls && openssl req -nodes -newkey rsa:2048 -keyout server.key -out server.csr -subj '/CN=ray-head' && printf "authorityKeyIdentifier=keyid,issuer\nbasicConstraints=CA:FALSE\nsubjectAltName = @alt_names\n[alt_names]\nDNS.1 = 127.0.0.1\nDNS.2 = localhost\nDNS.3 = ${FQ_RAY_IP}\nDNS.4 = $(awk 'END{print $1}' /etc/hosts)\nDNS.5 = rayclient-` + rayClusterName + `-` + mockNamespace . Name + `.\nDNS.6 = ` + rayClusterName + `-head-svc.` + mockNamespace . Name + `.svc` + `">./domain.ext && cp /home/ray/workspace/ca/* . && openssl x509 -req -CA ca.crt -CAkey ca.key -in server.csr -out server.crt -days 365 -CAcreateserial -extfile domain.ext` ,
422
439
},
423
440
VolumeMounts : []corev1.VolumeMount {
424
441
{
@@ -524,7 +541,7 @@ func TestValidateUpdate(t *testing.T) {
524
541
}
525
542
526
543
// Create the RayClusters
527
- if _ , err := test .Client ().Ray ().RayV1 ().RayClusters (namespace ).Create (test .Ctx (), validRayCluster , metav1.CreateOptions {}); err != nil {
544
+ if _ , err := test .Client ().Ray ().RayV1 ().RayClusters (mockNamespace . Name ).Create (test .Ctx (), validRayCluster , metav1.CreateOptions {}); err != nil {
528
545
test .T ().Fatalf ("Failed to create RayCluster: %v" , err )
529
546
}
530
547
0 commit comments