Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[GCS FT] Move GCS FT API from annotations to RayCluster CRD #2695

Open
1 of 2 tasks
kevin85421 opened this issue Dec 27, 2024 · 4 comments
Open
1 of 2 tasks

[GCS FT] Move GCS FT API from annotations to RayCluster CRD #2695

kevin85421 opened this issue Dec 27, 2024 · 4 comments
Assignees
Labels
1.3.0 enhancement New feature or request gcs ft

Comments

@kevin85421
Copy link
Member

kevin85421 commented Dec 27, 2024

Search before asking

  • I had searched in the issues and found no similar feature requirement.

Description

Currently, users need to use an annotation ray.io/ft-enabled to enable GCS FT (doc). Move the GCS API from annotations to RayCluster CRD.

Some possible APIs can be something similar to Autoscaler.

enableGcsFaultTolerance: true
gcsFaultToleranceOptions:
  ... # maybe redis address / redis password ... etc

Use case

No response

Related issues

No response

Are you willing to submit a PR?

  • Yes I am willing to submit a PR!
@kevin85421 kevin85421 added enhancement New feature or request triage gcs ft 1.3.0 and removed triage labels Dec 27, 2024
@kevin85421
Copy link
Member Author

/assign @rueian

@rueian
Copy link
Contributor

rueian commented Dec 28, 2024

👌

@rueian
Copy link
Contributor

rueian commented Jan 2, 2025

@kevin85421, I feel the enableGcsFaultTolerance is a bit redundant if we have the gcsFaultToleranceOptions already. Is there any concern so that we should have a dedicated boolean field for enabling the feature? Except that, I think the gcsFaultToleranceOptions field should be like this:

type RayClusterSpec struct {
	...
	GcsFaultToleranceOptions *GcsFaultToleranceOptions `json:"gcsFaultToleranceOptions,omitempty"`
}

type GcsFaultToleranceOptions struct {
	ExternalStorageNamespace string         `json:"externalStorageNamespace,omitempty"`
	RedisAddress             string         `json:"redisAddress"`
	RedisPassword            *RedisPassword `json:"redisPassword,omitempty"`
}

type RedisPassword struct {
	Value     string `json:"value,omitempty"`
	ValueFrom *corev1.EnvVarSource `json:"valueFrom,omitempty"`
}

The RedisAddress is the only mandatory field and we mimic the corev1.EnvVar for the RedisPassword so that we can copy it to the container env fields directly, preserving the valueFrom configuration.

@kevin85421
Copy link
Member Author

SG

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1.3.0 enhancement New feature or request gcs ft
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants