/
ray.go
62 lines (50 loc) · 1.78 KB
/
ray.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
package support
import (
"github.com/onsi/gomega"
rayv1 "github.com/ray-project/kuberay/ray-operator/apis/ray/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
func RayJob(t Test, namespace, name string) func(g gomega.Gomega) *rayv1.RayJob {
return func(g gomega.Gomega) *rayv1.RayJob {
job, err := t.Client().Ray().RayV1().RayJobs(namespace).Get(t.Ctx(), name, metav1.GetOptions{})
g.Expect(err).NotTo(gomega.HaveOccurred())
return job
}
}
func GetRayJob(t Test, namespace, name string) *rayv1.RayJob {
t.T().Helper()
return RayJob(t, namespace, name)(t)
}
func RayJobStatus(job *rayv1.RayJob) rayv1.JobStatus {
return job.Status.JobStatus
}
func RayJobDeploymentStatus(job *rayv1.RayJob) rayv1.JobDeploymentStatus {
return job.Status.JobDeploymentStatus
}
func RayJobReason(job *rayv1.RayJob) rayv1.JobFailedReason {
return job.Status.Reason
}
func GetRayJobId(t Test, namespace, name string) string {
t.T().Helper()
job := RayJob(t, namespace, name)(t)
return job.Status.JobId
}
func RayCluster(t Test, namespace, name string) func(g gomega.Gomega) *rayv1.RayCluster {
return func(g gomega.Gomega) *rayv1.RayCluster {
cluster, err := t.Client().Ray().RayV1().RayClusters(namespace).Get(t.Ctx(), name, metav1.GetOptions{})
g.Expect(err).NotTo(gomega.HaveOccurred())
return cluster
}
}
func RayClusterOrError(t Test, namespace, name string) func(g gomega.Gomega) (*rayv1.RayCluster, error) {
return func(g gomega.Gomega) (*rayv1.RayCluster, error) {
return t.Client().Ray().RayV1().RayClusters(namespace).Get(t.Ctx(), name, metav1.GetOptions{})
}
}
func GetRayCluster(t Test, namespace, name string) *rayv1.RayCluster {
t.T().Helper()
return RayCluster(t, namespace, name)(t)
}
func RayClusterState(cluster *rayv1.RayCluster) rayv1.ClusterState {
return cluster.Status.State
}