Documentation
¶
Index ¶
- Constants
- Variables
- func AllPodsRunningAndReady(pods []corev1.Pod) bool
- func Apply[T any](t *T, options ...SupportOption[T]) *T
- func ConfigMapWith(configMapAC *corev1ac.ConfigMapApplyConfiguration, ...) *corev1ac.ConfigMapApplyConfiguration
- func CreateCurlPod(g *gomega.WithT, t Test, podName, containerName, namespace string) (*corev1.Pod, error)
- func CreateResourceQuota(t Test, namespace string, name string, cpu string, memory string) *corev1.ResourceQuota
- func DeletePodAndWait(test Test, rayCluster *rayv1.RayCluster, namespace *corev1.Namespace, ...) (*corev1.Pod, error)
- func DeployRedis(t Test, namespace string, password string) func() string
- func DeserializeRayClusterYAML(t Test, filename string) *rayv1.RayCluster
- func DeserializeRayJobYAML(t Test, filename string) *rayv1.RayJob
- func DeserializeRayServiceYAML(t Test, filename string) *rayv1.RayService
- func ExecPodCmd(t Test, pod *corev1.Pod, containerName string, cmd []string, ...) (bytes.Buffer, bytes.Buffer)
- func Gateway(t Test, namespace, name string) func() (*gwv1.Gateway, error)
- func GetAllPods(t Test, rayCluster *rayv1.RayCluster) ([]corev1.Pod, error)
- func GetGateway(t Test, namespace, name string) (*gwv1.Gateway, error)
- func GetGroupPods(t Test, rayCluster *rayv1.RayCluster, group string) ([]corev1.Pod, error)
- func GetHTTPRoute(t Test, namespace, name string) (*gwv1.HTTPRoute, error)
- func GetHeadPod(t Test, rayCluster *rayv1.RayCluster) (*corev1.Pod, error)
- func GetKubeRayUpgradeVersion() string
- func GetMetricsResponseAndCode(t *testing.T, reg *prometheus.Registry) (string, int)
- func GetRayCluster(t Test, namespace, name string) (*rayv1.RayCluster, error)
- func GetRayClusterWorkerGroupReplicaSum(cluster *rayv1.RayCluster) int32
- func GetRayCronJob(t Test, namespace, name string) (*rayv1.RayCronJob, error)
- func GetRayImage() string
- func GetRayJob(t Test, namespace, name string) (*rayv1.RayJob, error)
- func GetRayService(t Test, namespace, name string) (*rayv1.RayService, error)
- func GetRayVersion() string
- func GetWorkerPods(t Test, rayCluster *rayv1.RayCluster) ([]corev1.Pod, error)
- func GroupPods(t Test, rayCluster *rayv1.RayCluster, group string) func() ([]corev1.Pod, error)
- func HTTPRoute(t Test, namespace, name string) func() (*gwv1.HTTPRoute, error)
- func HeadPod(t Test, rayCluster *rayv1.RayCluster) func() (*corev1.Pod, error)
- func HeadPodTemplateApplyConfiguration() *corev1ac.PodTemplateSpecApplyConfiguration
- func IsPodRunningAndReady(pod *corev1.Pod) bool
- func IsRayServiceReady(service *rayv1.RayService) bool
- func IsRayServiceRollingBack(service *rayv1.RayService) bool
- func IsRayServiceUpgrading(service *rayv1.RayService) bool
- func Job(t Test, namespace, name string) func(g gomega.Gomega) *batchv1.Job
- func JobSubmitterPodTemplateApplyConfiguration() *corev1ac.PodTemplateSpecApplyConfiguration
- func Jobs(t Test, namespace string) func(g gomega.Gomega) []batchv1.Job
- func KubectlApplyQuota(t Test, namespace, quota string)
- func KubectlApplyYAML(t Test, filename string, namespace string)
- func KubectlDeleteAllPods(t Test, namespace string)
- func LogWithTimestamp(t *testing.T, format string, args ...any)
- func MatchCondition(status metav1.ConditionStatus, reason string) types.GomegaMatcher
- func MatchConditionContainsMessage(status metav1.ConditionStatus, reason string, message string) types.GomegaMatcher
- func NewConfigMap(namespace string, ...) *corev1ac.ConfigMapApplyConfiguration
- func NewRayClusterSpec(options ...SupportOption[rayv1ac.RayClusterSpecApplyConfiguration]) *rayv1ac.RayClusterSpecApplyConfiguration
- func PodTemplateSpecApplyConfiguration(template *corev1ac.PodTemplateSpecApplyConfiguration, ...) *corev1ac.PodTemplateSpecApplyConfiguration
- func Pods(t Test, namespace string, options ...Option[*metav1.ListOptions]) func(g gomega.Gomega) []corev1.Pod
- func Ptr[T any](v T) *T
- func RayCluster(t Test, namespace, name string) func() (*rayv1.RayCluster, error)
- func RayClusterDesiredWorkerReplicas(cluster *rayv1.RayCluster) int32
- func RayClusterManagedBy(rayCluster *rayv1.RayCluster) *string
- func RayClusterSpecWith(spec *rayv1ac.RayClusterSpecApplyConfiguration, ...) *rayv1ac.RayClusterSpecApplyConfiguration
- func RayClusterState(cluster *rayv1.RayCluster) rayv1.ClusterState
- func RayCronJob(t Test, namespace, name string) func() (*rayv1.RayCronJob, error)
- func RayJob(t Test, namespace, name string) func() (*rayv1.RayJob, error)
- func RayJobClusterName(job *rayv1.RayJob) string
- func RayJobDeploymentStatus(job *rayv1.RayJob) rayv1.JobDeploymentStatus
- func RayJobFailed(job *rayv1.RayJob) int32
- func RayJobManagedBy(job *rayv1.RayJob) *string
- func RayJobReason(job *rayv1.RayJob) rayv1.JobFailedReason
- func RayJobStatus(job *rayv1.RayJob) rayv1.JobStatus
- func RayJobSucceeded(job *rayv1.RayJob) int32
- func RayService(t Test, namespace, name string) func() (*rayv1.RayService, error)
- func RayServiceManagedBy(rayService *rayv1.RayService) *string
- func RayServiceStatus(service *rayv1.RayService) rayv1.ServiceStatus
- func RayServicesNumEndPoints(service *rayv1.RayService) int32
- func ReadFile(t Test, fileName string) []byte
- func SetupPortForward(t Test, podName, namespace string, localPort, remotePort int) (chan struct{}, error)
- func StatusCondition(condType rayv1.RayClusterConditionType) func(*rayv1.RayCluster) metav1.Condition
- func VerifyContainerAuthTokenEnvVars(t Test, rayCluster *rayv1.RayCluster, container *corev1.Container)
- func WithRayClusterResourceLogger(t Test) types.GomegaTestingT
- func WithRayJobResourceLogger(t Test) types.GomegaTestingT
- func WithRayServiceResourceLogger(t Test) types.GomegaTestingT
- func WorkerPodTemplateApplyConfiguration() *corev1ac.PodTemplateSpecApplyConfiguration
- func WorkerPods(t Test, rayCluster *rayv1.RayCluster) func() ([]corev1.Pod, error)
- func WriteToOutputDir(t Test, fileName string, fileType OutputType, data []byte)
- type Client
- type ConditionMatcher
- type EndpointInfo
- type Option
- type OutputType
- type RayResourceLogger
- func (l *RayResourceLogger) Fatalf(format string, args ...any)
- func (l *RayResourceLogger) FprintRayClusters(sb *strings.Builder)
- func (l *RayResourceLogger) FprintRayJobs(sb *strings.Builder)
- func (l *RayResourceLogger) FprintRayServices(sb *strings.Builder)
- func (l *RayResourceLogger) FprintServices(sb *strings.Builder)
- func (l *RayResourceLogger) FprintfJobs(sb *strings.Builder)
- func (l *RayResourceLogger) FprintfPods(sb *strings.Builder)
- func (l *RayResourceLogger) GetLoggers() []ResourceLoggerFunc
- func (l *RayResourceLogger) Helper()
- func (l *RayResourceLogger) MakeFprintUnsupportedResource(resource int) func(sb *strings.Builder)
- type ResourceLoggerFunc
- type SupportOption
- type T
- type Test
Constants ¶
const ( RayVersion = "2.52.0" RayImage = "rayproject/ray:2.52.0" KuberayUpgradeVersion = "v1.5.1" )
const ( // KuberayTestOutputDir is the testing output directory, to write output files into. KuberayTestOutputDir = "KUBERAY_TEST_OUTPUT_DIR" // KuberayTestRayVersion is the version of Ray to use for testing. KuberayTestRayVersion = "KUBERAY_TEST_RAY_VERSION" // KuberayTestRayImage is the Ray image to use for testing. KuberayTestRayImage = "KUBERAY_TEST_RAY_IMAGE" KuberayTestUpgradeImage = "KUBERAY_TEST_UPGRADE_IMAGE" )
const ( RedisAddress = "redis:6379" RedisPassword = "5241590000000000" )
const ( PODS_RESOURCE = iota JOBS_RESOURCE SERVICES_RESOURCE RAYJOBS_RESOURCE RAYSERVICES_RESOURCE RAYCLUSTERS_RESOURCE )
Variables ¶
var ( TestApplyOptions = metav1.ApplyOptions{FieldManager: "kuberay-test", Force: true} TestTimeoutShort = 1 * time.Minute TestTimeoutMedium = 2 * time.Minute TestTimeoutLong = 5 * time.Minute )
Functions ¶
func AllPodsRunningAndReady ¶ added in v1.5.0
func Apply ¶ added in v1.5.0
func Apply[T any](t *T, options ...SupportOption[T]) *T
func ConfigMapWith ¶ added in v1.5.0
func ConfigMapWith(configMapAC *corev1ac.ConfigMapApplyConfiguration, options ...SupportOption[corev1ac.ConfigMapApplyConfiguration]) *corev1ac.ConfigMapApplyConfiguration
func CreateCurlPod ¶ added in v1.3.0
func CreateResourceQuota ¶ added in v1.4.0
func DeletePodAndWait ¶ added in v1.5.0
func DeployRedis ¶ added in v1.5.0
func DeserializeRayClusterYAML ¶ added in v1.3.0
func DeserializeRayClusterYAML(t Test, filename string) *rayv1.RayCluster
func DeserializeRayJobYAML ¶ added in v1.3.0
func DeserializeRayServiceYAML ¶ added in v1.3.0
func DeserializeRayServiceYAML(t Test, filename string) *rayv1.RayService
func ExecPodCmd ¶ added in v1.2.0
func GetAllPods ¶ added in v1.3.0
func GetGateway ¶ added in v1.5.0
func GetGroupPods ¶ added in v1.2.0
func GetHTTPRoute ¶ added in v1.5.0
func GetHeadPod ¶ added in v1.2.0
func GetKubeRayUpgradeVersion ¶ added in v1.4.0
func GetKubeRayUpgradeVersion() string
func GetMetricsResponseAndCode ¶ added in v1.5.0
GetMetricsResponseAndCode simulates an HTTP GET request to the /metrics endpoint, processes it using a Prometheus handler built from the provided registry, and returns the resulting response body as a string along with the HTTP status code.
func GetRayCluster ¶
func GetRayCluster(t Test, namespace, name string) (*rayv1.RayCluster, error)
func GetRayClusterWorkerGroupReplicaSum ¶ added in v1.3.0
func GetRayClusterWorkerGroupReplicaSum(cluster *rayv1.RayCluster) int32
func GetRayCronJob ¶ added in v1.6.0
func GetRayCronJob(t Test, namespace, name string) (*rayv1.RayCronJob, error)
func GetRayImage ¶
func GetRayImage() string
func GetRayService ¶ added in v1.3.0
func GetRayService(t Test, namespace, name string) (*rayv1.RayService, error)
func GetRayVersion ¶
func GetRayVersion() string
func GetWorkerPods ¶ added in v1.3.0
func HeadPodTemplateApplyConfiguration ¶ added in v1.5.0
func HeadPodTemplateApplyConfiguration() *corev1ac.PodTemplateSpecApplyConfiguration
func IsPodRunningAndReady ¶ added in v1.5.0
func IsRayServiceReady ¶ added in v1.3.0
func IsRayServiceReady(service *rayv1.RayService) bool
func IsRayServiceRollingBack ¶ added in v1.6.0
func IsRayServiceRollingBack(service *rayv1.RayService) bool
func IsRayServiceUpgrading ¶ added in v1.3.0
func IsRayServiceUpgrading(service *rayv1.RayService) bool
func JobSubmitterPodTemplateApplyConfiguration ¶ added in v1.5.0
func JobSubmitterPodTemplateApplyConfiguration() *corev1ac.PodTemplateSpecApplyConfiguration
func KubectlApplyQuota ¶ added in v1.3.0
func KubectlApplyYAML ¶ added in v1.3.0
func KubectlDeleteAllPods ¶ added in v1.3.0
func LogWithTimestamp ¶ added in v1.4.0
func MatchCondition ¶ added in v1.3.0
func MatchCondition(status metav1.ConditionStatus, reason string) types.GomegaMatcher
func MatchConditionContainsMessage ¶ added in v1.4.0
func MatchConditionContainsMessage(status metav1.ConditionStatus, reason string, message string) types.GomegaMatcher
func NewConfigMap ¶ added in v1.5.0
func NewConfigMap(namespace string, options ...SupportOption[corev1ac.ConfigMapApplyConfiguration]) *corev1ac.ConfigMapApplyConfiguration
func NewRayClusterSpec ¶ added in v1.5.0
func NewRayClusterSpec(options ...SupportOption[rayv1ac.RayClusterSpecApplyConfiguration]) *rayv1ac.RayClusterSpecApplyConfiguration
func PodTemplateSpecApplyConfiguration ¶ added in v1.5.0
func PodTemplateSpecApplyConfiguration(template *corev1ac.PodTemplateSpecApplyConfiguration, options ...SupportOption[corev1ac.PodTemplateSpecApplyConfiguration]) *corev1ac.PodTemplateSpecApplyConfiguration
func RayCluster ¶
func RayCluster(t Test, namespace, name string) func() (*rayv1.RayCluster, error)
func RayClusterDesiredWorkerReplicas ¶ added in v1.2.0
func RayClusterDesiredWorkerReplicas(cluster *rayv1.RayCluster) int32
func RayClusterManagedBy ¶ added in v1.3.0
func RayClusterManagedBy(rayCluster *rayv1.RayCluster) *string
func RayClusterSpecWith ¶ added in v1.5.0
func RayClusterSpecWith(spec *rayv1ac.RayClusterSpecApplyConfiguration, options ...SupportOption[rayv1ac.RayClusterSpecApplyConfiguration]) *rayv1ac.RayClusterSpecApplyConfiguration
func RayClusterState ¶
func RayClusterState(cluster *rayv1.RayCluster) rayv1.ClusterState
func RayCronJob ¶ added in v1.6.0
func RayCronJob(t Test, namespace, name string) func() (*rayv1.RayCronJob, error)
func RayJobClusterName ¶ added in v1.3.0
func RayJobDeploymentStatus ¶
func RayJobDeploymentStatus(job *rayv1.RayJob) rayv1.JobDeploymentStatus
func RayJobFailed ¶ added in v1.2.0
func RayJobManagedBy ¶ added in v1.3.0
func RayJobReason ¶
func RayJobReason(job *rayv1.RayJob) rayv1.JobFailedReason
func RayJobSucceeded ¶ added in v1.2.0
func RayService ¶ added in v1.2.0
func RayService(t Test, namespace, name string) func() (*rayv1.RayService, error)
func RayServiceManagedBy ¶ added in v1.6.0
func RayServiceManagedBy(rayService *rayv1.RayService) *string
func RayServiceStatus ¶ added in v1.2.0
func RayServiceStatus(service *rayv1.RayService) rayv1.ServiceStatus
func RayServicesNumEndPoints ¶ added in v1.3.0
func RayServicesNumEndPoints(service *rayv1.RayService) int32
func SetupPortForward ¶ added in v1.3.0
func StatusCondition ¶ added in v1.3.0
func StatusCondition(condType rayv1.RayClusterConditionType) func(*rayv1.RayCluster) metav1.Condition
func VerifyContainerAuthTokenEnvVars ¶ added in v1.6.0
func VerifyContainerAuthTokenEnvVars(t Test, rayCluster *rayv1.RayCluster, container *corev1.Container)
VerifyContainerAuthTokenEnvVars verifies that the specified container has the correct auth token environment variables. This is a common helper function used across all auth-related E2E tests.
func WithRayClusterResourceLogger ¶ added in v1.4.0
func WithRayClusterResourceLogger(t Test) types.GomegaTestingT
func WithRayJobResourceLogger ¶ added in v1.4.0
func WithRayJobResourceLogger(t Test) types.GomegaTestingT
func WithRayServiceResourceLogger ¶ added in v1.4.0
func WithRayServiceResourceLogger(t Test) types.GomegaTestingT
func WorkerPodTemplateApplyConfiguration ¶ added in v1.5.0
func WorkerPodTemplateApplyConfiguration() *corev1ac.PodTemplateSpecApplyConfiguration
func WorkerPods ¶ added in v1.3.0
func WriteToOutputDir ¶
func WriteToOutputDir(t Test, fileName string, fileType OutputType, data []byte)
Types ¶
type Client ¶
type Client interface {
Core() kubernetes.Interface
Ray() rayclient.Interface
Dynamic() dynamic.Interface
Config() rest.Config
Gateway() gatewayclient.Interface
}
type ConditionMatcher ¶ added in v1.3.0
type ConditionMatcher struct {
// contains filtered or unexported fields
}
func (*ConditionMatcher) FailureMessage ¶ added in v1.3.0
func (c *ConditionMatcher) FailureMessage(actual any) (message string)
func (*ConditionMatcher) Match ¶ added in v1.3.0
func (c *ConditionMatcher) Match(actual any) (success bool, err error)
func (*ConditionMatcher) NegatedFailureMessage ¶ added in v1.3.0
func (c *ConditionMatcher) NegatedFailureMessage(actual any) (message string)
type EndpointInfo ¶ added in v1.6.0
EndpointInfo contains information about a ready endpoint from an EndpointSlice.
func GetReadyEndpointsFromSlices ¶ added in v1.6.0
func GetReadyEndpointsFromSlices(ctx context.Context, client Client, namespace, serviceName string) ([]EndpointInfo, error)
GetReadyEndpointsFromSlices retrieves all ready endpoints from EndpointSlices associated with the given service name in the specified namespace. It returns a slice of EndpointInfo containing target reference names and UIDs of ready endpoints.
type Option ¶
type Option[T any] interface { // contains filtered or unexported methods }
func LabelSelector ¶
func LabelSelector(selector string) Option[*metav1.ListOptions]
type RayResourceLogger ¶ added in v1.4.0
type RayResourceLogger struct {
// contains filtered or unexported fields
}
func (*RayResourceLogger) Fatalf ¶ added in v1.4.0
func (l *RayResourceLogger) Fatalf(format string, args ...any)
func (*RayResourceLogger) FprintRayClusters ¶ added in v1.4.0
func (l *RayResourceLogger) FprintRayClusters(sb *strings.Builder)
func (*RayResourceLogger) FprintRayJobs ¶ added in v1.4.0
func (l *RayResourceLogger) FprintRayJobs(sb *strings.Builder)
func (*RayResourceLogger) FprintRayServices ¶ added in v1.4.0
func (l *RayResourceLogger) FprintRayServices(sb *strings.Builder)
func (*RayResourceLogger) FprintServices ¶ added in v1.4.0
func (l *RayResourceLogger) FprintServices(sb *strings.Builder)
func (*RayResourceLogger) FprintfJobs ¶ added in v1.4.0
func (l *RayResourceLogger) FprintfJobs(sb *strings.Builder)
func (*RayResourceLogger) FprintfPods ¶ added in v1.4.0
func (l *RayResourceLogger) FprintfPods(sb *strings.Builder)
func (*RayResourceLogger) GetLoggers ¶ added in v1.4.0
func (l *RayResourceLogger) GetLoggers() []ResourceLoggerFunc
func (*RayResourceLogger) Helper ¶ added in v1.4.0
func (l *RayResourceLogger) Helper()
func (*RayResourceLogger) MakeFprintUnsupportedResource ¶ added in v1.4.0
func (l *RayResourceLogger) MakeFprintUnsupportedResource(resource int) func(sb *strings.Builder)
type ResourceLoggerFunc ¶ added in v1.4.0
type SupportOption ¶ added in v1.5.0
type SupportOption[T any] func(t *T) *T
func Files ¶ added in v1.5.0
func Files(t Test, fileNames ...string) SupportOption[corev1ac.ConfigMapApplyConfiguration]
func MountConfigMap ¶ added in v1.5.0
func MountConfigMap[T rayv1ac.RayClusterSpecApplyConfiguration | corev1ac.PodTemplateSpecApplyConfiguration](configMap *corev1.ConfigMap, mountPath string) SupportOption[T]